@import url(https://fonts.googleapis.com/css2?family=Open+Sans&family=Fredoka+One&display=swap);
@import url(https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.2/font/bootstrap-icons.css);
@charset "UTF-8";
/*!
 * Bootstrap  v5.2.3 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
    --bs-blue: #2937f0;
    --bs-indigo: #6610f2;
    --bs-purple: #9f1ae2;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: limegreen;
    --bs-secondary: #9f1ae2;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 50, 205, 50;
    --bs-secondary-rgb: 159, 26, 226;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: Mulish, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 500;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: limegreen;
    --bs-link-hover-color: #28a428;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #fff3cd;
}

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

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: 1px solid;
    opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-weight: 600;
    line-height: 1.2;
}

h1, .h1 {
    font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
    h1, .h1 {
        font-size: 2.5rem;
    }
}

h2, .h2 {
    font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
    h2, .h2 {
        font-size: 2rem;
    }
}

h3, .h3 {
    font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
    h3, .h3 {
        font-size: 1.75rem;
    }
}

h4, .h4 {
    font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
    h4, .h4 {
        font-size: 1.5rem;
    }
}

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

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

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
    text-decoration-skip-ink: none;
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

ol,
ul {
    padding-left: 2rem;
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}

dt {
    font-weight: 700;
}

dd {
    margin-bottom: 0.5rem;
    margin-left: 0;
}

blockquote {
    margin: 0 0 1rem;
}

b,
strong {
    font-weight: bolder;
}

small, .small {
    font-size: 0.875em;
}

mark, .mark {
    padding: 0.1875em;
    background-color: var(--bs-highlight-bg);
}

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

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

a {
    color: var(--bs-link-color);
    text-decoration: underline;
}
a:hover {
    color: var(--bs-link-hover-color);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none;
}

pre,
code,
kbd,
samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em;
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: 0.875em;
}
pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal;
}

code {
    font-size: 0.875em;
    color: var(--bs-code-color);
    word-wrap: break-word;
}
a > code {
    color: inherit;
}

kbd {
    padding: 0.1875rem 0.375rem;
    font-size: 0.875em;
    color: var(--bs-body-bg);
    background-color: var(--bs-body-color);
    border-radius: 0.25rem;
}
kbd kbd {
    padding: 0;
    font-size: 1em;
}

figure {
    margin: 0 0 1rem;
}

img,
svg {
    vertical-align: middle;
}

table {
    caption-side: bottom;
    border-collapse: collapse;
}

caption {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    color: #6c757d;
    text-align: left;
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}

label {
    display: inline-block;
}

button {
    border-radius: 0;
}

button:focus:not(:focus-visible) {
    outline: 0;
}

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

button,
select {
    text-transform: none;
}

[role=button] {
    cursor: pointer;
}

select {
    word-wrap: normal;
}
select:disabled {
    opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
    display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
    cursor: pointer;
}

::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

textarea {
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: 0.5rem;
    font-size: calc(1.275rem + 0.3vw);
    line-height: inherit;
}
@media (min-width: 1200px) {
    legend {
        font-size: 1.5rem;
    }
}
legend + * {
    clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
    padding: 0;
}

::-webkit-inner-spin-button {
    height: auto;
}

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

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
    padding: 0;
}

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

output {
    display: inline-block;
}

iframe {
    border: 0;
}

summary {
    display: list-item;
    cursor: pointer;
}

progress {
    vertical-align: baseline;
}

[hidden] {
    display: none !important;
}

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

.display-1 {
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-1 {
        font-size: 5rem;
    }
}

.display-2 {
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-2 {
        font-size: 4.5rem;
    }
}

.display-3 {
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-3 {
        font-size: 4rem;
    }
}

.display-4 {
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-4 {
        font-size: 3.5rem;
    }
}

.display-5 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-5 {
        font-size: 3rem;
    }
}

.display-6 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 300;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-6 {
        font-size: 2.5rem;
    }
}

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

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

.list-inline-item {
    display: inline-block;
}
.list-inline-item:not(:last-child) {
    margin-right: 0.5rem;
}

.initialism {
    font-size: 0.875em;
    text-transform: uppercase;
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem;
}
.blockquote > :last-child {
    margin-bottom: 0;
}

.blockquote-footer {
    margin-top: -1rem;
    margin-bottom: 1rem;
    font-size: 0.875em;
    color: #6c757d;
}
.blockquote-footer::before {
    content: "— ";
}

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

.img-thumbnail {
    padding: 0.25rem;
    background-color: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    max-width: 100%;
    height: auto;
}

.figure {
    display: inline-block;
}

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

.figure-caption {
    font-size: 0.875em;
    color: #6c757d;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container-sm, .container {
        max-width: 540px;
    }
}
@media (min-width: 768px) {
    .container-md, .container-sm, .container {
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    .container-lg, .container-md, .container-sm, .container {
        max-width: 960px;
    }
}
@media (min-width: 1200px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1320px;
    }
}
.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-top: var(--bs-gutter-y);
}

.col {
    flex: 1 0 0%;
}

.row-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
}

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

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

.row-cols-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
}

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

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

.row-cols-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
}

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

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
}

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

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
}

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

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
}

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

.offset-1 {
    margin-left: 8.33333333%;
}

.offset-2 {
    margin-left: 16.66666667%;
}

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

.offset-4 {
    margin-left: 33.33333333%;
}

.offset-5 {
    margin-left: 41.66666667%;
}

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

.offset-7 {
    margin-left: 58.33333333%;
}

.offset-8 {
    margin-left: 66.66666667%;
}

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

.offset-10 {
    margin-left: 83.33333333%;
}

.offset-11 {
    margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
    --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
    --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
    --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
    --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
    --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
    --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
    --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
    --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
    --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
    --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
    .col-sm {
        flex: 1 0 0%;
    }
    .row-cols-sm-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-sm-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-sm-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-sm-3 > * {
        flex: 0 0 auto;
        width: 33.3333333333%;
    }
    .row-cols-sm-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-sm-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-sm-6 > * {
        flex: 0 0 auto;
        width: 16.6666666667%;
    }
    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }
    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }
    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .offset-sm-0 {
        margin-left: 0;
    }
    .offset-sm-1 {
        margin-left: 8.33333333%;
    }
    .offset-sm-2 {
        margin-left: 16.66666667%;
    }
    .offset-sm-3 {
        margin-left: 25%;
    }
    .offset-sm-4 {
        margin-left: 33.33333333%;
    }
    .offset-sm-5 {
        margin-left: 41.66666667%;
    }
    .offset-sm-6 {
        margin-left: 50%;
    }
    .offset-sm-7 {
        margin-left: 58.33333333%;
    }
    .offset-sm-8 {
        margin-left: 66.66666667%;
    }
    .offset-sm-9 {
        margin-left: 75%;
    }
    .offset-sm-10 {
        margin-left: 83.33333333%;
    }
    .offset-sm-11 {
        margin-left: 91.66666667%;
    }
    .g-sm-0,
    .gx-sm-0 {
        --bs-gutter-x: 0;
    }
    .g-sm-0,
    .gy-sm-0 {
        --bs-gutter-y: 0;
    }
    .g-sm-1,
    .gx-sm-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-sm-1,
    .gy-sm-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-sm-2,
    .gx-sm-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-sm-2,
    .gy-sm-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-sm-3,
    .gx-sm-3 {
        --bs-gutter-x: 1rem;
    }
    .g-sm-3,
    .gy-sm-3 {
        --bs-gutter-y: 1rem;
    }
    .g-sm-4,
    .gx-sm-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-sm-4,
    .gy-sm-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-sm-5,
    .gx-sm-5 {
        --bs-gutter-x: 3rem;
    }
    .g-sm-5,
    .gy-sm-5 {
        --bs-gutter-y: 3rem;
    }
}
@media (min-width: 768px) {
    .col-md {
        flex: 1 0 0%;
    }
    .row-cols-md-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-md-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-md-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-md-3 > * {
        flex: 0 0 auto;
        width: 33.3333333333%;
    }
    .row-cols-md-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-md-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-md-6 > * {
        flex: 0 0 auto;
        width: 16.6666666667%;
    }
    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }
    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-md-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-md-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }
    .col-md-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .offset-md-0 {
        margin-left: 0;
    }
    .offset-md-1 {
        margin-left: 8.33333333%;
    }
    .offset-md-2 {
        margin-left: 16.66666667%;
    }
    .offset-md-3 {
        margin-left: 25%;
    }
    .offset-md-4 {
        margin-left: 33.33333333%;
    }
    .offset-md-5 {
        margin-left: 41.66666667%;
    }
    .offset-md-6 {
        margin-left: 50%;
    }
    .offset-md-7 {
        margin-left: 58.33333333%;
    }
    .offset-md-8 {
        margin-left: 66.66666667%;
    }
    .offset-md-9 {
        margin-left: 75%;
    }
    .offset-md-10 {
        margin-left: 83.33333333%;
    }
    .offset-md-11 {
        margin-left: 91.66666667%;
    }
    .g-md-0,
    .gx-md-0 {
        --bs-gutter-x: 0;
    }
    .g-md-0,
    .gy-md-0 {
        --bs-gutter-y: 0;
    }
    .g-md-1,
    .gx-md-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-md-3,
    .gx-md-3 {
        --bs-gutter-x: 1rem;
    }
    .g-md-3,
    .gy-md-3 {
        --bs-gutter-y: 1rem;
    }
    .g-md-4,
    .gx-md-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-md-4,
    .gy-md-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-md-5,
    .gx-md-5 {
        --bs-gutter-x: 3rem;
    }
    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 3rem;
    }
}
@media (min-width: 992px) {
    .col-lg {
        flex: 1 0 0%;
    }
    .row-cols-lg-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-lg-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-lg-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-lg-3 > * {
        flex: 0 0 auto;
        width: 33.3333333333%;
    }
    .row-cols-lg-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-lg-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-lg-6 > * {
        flex: 0 0 auto;
        width: 16.6666666667%;
    }
    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }
    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }
    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .offset-lg-0 {
        margin-left: 0;
    }
    .offset-lg-1 {
        margin-left: 8.33333333%;
    }
    .offset-lg-2 {
        margin-left: 16.66666667%;
    }
    .offset-lg-3 {
        margin-left: 25%;
    }
    .offset-lg-4 {
        margin-left: 33.33333333%;
    }
    .offset-lg-5 {
        margin-left: 41.66666667%;
    }
    .offset-lg-6 {
        margin-left: 50%;
    }
    .offset-lg-7 {
        margin-left: 58.33333333%;
    }
    .offset-lg-8 {
        margin-left: 66.66666667%;
    }
    .offset-lg-9 {
        margin-left: 75%;
    }
    .offset-lg-10 {
        margin-left: 83.33333333%;
    }
    .offset-lg-11 {
        margin-left: 91.66666667%;
    }
    .g-lg-0,
    .gx-lg-0 {
        --bs-gutter-x: 0;
    }
    .g-lg-0,
    .gy-lg-0 {
        --bs-gutter-y: 0;
    }
    .g-lg-1,
    .gx-lg-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-lg-1,
    .gy-lg-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-lg-2,
    .gx-lg-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-lg-2,
    .gy-lg-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-lg-3,
    .gx-lg-3 {
        --bs-gutter-x: 1rem;
    }
    .g-lg-3,
    .gy-lg-3 {
        --bs-gutter-y: 1rem;
    }
    .g-lg-4,
    .gx-lg-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-lg-4,
    .gy-lg-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-lg-5,
    .gx-lg-5 {
        --bs-gutter-x: 3rem;
    }
    .g-lg-5,
    .gy-lg-5 {
        --bs-gutter-y: 3rem;
    }
}
@media (min-width: 1200px) {
    .col-xl {
        flex: 1 0 0%;
    }
    .row-cols-xl-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-xl-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-xl-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-xl-3 > * {
        flex: 0 0 auto;
        width: 33.3333333333%;
    }
    .row-cols-xl-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-xl-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-xl-6 > * {
        flex: 0 0 auto;
        width: 16.6666666667%;
    }
    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }
    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }
    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .offset-xl-0 {
        margin-left: 0;
    }
    .offset-xl-1 {
        margin-left: 8.33333333%;
    }
    .offset-xl-2 {
        margin-left: 16.66666667%;
    }
    .offset-xl-3 {
        margin-left: 25%;
    }
    .offset-xl-4 {
        margin-left: 33.33333333%;
    }
    .offset-xl-5 {
        margin-left: 41.66666667%;
    }
    .offset-xl-6 {
        margin-left: 50%;
    }
    .offset-xl-7 {
        margin-left: 58.33333333%;
    }
    .offset-xl-8 {
        margin-left: 66.66666667%;
    }
    .offset-xl-9 {
        margin-left: 75%;
    }
    .offset-xl-10 {
        margin-left: 83.33333333%;
    }
    .offset-xl-11 {
        margin-left: 91.66666667%;
    }
    .g-xl-0,
    .gx-xl-0 {
        --bs-gutter-x: 0;
    }
    .g-xl-0,
    .gy-xl-0 {
        --bs-gutter-y: 0;
    }
    .g-xl-1,
    .gx-xl-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-xl-3,
    .gx-xl-3 {
        --bs-gutter-x: 1rem;
    }
    .g-xl-3,
    .gy-xl-3 {
        --bs-gutter-y: 1rem;
    }
    .g-xl-4,
    .gx-xl-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-xl-4,
    .gy-xl-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-xl-5,
    .gx-xl-5 {
        --bs-gutter-x: 3rem;
    }
    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 3rem;
    }
}
@media (min-width: 1400px) {
    .col-xxl {
        flex: 1 0 0%;
    }
    .row-cols-xxl-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-xxl-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-xxl-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-xxl-3 > * {
        flex: 0 0 auto;
        width: 33.3333333333%;
    }
    .row-cols-xxl-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-xxl-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-xxl-6 > * {
        flex: 0 0 auto;
        width: 16.6666666667%;
    }
    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }
    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }
    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .offset-xxl-0 {
        margin-left: 0;
    }
    .offset-xxl-1 {
        margin-left: 8.33333333%;
    }
    .offset-xxl-2 {
        margin-left: 16.66666667%;
    }
    .offset-xxl-3 {
        margin-left: 25%;
    }
    .offset-xxl-4 {
        margin-left: 33.33333333%;
    }
    .offset-xxl-5 {
        margin-left: 41.66666667%;
    }
    .offset-xxl-6 {
        margin-left: 50%;
    }
    .offset-xxl-7 {
        margin-left: 58.33333333%;
    }
    .offset-xxl-8 {
        margin-left: 66.66666667%;
    }
    .offset-xxl-9 {
        margin-left: 75%;
    }
    .offset-xxl-10 {
        margin-left: 83.33333333%;
    }
    .offset-xxl-11 {
        margin-left: 91.66666667%;
    }
    .g-xxl-0,
    .gx-xxl-0 {
        --bs-gutter-x: 0;
    }
    .g-xxl-0,
    .gy-xxl-0 {
        --bs-gutter-y: 0;
    }
    .g-xxl-1,
    .gx-xxl-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-xxl-1,
    .gy-xxl-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-xxl-2,
    .gx-xxl-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-xxl-2,
    .gy-xxl-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-xxl-3,
    .gx-xxl-3 {
        --bs-gutter-x: 1rem;
    }
    .g-xxl-3,
    .gy-xxl-3 {
        --bs-gutter-y: 1rem;
    }
    .g-xxl-4,
    .gx-xxl-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-xxl-4,
    .gy-xxl-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-xxl-5,
    .gx-xxl-5 {
        --bs-gutter-x: 3rem;
    }
    .g-xxl-5,
    .gy-xxl-5 {
        --bs-gutter-y: 3rem;
    }
}
.table {
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
    --bs-table-active-color: var(--bs-body-color);
    --bs-table-active-bg: rgba(0, 0, 0, 0.1);
    --bs-table-hover-color: var(--bs-body-color);
    --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
    width: 100%;
    margin-bottom: 1rem;
    color: var(--bs-table-color);
    vertical-align: top;
    border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
    padding: 0.5rem 0.5rem;
    background-color: var(--bs-table-bg);
    border-bottom-width: 1px;
    box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.table > tbody {
    vertical-align: inherit;
}
.table > thead {
    vertical-align: bottom;
}

.table-group-divider {
    border-top: 2px solid currentcolor;
}

.caption-top {
    caption-side: top;
}

.table-sm > :not(caption) > * > * {
    padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
    border-width: 1px 0;
}
.table-bordered > :not(caption) > * > * {
    border-width: 0 1px;
}

.table-borderless > :not(caption) > * > * {
    border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
    border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
    color: var(--bs-table-striped-color);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
    color: var(--bs-table-striped-color);
}

.table-active {
    --bs-table-accent-bg: var(--bs-table-active-bg);
    color: var(--bs-table-active-color);
}

.table-hover > tbody > tr:hover > * {
    --bs-table-accent-bg: var(--bs-table-hover-bg);
    color: var(--bs-table-hover-color);
}

.table-primary {
    --bs-table-color: #000000;
    --bs-table-bg: #d6f5d6;
    --bs-table-border-color: #c1ddc1;
    --bs-table-striped-bg: #cbe9cb;
    --bs-table-striped-color: #000000;
    --bs-table-active-bg: #c1ddc1;
    --bs-table-active-color: #000000;
    --bs-table-hover-bg: #c6e3c6;
    --bs-table-hover-color: #000000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.table-secondary {
    --bs-table-color: #000000;
    --bs-table-bg: #ecd1f9;
    --bs-table-border-color: #d4bce0;
    --bs-table-striped-bg: #e0c7ed;
    --bs-table-striped-color: #000000;
    --bs-table-active-bg: #d4bce0;
    --bs-table-active-color: #000000;
    --bs-table-hover-bg: #dac1e6;
    --bs-table-hover-color: #000000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.table-success {
    --bs-table-color: #000000;
    --bs-table-bg: #d1e7dd;
    --bs-table-border-color: #bcd0c7;
    --bs-table-striped-bg: #c7dbd2;
    --bs-table-striped-color: #000000;
    --bs-table-active-bg: #bcd0c7;
    --bs-table-active-color: #000000;
    --bs-table-hover-bg: #c1d6cc;
    --bs-table-hover-color: #000000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.table-info {
    --bs-table-color: #000000;
    --bs-table-bg: #cff4fc;
    --bs-table-border-color: #badce3;
    --bs-table-striped-bg: #c5e8ef;
    --bs-table-striped-color: #000000;
    --bs-table-active-bg: #badce3;
    --bs-table-active-color: #000000;
    --bs-table-hover-bg: #bfe2e9;
    --bs-table-hover-color: #000000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.table-warning {
    --bs-table-color: #000000;
    --bs-table-bg: #fff3cd;
    --bs-table-border-color: #e6dbb9;
    --bs-table-striped-bg: #f2e7c3;
    --bs-table-striped-color: #000000;
    --bs-table-active-bg: #e6dbb9;
    --bs-table-active-color: #000000;
    --bs-table-hover-bg: #ece1be;
    --bs-table-hover-color: #000000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.table-danger {
    --bs-table-color: #000000;
    --bs-table-bg: #f8d7da;
    --bs-table-border-color: #dfc2c4;
    --bs-table-striped-bg: #eccccf;
    --bs-table-striped-color: #000000;
    --bs-table-active-bg: #dfc2c4;
    --bs-table-active-color: #000000;
    --bs-table-hover-bg: #e5c7ca;
    --bs-table-hover-color: #000000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.table-light {
    --bs-table-color: #000000;
    --bs-table-bg: #f8f9fa;
    --bs-table-border-color: #dfe0e1;
    --bs-table-striped-bg: #ecedee;
    --bs-table-striped-color: #000000;
    --bs-table-active-bg: #dfe0e1;
    --bs-table-active-color: #000000;
    --bs-table-hover-bg: #e5e6e7;
    --bs-table-hover-color: #000000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.table-dark {
    --bs-table-color: #fff;
    --bs-table-bg: #212529;
    --bs-table-border-color: #373b3e;
    --bs-table-striped-bg: #2c3034;
    --bs-table-striped-color: #fff;
    --bs-table-active-bg: #373b3e;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #323539;
    --bs-table-hover-color: #fff;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
    .table-responsive-sm {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
@media (max-width: 767.98px) {
    .table-responsive-md {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
@media (max-width: 991.98px) {
    .table-responsive-lg {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
@media (max-width: 1199.98px) {
    .table-responsive-xl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
@media (max-width: 1399.98px) {
    .table-responsive-xxl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
.form-label {
    margin-bottom: 0.5rem;
}

.col-form-label {
    padding-top: calc(0.375rem + 1px);
    padding-bottom: calc(0.375rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
}

.col-form-label-lg {
    padding-top: calc(0.5rem + 1px);
    padding-bottom: calc(0.5rem + 1px);
    font-size: 1.25rem;
}

.col-form-label-sm {
    padding-top: calc(0.25rem + 1px);
    padding-bottom: calc(0.25rem + 1px);
    font-size: 0.875rem;
}

.form-text {
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #6c757d;
}

.form-control {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    appearance: none;
    border-radius: 0.375rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .form-control {
        transition: none;
    }
}
.form-control[type=file] {
    overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
    cursor: pointer;
}
.form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: #99e699;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.form-control::-webkit-date-and-time-value {
    height: 1.5em;
}
.form-control::placeholder {
    color: #6c757d;
    opacity: 1;
}
.form-control:disabled {
    background-color: #e9ecef;
    opacity: 1;
}
.form-control::file-selector-button {
    padding: 0.375rem 0.75rem;
    margin: -0.375rem -0.75rem;
    margin-inline-end: 0.75rem;
    color: #212529;
    background-color: #e9ecef;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    border-radius: 0;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .form-control::file-selector-button {
        transition: none;
    }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: #dde0e3;
}

.form-control-plaintext {
    display: block;
    width: 100%;
    padding: 0.375rem 0;
    margin-bottom: 0;
    line-height: 1.5;
    color: #212529;
    background-color: transparent;
    border: solid transparent;
    border-width: 1px 0;
}
.form-control-plaintext:focus {
    outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0;
}

.form-control-sm {
    min-height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    border-radius: 0.25rem;
}
.form-control-sm::file-selector-button {
    padding: 0.25rem 0.5rem;
    margin: -0.25rem -0.5rem;
    margin-inline-end: 0.5rem;
}

.form-control-lg {
    min-height: calc(1.5em + 1rem + 2px);
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    border-radius: 0.5rem;
}
.form-control-lg::file-selector-button {
    padding: 0.5rem 1rem;
    margin: -0.5rem -1rem;
    margin-inline-end: 1rem;
}

textarea.form-control {
    min-height: calc(1.5em + 0.75rem + 2px);
}
textarea.form-control-sm {
    min-height: calc(1.5em + 0.5rem + 2px);
}
textarea.form-control-lg {
    min-height: calc(1.5em + 1rem + 2px);
}

.form-control-color {
    width: 3rem;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
    cursor: pointer;
}
.form-control-color::-moz-color-swatch {
    border: 0 !important;
    border-radius: 0.375rem;
}
.form-control-color::-webkit-color-swatch {
    border-radius: 0.375rem;
}
.form-control-color.form-control-sm {
    height: calc(1.5em + 0.5rem + 2px);
}
.form-control-color.form-control-lg {
    height: calc(1.5em + 1rem + 2px);
}

.form-select {
    display: block;
    width: 100%;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    -moz-padding-start: calc(0.75rem - 3px);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none;
}
@media (prefers-reduced-motion: reduce) {
    .form-select {
        transition: none;
    }
}
.form-select:focus {
    border-color: #99e699;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
    padding-right: 0.75rem;
    background-image: none;
}
.form-select:disabled {
    background-color: #e9ecef;
}
.form-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #212529;
}

.form-select-sm {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.5rem;
    font-size: 0.875rem;
    border-radius: 0.25rem;
}

.form-select-lg {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    font-size: 1.25rem;
    border-radius: 0.5rem;
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: 0.125rem;
}
.form-check .form-check-input {
    float: left;
    margin-left: -1.5em;
}

.form-check-reverse {
    padding-right: 1.5em;
    padding-left: 0;
    text-align: right;
}
.form-check-reverse .form-check-input {
    float: right;
    margin-right: -1.5em;
    margin-left: 0;
}

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, 0.25);
    appearance: none;
    print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
    border-radius: 0.25em;
}
.form-check-input[type=radio] {
    border-radius: 50%;
}
.form-check-input:active {
    filter: brightness(90%);
}
.form-check-input:focus {
    border-color: #99e699;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.form-check-input:checked {
    background-color: limegreen;
    border-color: limegreen;
}
.form-check-input:checked[type=checkbox] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
    background-color: limegreen;
    border-color: limegreen;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
    cursor: default;
    opacity: 0.5;
}

.form-switch {
    padding-left: 2.5em;
}
.form-switch .form-check-input {
    width: 2em;
    margin-left: -2.5em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    background-position: left center;
    border-radius: 2em;
    transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .form-switch .form-check-input {
        transition: none;
    }
}
.form-switch .form-check-input:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2399e699'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
    background-position: right center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
    padding-right: 2.5em;
    padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
    margin-right: -2.5em;
    margin-left: 0;
}

.form-check-inline {
    display: inline-block;
    margin-right: 1rem;
}

.btn-check {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
    pointer-events: none;
    filter: none;
    opacity: 0.65;
}

.form-range {
    width: 100%;
    height: 1.5rem;
    padding: 0;
    background-color: transparent;
    appearance: none;
}
.form-range:focus {
    outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.form-range::-moz-focus-outer {
    border: 0;
}
.form-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: limegreen;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none;
}
@media (prefers-reduced-motion: reduce) {
    .form-range::-webkit-slider-thumb {
        transition: none;
    }
}
.form-range::-webkit-slider-thumb:active {
    background-color: #c2f0c2;
}
.form-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem;
}
.form-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: limegreen;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none;
}
@media (prefers-reduced-motion: reduce) {
    .form-range::-moz-range-thumb {
        transition: none;
    }
}
.form-range::-moz-range-thumb:active {
    background-color: #c2f0c2;
}
.form-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem;
}
.form-range:disabled {
    pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd;
}
.form-range:disabled::-moz-range-thumb {
    background-color: #adb5bd;
}

.form-floating {
    position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
    height: calc(3.5rem + 2px);
    line-height: 1.25;
}
.form-floating > label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 1rem 0.75rem;
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .form-floating > label {
        transition: none;
    }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
    padding: 1rem 0.75rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
    color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem;
}
.form-floating > .form-select {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
    opacity: 0.65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
    opacity: 0.65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
    border-width: 1px 0;
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
    z-index: 5;
}
.input-group .btn {
    position: relative;
    z-index: 2;
}
.input-group .btn:focus {
    z-index: 5;
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    white-space: nowrap;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    border-radius: 0.5rem;
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    border-radius: 0.25rem;
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
    padding-right: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.valid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #198754;
}

.valid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: 0.25rem 0.5rem;
    margin-top: 0.1rem;
    font-size: 0.875rem;
    color: #fff;
    background-color: rgba(25, 135, 84, 0.9);
    border-radius: 0.375rem;
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
    border-color: #198754;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #198754;
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
    padding-right: calc(1.5em + 0.75rem);
    background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
    border-color: #198754;
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
    padding-right: 4.125rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-position: right 0.75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
    border-color: #198754;
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
    width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
    border-color: #198754;
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
    background-color: #198754;
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
    color: #198754;
}

.form-check-inline .form-check-input ~ .valid-feedback {
    margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
    z-index: 3;
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: 0.25rem 0.5rem;
    margin-top: 0.1rem;
    font-size: 0.875rem;
    color: #fff;
    background-color: rgba(220, 53, 69, 0.9);
    border-radius: 0.375rem;
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
    border-color: #dc3545;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
    padding-right: calc(1.5em + 0.75rem);
    background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
    border-color: #dc3545;
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
    padding-right: 4.125rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-position: right 0.75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
    width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
    border-color: #dc3545;
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
    background-color: #dc3545;
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
    color: #dc3545;
}

.form-check-inline .form-check-input ~ .invalid-feedback {
    margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
    z-index: 4;
}

.btn {
    --bs-btn-padding-x: 0.75rem;
    --bs-btn-padding-y: 0.375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 500;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: #212529;
    --bs-btn-bg: transparent;
    --bs-btn-border-width: 1px;
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: 0.375rem;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .btn {
        transition: none;
    }
}
.btn:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
    color: var(--bs-btn-active-color);
    background-color: var(--bs-btn-active-bg);
    border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
    box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
    color: var(--bs-btn-disabled-color);
    pointer-events: none;
    background-color: var(--bs-btn-disabled-bg);
    border-color: var(--bs-btn-disabled-border-color);
    opacity: var(--bs-btn-disabled-opacity);
}

.btn-primary {
    --bs-btn-color: #000000;
    --bs-btn-bg: limegreen;
    --bs-btn-border-color: limegreen;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #51d551;
    --bs-btn-hover-border-color: #47d247;
    --bs-btn-focus-shadow-rgb: 43, 174, 43;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #5bd75b;
    --bs-btn-active-border-color: #47d247;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000000;
    --bs-btn-disabled-bg: limegreen;
    --bs-btn-disabled-border-color: limegreen;
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #9f1ae2;
    --bs-btn-border-color: #9f1ae2;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #8716c0;
    --bs-btn-hover-border-color: #7f15b5;
    --bs-btn-focus-shadow-rgb: 173, 60, 230;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #7f15b5;
    --bs-btn-active-border-color: #7714aa;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #9f1ae2;
    --bs-btn-disabled-border-color: #9f1ae2;
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #146c43;
    --bs-btn-focus-shadow-rgb: 60, 153, 110;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #146c43;
    --bs-btn-active-border-color: #13653f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #198754;
    --bs-btn-disabled-border-color: #198754;
}

.btn-info {
    --bs-btn-color: #000000;
    --bs-btn-bg: #0dcaf0;
    --bs-btn-border-color: #0dcaf0;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #31d2f2;
    --bs-btn-hover-border-color: #25cff2;
    --bs-btn-focus-shadow-rgb: 11, 172, 204;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #3dd5f3;
    --bs-btn-active-border-color: #25cff2;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000000;
    --bs-btn-disabled-bg: #0dcaf0;
    --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
    --bs-btn-color: #000000;
    --bs-btn-bg: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #ffca2c;
    --bs-btn-hover-border-color: #ffc720;
    --bs-btn-focus-shadow-rgb: 217, 164, 6;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #ffcd39;
    --bs-btn-active-border-color: #ffc720;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000000;
    --bs-btn-disabled-bg: #ffc107;
    --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #bb2d3b;
    --bs-btn-hover-border-color: #b02a37;
    --bs-btn-focus-shadow-rgb: 225, 83, 97;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #b02a37;
    --bs-btn-active-border-color: #a52834;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #dc3545;
    --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
    --bs-btn-color: #000000;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #d3d4d5;
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #c6c7c8;
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000000;
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #424649;
    --bs-btn-hover-border-color: #373b3e;
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4d5154;
    --bs-btn-active-border-color: #373b3e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #212529;
    --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
    --bs-btn-color: limegreen;
    --bs-btn-border-color: limegreen;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: limegreen;
    --bs-btn-hover-border-color: limegreen;
    --bs-btn-focus-shadow-rgb: 50, 205, 50;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: limegreen;
    --bs-btn-active-border-color: limegreen;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: limegreen;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: limegreen;
    --bs-gradient: none;
}

.btn-outline-secondary {
    --bs-btn-color: #9f1ae2;
    --bs-btn-border-color: #9f1ae2;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #9f1ae2;
    --bs-btn-hover-border-color: #9f1ae2;
    --bs-btn-focus-shadow-rgb: 159, 26, 226;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #9f1ae2;
    --bs-btn-active-border-color: #9f1ae2;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #9f1ae2;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #9f1ae2;
    --bs-gradient: none;
}

.btn-outline-success {
    --bs-btn-color: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #198754;
    --bs-btn-hover-border-color: #198754;
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #198754;
    --bs-btn-active-border-color: #198754;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #198754;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #198754;
    --bs-gradient: none;
}

.btn-outline-info {
    --bs-btn-color: #0dcaf0;
    --bs-btn-border-color: #0dcaf0;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #0dcaf0;
    --bs-btn-hover-border-color: #0dcaf0;
    --bs-btn-focus-shadow-rgb: 13, 202, 240;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #0dcaf0;
    --bs-btn-active-border-color: #0dcaf0;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #0dcaf0;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #0dcaf0;
    --bs-gradient: none;
}

.btn-outline-warning {
    --bs-btn-color: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #ffc107;
    --bs-btn-hover-border-color: #ffc107;
    --bs-btn-focus-shadow-rgb: 255, 193, 7;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #ffc107;
    --bs-btn-active-border-color: #ffc107;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #ffc107;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #ffc107;
    --bs-gradient: none;
}

.btn-outline-danger {
    --bs-btn-color: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #dc3545;
    --bs-btn-hover-border-color: #dc3545;
    --bs-btn-focus-shadow-rgb: 220, 53, 69;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #dc3545;
    --bs-btn-active-border-color: #dc3545;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #dc3545;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #dc3545;
    --bs-gradient: none;
}

.btn-outline-light {
    --bs-btn-color: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #f8f9fa;
    --bs-btn-hover-border-color: #f8f9fa;
    --bs-btn-focus-shadow-rgb: 248, 249, 250;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #f8f9fa;
    --bs-btn-active-border-color: #f8f9fa;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #f8f9fa;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #f8f9fa;
    --bs-gradient: none;
}

.btn-outline-dark {
    --bs-btn-color: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-focus-shadow-rgb: 33, 37, 41;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #212529;
    --bs-btn-active-border-color: #212529;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #212529;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #212529;
    --bs-gradient: none;
}

.btn-link {
    --bs-btn-font-weight: 500;
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: var(--bs-link-hover-color);
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-box-shadow: none;
    --bs-btn-focus-shadow-rgb: 43, 174, 43;
    text-decoration: underline;
}
.btn-link:focus-visible {
    color: var(--bs-btn-color);
}
.btn-link:hover {
    color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-border-radius: 0.5rem;
}

.btn-sm, .btn-group-sm > .btn {
    --bs-btn-padding-y: 0.25rem;
    --bs-btn-padding-x: 0.5rem;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-border-radius: 0.25rem;
}

.fade {
    transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
    .fade {
        transition: none;
    }
}
.fade:not(.show) {
    opacity: 0;
}

.collapse:not(.show) {
    display: none;
}

.collapsing {
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
    .collapsing {
        transition: none;
    }
}
.collapsing.collapse-horizontal {
    width: 0;
    height: auto;
    transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
    .collapsing.collapse-horizontal {
        transition: none;
    }
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
    position: relative;
}

.dropdown-toggle {
    white-space: nowrap;
}
.dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropdown-menu {
    --bs-dropdown-zindex: 1000;
    --bs-dropdown-min-width: 10rem;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: 0.5rem;
    --bs-dropdown-spacer: 0.125rem;
    --bs-dropdown-font-size: 1rem;
    --bs-dropdown-color: #212529;
    --bs-dropdown-bg: #fff;
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-border-radius: 0.375rem;
    --bs-dropdown-border-width: 1px;
    --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-divider-margin-y: 0.5rem;
    --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-dropdown-link-color: #212529;
    --bs-dropdown-link-hover-color: #1e2125;
    --bs-dropdown-link-hover-bg: #e9ecef;
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: limegreen;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: 0.25rem;
    --bs-dropdown-header-color: #6c757d;
    --bs-dropdown-header-padding-x: 1rem;
    --bs-dropdown-header-padding-y: 0.5rem;
    position: absolute;
    z-index: var(--bs-dropdown-zindex);
    display: none;
    min-width: var(--bs-dropdown-min-width);
    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
    margin: 0;
    font-size: var(--bs-dropdown-font-size);
    color: var(--bs-dropdown-color);
    text-align: left;
    list-style: none;
    background-color: var(--bs-dropdown-bg);
    background-clip: padding-box;
    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
    border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
    --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
    right: auto;
    left: 0;
}

.dropdown-menu-end {
    --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
    right: 0;
    left: auto;
}

@media (min-width: 576px) {
    .dropdown-menu-sm-start {
        --bs-position: start;
    }
    .dropdown-menu-sm-start[data-bs-popper] {
        right: auto;
        left: 0;
    }
    .dropdown-menu-sm-end {
        --bs-position: end;
    }
    .dropdown-menu-sm-end[data-bs-popper] {
        right: 0;
        left: auto;
    }
}
@media (min-width: 768px) {
    .dropdown-menu-md-start {
        --bs-position: start;
    }
    .dropdown-menu-md-start[data-bs-popper] {
        right: auto;
        left: 0;
    }
    .dropdown-menu-md-end {
        --bs-position: end;
    }
    .dropdown-menu-md-end[data-bs-popper] {
        right: 0;
        left: auto;
    }
}
@media (min-width: 992px) {
    .dropdown-menu-lg-start {
        --bs-position: start;
    }
    .dropdown-menu-lg-start[data-bs-popper] {
        right: auto;
        left: 0;
    }
    .dropdown-menu-lg-end {
        --bs-position: end;
    }
    .dropdown-menu-lg-end[data-bs-popper] {
        right: 0;
        left: auto;
    }
}
@media (min-width: 1200px) {
    .dropdown-menu-xl-start {
        --bs-position: start;
    }
    .dropdown-menu-xl-start[data-bs-popper] {
        right: auto;
        left: 0;
    }
    .dropdown-menu-xl-end {
        --bs-position: end;
    }
    .dropdown-menu-xl-end[data-bs-popper] {
        right: 0;
        left: auto;
    }
}
@media (min-width: 1400px) {
    .dropdown-menu-xxl-start {
        --bs-position: start;
    }
    .dropdown-menu-xxl-start[data-bs-popper] {
        right: auto;
        left: 0;
    }
    .dropdown-menu-xxl-end {
        --bs-position: end;
    }
    .dropdown-menu-xxl-end[data-bs-popper] {
        right: 0;
        left: auto;
    }
}
.dropup .dropdown-menu[data-bs-popper] {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0;
    border-right: 0.3em solid transparent;
    border-bottom: 0.3em solid;
    border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
    margin-left: 0;
}
.dropend .dropdown-toggle::after {
    vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
}
.dropstart .dropdown-toggle::after {
    display: none;
}
.dropstart .dropdown-toggle::before {
    display: inline-block;
    margin-right: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0.3em solid;
    border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
    margin-left: 0;
}
.dropstart .dropdown-toggle::before {
    vertical-align: 0;
}

.dropdown-divider {
    height: 0;
    margin: var(--bs-dropdown-divider-margin-y) 0;
    overflow: hidden;
    border-top: 1px solid var(--bs-dropdown-divider-bg);
    opacity: 1;
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    clear: both;
    font-weight: 500;
    color: var(--bs-dropdown-link-color);
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
    color: var(--bs-dropdown-link-hover-color);
    background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
    color: var(--bs-dropdown-link-disabled-color);
    pointer-events: none;
    background-color: transparent;
}

.dropdown-menu.show {
    display: block;
}

.dropdown-header {
    display: block;
    padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
    margin-bottom: 0;
    font-size: 0.875rem;
    color: var(--bs-dropdown-header-color);
    white-space: nowrap;
}

.dropdown-item-text {
    display: block;
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
    --bs-dropdown-color: #dee2e6;
    --bs-dropdown-bg: #343a40;
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-box-shadow: ;
    --bs-dropdown-link-color: #dee2e6;
    --bs-dropdown-link-hover-color: #fff;
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: limegreen;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-header-color: #adb5bd;
}

.btn-group,
.btn-group-vertical {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
    position: relative;
    flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
    z-index: 1;
}

.btn-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.btn-toolbar .input-group {
    width: auto;
}

.btn-group {
    border-radius: 0.375rem;
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
    margin-left: -1px;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
    padding-right: 0.5625rem;
    padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
    margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
    margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
    padding-right: 0.375rem;
    padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.btn-group-vertical {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
    width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -1px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-nav-link-disabled-color: #6c757d;
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.nav-link {
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    color: var(--bs-nav-link-color);
    text-decoration: none;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .nav-link {
        transition: none;
    }
}
.nav-link:hover, .nav-link:focus {
    color: var(--bs-nav-link-hover-color);
}
.nav-link.disabled {
    color: var(--bs-nav-link-disabled-color);
    pointer-events: none;
    cursor: default;
}

.nav-tabs {
    --bs-nav-tabs-border-width: 1px;
    --bs-nav-tabs-border-color: #dee2e6;
    --bs-nav-tabs-border-radius: 0.375rem;
    --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;
    --bs-nav-tabs-link-active-color: #495057;
    --bs-nav-tabs-link-active-bg: #fff;
    --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;
    border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
    background: none;
    border: var(--bs-nav-tabs-border-width) solid transparent;
    border-top-left-radius: var(--bs-nav-tabs-border-radius);
    border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
    isolation: isolate;
    border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {
    color: var(--bs-nav-link-disabled-color);
    background-color: transparent;
    border-color: transparent;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.nav-pills {
    --bs-nav-pills-border-radius: 0.375rem;
    --bs-nav-pills-link-active-color: #fff;
    --bs-nav-pills-link-active-bg: limegreen;
}
.nav-pills .nav-link {
    background: none;
    border: 0;
    border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link:disabled {
    color: var(--bs-nav-link-disabled-color);
    background-color: transparent;
    border-color: transparent;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
    flex: 1 1 auto;
    text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
    width: 100%;
}

.tab-content > .tab-pane {
    display: none;
}
.tab-content > .active {
    display: block;
}

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0.5rem;
    --bs-navbar-color: rgba(0, 0, 0, 0.55);
    --bs-navbar-hover-color: rgba(0, 0, 0, 0.7);
    --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);
    --bs-navbar-active-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-brand-padding-y: 0.3125rem;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-brand-font-size: 1.25rem;
    --bs-navbar-brand-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9);
    --bs-navbar-nav-link-padding-x: 0.5rem;
    --bs-navbar-toggler-padding-y: 0.25rem;
    --bs-navbar-toggler-padding-x: 0.75rem;
    --bs-navbar-toggler-font-size: 1.25rem;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1);
    --bs-navbar-toggler-border-radius: 0.375rem;
    --bs-navbar-toggler-focus-width: 0.25rem;
    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
}
.navbar-brand {
    padding-top: var(--bs-navbar-brand-padding-y);
    padding-bottom: var(--bs-navbar-brand-padding-y);
    margin-right: var(--bs-navbar-brand-margin-end);
    font-size: var(--bs-navbar-brand-font-size);
    color: var(--bs-navbar-brand-color);
    text-decoration: none;
    white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
    color: var(--bs-navbar-brand-hover-color);
}

.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-navbar-color);
    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
.navbar-nav .show > .nav-link,
.navbar-nav .nav-link.active {
    color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
    position: static;
}

.navbar-text {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
    color: var(--bs-navbar-active-color);
}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center;
}

.navbar-toggler {
    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
    font-size: var(--bs-navbar-toggler-font-size);
    line-height: 1;
    color: var(--bs-navbar-color);
    background-color: transparent;
    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
    border-radius: var(--bs-navbar-toggler-border-radius);
    transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
    .navbar-toggler {
        transition: none;
    }
}
.navbar-toggler:hover {
    text-decoration: none;
}
.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-image: var(--bs-navbar-toggler-icon-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

.navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 75vh);
    overflow-y: auto;
}

@media (min-width: 576px) {
    .navbar-expand-sm {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .navbar-expand-sm .navbar-nav {
        flex-direction: row;
    }
    .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x);
    }
    .navbar-expand-sm .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-sm .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }
    .navbar-expand-sm .navbar-toggler {
        display: none;
    }
    .navbar-expand-sm .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none;
    }
    .navbar-expand-sm .offcanvas .offcanvas-header {
        display: none;
    }
    .navbar-expand-sm .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
@media (min-width: 768px) {
    .navbar-expand-md {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .navbar-expand-md .navbar-nav {
        flex-direction: row;
    }
    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x);
    }
    .navbar-expand-md .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-md .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }
    .navbar-expand-md .navbar-toggler {
        display: none;
    }
    .navbar-expand-md .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none;
    }
    .navbar-expand-md .offcanvas .offcanvas-header {
        display: none;
    }
    .navbar-expand-md .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
@media (min-width: 992px) {
    .navbar-expand-lg {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .navbar-expand-lg .navbar-nav {
        flex-direction: row;
    }
    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x);
    }
    .navbar-expand-lg .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }
    .navbar-expand-lg .navbar-toggler {
        display: none;
    }
    .navbar-expand-lg .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none;
    }
    .navbar-expand-lg .offcanvas .offcanvas-header {
        display: none;
    }
    .navbar-expand-lg .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
@media (min-width: 1200px) {
    .navbar-expand-xl {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .navbar-expand-xl .navbar-nav {
        flex-direction: row;
    }
    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x);
    }
    .navbar-expand-xl .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-xl .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }
    .navbar-expand-xl .navbar-toggler {
        display: none;
    }
    .navbar-expand-xl .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none;
    }
    .navbar-expand-xl .offcanvas .offcanvas-header {
        display: none;
    }
    .navbar-expand-xl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
@media (min-width: 1400px) {
    .navbar-expand-xxl {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .navbar-expand-xxl .navbar-nav {
        flex-direction: row;
    }
    .navbar-expand-xxl .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-xxl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x);
    }
    .navbar-expand-xxl .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-xxl .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }
    .navbar-expand-xxl .navbar-toggler {
        display: none;
    }
    .navbar-expand-xxl .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none;
    }
    .navbar-expand-xxl .offcanvas .offcanvas-header {
        display: none;
    }
    .navbar-expand-xxl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
.navbar-expand {
    flex-wrap: nowrap;
    justify-content: flex-start;
}
.navbar-expand .navbar-nav {
    flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
    position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
    overflow: visible;
}
.navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
}
.navbar-expand .navbar-toggler {
    display: none;
}
.navbar-expand .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
    display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
}

.navbar-dark {
    --bs-navbar-color: rgba(255, 255, 255, 0.55);
    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
    --bs-navbar-active-color: #fff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.card {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-border-width: 1px;
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: 0.375rem;
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(0.375rem - 1px);
    --bs-card-cap-padding-y: 0.5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: #fff;
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius);
}
.card > hr {
    margin-right: 0;
    margin-left: 0;
}
.card > .list-group {
    border-top: inherit;
    border-bottom: inherit;
}
.card > .list-group:first-child {
    border-top-width: 0;
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
    border-bottom-width: 0;
    border-bottom-right-radius: var(--bs-card-inner-border-radius);
    border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
    border-top: 0;
}

.card-body {
    flex: 1 1 auto;
    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
    color: var(--bs-card-color);
}

.card-title {
    margin-bottom: var(--bs-card-title-spacer-y);
}

.card-subtitle {
    margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
    margin-bottom: 0;
}

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

.card-link + .card-link {
    margin-left: var(--bs-card-spacer-x);
}

.card-header {
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
    margin-bottom: 0;
    color: var(--bs-card-cap-color);
    background-color: var(--bs-card-cap-bg);
    border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}

.card-footer {
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
    color: var(--bs-card-cap-color);
    background-color: var(--bs-card-cap-bg);
    border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}

.card-header-tabs {
    margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
    margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
    margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
    border-bottom: 0;
}
.card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg);
}

.card-header-pills {
    margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
    margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}

.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: var(--bs-card-img-overlay-padding);
    border-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
    width: 100%;
}

.card-img,
.card-img-top {
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
    border-bottom-right-radius: var(--bs-card-inner-border-radius);
    border-bottom-left-radius: var(--bs-card-inner-border-radius);
}

.card-group > .card {
    margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
    .card-group {
        display: flex;
        flex-flow: row wrap;
    }
    .card-group > .card {
        flex: 1 0 0%;
        margin-bottom: 0;
    }
    .card-group > .card + .card {
        margin-left: 0;
        border-left: 0;
    }
    .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .card-group > .card:not(:last-child) .card-img-top,
    .card-group > .card:not(:last-child) .card-header {
        border-top-right-radius: 0;
    }
    .card-group > .card:not(:last-child) .card-img-bottom,
    .card-group > .card:not(:last-child) .card-footer {
        border-bottom-right-radius: 0;
    }
    .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    .card-group > .card:not(:first-child) .card-img-top,
    .card-group > .card:not(:first-child) .card-header {
        border-top-left-radius: 0;
    }
    .card-group > .card:not(:first-child) .card-img-bottom,
    .card-group > .card:not(:first-child) .card-footer {
        border-bottom-left-radius: 0;
    }
}

.accordion {
    --bs-accordion-color: #212529;
    --bs-accordion-bg: #fff;
    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
    --bs-accordion-border-color: var(--bs-border-color);
    --bs-accordion-border-width: 1px;
    --bs-accordion-border-radius: 0.375rem;
    --bs-accordion-inner-border-radius: calc(0.375rem - 1px);
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: #212529;
    --bs-accordion-btn-bg: var(--bs-accordion-bg);
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232db92d'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-focus-border-color: #99e699;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: #2db92d;
    --bs-accordion-active-bg: #ebfaeb;
}

.accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    font-size: 1rem;
    color: var(--bs-accordion-btn-color);
    text-align: left;
    background-color: var(--bs-accordion-btn-bg);
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
    .accordion-button {
        transition: none;
    }
}
.accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
    .accordion-button::after {
        transition: none;
    }
}
.accordion-button:hover {
    z-index: 2;
}
.accordion-button:focus {
    z-index: 3;
    border-color: var(--bs-accordion-btn-focus-border-color);
    outline: 0;
    box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
    margin-bottom: 0;
}

.accordion-item {
    color: var(--bs-accordion-color);
    background-color: var(--bs-accordion-bg);
    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
    border-top-left-radius: var(--bs-accordion-border-radius);
    border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type .accordion-button {
    border-top-left-radius: var(--bs-accordion-inner-border-radius);
    border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
    border-top: 0;
}
.accordion-item:last-of-type {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
    border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type .accordion-collapse {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush .accordion-collapse {
    border-width: 0;
}
.accordion-flush .accordion-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
}
.accordion-flush .accordion-item:first-child {
    border-top: 0;
}
.accordion-flush .accordion-item:last-child {
    border-bottom: 0;
}
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
    border-radius: 0;
}

.breadcrumb {
    --bs-breadcrumb-padding-x: 0;
    --bs-breadcrumb-padding-y: 0;
    --bs-breadcrumb-margin-bottom: 1rem;
    --bs-breadcrumb-bg: ;
    --bs-breadcrumb-border-radius: ;
    --bs-breadcrumb-divider-color: #6c757d;
    --bs-breadcrumb-item-padding-x: 0.5rem;
    --bs-breadcrumb-item-active-color: #6c757d;
    display: flex;
    flex-wrap: wrap;
    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
    margin-bottom: var(--bs-breadcrumb-margin-bottom);
    font-size: var(--bs-breadcrumb-font-size);
    list-style: none;
    background-color: var(--bs-breadcrumb-bg);
    border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
    padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
    color: var(--bs-breadcrumb-item-active-color);
}

.pagination {
    --bs-pagination-padding-x: 0.75rem;
    --bs-pagination-padding-y: 0.375rem;
    --bs-pagination-font-size: 1rem;
    --bs-pagination-color: var(--bs-link-color);
    --bs-pagination-bg: #fff;
    --bs-pagination-border-width: 1px;
    --bs-pagination-border-color: #dee2e6;
    --bs-pagination-border-radius: 0.375rem;
    --bs-pagination-hover-color: var(--bs-link-hover-color);
    --bs-pagination-hover-bg: #e9ecef;
    --bs-pagination-hover-border-color: #dee2e6;
    --bs-pagination-focus-color: var(--bs-link-hover-color);
    --bs-pagination-focus-bg: #e9ecef;
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: limegreen;
    --bs-pagination-active-border-color: limegreen;
    --bs-pagination-disabled-color: #6c757d;
    --bs-pagination-disabled-bg: #fff;
    --bs-pagination-disabled-border-color: #dee2e6;
    display: flex;
    padding-left: 0;
    list-style: none;
}

.page-link {
    position: relative;
    display: block;
    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
    font-size: var(--bs-pagination-font-size);
    color: var(--bs-pagination-color);
    text-decoration: none;
    background-color: var(--bs-pagination-bg);
    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .page-link {
        transition: none;
    }
}
.page-link:hover {
    z-index: 2;
    color: var(--bs-pagination-hover-color);
    background-color: var(--bs-pagination-hover-bg);
    border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
    z-index: 3;
    color: var(--bs-pagination-focus-color);
    background-color: var(--bs-pagination-focus-bg);
    outline: 0;
    box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
    z-index: 3;
    color: var(--bs-pagination-active-color);
    background-color: var(--bs-pagination-active-bg);
    border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
    color: var(--bs-pagination-disabled-color);
    pointer-events: none;
    background-color: var(--bs-pagination-disabled-bg);
    border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
    margin-left: -1px;
}
.page-item:first-child .page-link {
    border-top-left-radius: var(--bs-pagination-border-radius);
    border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
    border-top-right-radius: var(--bs-pagination-border-radius);
    border-bottom-right-radius: var(--bs-pagination-border-radius);
}

.pagination-lg {
    --bs-pagination-padding-x: 1.5rem;
    --bs-pagination-padding-y: 0.75rem;
    --bs-pagination-font-size: 1.25rem;
    --bs-pagination-border-radius: 0.5rem;
}

.pagination-sm {
    --bs-pagination-padding-x: 0.5rem;
    --bs-pagination-padding-y: 0.25rem;
    --bs-pagination-font-size: 0.875rem;
    --bs-pagination-border-radius: 0.25rem;
}

.badge {
    --bs-badge-padding-x: 0.65em;
    --bs-badge-padding-y: 0.35em;
    --bs-badge-font-size: 0.75em;
    --bs-badge-font-weight: 700;
    --bs-badge-color: #fff;
    --bs-badge-border-radius: 0.375rem;
    display: inline-block;
    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    line-height: 1;
    color: var(--bs-badge-color);
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
    display: none;
}

.btn .badge {
    position: relative;
    top: -1px;
}

.alert {
    --bs-alert-bg: transparent;
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: 1rem;
    --bs-alert-margin-bottom: 1rem;
    --bs-alert-color: inherit;
    --bs-alert-border-color: transparent;
    --bs-alert-border: 1px solid var(--bs-alert-border-color);
    --bs-alert-border-radius: 0.375rem;
    position: relative;
    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
    margin-bottom: var(--bs-alert-margin-bottom);
    color: var(--bs-alert-color);
    background-color: var(--bs-alert-bg);
    border: var(--bs-alert-border);
    border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
    color: inherit;
}

.alert-link {
    font-weight: 700;
}

.alert-dismissible {
    padding-right: 3rem;
}
.alert-dismissible .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 1.25rem 1rem;
}

.alert-primary {
    --bs-alert-color: #1e7b1e;
    --bs-alert-bg: #d6f5d6;
    --bs-alert-border-color: #c2f0c2;
}
.alert-primary .alert-link {
    color: #186218;
}

.alert-secondary {
    --bs-alert-color: #5f1088;
    --bs-alert-bg: #ecd1f9;
    --bs-alert-border-color: #e2baf6;
}
.alert-secondary .alert-link {
    color: #4c0d6d;
}

.alert-success {
    --bs-alert-color: #0f5132;
    --bs-alert-bg: #d1e7dd;
    --bs-alert-border-color: #badbcc;
}
.alert-success .alert-link {
    color: #0c4128;
}

.alert-info {
    --bs-alert-color: #055160;
    --bs-alert-bg: #cff4fc;
    --bs-alert-border-color: #b6effb;
}
.alert-info .alert-link {
    color: #04414d;
}

.alert-warning {
    --bs-alert-color: #664d03;
    --bs-alert-bg: #fff3cd;
    --bs-alert-border-color: #ffecb5;
}
.alert-warning .alert-link {
    color: #523e02;
}

.alert-danger {
    --bs-alert-color: #842029;
    --bs-alert-bg: #f8d7da;
    --bs-alert-border-color: #f5c2c7;
}
.alert-danger .alert-link {
    color: #6a1a21;
}

.alert-light {
    --bs-alert-color: #636464;
    --bs-alert-bg: #fefefe;
    --bs-alert-border-color: #fdfdfe;
}
.alert-light .alert-link {
    color: #4f5050;
}

.alert-dark {
    --bs-alert-color: #141619;
    --bs-alert-bg: #d3d3d4;
    --bs-alert-border-color: #bcbebf;
}
.alert-dark .alert-link {
    color: #101214;
}

@keyframes progress-bar-stripes {
    0% {
        background-position-x: 1rem;
    }
}
.progress {
    --bs-progress-height: 1rem;
    --bs-progress-font-size: 0.75rem;
    --bs-progress-bg: #e9ecef;
    --bs-progress-border-radius: 0.375rem;
    --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-progress-bar-color: #fff;
    --bs-progress-bar-bg: limegreen;
    --bs-progress-bar-transition: width 0.6s ease;
    display: flex;
    height: var(--bs-progress-height);
    overflow: hidden;
    font-size: var(--bs-progress-font-size);
    background-color: var(--bs-progress-bg);
    border-radius: var(--bs-progress-border-radius);
}

.progress-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: var(--bs-progress-bar-color);
    text-align: center;
    white-space: nowrap;
    background-color: var(--bs-progress-bar-bg);
    transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
    .progress-bar {
        transition: none;
    }
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: var(--bs-progress-height) var(--bs-progress-height);
}

.progress-bar-animated {
    animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
        animation: none;
    }
}

.list-group {
    --bs-list-group-color: #212529;
    --bs-list-group-bg: #fff;
    --bs-list-group-border-color: rgba(0, 0, 0, 0.125);
    --bs-list-group-border-width: 1px;
    --bs-list-group-border-radius: 0.375rem;
    --bs-list-group-item-padding-x: 1rem;
    --bs-list-group-item-padding-y: 0.5rem;
    --bs-list-group-action-color: #495057;
    --bs-list-group-action-hover-color: #495057;
    --bs-list-group-action-hover-bg: #f8f9fa;
    --bs-list-group-action-active-color: #212529;
    --bs-list-group-action-active-bg: #e9ecef;
    --bs-list-group-disabled-color: #6c757d;
    --bs-list-group-disabled-bg: #fff;
    --bs-list-group-active-color: #fff;
    --bs-list-group-active-bg: limegreen;
    --bs-list-group-active-border-color: limegreen;
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: var(--bs-list-group-border-radius);
}

.list-group-numbered {
    list-style-type: none;
    counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
    content: counters(section, ".") ". ";
    counter-increment: section;
}

.list-group-item-action {
    width: 100%;
    color: var(--bs-list-group-action-color);
    text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: var(--bs-list-group-action-hover-color);
    text-decoration: none;
    background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:active {
    color: var(--bs-list-group-action-active-color);
    background-color: var(--bs-list-group-action-active-bg);
}

.list-group-item {
    position: relative;
    display: block;
    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
    color: var(--bs-list-group-color);
    text-decoration: none;
    background-color: var(--bs-list-group-bg);
    border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}
.list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
    color: var(--bs-list-group-disabled-color);
    pointer-events: none;
    background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
    z-index: 2;
    color: var(--bs-list-group-active-color);
    background-color: var(--bs-list-group-active-bg);
    border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
    border-top-width: 0;
}
.list-group-item + .list-group-item.active {
    margin-top: calc(-1 * var(--bs-list-group-border-width));
    border-top-width: var(--bs-list-group-border-width);
}

.list-group-horizontal {
    flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
    margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
}

@media (min-width: 576px) {
    .list-group-horizontal-sm {
        flex-direction: row;
    }
    .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0;
    }
    .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0;
    }
    .list-group-horizontal-sm > .list-group-item.active {
        margin-top: 0;
    }
    .list-group-horizontal-sm > .list-group-item + .list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0;
    }
    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width);
    }
}
@media (min-width: 768px) {
    .list-group-horizontal-md {
        flex-direction: row;
    }
    .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0;
    }
    .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0;
    }
    .list-group-horizontal-md > .list-group-item.active {
        margin-top: 0;
    }
    .list-group-horizontal-md > .list-group-item + .list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0;
    }
    .list-group-horizontal-md > .list-group-item + .list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width);
    }
}
@media (min-width: 992px) {
    .list-group-horizontal-lg {
        flex-direction: row;
    }
    .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0;
    }
    .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0;
    }
    .list-group-horizontal-lg > .list-group-item.active {
        margin-top: 0;
    }
    .list-group-horizontal-lg > .list-group-item + .list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0;
    }
    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width);
    }
}
@media (min-width: 1200px) {
    .list-group-horizontal-xl {
        flex-direction: row;
    }
    .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0;
    }
    .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0;
    }
    .list-group-horizontal-xl > .list-group-item.active {
        margin-top: 0;
    }
    .list-group-horizontal-xl > .list-group-item + .list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0;
    }
    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width);
    }
}
@media (min-width: 1400px) {
    .list-group-horizontal-xxl {
        flex-direction: row;
    }
    .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0;
    }
    .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0;
    }
    .list-group-horizontal-xxl > .list-group-item.active {
        margin-top: 0;
    }
    .list-group-horizontal-xxl > .list-group-item + .list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0;
    }
    .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width);
    }
}
.list-group-flush {
    border-radius: 0;
}
.list-group-flush > .list-group-item {
    border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
    border-bottom-width: 0;
}

.list-group-item-primary {
    color: #1e7b1e;
    background-color: #d6f5d6;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #1e7b1e;
    background-color: #c1ddc1;
}
.list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #1e7b1e;
    border-color: #1e7b1e;
}

.list-group-item-secondary {
    color: #5f1088;
    background-color: #ecd1f9;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #5f1088;
    background-color: #d4bce0;
}
.list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #5f1088;
    border-color: #5f1088;
}

.list-group-item-success {
    color: #0f5132;
    background-color: #d1e7dd;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
    color: #0f5132;
    background-color: #bcd0c7;
}
.list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #0f5132;
    border-color: #0f5132;
}

.list-group-item-info {
    color: #055160;
    background-color: #cff4fc;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
    color: #055160;
    background-color: #badce3;
}
.list-group-item-info.list-group-item-action.active {
    color: #fff;
    background-color: #055160;
    border-color: #055160;
}

.list-group-item-warning {
    color: #664d03;
    background-color: #fff3cd;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
    color: #664d03;
    background-color: #e6dbb9;
}
.list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #664d03;
    border-color: #664d03;
}

.list-group-item-danger {
    color: #842029;
    background-color: #f8d7da;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
    color: #842029;
    background-color: #dfc2c4;
}
.list-group-item-danger.list-group-item-action.active {
    color: #fff;
    background-color: #842029;
    border-color: #842029;
}

.list-group-item-light {
    color: #636464;
    background-color: #fefefe;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
    color: #636464;
    background-color: #e5e5e5;
}
.list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #636464;
    border-color: #636464;
}

.list-group-item-dark {
    color: #141619;
    background-color: #d3d3d4;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
    color: #141619;
    background-color: #bebebf;
}
.list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: #141619;
    border-color: #141619;
}

.btn-close {
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.25em 0.25em;
    color: #000000;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    border: 0;
    border-radius: 0.375rem;
    opacity: 0.5;
}
.btn-close:hover {
    color: #000000;
    text-decoration: none;
    opacity: 0.75;
}
.btn-close:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
    opacity: 1;
}
.btn-close:disabled, .btn-close.disabled {
    pointer-events: none;
    user-select: none;
    opacity: 0.25;
}

.btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
    --bs-toast-zindex: 1090;
    --bs-toast-padding-x: 0.75rem;
    --bs-toast-padding-y: 0.5rem;
    --bs-toast-spacing: 1.5rem;
    --bs-toast-max-width: 350px;
    --bs-toast-font-size: 0.875rem;
    --bs-toast-color: ;
    --bs-toast-bg: rgba(255, 255, 255, 0.85);
    --bs-toast-border-width: 1px;
    --bs-toast-border-color: var(--bs-border-color-translucent);
    --bs-toast-border-radius: 0.375rem;
    --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-toast-header-color: #6c757d;
    --bs-toast-header-bg: rgba(255, 255, 255, 0.85);
    --bs-toast-header-border-color: rgba(0, 0, 0, 0.05);
    width: var(--bs-toast-max-width);
    max-width: 100%;
    font-size: var(--bs-toast-font-size);
    color: var(--bs-toast-color);
    pointer-events: auto;
    background-color: var(--bs-toast-bg);
    background-clip: padding-box;
    border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
    box-shadow: var(--bs-toast-box-shadow);
    border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
    opacity: 0;
}
.toast:not(.show) {
    display: none;
}

.toast-container {
    --bs-toast-zindex: 1090;
    position: absolute;
    z-index: var(--bs-toast-zindex);
    width: max-content;
    max-width: 100%;
    pointer-events: none;
}
.toast-container > :not(:last-child) {
    margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
    display: flex;
    align-items: center;
    padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
    color: var(--bs-toast-header-color);
    background-color: var(--bs-toast-header-bg);
    background-clip: padding-box;
    border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
    border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
    border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
    margin-right: calc(-0.5 * var(--bs-toast-padding-x));
    margin-left: var(--bs-toast-padding-x);
}

.toast-body {
    padding: var(--bs-toast-padding-x);
    word-wrap: break-word;
}

.modal {
    --bs-modal-zindex: 1055;
    --bs-modal-width: 500px;
    --bs-modal-padding: 1rem;
    --bs-modal-margin: 0.5rem;
    --bs-modal-color: ;
    --bs-modal-bg: #fff;
    --bs-modal-border-color: var(--bs-border-color-translucent);
    --bs-modal-border-width: 1px;
    --bs-modal-border-radius: 0.5rem;
    --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-modal-inner-border-radius: calc(0.5rem - 1px);
    --bs-modal-header-padding-x: 1rem;
    --bs-modal-header-padding-y: 1rem;
    --bs-modal-header-padding: 1rem 1rem;
    --bs-modal-header-border-color: var(--bs-border-color);
    --bs-modal-header-border-width: 1px;
    --bs-modal-title-line-height: 1.5;
    --bs-modal-footer-gap: 0.5rem;
    --bs-modal-footer-bg: ;
    --bs-modal-footer-border-color: var(--bs-border-color);
    --bs-modal-footer-border-width: 1px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-modal-zindex);
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: var(--bs-modal-margin);
    pointer-events: none;
}
.modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
    .modal.fade .modal-dialog {
        transition: none;
    }
}
.modal.show .modal-dialog {
    transform: none;
}
.modal.modal-static .modal-dialog {
    transform: scale(1.02);
}

.modal-dialog-scrollable {
    height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
    max-height: 100%;
    overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
    overflow-y: auto;
}

.modal-dialog-centered {
    display: flex;
    align-items: center;
    min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    color: var(--bs-modal-color);
    pointer-events: auto;
    background-color: var(--bs-modal-bg);
    background-clip: padding-box;
    border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
    border-radius: var(--bs-modal-border-radius);
    outline: 0;
}

.modal-backdrop {
    --bs-backdrop-zindex: 1050;
    --bs-backdrop-bg: #000000;
    --bs-backdrop-opacity: 0.5;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-backdrop-zindex);
    width: 100vw;
    height: 100vh;
    background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
    opacity: 0;
}
.modal-backdrop.show {
    opacity: var(--bs-backdrop-opacity);
}

.modal-header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    padding: var(--bs-modal-header-padding);
    border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
    border-top-left-radius: var(--bs-modal-inner-border-radius);
    border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
    padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
    margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}

.modal-title {
    margin-bottom: 0;
    line-height: var(--bs-modal-title-line-height);
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: var(--bs-modal-padding);
}

.modal-footer {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
    background-color: var(--bs-modal-footer-bg);
    border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
    border-bottom-right-radius: var(--bs-modal-inner-border-radius);
    border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
    margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
    .modal {
        --bs-modal-margin: 1.75rem;
        --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    }
    .modal-dialog {
        max-width: var(--bs-modal-width);
        margin-right: auto;
        margin-left: auto;
    }
    .modal-sm {
        --bs-modal-width: 300px;
    }
}
@media (min-width: 992px) {
    .modal-lg,
    .modal-xl {
        --bs-modal-width: 800px;
    }
}
@media (min-width: 1200px) {
    .modal-xl {
        --bs-modal-width: 1140px;
    }
}
.modal-fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
}
.modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
    border-radius: 0;
}
.modal-fullscreen .modal-body {
    overflow-y: auto;
}

@media (max-width: 575.98px) {
    .modal-fullscreen-sm-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0;
    }
    .modal-fullscreen-sm-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0;
    }
    .modal-fullscreen-sm-down .modal-header,
    .modal-fullscreen-sm-down .modal-footer {
        border-radius: 0;
    }
    .modal-fullscreen-sm-down .modal-body {
        overflow-y: auto;
    }
}
@media (max-width: 767.98px) {
    .modal-fullscreen-md-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0;
    }
    .modal-fullscreen-md-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0;
    }
    .modal-fullscreen-md-down .modal-header,
    .modal-fullscreen-md-down .modal-footer {
        border-radius: 0;
    }
    .modal-fullscreen-md-down .modal-body {
        overflow-y: auto;
    }
}
@media (max-width: 991.98px) {
    .modal-fullscreen-lg-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0;
    }
    .modal-fullscreen-lg-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0;
    }
    .modal-fullscreen-lg-down .modal-header,
    .modal-fullscreen-lg-down .modal-footer {
        border-radius: 0;
    }
    .modal-fullscreen-lg-down .modal-body {
        overflow-y: auto;
    }
}
@media (max-width: 1199.98px) {
    .modal-fullscreen-xl-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0;
    }
    .modal-fullscreen-xl-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0;
    }
    .modal-fullscreen-xl-down .modal-header,
    .modal-fullscreen-xl-down .modal-footer {
        border-radius: 0;
    }
    .modal-fullscreen-xl-down .modal-body {
        overflow-y: auto;
    }
}
@media (max-width: 1399.98px) {
    .modal-fullscreen-xxl-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0;
    }
    .modal-fullscreen-xxl-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0;
    }
    .modal-fullscreen-xxl-down .modal-header,
    .modal-fullscreen-xxl-down .modal-footer {
        border-radius: 0;
    }
    .modal-fullscreen-xxl-down .modal-body {
        overflow-y: auto;
    }
}
.tooltip {
    --bs-tooltip-zindex: 1080;
    --bs-tooltip-max-width: 200px;
    --bs-tooltip-padding-x: 0.5rem;
    --bs-tooltip-padding-y: 0.25rem;
    --bs-tooltip-margin: ;
    --bs-tooltip-font-size: 0.875rem;
    --bs-tooltip-color: #fff;
    --bs-tooltip-bg: #000000;
    --bs-tooltip-border-radius: 0.375rem;
    --bs-tooltip-opacity: 0.9;
    --bs-tooltip-arrow-width: 0.8rem;
    --bs-tooltip-arrow-height: 0.4rem;
    z-index: var(--bs-tooltip-zindex);
    display: block;
    padding: var(--bs-tooltip-arrow-height);
    margin: var(--bs-tooltip-margin);
    font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: var(--bs-tooltip-font-size);
    word-wrap: break-word;
    opacity: 0;
}
.tooltip.show {
    opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
    display: block;
    width: var(--bs-tooltip-arrow-width);
    height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
    position: absolute;
    content: "";
    border-color: transparent;
    border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
    bottom: 0;
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
    top: -1px;
    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
    border-top-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
    left: 0;
    width: var(--bs-tooltip-arrow-height);
    height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
    right: -1px;
    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
    border-right-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
    top: 0;
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
    bottom: -1px;
    border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
    border-bottom-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
    right: 0;
    width: var(--bs-tooltip-arrow-height);
    height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
    left: -1px;
    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
    border-left-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
    max-width: var(--bs-tooltip-max-width);
    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
    color: var(--bs-tooltip-color);
    text-align: center;
    background-color: var(--bs-tooltip-bg);
    border-radius: var(--bs-tooltip-border-radius);
}

.popover {
    --bs-popover-zindex: 1070;
    --bs-popover-max-width: 276px;
    --bs-popover-font-size: 0.875rem;
    --bs-popover-bg: #fff;
    --bs-popover-border-width: 1px;
    --bs-popover-border-color: var(--bs-border-color-translucent);
    --bs-popover-border-radius: 0.5rem;
    --bs-popover-inner-border-radius: calc(0.5rem - 1px);
    --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-popover-header-padding-x: 1rem;
    --bs-popover-header-padding-y: 0.5rem;
    --bs-popover-header-font-size: 1rem;
    --bs-popover-header-color: ;
    --bs-popover-header-bg: #f0f0f0;
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: 1rem;
    --bs-popover-body-color: #212529;
    --bs-popover-arrow-width: 1rem;
    --bs-popover-arrow-height: 0.5rem;
    --bs-popover-arrow-border: var(--bs-popover-border-color);
    z-index: var(--bs-popover-zindex);
    display: block;
    max-width: var(--bs-popover-max-width);
    font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: var(--bs-popover-font-size);
    word-wrap: break-word;
    background-color: var(--bs-popover-bg);
    background-clip: padding-box;
    border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
    border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
    display: block;
    width: var(--bs-popover-arrow-width);
    height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid;
    border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
    bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
    border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
    bottom: 0;
    border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
    bottom: var(--bs-popover-border-width);
    border-top-color: var(--bs-popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
    left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
    width: var(--bs-popover-arrow-height);
    height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
    border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
    left: 0;
    border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
    left: var(--bs-popover-border-width);
    border-right-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
    top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
    border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
    top: 0;
    border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
    top: var(--bs-popover-border-width);
    border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: var(--bs-popover-arrow-width);
    margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
    content: "";
    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
    right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
    width: var(--bs-popover-arrow-height);
    height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
    border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
    right: 0;
    border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
    right: var(--bs-popover-border-width);
    border-left-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.popover-header {
    padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
    margin-bottom: 0;
    font-size: var(--bs-popover-header-font-size);
    color: var(--bs-popover-header-color);
    background-color: var(--bs-popover-header-bg);
    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
    border-top-left-radius: var(--bs-popover-inner-border-radius);
    border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
    display: none;
}

.popover-body {
    padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
    color: var(--bs-popover-body-color);
}

.carousel {
    position: relative;
}

.carousel.pointer-event {
    touch-action: pan-y;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.carousel-inner::after {
    display: block;
    clear: both;
    content: "";
}

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    backface-visibility: hidden;
    transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .carousel-item {
        transition: none;
    }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
    display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
    transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
    transform: translateX(-100%);
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
    z-index: 1;
    opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-start,
    .carousel-fade .active.carousel-item-end {
        transition: none;
    }
}

.carousel-control-prev,
.carousel-control-next {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    padding: 0;
    color: #fff;
    text-align: center;
    background: none;
    border: 0;
    opacity: 0.5;
    transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
        transition: none;
    }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9;
}

.carousel-control-prev {
    left: 0;
}

.carousel-control-next {
    right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 100% 100%;
}

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    padding: 0;
    margin-right: 15%;
    margin-bottom: 1rem;
    margin-left: 15%;
    list-style: none;
}
.carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: 0.5;
    transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
    .carousel-indicators [data-bs-target] {
        transition: none;
    }
}
.carousel-indicators .active {
    opacity: 1;
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 1.25rem;
    left: 15%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: #fff;
    text-align: center;
}

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
    filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
    background-color: #000000;
}
.carousel-dark .carousel-caption {
    color: #000000;
}

.spinner-grow,
.spinner-border {
    display: inline-block;
    width: var(--bs-spinner-width);
    height: var(--bs-spinner-height);
    vertical-align: var(--bs-spinner-vertical-align);
    border-radius: 50%;
    animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg) /* rtl:ignore */;
    }
}
.spinner-border {
    --bs-spinner-width: 2rem;
    --bs-spinner-height: 2rem;
    --bs-spinner-vertical-align: -0.125em;
    --bs-spinner-border-width: 0.25em;
    --bs-spinner-animation-speed: 0.75s;
    --bs-spinner-animation-name: spinner-border;
    border: var(--bs-spinner-border-width) solid currentcolor;
    border-right-color: transparent;
}

.spinner-border-sm {
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem;
    --bs-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
    0% {
        transform: scale(0);
    }
    50% {
        opacity: 1;
        transform: none;
    }
}
.spinner-grow {
    --bs-spinner-width: 2rem;
    --bs-spinner-height: 2rem;
    --bs-spinner-vertical-align: -0.125em;
    --bs-spinner-animation-speed: 0.75s;
    --bs-spinner-animation-name: spinner-grow;
    background-color: currentcolor;
    opacity: 0;
}

.spinner-grow-sm {
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
    .spinner-border,
    .spinner-grow {
        --bs-spinner-animation-speed: 1.5s;
    }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
    --bs-offcanvas-zindex: 1045;
    --bs-offcanvas-width: 400px;
    --bs-offcanvas-height: 30vh;
    --bs-offcanvas-padding-x: 1rem;
    --bs-offcanvas-padding-y: 1rem;
    --bs-offcanvas-color: ;
    --bs-offcanvas-bg: #fff;
    --bs-offcanvas-border-width: 1px;
    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
    --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

@media (max-width: 575.98px) {
    .offcanvas-sm {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform 0.3s ease-in-out;
    }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-sm {
        transition: none;
    }
}
@media (max-width: 575.98px) {
    .offcanvas-sm.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%);
    }
    .offcanvas-sm.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%);
    }
    .offcanvas-sm.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%);
    }
    .offcanvas-sm.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%);
    }
    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
        visibility: visible;
    }
}
@media (min-width: 576px) {
    .offcanvas-sm {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important;
    }
    .offcanvas-sm .offcanvas-header {
        display: none;
    }
    .offcanvas-sm .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important;
    }
}

@media (max-width: 767.98px) {
    .offcanvas-md {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform 0.3s ease-in-out;
    }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-md {
        transition: none;
    }
}
@media (max-width: 767.98px) {
    .offcanvas-md.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%);
    }
    .offcanvas-md.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%);
    }
    .offcanvas-md.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%);
    }
    .offcanvas-md.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%);
    }
    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
        visibility: visible;
    }
}
@media (min-width: 768px) {
    .offcanvas-md {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important;
    }
    .offcanvas-md .offcanvas-header {
        display: none;
    }
    .offcanvas-md .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important;
    }
}

@media (max-width: 991.98px) {
    .offcanvas-lg {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform 0.3s ease-in-out;
    }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-lg {
        transition: none;
    }
}
@media (max-width: 991.98px) {
    .offcanvas-lg.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%);
    }
    .offcanvas-lg.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%);
    }
    .offcanvas-lg.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%);
    }
    .offcanvas-lg.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%);
    }
    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
        visibility: visible;
    }
}
@media (min-width: 992px) {
    .offcanvas-lg {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important;
    }
    .offcanvas-lg .offcanvas-header {
        display: none;
    }
    .offcanvas-lg .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important;
    }
}

@media (max-width: 1199.98px) {
    .offcanvas-xl {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform 0.3s ease-in-out;
    }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-xl {
        transition: none;
    }
}
@media (max-width: 1199.98px) {
    .offcanvas-xl.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%);
    }
    .offcanvas-xl.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%);
    }
    .offcanvas-xl.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%);
    }
    .offcanvas-xl.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%);
    }
    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
        visibility: visible;
    }
}
@media (min-width: 1200px) {
    .offcanvas-xl {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important;
    }
    .offcanvas-xl .offcanvas-header {
        display: none;
    }
    .offcanvas-xl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important;
    }
}

@media (max-width: 1399.98px) {
    .offcanvas-xxl {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: transform 0.3s ease-in-out;
    }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
    .offcanvas-xxl {
        transition: none;
    }
}
@media (max-width: 1399.98px) {
    .offcanvas-xxl.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%);
    }
    .offcanvas-xxl.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%);
    }
    .offcanvas-xxl.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%);
    }
    .offcanvas-xxl.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%);
    }
    .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
        visibility: visible;
    }
}
@media (min-width: 1400px) {
    .offcanvas-xxl {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important;
    }
    .offcanvas-xxl .offcanvas-header {
        display: none;
    }
    .offcanvas-xxl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important;
    }
}

.offcanvas {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .offcanvas {
        transition: none;
    }
}
.offcanvas.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
}
.offcanvas.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
    transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
    visibility: visible;
}

.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000000;
}
.offcanvas-backdrop.fade {
    opacity: 0;
}
.offcanvas-backdrop.show {
    opacity: 0.5;
}

.offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
    padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
    margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
    margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
    margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
}

.offcanvas-title {
    margin-bottom: 0;
    line-height: 1.5;
}

.offcanvas-body {
    flex-grow: 1;
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
    overflow-y: auto;
}

.placeholder {
    display: inline-block;
    min-height: 1em;
    vertical-align: middle;
    cursor: wait;
    background-color: currentcolor;
    opacity: 0.5;
}
.placeholder.btn::before {
    display: inline-block;
    content: "";
}

.placeholder-xs {
    min-height: 0.6em;
}

.placeholder-sm {
    min-height: 0.8em;
}

.placeholder-lg {
    min-height: 1.2em;
}

.placeholder-glow .placeholder {
    animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
    50% {
        opacity: 0.2;
    }
}
.placeholder-wave {
    mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.8) 75%, #000000 95%);
    mask-size: 200% 100%;
    animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
    100% {
        mask-position: -200% 0%;
    }
}
.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

.text-bg-primary {
    color: #000000 !important;
    background-color: RGBA(50, 205, 50, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
    color: #fff !important;
    background-color: RGBA(159, 26, 226, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
    color: #fff !important;
    background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
    color: #000000 !important;
    background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
    color: #000000 !important;
    background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
    color: #fff !important;
    background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
    color: #000000 !important;
    background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
    color: #fff !important;
    background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
    color: limegreen !important;
}
.link-primary:hover, .link-primary:focus {
    color: #5bd75b !important;
}

.link-secondary {
    color: #9f1ae2 !important;
}
.link-secondary:hover, .link-secondary:focus {
    color: #7f15b5 !important;
}

.link-success {
    color: #198754 !important;
}
.link-success:hover, .link-success:focus {
    color: #146c43 !important;
}

.link-info {
    color: #0dcaf0 !important;
}
.link-info:hover, .link-info:focus {
    color: #3dd5f3 !important;
}

.link-warning {
    color: #ffc107 !important;
}
.link-warning:hover, .link-warning:focus {
    color: #ffcd39 !important;
}

.link-danger {
    color: #dc3545 !important;
}
.link-danger:hover, .link-danger:focus {
    color: #b02a37 !important;
}

.link-light {
    color: #f8f9fa !important;
}
.link-light:hover, .link-light:focus {
    color: #f9fafb !important;
}

.link-dark {
    color: #212529 !important;
}
.link-dark:hover, .link-dark:focus {
    color: #1a1e21 !important;
}

.ratio {
    position: relative;
    width: 100%;
}
.ratio::before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: "";
}
.ratio > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ratio-1x1 {
    --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
    --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
    --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
    --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}

.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
}

.sticky-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
}

@media (min-width: 576px) {
    .sticky-sm-top {
        position: sticky;
        top: 0;
        z-index: 1020;
    }
    .sticky-sm-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020;
    }
}
@media (min-width: 768px) {
    .sticky-md-top {
        position: sticky;
        top: 0;
        z-index: 1020;
    }
    .sticky-md-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020;
    }
}
@media (min-width: 992px) {
    .sticky-lg-top {
        position: sticky;
        top: 0;
        z-index: 1020;
    }
    .sticky-lg-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020;
    }
}
@media (min-width: 1200px) {
    .sticky-xl-top {
        position: sticky;
        top: 0;
        z-index: 1020;
    }
    .sticky-xl-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020;
    }
}
@media (min-width: 1400px) {
    .sticky-xxl-top {
        position: sticky;
        top: 0;
        z-index: 1020;
    }
    .sticky-xxl-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020;
    }
}
.hstack {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch;
}

.vstack {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}

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

.vr {
    display: inline-block;
    align-self: stretch;
    width: 1px;
    min-height: 1em;
    background-color: currentcolor;
    opacity: 0.25;
}

.align-baseline {
    vertical-align: baseline !important;
}

.align-top {
    vertical-align: top !important;
}

.align-middle {
    vertical-align: middle !important;
}

.align-bottom {
    vertical-align: bottom !important;
}

.align-text-bottom {
    vertical-align: text-bottom !important;
}

.align-text-top {
    vertical-align: text-top !important;
}

.float-start {
    float: left !important;
}

.float-end {
    float: right !important;
}

.float-none {
    float: none !important;
}

.opacity-0 {
    opacity: 0 !important;
}

.opacity-25 {
    opacity: 0.25 !important;
}

.opacity-50 {
    opacity: 0.5 !important;
}

.opacity-75 {
    opacity: 0.75 !important;
}

.opacity-100 {
    opacity: 1 !important;
}

.overflow-auto {
    overflow: auto !important;
}

.overflow-hidden {
    overflow: hidden !important;
}

.overflow-visible {
    overflow: visible !important;
}

.overflow-scroll {
    overflow: scroll !important;
}

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

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

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

.d-grid {
    display: grid !important;
}

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

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

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

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

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

.d-none {
    display: none !important;
}

.shadow {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-sm {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
    box-shadow: none !important;
}

.position-static {
    position: static !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.position-fixed {
    position: fixed !important;
}

.position-sticky {
    position: sticky !important;
}

.top-0 {
    top: 0 !important;
}

.top-50 {
    top: 50% !important;
}

.top-100 {
    top: 100% !important;
}

.bottom-0 {
    bottom: 0 !important;
}

.bottom-50 {
    bottom: 50% !important;
}

.bottom-100 {
    bottom: 100% !important;
}

.start-0 {
    left: 0 !important;
}

.start-50 {
    left: 50% !important;
}

.start-100 {
    left: 100% !important;
}

.end-0 {
    right: 0 !important;
}

.end-50 {
    right: 50% !important;
}

.end-100 {
    right: 100% !important;
}

.translate-middle {
    transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
    transform: translateX(-50%) !important;
}

.translate-middle-y {
    transform: translateY(-50%) !important;
}

.border {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
    border: 0 !important;
}

.border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
    border-top: 0 !important;
}

.border-end {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
    border-right: 0 !important;
}

.border-bottom {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
    border-bottom: 0 !important;
}

.border-start {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
    border-left: 0 !important;
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-1 {
    --bs-border-width: 1px;
}

.border-2 {
    --bs-border-width: 2px;
}

.border-3 {
    --bs-border-width: 3px;
}

.border-4 {
    --bs-border-width: 4px;
}

.border-5 {
    --bs-border-width: 5px;
}

.border-opacity-10 {
    --bs-border-opacity: 0.1;
}

.border-opacity-25 {
    --bs-border-opacity: 0.25;
}

.border-opacity-50 {
    --bs-border-opacity: 0.5;
}

.border-opacity-75 {
    --bs-border-opacity: 0.75;
}

.border-opacity-100 {
    --bs-border-opacity: 1;
}

.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.mw-100 {
    max-width: 100% !important;
}

.vw-100 {
    width: 100vw !important;
}

.min-vw-100 {
    min-width: 100vw !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.mh-100 {
    max-height: 100% !important;
}

.vh-100 {
    height: 100vh !important;
}

.min-vh-100 {
    min-height: 100vh !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.justify-content-evenly {
    justify-content: space-evenly !important;
}

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

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

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

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

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

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

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

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

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

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

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

.align-self-auto {
    align-self: auto !important;
}

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

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

.align-self-center {
    align-self: center !important;
}

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

.align-self-stretch {
    align-self: stretch !important;
}

.order-first {
    order: -1 !important;
}

.order-0 {
    order: 0 !important;
}

.order-1 {
    order: 1 !important;
}

.order-2 {
    order: 2 !important;
}

.order-3 {
    order: 3 !important;
}

.order-4 {
    order: 4 !important;
}

.order-5 {
    order: 5 !important;
}

.order-last {
    order: 6 !important;
}

.m-0 {
    margin: 0 !important;
}

.m-1 {
    margin: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

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

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

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

.m-auto {
    margin: auto !important;
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.mx-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
}

.mx-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
}

.mx-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
}

.mx-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
}

.mx-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.my-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}

.my-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-1 {
    margin-top: 0.25rem !important;
}

.mt-2 {
    margin-top: 0.5rem !important;
}

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

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

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

.mt-auto {
    margin-top: auto !important;
}

.me-0 {
    margin-right: 0 !important;
}

.me-1 {
    margin-right: 0.25rem !important;
}

.me-2 {
    margin-right: 0.5rem !important;
}

.me-3 {
    margin-right: 1rem !important;
}

.me-4 {
    margin-right: 1.5rem !important;
}

.me-5 {
    margin-right: 3rem !important;
}

.me-auto {
    margin-right: auto !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: 0.25rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

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

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

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

.mb-auto {
    margin-bottom: auto !important;
}

.ms-0 {
    margin-left: 0 !important;
}

.ms-1 {
    margin-left: 0.25rem !important;
}

.ms-2 {
    margin-left: 0.5rem !important;
}

.ms-3 {
    margin-left: 1rem !important;
}

.ms-4 {
    margin-left: 1.5rem !important;
}

.ms-5 {
    margin-left: 3rem !important;
}

.ms-auto {
    margin-left: auto !important;
}

.p-0 {
    padding: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

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

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

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

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.px-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
}

.px-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
}

.px-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}

.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}

.px-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.py-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}

.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-1 {
    padding-top: 0.25rem !important;
}

.pt-2 {
    padding-top: 0.5rem !important;
}

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

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

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

.pe-0 {
    padding-right: 0 !important;
}

.pe-1 {
    padding-right: 0.25rem !important;
}

.pe-2 {
    padding-right: 0.5rem !important;
}

.pe-3 {
    padding-right: 1rem !important;
}

.pe-4 {
    padding-right: 1.5rem !important;
}

.pe-5 {
    padding-right: 3rem !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-1 {
    padding-bottom: 0.25rem !important;
}

.pb-2 {
    padding-bottom: 0.5rem !important;
}

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

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

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

.ps-0 {
    padding-left: 0 !important;
}

.ps-1 {
    padding-left: 0.25rem !important;
}

.ps-2 {
    padding-left: 0.5rem !important;
}

.ps-3 {
    padding-left: 1rem !important;
}

.ps-4 {
    padding-left: 1.5rem !important;
}

.ps-5 {
    padding-left: 3rem !important;
}

.gap-0 {
    gap: 0 !important;
}

.gap-1 {
    gap: 0.25rem !important;
}

.gap-2 {
    gap: 0.5rem !important;
}

.gap-3 {
    gap: 1rem !important;
}

.gap-4 {
    gap: 1.5rem !important;
}

.gap-5 {
    gap: 3rem !important;
}

.font-monospace {
    font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
    font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
    font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
    font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
    font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
    font-size: 1.25rem !important;
}

.fs-6 {
    font-size: 1rem !important;
}

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

.fst-normal {
    font-style: normal !important;
}

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

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

.fw-normal {
    font-weight: 500 !important;
}

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

.fw-semibold {
    font-weight: 600 !important;
}

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

.lh-1 {
    line-height: 1 !important;
}

.lh-sm {
    line-height: 1.25 !important;
}

.lh-base {
    line-height: 1.5 !important;
}

.lh-lg {
    line-height: 2 !important;
}

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

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

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

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

.text-decoration-underline {
    text-decoration: underline !important;
}

.text-decoration-line-through {
    text-decoration: line-through !important;
}

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

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

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

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

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

/* rtl:begin:remove */
.text-break {
    word-wrap: break-word !important;
    word-break: break-word !important;
}

/* rtl:end:remove */
.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.text-info {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}

.text-warning {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.text-danger {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
    --bs-text-opacity: 1;
    color: #6c757d !important;
}

.text-black-50 {
    --bs-text-opacity: 1;
    color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
    --bs-text-opacity: 1;
    color: rgba(255, 255, 255, 0.5) !important;
}

.text-reset {
    --bs-text-opacity: 1;
    color: inherit !important;
}

.text-opacity-25 {
    --bs-text-opacity: 0.25;
}

.text-opacity-50 {
    --bs-text-opacity: 0.5;
}

.text-opacity-75 {
    --bs-text-opacity: 0.75;
}

.text-opacity-100 {
    --bs-text-opacity: 1;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
    --bs-bg-opacity: 1;
    background-color: transparent !important;
}

.bg-opacity-10 {
    --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
    --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
    --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
    --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
    --bs-bg-opacity: 1;
}

.bg-gradient {
    background-image: var(--bs-gradient) !important;
}

.user-select-all {
    user-select: all !important;
}

.user-select-auto {
    user-select: auto !important;
}

.user-select-none {
    user-select: none !important;
}

.pe-none {
    pointer-events: none !important;
}

.pe-auto {
    pointer-events: auto !important;
}

.rounded {
    border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
    border-radius: 0 !important;
}

.rounded-1 {
    border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
    border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
    border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
    border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
    border-radius: var(--bs-border-radius-2xl) !important;
}

.rounded-circle {
    border-radius: 50% !important;
}

.rounded-pill {
    border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-end {
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-bottom {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-start {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important;
}

.visible {
    visibility: visible !important;
}

.invisible {
    visibility: hidden !important;
}

@media (min-width: 576px) {
    .float-sm-start {
        float: left !important;
    }
    .float-sm-end {
        float: right !important;
    }
    .float-sm-none {
        float: none !important;
    }
    .d-sm-inline {
        display: inline !important;
    }
    .d-sm-inline-block {
        display: inline-block !important;
    }
    .d-sm-block {
        display: block !important;
    }
    .d-sm-grid {
        display: grid !important;
    }
    .d-sm-table {
        display: table !important;
    }
    .d-sm-table-row {
        display: table-row !important;
    }
    .d-sm-table-cell {
        display: table-cell !important;
    }
    .d-sm-flex {
        display: flex !important;
    }
    .d-sm-inline-flex {
        display: inline-flex !important;
    }
    .d-sm-none {
        display: none !important;
    }
    .flex-sm-fill {
        flex: 1 1 auto !important;
    }
    .flex-sm-row {
        flex-direction: row !important;
    }
    .flex-sm-column {
        flex-direction: column !important;
    }
    .flex-sm-row-reverse {
        flex-direction: row-reverse !important;
    }
    .flex-sm-column-reverse {
        flex-direction: column-reverse !important;
    }
    .flex-sm-grow-0 {
        flex-grow: 0 !important;
    }
    .flex-sm-grow-1 {
        flex-grow: 1 !important;
    }
    .flex-sm-shrink-0 {
        flex-shrink: 0 !important;
    }
    .flex-sm-shrink-1 {
        flex-shrink: 1 !important;
    }
    .flex-sm-wrap {
        flex-wrap: wrap !important;
    }
    .flex-sm-nowrap {
        flex-wrap: nowrap !important;
    }
    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }
    .justify-content-sm-start {
        justify-content: flex-start !important;
    }
    .justify-content-sm-end {
        justify-content: flex-end !important;
    }
    .justify-content-sm-center {
        justify-content: center !important;
    }
    .justify-content-sm-between {
        justify-content: space-between !important;
    }
    .justify-content-sm-around {
        justify-content: space-around !important;
    }
    .justify-content-sm-evenly {
        justify-content: space-evenly !important;
    }
    .align-items-sm-start {
        align-items: flex-start !important;
    }
    .align-items-sm-end {
        align-items: flex-end !important;
    }
    .align-items-sm-center {
        align-items: center !important;
    }
    .align-items-sm-baseline {
        align-items: baseline !important;
    }
    .align-items-sm-stretch {
        align-items: stretch !important;
    }
    .align-content-sm-start {
        align-content: flex-start !important;
    }
    .align-content-sm-end {
        align-content: flex-end !important;
    }
    .align-content-sm-center {
        align-content: center !important;
    }
    .align-content-sm-between {
        align-content: space-between !important;
    }
    .align-content-sm-around {
        align-content: space-around !important;
    }
    .align-content-sm-stretch {
        align-content: stretch !important;
    }
    .align-self-sm-auto {
        align-self: auto !important;
    }
    .align-self-sm-start {
        align-self: flex-start !important;
    }
    .align-self-sm-end {
        align-self: flex-end !important;
    }
    .align-self-sm-center {
        align-self: center !important;
    }
    .align-self-sm-baseline {
        align-self: baseline !important;
    }
    .align-self-sm-stretch {
        align-self: stretch !important;
    }
    .order-sm-first {
        order: -1 !important;
    }
    .order-sm-0 {
        order: 0 !important;
    }
    .order-sm-1 {
        order: 1 !important;
    }
    .order-sm-2 {
        order: 2 !important;
    }
    .order-sm-3 {
        order: 3 !important;
    }
    .order-sm-4 {
        order: 4 !important;
    }
    .order-sm-5 {
        order: 5 !important;
    }
    .order-sm-last {
        order: 6 !important;
    }
    .m-sm-0 {
        margin: 0 !important;
    }
    .m-sm-1 {
        margin: 0.25rem !important;
    }
    .m-sm-2 {
        margin: 0.5rem !important;
    }
    .m-sm-3 {
        margin: 1rem !important;
    }
    .m-sm-4 {
        margin: 1.5rem !important;
    }
    .m-sm-5 {
        margin: 3rem !important;
    }
    .m-sm-auto {
        margin: auto !important;
    }
    .mx-sm-0 {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    .mx-sm-1 {
        margin-right: 0.25rem !important;
        margin-left: 0.25rem !important;
    }
    .mx-sm-2 {
        margin-right: 0.5rem !important;
        margin-left: 0.5rem !important;
    }
    .mx-sm-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important;
    }
    .mx-sm-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important;
    }
    .mx-sm-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important;
    }
    .mx-sm-auto {
        margin-right: auto !important;
        margin-left: auto !important;
    }
    .my-sm-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-sm-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-sm-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-sm-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-sm-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-sm-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .my-sm-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
    .mt-sm-0 {
        margin-top: 0 !important;
    }
    .mt-sm-1 {
        margin-top: 0.25rem !important;
    }
    .mt-sm-2 {
        margin-top: 0.5rem !important;
    }
    .mt-sm-3 {
        margin-top: 1rem !important;
    }
    .mt-sm-4 {
        margin-top: 1.5rem !important;
    }
    .mt-sm-5 {
        margin-top: 3rem !important;
    }
    .mt-sm-auto {
        margin-top: auto !important;
    }
    .me-sm-0 {
        margin-right: 0 !important;
    }
    .me-sm-1 {
        margin-right: 0.25rem !important;
    }
    .me-sm-2 {
        margin-right: 0.5rem !important;
    }
    .me-sm-3 {
        margin-right: 1rem !important;
    }
    .me-sm-4 {
        margin-right: 1.5rem !important;
    }
    .me-sm-5 {
        margin-right: 3rem !important;
    }
    .me-sm-auto {
        margin-right: auto !important;
    }
    .mb-sm-0 {
        margin-bottom: 0 !important;
    }
    .mb-sm-1 {
        margin-bottom: 0.25rem !important;
    }
    .mb-sm-2 {
        margin-bottom: 0.5rem !important;
    }
    .mb-sm-3 {
        margin-bottom: 1rem !important;
    }
    .mb-sm-4 {
        margin-bottom: 1.5rem !important;
    }
    .mb-sm-5 {
        margin-bottom: 3rem !important;
    }
    .mb-sm-auto {
        margin-bottom: auto !important;
    }
    .ms-sm-0 {
        margin-left: 0 !important;
    }
    .ms-sm-1 {
        margin-left: 0.25rem !important;
    }
    .ms-sm-2 {
        margin-left: 0.5rem !important;
    }
    .ms-sm-3 {
        margin-left: 1rem !important;
    }
    .ms-sm-4 {
        margin-left: 1.5rem !important;
    }
    .ms-sm-5 {
        margin-left: 3rem !important;
    }
    .ms-sm-auto {
        margin-left: auto !important;
    }
    .p-sm-0 {
        padding: 0 !important;
    }
    .p-sm-1 {
        padding: 0.25rem !important;
    }
    .p-sm-2 {
        padding: 0.5rem !important;
    }
    .p-sm-3 {
        padding: 1rem !important;
    }
    .p-sm-4 {
        padding: 1.5rem !important;
    }
    .p-sm-5 {
        padding: 3rem !important;
    }
    .px-sm-0 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .px-sm-1 {
        padding-right: 0.25rem !important;
        padding-left: 0.25rem !important;
    }
    .px-sm-2 {
        padding-right: 0.5rem !important;
        padding-left: 0.5rem !important;
    }
    .px-sm-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
    .px-sm-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important;
    }
    .px-sm-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important;
    }
    .py-sm-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-sm-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-sm-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-sm-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-sm-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-sm-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .pt-sm-0 {
        padding-top: 0 !important;
    }
    .pt-sm-1 {
        padding-top: 0.25rem !important;
    }
    .pt-sm-2 {
        padding-top: 0.5rem !important;
    }
    .pt-sm-3 {
        padding-top: 1rem !important;
    }
    .pt-sm-4 {
        padding-top: 1.5rem !important;
    }
    .pt-sm-5 {
        padding-top: 3rem !important;
    }
    .pe-sm-0 {
        padding-right: 0 !important;
    }
    .pe-sm-1 {
        padding-right: 0.25rem !important;
    }
    .pe-sm-2 {
        padding-right: 0.5rem !important;
    }
    .pe-sm-3 {
        padding-right: 1rem !important;
    }
    .pe-sm-4 {
        padding-right: 1.5rem !important;
    }
    .pe-sm-5 {
        padding-right: 3rem !important;
    }
    .pb-sm-0 {
        padding-bottom: 0 !important;
    }
    .pb-sm-1 {
        padding-bottom: 0.25rem !important;
    }
    .pb-sm-2 {
        padding-bottom: 0.5rem !important;
    }
    .pb-sm-3 {
        padding-bottom: 1rem !important;
    }
    .pb-sm-4 {
        padding-bottom: 1.5rem !important;
    }
    .pb-sm-5 {
        padding-bottom: 3rem !important;
    }
    .ps-sm-0 {
        padding-left: 0 !important;
    }
    .ps-sm-1 {
        padding-left: 0.25rem !important;
    }
    .ps-sm-2 {
        padding-left: 0.5rem !important;
    }
    .ps-sm-3 {
        padding-left: 1rem !important;
    }
    .ps-sm-4 {
        padding-left: 1.5rem !important;
    }
    .ps-sm-5 {
        padding-left: 3rem !important;
    }
    .gap-sm-0 {
        gap: 0 !important;
    }
    .gap-sm-1 {
        gap: 0.25rem !important;
    }
    .gap-sm-2 {
        gap: 0.5rem !important;
    }
    .gap-sm-3 {
        gap: 1rem !important;
    }
    .gap-sm-4 {
        gap: 1.5rem !important;
    }
    .gap-sm-5 {
        gap: 3rem !important;
    }
    .text-sm-start {
        text-align: left !important;
    }
    .text-sm-end {
        text-align: right !important;
    }
    .text-sm-center {
        text-align: center !important;
    }
}
@media (min-width: 768px) {
    .float-md-start {
        float: left !important;
    }
    .float-md-end {
        float: right !important;
    }
    .float-md-none {
        float: none !important;
    }
    .d-md-inline {
        display: inline !important;
    }
    .d-md-inline-block {
        display: inline-block !important;
    }
    .d-md-block {
        display: block !important;
    }
    .d-md-grid {
        display: grid !important;
    }
    .d-md-table {
        display: table !important;
    }
    .d-md-table-row {
        display: table-row !important;
    }
    .d-md-table-cell {
        display: table-cell !important;
    }
    .d-md-flex {
        display: flex !important;
    }
    .d-md-inline-flex {
        display: inline-flex !important;
    }
    .d-md-none {
        display: none !important;
    }
    .flex-md-fill {
        flex: 1 1 auto !important;
    }
    .flex-md-row {
        flex-direction: row !important;
    }
    .flex-md-column {
        flex-direction: column !important;
    }
    .flex-md-row-reverse {
        flex-direction: row-reverse !important;
    }
    .flex-md-column-reverse {
        flex-direction: column-reverse !important;
    }
    .flex-md-grow-0 {
        flex-grow: 0 !important;
    }
    .flex-md-grow-1 {
        flex-grow: 1 !important;
    }
    .flex-md-shrink-0 {
        flex-shrink: 0 !important;
    }
    .flex-md-shrink-1 {
        flex-shrink: 1 !important;
    }
    .flex-md-wrap {
        flex-wrap: wrap !important;
    }
    .flex-md-nowrap {
        flex-wrap: nowrap !important;
    }
    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }
    .justify-content-md-start {
        justify-content: flex-start !important;
    }
    .justify-content-md-end {
        justify-content: flex-end !important;
    }
    .justify-content-md-center {
        justify-content: center !important;
    }
    .justify-content-md-between {
        justify-content: space-between !important;
    }
    .justify-content-md-around {
        justify-content: space-around !important;
    }
    .justify-content-md-evenly {
        justify-content: space-evenly !important;
    }
    .align-items-md-start {
        align-items: flex-start !important;
    }
    .align-items-md-end {
        align-items: flex-end !important;
    }
    .align-items-md-center {
        align-items: center !important;
    }
    .align-items-md-baseline {
        align-items: baseline !important;
    }
    .align-items-md-stretch {
        align-items: stretch !important;
    }
    .align-content-md-start {
        align-content: flex-start !important;
    }
    .align-content-md-end {
        align-content: flex-end !important;
    }
    .align-content-md-center {
        align-content: center !important;
    }
    .align-content-md-between {
        align-content: space-between !important;
    }
    .align-content-md-around {
        align-content: space-around !important;
    }
    .align-content-md-stretch {
        align-content: stretch !important;
    }
    .align-self-md-auto {
        align-self: auto !important;
    }
    .align-self-md-start {
        align-self: flex-start !important;
    }
    .align-self-md-end {
        align-self: flex-end !important;
    }
    .align-self-md-center {
        align-self: center !important;
    }
    .align-self-md-baseline {
        align-self: baseline !important;
    }
    .align-self-md-stretch {
        align-self: stretch !important;
    }
    .order-md-first {
        order: -1 !important;
    }
    .order-md-0 {
        order: 0 !important;
    }
    .order-md-1 {
        order: 1 !important;
    }
    .order-md-2 {
        order: 2 !important;
    }
    .order-md-3 {
        order: 3 !important;
    }
    .order-md-4 {
        order: 4 !important;
    }
    .order-md-5 {
        order: 5 !important;
    }
    .order-md-last {
        order: 6 !important;
    }
    .m-md-0 {
        margin: 0 !important;
    }
    .m-md-1 {
        margin: 0.25rem !important;
    }
    .m-md-2 {
        margin: 0.5rem !important;
    }
    .m-md-3 {
        margin: 1rem !important;
    }
    .m-md-4 {
        margin: 1.5rem !important;
    }
    .m-md-5 {
        margin: 3rem !important;
    }
    .m-md-auto {
        margin: auto !important;
    }
    .mx-md-0 {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    .mx-md-1 {
        margin-right: 0.25rem !important;
        margin-left: 0.25rem !important;
    }
    .mx-md-2 {
        margin-right: 0.5rem !important;
        margin-left: 0.5rem !important;
    }
    .mx-md-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important;
    }
    .mx-md-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important;
    }
    .mx-md-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important;
    }
    .mx-md-auto {
        margin-right: auto !important;
        margin-left: auto !important;
    }
    .my-md-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-md-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-md-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-md-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-md-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-md-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .my-md-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
    .mt-md-0 {
        margin-top: 0 !important;
    }
    .mt-md-1 {
        margin-top: 0.25rem !important;
    }
    .mt-md-2 {
        margin-top: 0.5rem !important;
    }
    .mt-md-3 {
        margin-top: 1rem !important;
    }
    .mt-md-4 {
        margin-top: 1.5rem !important;
    }
    .mt-md-5 {
        margin-top: 3rem !important;
    }
    .mt-md-auto {
        margin-top: auto !important;
    }
    .me-md-0 {
        margin-right: 0 !important;
    }
    .me-md-1 {
        margin-right: 0.25rem !important;
    }
    .me-md-2 {
        margin-right: 0.5rem !important;
    }
    .me-md-3 {
        margin-right: 1rem !important;
    }
    .me-md-4 {
        margin-right: 1.5rem !important;
    }
    .me-md-5 {
        margin-right: 3rem !important;
    }
    .me-md-auto {
        margin-right: auto !important;
    }
    .mb-md-0 {
        margin-bottom: 0 !important;
    }
    .mb-md-1 {
        margin-bottom: 0.25rem !important;
    }
    .mb-md-2 {
        margin-bottom: 0.5rem !important;
    }
    .mb-md-3 {
        margin-bottom: 1rem !important;
    }
    .mb-md-4 {
        margin-bottom: 1.5rem !important;
    }
    .mb-md-5 {
        margin-bottom: 3rem !important;
    }
    .mb-md-auto {
        margin-bottom: auto !important;
    }
    .ms-md-0 {
        margin-left: 0 !important;
    }
    .ms-md-1 {
        margin-left: 0.25rem !important;
    }
    .ms-md-2 {
        margin-left: 0.5rem !important;
    }
    .ms-md-3 {
        margin-left: 1rem !important;
    }
    .ms-md-4 {
        margin-left: 1.5rem !important;
    }
    .ms-md-5 {
        margin-left: 3rem !important;
    }
    .ms-md-auto {
        margin-left: auto !important;
    }
    .p-md-0 {
        padding: 0 !important;
    }
    .p-md-1 {
        padding: 0.25rem !important;
    }
    .p-md-2 {
        padding: 0.5rem !important;
    }
    .p-md-3 {
        padding: 1rem !important;
    }
    .p-md-4 {
        padding: 1.5rem !important;
    }
    .p-md-5 {
        padding: 3rem !important;
    }
    .px-md-0 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .px-md-1 {
        padding-right: 0.25rem !important;
        padding-left: 0.25rem !important;
    }
    .px-md-2 {
        padding-right: 0.5rem !important;
        padding-left: 0.5rem !important;
    }
    .px-md-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
    .px-md-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important;
    }
    .px-md-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important;
    }
    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-md-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-md-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-md-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-md-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-md-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .pt-md-0 {
        padding-top: 0 !important;
    }
    .pt-md-1 {
        padding-top: 0.25rem !important;
    }
    .pt-md-2 {
        padding-top: 0.5rem !important;
    }
    .pt-md-3 {
        padding-top: 1rem !important;
    }
    .pt-md-4 {
        padding-top: 1.5rem !important;
    }
    .pt-md-5 {
        padding-top: 3rem !important;
    }
    .pe-md-0 {
        padding-right: 0 !important;
    }
    .pe-md-1 {
        padding-right: 0.25rem !important;
    }
    .pe-md-2 {
        padding-right: 0.5rem !important;
    }
    .pe-md-3 {
        padding-right: 1rem !important;
    }
    .pe-md-4 {
        padding-right: 1.5rem !important;
    }
    .pe-md-5 {
        padding-right: 3rem !important;
    }
    .pb-md-0 {
        padding-bottom: 0 !important;
    }
    .pb-md-1 {
        padding-bottom: 0.25rem !important;
    }
    .pb-md-2 {
        padding-bottom: 0.5rem !important;
    }
    .pb-md-3 {
        padding-bottom: 1rem !important;
    }
    .pb-md-4 {
        padding-bottom: 1.5rem !important;
    }
    .pb-md-5 {
        padding-bottom: 3rem !important;
    }
    .ps-md-0 {
        padding-left: 0 !important;
    }
    .ps-md-1 {
        padding-left: 0.25rem !important;
    }
    .ps-md-2 {
        padding-left: 0.5rem !important;
    }
    .ps-md-3 {
        padding-left: 1rem !important;
    }
    .ps-md-4 {
        padding-left: 1.5rem !important;
    }
    .ps-md-5 {
        padding-left: 3rem !important;
    }
    .gap-md-0 {
        gap: 0 !important;
    }
    .gap-md-1 {
        gap: 0.25rem !important;
    }
    .gap-md-2 {
        gap: 0.5rem !important;
    }
    .gap-md-3 {
        gap: 1rem !important;
    }
    .gap-md-4 {
        gap: 1.5rem !important;
    }
    .gap-md-5 {
        gap: 3rem !important;
    }
    .text-md-start {
        text-align: left !important;
    }
    .text-md-end {
        text-align: right !important;
    }
    .text-md-center {
        text-align: center !important;
    }
}
@media (min-width: 992px) {
    .float-lg-start {
        float: left !important;
    }
    .float-lg-end {
        float: right !important;
    }
    .float-lg-none {
        float: none !important;
    }
    .d-lg-inline {
        display: inline !important;
    }
    .d-lg-inline-block {
        display: inline-block !important;
    }
    .d-lg-block {
        display: block !important;
    }
    .d-lg-grid {
        display: grid !important;
    }
    .d-lg-table {
        display: table !important;
    }
    .d-lg-table-row {
        display: table-row !important;
    }
    .d-lg-table-cell {
        display: table-cell !important;
    }
    .d-lg-flex {
        display: flex !important;
    }
    .d-lg-inline-flex {
        display: inline-flex !important;
    }
    .d-lg-none {
        display: none !important;
    }
    .flex-lg-fill {
        flex: 1 1 auto !important;
    }
    .flex-lg-row {
        flex-direction: row !important;
    }
    .flex-lg-column {
        flex-direction: column !important;
    }
    .flex-lg-row-reverse {
        flex-direction: row-reverse !important;
    }
    .flex-lg-column-reverse {
        flex-direction: column-reverse !important;
    }
    .flex-lg-grow-0 {
        flex-grow: 0 !important;
    }
    .flex-lg-grow-1 {
        flex-grow: 1 !important;
    }
    .flex-lg-shrink-0 {
        flex-shrink: 0 !important;
    }
    .flex-lg-shrink-1 {
        flex-shrink: 1 !important;
    }
    .flex-lg-wrap {
        flex-wrap: wrap !important;
    }
    .flex-lg-nowrap {
        flex-wrap: nowrap !important;
    }
    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }
    .justify-content-lg-start {
        justify-content: flex-start !important;
    }
    .justify-content-lg-end {
        justify-content: flex-end !important;
    }
    .justify-content-lg-center {
        justify-content: center !important;
    }
    .justify-content-lg-between {
        justify-content: space-between !important;
    }
    .justify-content-lg-around {
        justify-content: space-around !important;
    }
    .justify-content-lg-evenly {
        justify-content: space-evenly !important;
    }
    .align-items-lg-start {
        align-items: flex-start !important;
    }
    .align-items-lg-end {
        align-items: flex-end !important;
    }
    .align-items-lg-center {
        align-items: center !important;
    }
    .align-items-lg-baseline {
        align-items: baseline !important;
    }
    .align-items-lg-stretch {
        align-items: stretch !important;
    }
    .align-content-lg-start {
        align-content: flex-start !important;
    }
    .align-content-lg-end {
        align-content: flex-end !important;
    }
    .align-content-lg-center {
        align-content: center !important;
    }
    .align-content-lg-between {
        align-content: space-between !important;
    }
    .align-content-lg-around {
        align-content: space-around !important;
    }
    .align-content-lg-stretch {
        align-content: stretch !important;
    }
    .align-self-lg-auto {
        align-self: auto !important;
    }
    .align-self-lg-start {
        align-self: flex-start !important;
    }
    .align-self-lg-end {
        align-self: flex-end !important;
    }
    .align-self-lg-center {
        align-self: center !important;
    }
    .align-self-lg-baseline {
        align-self: baseline !important;
    }
    .align-self-lg-stretch {
        align-self: stretch !important;
    }
    .order-lg-first {
        order: -1 !important;
    }
    .order-lg-0 {
        order: 0 !important;
    }
    .order-lg-1 {
        order: 1 !important;
    }
    .order-lg-2 {
        order: 2 !important;
    }
    .order-lg-3 {
        order: 3 !important;
    }
    .order-lg-4 {
        order: 4 !important;
    }
    .order-lg-5 {
        order: 5 !important;
    }
    .order-lg-last {
        order: 6 !important;
    }
    .m-lg-0 {
        margin: 0 !important;
    }
    .m-lg-1 {
        margin: 0.25rem !important;
    }
    .m-lg-2 {
        margin: 0.5rem !important;
    }
    .m-lg-3 {
        margin: 1rem !important;
    }
    .m-lg-4 {
        margin: 1.5rem !important;
    }
    .m-lg-5 {
        margin: 3rem !important;
    }
    .m-lg-auto {
        margin: auto !important;
    }
    .mx-lg-0 {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    .mx-lg-1 {
        margin-right: 0.25rem !important;
        margin-left: 0.25rem !important;
    }
    .mx-lg-2 {
        margin-right: 0.5rem !important;
        margin-left: 0.5rem !important;
    }
    .mx-lg-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important;
    }
    .mx-lg-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important;
    }
    .mx-lg-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important;
    }
    .mx-lg-auto {
        margin-right: auto !important;
        margin-left: auto !important;
    }
    .my-lg-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-lg-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-lg-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-lg-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-lg-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-lg-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .my-lg-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
    .mt-lg-0 {
        margin-top: 0 !important;
    }
    .mt-lg-1 {
        margin-top: 0.25rem !important;
    }
    .mt-lg-2 {
        margin-top: 0.5rem !important;
    }
    .mt-lg-3 {
        margin-top: 1rem !important;
    }
    .mt-lg-4 {
        margin-top: 1.5rem !important;
    }
    .mt-lg-5 {
        margin-top: 3rem !important;
    }
    .mt-lg-auto {
        margin-top: auto !important;
    }
    .me-lg-0 {
        margin-right: 0 !important;
    }
    .me-lg-1 {
        margin-right: 0.25rem !important;
    }
    .me-lg-2 {
        margin-right: 0.5rem !important;
    }
    .me-lg-3 {
        margin-right: 1rem !important;
    }
    .me-lg-4 {
        margin-right: 1.5rem !important;
    }
    .me-lg-5 {
        margin-right: 3rem !important;
    }
    .me-lg-auto {
        margin-right: auto !important;
    }
    .mb-lg-0 {
        margin-bottom: 0 !important;
    }
    .mb-lg-1 {
        margin-bottom: 0.25rem !important;
    }
    .mb-lg-2 {
        margin-bottom: 0.5rem !important;
    }
    .mb-lg-3 {
        margin-bottom: 1rem !important;
    }
    .mb-lg-4 {
        margin-bottom: 1.5rem !important;
    }
    .mb-lg-5 {
        margin-bottom: 3rem !important;
    }
    .mb-lg-auto {
        margin-bottom: auto !important;
    }
    .ms-lg-0 {
        margin-left: 0 !important;
    }
    .ms-lg-1 {
        margin-left: 0.25rem !important;
    }
    .ms-lg-2 {
        margin-left: 0.5rem !important;
    }
    .ms-lg-3 {
        margin-left: 1rem !important;
    }
    .ms-lg-4 {
        margin-left: 1.5rem !important;
    }
    .ms-lg-5 {
        margin-left: 3rem !important;
    }
    .ms-lg-auto {
        margin-left: auto !important;
    }
    .p-lg-0 {
        padding: 0 !important;
    }
    .p-lg-1 {
        padding: 0.25rem !important;
    }
    .p-lg-2 {
        padding: 0.5rem !important;
    }
    .p-lg-3 {
        padding: 1rem !important;
    }
    .p-lg-4 {
        padding: 1.5rem !important;
    }
    .p-lg-5 {
        padding: 3rem !important;
    }
    .px-lg-0 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .px-lg-1 {
        padding-right: 0.25rem !important;
        padding-left: 0.25rem !important;
    }
    .px-lg-2 {
        padding-right: 0.5rem !important;
        padding-left: 0.5rem !important;
    }
    .px-lg-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
    .px-lg-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important;
    }
    .px-lg-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important;
    }
    .py-lg-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-lg-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-lg-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-lg-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-lg-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .pt-lg-0 {
        padding-top: 0 !important;
    }
    .pt-lg-1 {
        padding-top: 0.25rem !important;
    }
    .pt-lg-2 {
        padding-top: 0.5rem !important;
    }
    .pt-lg-3 {
        padding-top: 1rem !important;
    }
    .pt-lg-4 {
        padding-top: 1.5rem !important;
    }
    .pt-lg-5 {
        padding-top: 3rem !important;
    }
    .pe-lg-0 {
        padding-right: 0 !important;
    }
    .pe-lg-1 {
        padding-right: 0.25rem !important;
    }
    .pe-lg-2 {
        padding-right: 0.5rem !important;
    }
    .pe-lg-3 {
        padding-right: 1rem !important;
    }
    .pe-lg-4 {
        padding-right: 1.5rem !important;
    }
    .pe-lg-5 {
        padding-right: 3rem !important;
    }
    .pb-lg-0 {
        padding-bottom: 0 !important;
    }
    .pb-lg-1 {
        padding-bottom: 0.25rem !important;
    }
    .pb-lg-2 {
        padding-bottom: 0.5rem !important;
    }
    .pb-lg-3 {
        padding-bottom: 1rem !important;
    }
    .pb-lg-4 {
        padding-bottom: 1.5rem !important;
    }
    .pb-lg-5 {
        padding-bottom: 3rem !important;
    }
    .ps-lg-0 {
        padding-left: 0 !important;
    }
    .ps-lg-1 {
        padding-left: 0.25rem !important;
    }
    .ps-lg-2 {
        padding-left: 0.5rem !important;
    }
    .ps-lg-3 {
        padding-left: 1rem !important;
    }
    .ps-lg-4 {
        padding-left: 1.5rem !important;
    }
    .ps-lg-5 {
        padding-left: 3rem !important;
    }
    .gap-lg-0 {
        gap: 0 !important;
    }
    .gap-lg-1 {
        gap: 0.25rem !important;
    }
    .gap-lg-2 {
        gap: 0.5rem !important;
    }
    .gap-lg-3 {
        gap: 1rem !important;
    }
    .gap-lg-4 {
        gap: 1.5rem !important;
    }
    .gap-lg-5 {
        gap: 3rem !important;
    }
    .text-lg-start {
        text-align: left !important;
    }
    .text-lg-end {
        text-align: right !important;
    }
    .text-lg-center {
        text-align: center !important;
    }
}
@media (min-width: 1200px) {
    .float-xl-start {
        float: left !important;
    }
    .float-xl-end {
        float: right !important;
    }
    .float-xl-none {
        float: none !important;
    }
    .d-xl-inline {
        display: inline !important;
    }
    .d-xl-inline-block {
        display: inline-block !important;
    }
    .d-xl-block {
        display: block !important;
    }
    .d-xl-grid {
        display: grid !important;
    }
    .d-xl-table {
        display: table !important;
    }
    .d-xl-table-row {
        display: table-row !important;
    }
    .d-xl-table-cell {
        display: table-cell !important;
    }
    .d-xl-flex {
        display: flex !important;
    }
    .d-xl-inline-flex {
        display: inline-flex !important;
    }
    .d-xl-none {
        display: none !important;
    }
    .flex-xl-fill {
        flex: 1 1 auto !important;
    }
    .flex-xl-row {
        flex-direction: row !important;
    }
    .flex-xl-column {
        flex-direction: column !important;
    }
    .flex-xl-row-reverse {
        flex-direction: row-reverse !important;
    }
    .flex-xl-column-reverse {
        flex-direction: column-reverse !important;
    }
    .flex-xl-grow-0 {
        flex-grow: 0 !important;
    }
    .flex-xl-grow-1 {
        flex-grow: 1 !important;
    }
    .flex-xl-shrink-0 {
        flex-shrink: 0 !important;
    }
    .flex-xl-shrink-1 {
        flex-shrink: 1 !important;
    }
    .flex-xl-wrap {
        flex-wrap: wrap !important;
    }
    .flex-xl-nowrap {
        flex-wrap: nowrap !important;
    }
    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }
    .justify-content-xl-start {
        justify-content: flex-start !important;
    }
    .justify-content-xl-end {
        justify-content: flex-end !important;
    }
    .justify-content-xl-center {
        justify-content: center !important;
    }
    .justify-content-xl-between {
        justify-content: space-between !important;
    }
    .justify-content-xl-around {
        justify-content: space-around !important;
    }
    .justify-content-xl-evenly {
        justify-content: space-evenly !important;
    }
    .align-items-xl-start {
        align-items: flex-start !important;
    }
    .align-items-xl-end {
        align-items: flex-end !important;
    }
    .align-items-xl-center {
        align-items: center !important;
    }
    .align-items-xl-baseline {
        align-items: baseline !important;
    }
    .align-items-xl-stretch {
        align-items: stretch !important;
    }
    .align-content-xl-start {
        align-content: flex-start !important;
    }
    .align-content-xl-end {
        align-content: flex-end !important;
    }
    .align-content-xl-center {
        align-content: center !important;
    }
    .align-content-xl-between {
        align-content: space-between !important;
    }
    .align-content-xl-around {
        align-content: space-around !important;
    }
    .align-content-xl-stretch {
        align-content: stretch !important;
    }
    .align-self-xl-auto {
        align-self: auto !important;
    }
    .align-self-xl-start {
        align-self: flex-start !important;
    }
    .align-self-xl-end {
        align-self: flex-end !important;
    }
    .align-self-xl-center {
        align-self: center !important;
    }
    .align-self-xl-baseline {
        align-self: baseline !important;
    }
    .align-self-xl-stretch {
        align-self: stretch !important;
    }
    .order-xl-first {
        order: -1 !important;
    }
    .order-xl-0 {
        order: 0 !important;
    }
    .order-xl-1 {
        order: 1 !important;
    }
    .order-xl-2 {
        order: 2 !important;
    }
    .order-xl-3 {
        order: 3 !important;
    }
    .order-xl-4 {
        order: 4 !important;
    }
    .order-xl-5 {
        order: 5 !important;
    }
    .order-xl-last {
        order: 6 !important;
    }
    .m-xl-0 {
        margin: 0 !important;
    }
    .m-xl-1 {
        margin: 0.25rem !important;
    }
    .m-xl-2 {
        margin: 0.5rem !important;
    }
    .m-xl-3 {
        margin: 1rem !important;
    }
    .m-xl-4 {
        margin: 1.5rem !important;
    }
    .m-xl-5 {
        margin: 3rem !important;
    }
    .m-xl-auto {
        margin: auto !important;
    }
    .mx-xl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    .mx-xl-1 {
        margin-right: 0.25rem !important;
        margin-left: 0.25rem !important;
    }
    .mx-xl-2 {
        margin-right: 0.5rem !important;
        margin-left: 0.5rem !important;
    }
    .mx-xl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important;
    }
    .mx-xl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important;
    }
    .mx-xl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important;
    }
    .mx-xl-auto {
        margin-right: auto !important;
        margin-left: auto !important;
    }
    .my-xl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-xl-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-xl-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-xl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-xl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-xl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .my-xl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
    .mt-xl-0 {
        margin-top: 0 !important;
    }
    .mt-xl-1 {
        margin-top: 0.25rem !important;
    }
    .mt-xl-2 {
        margin-top: 0.5rem !important;
    }
    .mt-xl-3 {
        margin-top: 1rem !important;
    }
    .mt-xl-4 {
        margin-top: 1.5rem !important;
    }
    .mt-xl-5 {
        margin-top: 3rem !important;
    }
    .mt-xl-auto {
        margin-top: auto !important;
    }
    .me-xl-0 {
        margin-right: 0 !important;
    }
    .me-xl-1 {
        margin-right: 0.25rem !important;
    }
    .me-xl-2 {
        margin-right: 0.5rem !important;
    }
    .me-xl-3 {
        margin-right: 1rem !important;
    }
    .me-xl-4 {
        margin-right: 1.5rem !important;
    }
    .me-xl-5 {
        margin-right: 3rem !important;
    }
    .me-xl-auto {
        margin-right: auto !important;
    }
    .mb-xl-0 {
        margin-bottom: 0 !important;
    }
    .mb-xl-1 {
        margin-bottom: 0.25rem !important;
    }
    .mb-xl-2 {
        margin-bottom: 0.5rem !important;
    }
    .mb-xl-3 {
        margin-bottom: 1rem !important;
    }
    .mb-xl-4 {
        margin-bottom: 1.5rem !important;
    }
    .mb-xl-5 {
        margin-bottom: 3rem !important;
    }
    .mb-xl-auto {
        margin-bottom: auto !important;
    }
    .ms-xl-0 {
        margin-left: 0 !important;
    }
    .ms-xl-1 {
        margin-left: 0.25rem !important;
    }
    .ms-xl-2 {
        margin-left: 0.5rem !important;
    }
    .ms-xl-3 {
        margin-left: 1rem !important;
    }
    .ms-xl-4 {
        margin-left: 1.5rem !important;
    }
    .ms-xl-5 {
        margin-left: 3rem !important;
    }
    .ms-xl-auto {
        margin-left: auto !important;
    }
    .p-xl-0 {
        padding: 0 !important;
    }
    .p-xl-1 {
        padding: 0.25rem !important;
    }
    .p-xl-2 {
        padding: 0.5rem !important;
    }
    .p-xl-3 {
        padding: 1rem !important;
    }
    .p-xl-4 {
        padding: 1.5rem !important;
    }
    .p-xl-5 {
        padding: 3rem !important;
    }
    .px-xl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .px-xl-1 {
        padding-right: 0.25rem !important;
        padding-left: 0.25rem !important;
    }
    .px-xl-2 {
        padding-right: 0.5rem !important;
        padding-left: 0.5rem !important;
    }
    .px-xl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
    .px-xl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important;
    }
    .px-xl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important;
    }
    .py-xl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-xl-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-xl-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-xl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-xl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-xl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .pt-xl-0 {
        padding-top: 0 !important;
    }
    .pt-xl-1 {
        padding-top: 0.25rem !important;
    }
    .pt-xl-2 {
        padding-top: 0.5rem !important;
    }
    .pt-xl-3 {
        padding-top: 1rem !important;
    }
    .pt-xl-4 {
        padding-top: 1.5rem !important;
    }
    .pt-xl-5 {
        padding-top: 3rem !important;
    }
    .pe-xl-0 {
        padding-right: 0 !important;
    }
    .pe-xl-1 {
        padding-right: 0.25rem !important;
    }
    .pe-xl-2 {
        padding-right: 0.5rem !important;
    }
    .pe-xl-3 {
        padding-right: 1rem !important;
    }
    .pe-xl-4 {
        padding-right: 1.5rem !important;
    }
    .pe-xl-5 {
        padding-right: 3rem !important;
    }
    .pb-xl-0 {
        padding-bottom: 0 !important;
    }
    .pb-xl-1 {
        padding-bottom: 0.25rem !important;
    }
    .pb-xl-2 {
        padding-bottom: 0.5rem !important;
    }
    .pb-xl-3 {
        padding-bottom: 1rem !important;
    }
    .pb-xl-4 {
        padding-bottom: 1.5rem !important;
    }
    .pb-xl-5 {
        padding-bottom: 3rem !important;
    }
    .ps-xl-0 {
        padding-left: 0 !important;
    }
    .ps-xl-1 {
        padding-left: 0.25rem !important;
    }
    .ps-xl-2 {
        padding-left: 0.5rem !important;
    }
    .ps-xl-3 {
        padding-left: 1rem !important;
    }
    .ps-xl-4 {
        padding-left: 1.5rem !important;
    }
    .ps-xl-5 {
        padding-left: 3rem !important;
    }
    .gap-xl-0 {
        gap: 0 !important;
    }
    .gap-xl-1 {
        gap: 0.25rem !important;
    }
    .gap-xl-2 {
        gap: 0.5rem !important;
    }
    .gap-xl-3 {
        gap: 1rem !important;
    }
    .gap-xl-4 {
        gap: 1.5rem !important;
    }
    .gap-xl-5 {
        gap: 3rem !important;
    }
    .text-xl-start {
        text-align: left !important;
    }
    .text-xl-end {
        text-align: right !important;
    }
    .text-xl-center {
        text-align: center !important;
    }
}
@media (min-width: 1400px) {
    .float-xxl-start {
        float: left !important;
    }
    .float-xxl-end {
        float: right !important;
    }
    .float-xxl-none {
        float: none !important;
    }
    .d-xxl-inline {
        display: inline !important;
    }
    .d-xxl-inline-block {
        display: inline-block !important;
    }
    .d-xxl-block {
        display: block !important;
    }
    .d-xxl-grid {
        display: grid !important;
    }
    .d-xxl-table {
        display: table !important;
    }
    .d-xxl-table-row {
        display: table-row !important;
    }
    .d-xxl-table-cell {
        display: table-cell !important;
    }
    .d-xxl-flex {
        display: flex !important;
    }
    .d-xxl-inline-flex {
        display: inline-flex !important;
    }
    .d-xxl-none {
        display: none !important;
    }
    .flex-xxl-fill {
        flex: 1 1 auto !important;
    }
    .flex-xxl-row {
        flex-direction: row !important;
    }
    .flex-xxl-column {
        flex-direction: column !important;
    }
    .flex-xxl-row-reverse {
        flex-direction: row-reverse !important;
    }
    .flex-xxl-column-reverse {
        flex-direction: column-reverse !important;
    }
    .flex-xxl-grow-0 {
        flex-grow: 0 !important;
    }
    .flex-xxl-grow-1 {
        flex-grow: 1 !important;
    }
    .flex-xxl-shrink-0 {
        flex-shrink: 0 !important;
    }
    .flex-xxl-shrink-1 {
        flex-shrink: 1 !important;
    }
    .flex-xxl-wrap {
        flex-wrap: wrap !important;
    }
    .flex-xxl-nowrap {
        flex-wrap: nowrap !important;
    }
    .flex-xxl-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }
    .justify-content-xxl-start {
        justify-content: flex-start !important;
    }
    .justify-content-xxl-end {
        justify-content: flex-end !important;
    }
    .justify-content-xxl-center {
        justify-content: center !important;
    }
    .justify-content-xxl-between {
        justify-content: space-between !important;
    }
    .justify-content-xxl-around {
        justify-content: space-around !important;
    }
    .justify-content-xxl-evenly {
        justify-content: space-evenly !important;
    }
    .align-items-xxl-start {
        align-items: flex-start !important;
    }
    .align-items-xxl-end {
        align-items: flex-end !important;
    }
    .align-items-xxl-center {
        align-items: center !important;
    }
    .align-items-xxl-baseline {
        align-items: baseline !important;
    }
    .align-items-xxl-stretch {
        align-items: stretch !important;
    }
    .align-content-xxl-start {
        align-content: flex-start !important;
    }
    .align-content-xxl-end {
        align-content: flex-end !important;
    }
    .align-content-xxl-center {
        align-content: center !important;
    }
    .align-content-xxl-between {
        align-content: space-between !important;
    }
    .align-content-xxl-around {
        align-content: space-around !important;
    }
    .align-content-xxl-stretch {
        align-content: stretch !important;
    }
    .align-self-xxl-auto {
        align-self: auto !important;
    }
    .align-self-xxl-start {
        align-self: flex-start !important;
    }
    .align-self-xxl-end {
        align-self: flex-end !important;
    }
    .align-self-xxl-center {
        align-self: center !important;
    }
    .align-self-xxl-baseline {
        align-self: baseline !important;
    }
    .align-self-xxl-stretch {
        align-self: stretch !important;
    }
    .order-xxl-first {
        order: -1 !important;
    }
    .order-xxl-0 {
        order: 0 !important;
    }
    .order-xxl-1 {
        order: 1 !important;
    }
    .order-xxl-2 {
        order: 2 !important;
    }
    .order-xxl-3 {
        order: 3 !important;
    }
    .order-xxl-4 {
        order: 4 !important;
    }
    .order-xxl-5 {
        order: 5 !important;
    }
    .order-xxl-last {
        order: 6 !important;
    }
    .m-xxl-0 {
        margin: 0 !important;
    }
    .m-xxl-1 {
        margin: 0.25rem !important;
    }
    .m-xxl-2 {
        margin: 0.5rem !important;
    }
    .m-xxl-3 {
        margin: 1rem !important;
    }
    .m-xxl-4 {
        margin: 1.5rem !important;
    }
    .m-xxl-5 {
        margin: 3rem !important;
    }
    .m-xxl-auto {
        margin: auto !important;
    }
    .mx-xxl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    .mx-xxl-1 {
        margin-right: 0.25rem !important;
        margin-left: 0.25rem !important;
    }
    .mx-xxl-2 {
        margin-right: 0.5rem !important;
        margin-left: 0.5rem !important;
    }
    .mx-xxl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important;
    }
    .mx-xxl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important;
    }
    .mx-xxl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important;
    }
    .mx-xxl-auto {
        margin-right: auto !important;
        margin-left: auto !important;
    }
    .my-xxl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-xxl-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-xxl-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-xxl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-xxl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-xxl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .my-xxl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
    .mt-xxl-0 {
        margin-top: 0 !important;
    }
    .mt-xxl-1 {
        margin-top: 0.25rem !important;
    }
    .mt-xxl-2 {
        margin-top: 0.5rem !important;
    }
    .mt-xxl-3 {
        margin-top: 1rem !important;
    }
    .mt-xxl-4 {
        margin-top: 1.5rem !important;
    }
    .mt-xxl-5 {
        margin-top: 3rem !important;
    }
    .mt-xxl-auto {
        margin-top: auto !important;
    }
    .me-xxl-0 {
        margin-right: 0 !important;
    }
    .me-xxl-1 {
        margin-right: 0.25rem !important;
    }
    .me-xxl-2 {
        margin-right: 0.5rem !important;
    }
    .me-xxl-3 {
        margin-right: 1rem !important;
    }
    .me-xxl-4 {
        margin-right: 1.5rem !important;
    }
    .me-xxl-5 {
        margin-right: 3rem !important;
    }
    .me-xxl-auto {
        margin-right: auto !important;
    }
    .mb-xxl-0 {
        margin-bottom: 0 !important;
    }
    .mb-xxl-1 {
        margin-bottom: 0.25rem !important;
    }
    .mb-xxl-2 {
        margin-bottom: 0.5rem !important;
    }
    .mb-xxl-3 {
        margin-bottom: 1rem !important;
    }
    .mb-xxl-4 {
        margin-bottom: 1.5rem !important;
    }
    .mb-xxl-5 {
        margin-bottom: 3rem !important;
    }
    .mb-xxl-auto {
        margin-bottom: auto !important;
    }
    .ms-xxl-0 {
        margin-left: 0 !important;
    }
    .ms-xxl-1 {
        margin-left: 0.25rem !important;
    }
    .ms-xxl-2 {
        margin-left: 0.5rem !important;
    }
    .ms-xxl-3 {
        margin-left: 1rem !important;
    }
    .ms-xxl-4 {
        margin-left: 1.5rem !important;
    }
    .ms-xxl-5 {
        margin-left: 3rem !important;
    }
    .ms-xxl-auto {
        margin-left: auto !important;
    }
    .p-xxl-0 {
        padding: 0 !important;
    }
    .p-xxl-1 {
        padding: 0.25rem !important;
    }
    .p-xxl-2 {
        padding: 0.5rem !important;
    }
    .p-xxl-3 {
        padding: 1rem !important;
    }
    .p-xxl-4 {
        padding: 1.5rem !important;
    }
    .p-xxl-5 {
        padding: 3rem !important;
    }
    .px-xxl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    .px-xxl-1 {
        padding-right: 0.25rem !important;
        padding-left: 0.25rem !important;
    }
    .px-xxl-2 {
        padding-right: 0.5rem !important;
        padding-left: 0.5rem !important;
    }
    .px-xxl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
    .px-xxl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important;
    }
    .px-xxl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important;
    }
    .py-xxl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-xxl-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-xxl-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-xxl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-xxl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-xxl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .pt-xxl-0 {
        padding-top: 0 !important;
    }
    .pt-xxl-1 {
        padding-top: 0.25rem !important;
    }
    .pt-xxl-2 {
        padding-top: 0.5rem !important;
    }
    .pt-xxl-3 {
        padding-top: 1rem !important;
    }
    .pt-xxl-4 {
        padding-top: 1.5rem !important;
    }
    .pt-xxl-5 {
        padding-top: 3rem !important;
    }
    .pe-xxl-0 {
        padding-right: 0 !important;
    }
    .pe-xxl-1 {
        padding-right: 0.25rem !important;
    }
    .pe-xxl-2 {
        padding-right: 0.5rem !important;
    }
    .pe-xxl-3 {
        padding-right: 1rem !important;
    }
    .pe-xxl-4 {
        padding-right: 1.5rem !important;
    }
    .pe-xxl-5 {
        padding-right: 3rem !important;
    }
    .pb-xxl-0 {
        padding-bottom: 0 !important;
    }
    .pb-xxl-1 {
        padding-bottom: 0.25rem !important;
    }
    .pb-xxl-2 {
        padding-bottom: 0.5rem !important;
    }
    .pb-xxl-3 {
        padding-bottom: 1rem !important;
    }
    .pb-xxl-4 {
        padding-bottom: 1.5rem !important;
    }
    .pb-xxl-5 {
        padding-bottom: 3rem !important;
    }
    .ps-xxl-0 {
        padding-left: 0 !important;
    }
    .ps-xxl-1 {
        padding-left: 0.25rem !important;
    }
    .ps-xxl-2 {
        padding-left: 0.5rem !important;
    }
    .ps-xxl-3 {
        padding-left: 1rem !important;
    }
    .ps-xxl-4 {
        padding-left: 1.5rem !important;
    }
    .ps-xxl-5 {
        padding-left: 3rem !important;
    }
    .gap-xxl-0 {
        gap: 0 !important;
    }
    .gap-xxl-1 {
        gap: 0.25rem !important;
    }
    .gap-xxl-2 {
        gap: 0.5rem !important;
    }
    .gap-xxl-3 {
        gap: 1rem !important;
    }
    .gap-xxl-4 {
        gap: 1.5rem !important;
    }
    .gap-xxl-5 {
        gap: 3rem !important;
    }
    .text-xxl-start {
        text-align: left !important;
    }
    .text-xxl-end {
        text-align: right !important;
    }
    .text-xxl-center {
        text-align: center !important;
    }
}
@media (min-width: 1200px) {
    .fs-1 {
        font-size: 2.5rem !important;
    }
    .fs-2 {
        font-size: 2rem !important;
    }
    .fs-3 {
        font-size: 1.75rem !important;
    }
    .fs-4 {
        font-size: 1.5rem !important;
    }
}
@media print {
    .d-print-inline {
        display: inline !important;
    }
    .d-print-inline-block {
        display: inline-block !important;
    }
    .d-print-block {
        display: block !important;
    }
    .d-print-grid {
        display: grid !important;
    }
    .d-print-table {
        display: table !important;
    }
    .d-print-table-row {
        display: table-row !important;
    }
    .d-print-table-cell {
        display: table-cell !important;
    }
    .d-print-flex {
        display: flex !important;
    }
    .d-print-inline-flex {
        display: inline-flex !important;
    }
    .d-print-none {
        display: none !important;
    }
}
.k-sr-only {
    position: absolute;
    left: -1px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.k-theme-test-class,
.k-common-test-class {
    opacity: 0;
}

.k-body {
    font-size: var(--kendo-font-size, inherit);
    font-family: var(--kendo-font-family, inherit);
    line-height: var(--kendo-line-height, normal);
    font-weight: var(--kendo-font-weight, normal);
    letter-spacing: var(--kendo-letter-spacing, normal);
    color: var(--kendo-body-text, initial);
    background-color: var(--kendo-body-bg, initial);
    margin: 0;
}

.k-hstack, .k-hbox {
    display: flex;
    flex-flow: row nowrap;
}

.k-vstack, .k-vbox {
    display: flex;
    flex-flow: column nowrap;
}

.k-spacer, .k-flex {
    flex: 1 1 auto;
}

.k-spacer-sized {
    flex: none;
}

.k-float-wrap::after, .k-floatwrap::after {
    content: "";
    display: block;
    clear: both;
}

.k-flex-layout {
    display: flex;
}

.k-grid-layout {
    display: grid;
}

.k-separator {
    width: auto;
    height: 0;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: inherit;
    display: block;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    align-self: stretch;
}

.k-separator-horizontal,
.k-vstack > .k-separator,
.k-vbox > .k-separator {
    width: auto;
    height: 0;
    border-width: 1px 0 0;
}

.k-separator-vertical,
.k-hstack > .k-separator,
.k-hbox > .k-separator {
    width: 0;
    height: auto;
    border-width: 0 0 0 1px;
}

hr.k-separator {
    margin: 0;
    padding: 0;
}

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

.k-rtl {
    direction: rtl;
}

[hidden] {
    display: none !important;
}

script {
    display: none !important;
}

.k-disabled,
.k-widget[disabled],
.k-disabled {
    outline: none;
    cursor: default;
    color: var(--kendo-disabled-text, inherit);
    border-color: var(--kendo-disabled-border, inherit);
    pointer-events: none;
    box-shadow: none;
}
.k-disabled .k-link,
.k-widget[disabled] .k-link,
.k-disabled .k-link {
    cursor: default;
    outline: 0;
}

.k-hr {
    margin-block: 1rem;
    padding: 0;
    height: 0;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: var(--kendo-component-border, inherit);
    display: block;
    float: none;
    clear: both;
}

.k-d-flex-row > .k-hr {
    margin: 0;
    width: 0;
    height: auto;
    border-width: 0 0 0 1px;
    flex: 0 0 auto;
}

.k-d-flex-col > .k-hr {
    margin: 0;
    flex: 0 0 auto;
}

.k-sprite {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    overflow: hidden;
    background-repeat: no-repeat;
    font-size: 0;
    line-height: 0;
    text-align: center;
}

.k-image {
    display: inline-block;
}

.k-reset {
    margin: 0;
    padding: 0;
    border-width: 0;
    outline: 0;
    text-decoration: none;
    font: inherit;
    list-style: none;
}

kendo-sortable {
    display: block;
}

.k-link,
.k-link:hover {
    color: inherit;
    text-decoration: none;
    outline: 0;
    cursor: pointer;
}

.k-content {
    outline: 0;
}

.k-centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.k-no-click {
    pointer-events: none;
}

.k-pdf-export-shadow {
    position: absolute;
    overflow: hidden;
    left: -15000px;
    width: 14400px;
}

.kendo-pdf-hide-pseudo-elements::before,
.kendo-pdf-hide-pseudo-elements::after {
    display: none !important;
}

.k-dirty {
    margin: 0;
    padding: 0;
    width: 0;
    height: 0;
    border-width: 3px;
    border-style: solid;
    border-block-start-color: currentColor;
    border-block-end-color: transparent;
    border-inline-start-color: transparent;
    border-inline-end-color: currentColor;
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
}

.k-loading-mask,
.k-loading-image,
.k-loading-color {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
}
.k-loading-mask *,
.k-loading-mask *::before,
.k-loading-mask *::after, .k-loading-mask::before, .k-loading-mask::after,
.k-loading-image *,
.k-loading-image *::before,
.k-loading-image *::after,
.k-loading-image::before,
.k-loading-image::after,
.k-loading-color *,
.k-loading-color *::before,
.k-loading-color *::after,
.k-loading-color::before,
.k-loading-color::after {
    box-sizing: border-box;
}

.k-loading-mask {
    z-index: 100;
}
.k-loading-mask.k-opaque .k-loading-color {
    opacity: 1;
}

.k-loading-text {
    text-indent: -4000px;
    text-align: center;
    position: absolute;
}

.k-loading-image {
    z-index: 2;
}

.k-loading-color {
    opacity: 0.3;
}

.k-i-loading {
    width: 1em;
    height: 1em;
    line-height: 1;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    position: relative;
    background-color: transparent;
    box-sizing: border-box;
}
.k-i-loading::before, .k-i-loading::after {
    box-sizing: border-box;
}

.k-i-loading::before,
.k-i-loading::after,
.k-loading-image::before,
.k-loading-image::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    content: "";
    box-sizing: inherit;
    border-radius: 50%;
    border-width: 0.05em;
    border-style: solid;
    border-color: currentColor;
    border-top-color: transparent;
    border-bottom-color: transparent;
    background-color: transparent;
}

.k-icon.k-i-loading::before,
.k-icon.k-i-loading::after {
    content: "";
}

.k-i-loading::before,
.k-loading-image::before {
    margin-top: -0.5em;
    margin-left: -0.5em;
    width: 1em;
    height: 1em;
    animation: k-loading-animation 0.7s linear infinite;
}

.k-i-loading::after,
.k-loading-image::after {
    margin-top: -0.25em;
    margin-left: -0.25em;
    width: 0.5em;
    height: 0.5em;
    animation: k-loading-animation reverse 1.4s linear infinite;
}

.k-loading-image::before,
.k-loading-image::after {
    content: "";
    border-width: 1px;
    border-width: clamp(0.015em, 1px, 1px);
    font-size: 4em;
}

@keyframes k-loading-animation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
.k-marquee {
    position: absolute;
    z-index: 100000;
}

.k-marquee-color,
.k-marquee-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.k-marquee-color {
    color: black;
    background-color: var(--kendo-primary-60, limegreen);
    border-color: var(--kendo-primary-100, #2ebd2e);
    opacity: 0.6;
}

.k-marquee-text {
    color: black;
}

:root {
    --kendo-elevation-1: 0px 1px 2px rgba(0, 0, 0, 0.038);
    --kendo-elevation-2: 0px 2px 7px rgba(0, 0, 0, 0.075);
    --kendo-elevation-3: 0px 4px 10px rgba(0, 0, 0, 0.1);
    --kendo-elevation-4: 0px 6px 13px rgba(0, 0, 0, 0.125);
    --kendo-elevation-5: 0px 8px 16px 0px rgba(0, 0, 0, 0.15);
    --kendo-elevation-6: 0px 11px 24px 0px rgba(0, 0, 0, 0.159);
    --kendo-elevation-7: 0px 14px 36px 0px rgba(0, 0, 0, 0.168);
    --kendo-elevation-8: 0px 16px 48px 0px rgba(0, 0, 0, 0.176);
    --kendo-elevation-9: 0px 18px 60px 0px rgba(0, 0, 0, 0.185);
}

.k-reset {
    margin: 0;
    padding: 0;
    border-width: 0;
    outline: 0;
    text-decoration: none;
    font: inherit;
    list-style: none;
}

kendo-sortable {
    display: block;
}

.k-link,
.k-link:hover {
    color: inherit;
    text-decoration: none;
    outline: 0;
    cursor: pointer;
}

.k-content {
    outline: 0;
}

.k-centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.k-no-click {
    pointer-events: none;
}

.k-pdf-export-shadow {
    position: absolute;
    overflow: hidden;
    left: -15000px;
    width: 14400px;
}

.kendo-pdf-hide-pseudo-elements::before,
.kendo-pdf-hide-pseudo-elements::after {
    display: none !important;
}

.k-text-selection ::selection {
    background-color: limegreen;
    color: black;
}

.k-block,
.k-panel {
    border-radius: 0.375rem;
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
    padding: 0;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
}
.k-block > .k-header,
.k-panel > .k-header {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
    padding-inline: 0.5rem;
    padding-block: 0.25rem;
}
.k-block > .k-content,
.k-panel > .k-content {
    padding-inline: 0.5rem;
    padding-block: 0.25rem;
}

.k-content {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-disabled,
.k-widget[disabled] {
    outline: none;
    cursor: default;
    opacity: 0.65;
    filter: grayscale(0.1);
    pointer-events: none;
    box-shadow: none;
}
.k-disabled .k-link,
.k-widget[disabled] .k-link {
    cursor: default;
    outline: 0;
}
.k-disabled [disabled],
.k-disabled .k-disabled,
.k-widget[disabled] [disabled],
.k-widget[disabled] .k-disabled {
    opacity: 1;
    filter: grayscale(0);
}

.k-hr {
    margin: 1rem auto;
    padding: 0;
    height: 0;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: #dee2e6;
    display: block;
    float: none;
    clear: both;
}

.k-d-flex-row > .k-hr {
    margin: 0;
    width: 0;
    height: auto;
    border-width: 0 0 0 1px;
    flex: 0 0 auto;
}

.k-d-flex-col > .k-hr {
    margin: 0;
    flex: 0 0 auto;
}

.k-dirty {
    margin: 0;
    padding: 0;
    width: 0;
    height: 0;
    border-width: 3px;
    border-style: solid;
    border-color: #dc3545 #dc3545 transparent transparent;
    position: absolute;
    top: 0;
    right: 0;
}

[dir=rtl] .k-dirty,
.k-rtl .k-dirty {
    border-color: transparent transparent #dc3545 #dc3545;
    right: auto;
    left: 0;
}

.k-animation-container {
    position: absolute;
    overflow: hidden;
    z-index: 100;
}
.k-animation-container-fixed {
    position: fixed;
}
.k-animation-container-relative {
    position: relative;
    display: inline-block;
}

.k-push-right-enter, .k-push-right-appear {
    transform: translate(-100%, 0);
}
.k-push-right-enter-active, .k-push-right-appear-active {
    transform: translate(0, 0);
    transition: transform 300ms ease-in-out;
}
.k-push-right-exit {
    transform: translate(0, 0);
}
.k-push-right-exit-active {
    transform: translate(100%, 0);
    transition: transform 300ms ease-in-out;
}

.k-push-left-enter, .k-push-left-appear {
    transform: translate(100%, 0);
}
.k-push-left-enter-active, .k-push-left-appear-active {
    transform: translate(0, 0);
    transition: transform 300ms ease-in-out;
}
.k-push-left-exit {
    transform: translate(0, 0);
}
.k-push-left-exit-active {
    transform: translate(-100%, 0);
    transition: transform 300ms ease-in-out;
}

.k-push-down-enter, .k-push-down-appear {
    transform: translate(0, -100%);
}
.k-push-down-enter-active, .k-push-down-appear-active {
    transform: translate(0, 0);
    transition: transform 300ms ease-in-out;
}
.k-push-down-exit {
    transform: translate(0, 0);
}
.k-push-down-exit-active {
    transform: translate(0, 100%);
    transition: transform 300ms ease-in-out;
}

.k-push-up-enter, .k-push-up-appear {
    transform: translate(0, 100%);
}
.k-push-up-enter-active, .k-push-up-appear-active {
    transform: translate(0, 0);
    transition: transform 300ms ease-in-out;
}
.k-push-up-exit {
    transform: translate(0, 0);
}
.k-push-up-exit-active {
    transform: translate(0, -100%);
    transition: transform 300ms ease-in-out;
}

.k-expand-vertical-enter, .k-expand-vertical-appear {
    transform: scaleY(0);
}
.k-expand-vertical-enter-active, .k-expand-vertical-appear-active {
    transform: scaleY(1);
    transition: transform 300ms ease-in-out;
}
.k-expand-vertical-exit {
    transform: scaleY(1);
}
.k-expand-vertical-exit-active {
    transform: scaleY(0);
    transition: transform 300ms ease-in-out;
}

.k-expand-horizontal-enter, .k-expand-horizontal-appear {
    transform: scaleX(0);
}
.k-expand-horizontal-enter-active, .k-expand-horizontal-appear-active {
    transform: scaleX(1);
    transition: transform 300ms ease-in-out;
}
.k-expand-horizontal-exit {
    transform: scaleX(1);
}
.k-expand-horizontal-exit-active {
    transform: scaleX(0);
    transition: transform 300ms ease-in-out;
}

.k-fade-enter, .k-fade-appear {
    opacity: 0;
}
.k-fade-enter-active, .k-fade-appear-active {
    opacity: 1;
    transition: opacity 500ms ease-in-out;
}
.k-fade-exit {
    opacity: 1;
}
.k-fade-exit-active {
    opacity: 0;
    transition: opacity 500ms ease-in-out;
}
.k-fade-exit-active + .k-fade-exit-active, .k-fade-enter-active + .k-fade-enter-active {
    display: none;
}

.k-zoom-in-enter, .k-zoom-in-appear {
    opacity: 0;
    transform: scale(0);
}
.k-zoom-in-enter-active, .k-zoom-in-appear-active {
    opacity: 1;
    transform: scale(1);
    transition: transform, opacity 300ms ease-in-out;
}
.k-zoom-in-exit {
    opacity: 1;
    transform: scale(1);
}
.k-zoom-in-exit-active {
    opacity: 0;
    transform: scale(2);
    transition: transform, opacity 300ms ease-in-out;
}

.k-zoom-out-enter, .k-zoom-out-appear {
    opacity: 0;
    transform: scale(2);
}
.k-zoom-out-enter-active, .k-zoom-out-appear-active {
    opacity: 1;
    transform: scale(1);
    transition: transform, opacity 300ms ease-in-out;
}
.k-zoom-out-exit {
    opacity: 1;
    transform: scale(1);
}
.k-zoom-out-exit-active {
    opacity: 0;
    transform: scale(0);
    transition: transform, opacity 300ms ease-in-out;
}

.k-slide-in-appear {
    opacity: 0.1;
    transform: translate(0, -3em);
}
.k-slide-in-appear .k-centered {
    transform: translate(-50%, -60%);
}
.k-slide-in-appear-active {
    opacity: 1;
    transform: translate(0, 0);
    transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1), opacity 0.3s cubic-bezier(0.2, 1, 0.2, 1);
}
.k-slide-in-appear-active .k-centered {
    transform: translate(-50%, -50%);
}

.k-slide-down-enter, .k-slide-down-appear {
    transform: translateY(-100%);
}
.k-slide-down-enter-active, .k-slide-down-appear-active {
    transform: translateY(0);
    transition: transform 300ms ease-in-out;
}
.k-slide-down-exit {
    transform: translateY(0);
}
.k-slide-down-exit-active {
    transform: translateY(-100%);
    transition: transform 300ms ease-in-out;
}

.k-slide-up-enter, .k-slide-up-appear {
    transform: translateY(100%);
}
.k-slide-up-enter-active, .k-slide-up-appear-active {
    transform: translateY(0);
    transition: transform 300ms ease-in-out;
}
.k-slide-up-exit {
    transform: translateY(0);
}
.k-slide-up-exit-active {
    transform: translateY(100%);
    transition: transform 300ms ease-in-out;
}

.k-slide-right-enter, .k-slide-right-appear {
    transform: translateX(-100%);
}
.k-slide-right-enter-active, .k-slide-right-appear-active {
    transform: translateX(0);
    transition: transform 300ms ease-in-out;
}
.k-slide-right-exit {
    transform: translateX(0);
}
.k-slide-right-exit-active {
    transform: translateX(-100%);
    transition: transform 300ms ease-in-out;
}

.k-slide-left-enter, .k-slide-left-appear {
    transform: translateX(100%);
}
.k-slide-left-enter-active, .k-slide-left-appear-active {
    transform: translateX(0);
    transition: transform 300ms ease-in-out;
}
.k-slide-left-exit {
    transform: translateX(0);
}
.k-slide-left-exit-active {
    transform: translateX(100%);
    transition: transform 300ms ease-in-out;
}

.k-reveal-vertical-enter, .k-reveal-vertical-appear {
    max-height: 0;
}
.k-reveal-vertical-enter-active, .k-reveal-vertical-appear-active {
    transition: max-height 300ms ease-in-out;
}
.k-reveal-vertical-exit-active {
    max-height: 0 !important;
    transition: max-height 300ms ease-in-out;
}

.k-reveal-horizontal-enter, .k-reveal-horizontal-appear {
    max-width: 0;
}
.k-reveal-horizontal-enter-active, .k-reveal-horizontal-appear-active {
    transition: max-width 300ms ease-in-out;
}
.k-reveal-horizontal-exit-active {
    max-width: 0 !important;
    transition: max-width 300ms ease-in-out;
}

.k-fx-end .k-fx-next,
.k-fx-end .k-fx-current {
    transition: all 350ms ease-out;
}

.k-fx {
    position: relative;
}
.k-fx .k-fx-current {
    z-index: 0;
}
.k-fx .k-fx-next {
    z-index: 1;
}

.k-fx-hidden,
.k-fx-hidden * {
    visibility: hidden !important;
}

.k-fx-reverse .k-fx-current {
    z-index: 1;
}
.k-fx-reverse .k-fx-next {
    z-index: 0;
}

.k-fx-zoom.k-fx-start .k-fx-next {
    transform: scale(0) !important;
}
.k-fx-zoom.k-fx-end .k-fx-next {
    transform: scale(1) !important;
}
.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next, .k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next {
    transform: scale(1) !important;
}
.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current {
    transform: scale(1) !important;
}
.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current {
    transform: scale(0) !important;
}

.k-fx-fade.k-fx-start .k-fx-next {
    will-change: opacity;
    opacity: 0;
}
.k-fx-fade.k-fx-end .k-fx-next {
    opacity: 1;
}
.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current {
    will-change: opacity;
    opacity: 1;
}
.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current {
    opacity: 0;
}

.k-fx-slide.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-content, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer, .k-fx-slide.k-fx-end .k-fx-current .km-content, .k-fx-slide.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-end .k-fx-current .km-footer {
    transition: all 350ms ease-out;
}
.k-fx-slide.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-start .k-fx-next .km-content {
    will-change: transform;
    transform: translateX(100%);
}
.k-fx-slide.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-start .k-fx-next .km-footer {
    will-change: opacity;
    opacity: 0;
}
.k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .km-content {
    transform: translateX(-100%);
}
.k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer {
    opacity: 1;
}
.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content {
    will-change: transform;
    transform: translateX(0);
}
.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content {
    transform: translateX(100%);
}
.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content {
    transform: translateX(-100%);
}
.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content {
    transform: translateX(0);
}
.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer {
    will-change: opacity;
    opacity: 1;
}
.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer {
    opacity: 1;
}
.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer {
    opacity: 0;
}
.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer {
    opacity: 1;
}
.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content {
    transform: translateX(-100%);
}
.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content {
    transform: translateX(100%);
}
.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content {
    transform: translateX(0);
}
.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content {
    transform: translateX(-100%);
}
.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content {
    transform: translateX(100%);
}
.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content {
    transform: translateX(0%);
}

.k-fx-tile.k-fx-start .k-fx-next {
    will-change: transform;
    transform: translateX(100%);
}
.k-fx-tile.k-fx-end .k-fx-current {
    transform: translateX(-100%);
}
.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current {
    will-change: transform;
    transform: translateX(0);
}
.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current {
    transform: translateX(100%);
}
.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next {
    transform: translateX(-100%);
}
.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next {
    transform: translateX(0);
}
.k-fx-tile.k-fx-right.k-fx-start .k-fx-next {
    transform: translateX(-100%);
}
.k-fx-tile.k-fx-right.k-fx-end .k-fx-current {
    transform: translateX(100%);
}
.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current {
    transform: translateX(0);
}
.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current {
    transform: translateX(-100%);
}
.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next {
    transform: translateX(100%);
}
.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next {
    transform: translateX(0%);
}

.k-fx.k-fx-overlay.k-fx-start .k-fx-next, .k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next {
    will-change: transform;
    transform: translateX(100%);
}
.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next {
    transform: translateX(-100%);
}
.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next {
    transform: translateY(100%);
}
.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next {
    transform: translateY(-100%);
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next {
    transform: none;
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current {
    will-change: transform;
    transform: none;
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current, .k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current {
    transform: translateX(100%);
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current {
    transform: translateX(-100%);
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current {
    transform: translateY(100%);
}
.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current {
    transform: translateY(-100%);
}

.k-current-time {
    position: absolute;
}
.k-current-time.k-current-time-arrow-left, .k-current-time.k-current-time-arrow-right, .k-current-time.k-current-time-arrow-down {
    width: 0;
    height: 0;
    background: transparent;
    border: 4px solid transparent;
}

.k-current-time {
    background: #ff0000;
}
.k-current-time.k-current-time-arrow-left {
    border-right-color: #ff0000;
}
.k-current-time.k-current-time-arrow-right {
    border-left-color: #ff0000;
}
.k-current-time.k-current-time-arrow-down {
    border-top-color: #ff0000;
}

.k-resize-handle,
.k-resize-hint {
    position: absolute;
    border-color: inherit;
    z-index: 200;
}

.k-resize-handle {
    display: flex;
    align-items: center;
    justify-content: center;
}

.k-resize-handle::before {
    content: "";
    border: 0 solid;
    border-color: inherit;
}

.k-resize-n {
    width: 100%;
    height: 6px;
    flex-direction: row;
    left: 0;
    top: -3px;
    cursor: n-resize;
}

.k-resize-s {
    width: 100%;
    height: 6px;
    flex-direction: row;
    left: 0;
    bottom: -3px;
    cursor: s-resize;
}

.k-resize-w {
    width: 6px;
    height: 100%;
    flex-direction: column;
    top: 0;
    left: -3px;
    cursor: w-resize;
}

.k-resize-e {
    width: 6px;
    height: 100%;
    flex-direction: column;
    top: 0;
    right: -3px;
    cursor: e-resize;
}

.k-resize-sw,
.k-resize-se,
.k-resize-nw,
.k-resize-ne {
    width: 5px;
    height: 5px;
}

.k-resize-sw {
    cursor: sw-resize;
    bottom: 0;
    left: 0;
}

.k-resize-se {
    cursor: se-resize;
    bottom: 0;
    right: 0;
}

.k-resize-nw {
    cursor: nw-resize;
    top: 0;
    left: 0;
}

.k-resize-ne {
    cursor: ne-resize;
    top: 0;
    right: 0;
}

.k-vertical-resize {
    cursor: row-resize;
}

.k-horizontal-resize {
    cursor: col-resize;
}

.k-resize-hint {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.k-resize-hint .k-resize-hint-handle {
    width: auto;
    height: 20px;
    align-self: stretch;
}
.k-resize-hint .k-resize-hint-marker {
    width: 2px;
    height: auto;
    flex: 1 1 auto;
}

.k-resize-hint-vertical {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.k-resize-hint-vertical .k-resize-hint-handle {
    width: 20px;
    height: auto;
    align-self: stretch;
}
.k-resize-hint-vertical .k-resize-hint-marker {
    width: auto;
    height: 2px;
    flex: 1 1 auto;
}

.k-scrollbar {
    position: absolute;
    overflow: scroll;
}

.k-scrollbar-vertical {
    top: 0;
    right: 0;
    width: 17px;
    height: 100%;
    overflow-x: hidden;
}

.k-touch-scrollbar {
    display: none;
    position: absolute;
    z-index: 200000;
    height: 8px;
    width: 8px;
    border: 1px solid #8a8a8a;
    background-color: #858585;
}

.k-ratio-auto {
    aspect-ratio: auto;
}

.\!k-ratio-auto {
    aspect-ratio: auto !important;
}

.k-ratio-1 {
    aspect-ratio: 1;
}

.\!k-ratio-1 {
    aspect-ratio: 1 !important;
}

.k-ratio-square {
    aspect-ratio: 1 / 1;
}

.\!k-ratio-square {
    aspect-ratio: 1 / 1 !important;
}

.k-ratio-video {
    aspect-ratio: 16 / 9;
}

.\!k-ratio-video {
    aspect-ratio: 16 / 9 !important;
}

.k-aspect-ratio-auto {
    aspect-ratio: auto;
}

.\!k-aspect-ratio-auto {
    aspect-ratio: auto !important;
}

.k-aspect-ratio-1 {
    aspect-ratio: 1;
}

.\!k-aspect-ratio-1 {
    aspect-ratio: 1 !important;
}

.k-aspect-ratio-square {
    aspect-ratio: 1 / 1;
}

.\!k-aspect-ratio-square {
    aspect-ratio: 1 / 1 !important;
}

.k-aspect-ratio-video {
    aspect-ratio: 16 / 9;
}

.\!k-aspect-ratio-video {
    aspect-ratio: 16 / 9 !important;
}

.k-box-sizing-border {
    box-sizing: border-box;
}

.\!k-box-sizing-border {
    box-sizing: border-box !important;
}

.k-box-sizing-content {
    box-sizing: content-box;
}

.\!k-box-sizing-content {
    box-sizing: content-box !important;
}

.k-clear-left {
    clear: left;
}

.\!k-clear-left {
    clear: left !important;
}

.k-clear-right {
    clear: right;
}

.\!k-clear-right {
    clear: right !important;
}

.k-clear-both {
    clear: both;
}

.\!k-clear-both {
    clear: both !important;
}

.k-clear-none {
    clear: none;
}

.\!k-clear-none {
    clear: none !important;
}

.k-columns-1 {
    columns: 1;
}

.\!k-columns-1 {
    columns: 1 !important;
}

.k-columns-2 {
    columns: 2;
}

.\!k-columns-2 {
    columns: 2 !important;
}

.k-columns-3 {
    columns: 3;
}

.\!k-columns-3 {
    columns: 3 !important;
}

.k-columns-4 {
    columns: 4;
}

.\!k-columns-4 {
    columns: 4 !important;
}

.k-columns-5 {
    columns: 5;
}

.\!k-columns-5 {
    columns: 5 !important;
}

.k-columns-6 {
    columns: 6;
}

.\!k-columns-6 {
    columns: 6 !important;
}

.k-columns-7 {
    columns: 7;
}

.\!k-columns-7 {
    columns: 7 !important;
}

.k-columns-8 {
    columns: 8;
}

.\!k-columns-8 {
    columns: 8 !important;
}

.k-columns-9 {
    columns: 9;
}

.\!k-columns-9 {
    columns: 9 !important;
}

.k-columns-10 {
    columns: 10;
}

.\!k-columns-10 {
    columns: 10 !important;
}

.k-columns-11 {
    columns: 11;
}

.\!k-columns-11 {
    columns: 11 !important;
}

.k-columns-12 {
    columns: 12;
}

.\!k-columns-12 {
    columns: 12 !important;
}

.k-columns-auto {
    columns: auto;
}

.\!k-columns-auto {
    columns: auto !important;
}

.k-d-none {
    display: none;
}

.\!k-d-none {
    display: none !important;
}

.k-d-contents {
    display: contents;
}

.\!k-d-contents {
    display: contents !important;
}

.k-d-block {
    display: block;
}

.\!k-d-block {
    display: block !important;
}

.k-d-inline {
    display: inline;
}

.\!k-d-inline {
    display: inline !important;
}

.k-d-inline-block {
    display: inline-block;
}

.\!k-d-inline-block {
    display: inline-block !important;
}

.k-d-flex, .k-d-flex-col, .k-d-flex-row {
    display: flex;
}

.\!k-d-flex, .\!k-d-flex-col, .\!k-d-flex-row {
    display: flex !important;
}

.k-d-inline-flex {
    display: inline-flex;
}

.\!k-d-inline-flex {
    display: inline-flex !important;
}

.k-d-grid {
    display: grid;
}

.\!k-d-grid {
    display: grid !important;
}

.k-d-inline-grid {
    display: inline-grid;
}

.\!k-d-inline-grid {
    display: inline-grid !important;
}

.k-d-table {
    display: table;
}

.\!k-d-table {
    display: table !important;
}

.k-d-inline-table {
    display: inline-table;
}

.\!k-d-inline-table {
    display: inline-table !important;
}

.k-d-table-row {
    display: table-row;
}

.\!k-d-table-row {
    display: table-row !important;
}

.k-d-table-cell {
    display: table-cell;
}

.\!k-d-table-cell {
    display: table-cell !important;
}

.k-d-list-item {
    display: list-item;
}

.\!k-d-list-item {
    display: list-item !important;
}

.k-display-none {
    display: none;
}

.\!k-display-none {
    display: none !important;
}

.k-display-contents {
    display: contents;
}

.\!k-display-contents {
    display: contents !important;
}

.k-display-block {
    display: block;
}

.\!k-display-block {
    display: block !important;
}

.k-display-inline {
    display: inline;
}

.\!k-display-inline {
    display: inline !important;
}

.k-display-inline-block {
    display: inline-block;
}

.\!k-display-inline-block {
    display: inline-block !important;
}

.k-display-flex {
    display: flex;
}

.\!k-display-flex {
    display: flex !important;
}

.k-display-inline-flex {
    display: inline-flex;
}

.\!k-display-inline-flex {
    display: inline-flex !important;
}

.k-display-grid {
    display: grid;
}

.\!k-display-grid {
    display: grid !important;
}

.k-display-inline-grid {
    display: inline-grid;
}

.\!k-display-inline-grid {
    display: inline-grid !important;
}

.k-display-table {
    display: table;
}

.\!k-display-table {
    display: table !important;
}

.k-display-inline-table {
    display: inline-table;
}

.\!k-display-inline-table {
    display: inline-table !important;
}

.k-display-table-row {
    display: table-row;
}

.\!k-display-table-row {
    display: table-row !important;
}

.k-display-table-cell {
    display: table-cell;
}

.\!k-display-table-cell {
    display: table-cell !important;
}

.k-display-list-item {
    display: list-item;
}

.\!k-display-list-item {
    display: list-item !important;
}

.k-float-left {
    float: left;
}

.\!k-float-left {
    float: left !important;
}

.k-float-right {
    float: right;
}

.\!k-float-right {
    float: right !important;
}

.k-float-none {
    float: none;
}

.\!k-float-none {
    float: none !important;
}

.k-object-fit-contain {
    object-fit: contain;
}

.\!k-object-fit-contain {
    object-fit: contain !important;
}

.k-object-fit-cover {
    object-fit: cover;
}

.\!k-object-fit-cover {
    object-fit: cover !important;
}

.k-object-fit-fill {
    object-fit: fill;
}

.\!k-object-fit-fill {
    object-fit: fill !important;
}

.k-object-fit-scale-down {
    object-fit: scale-down;
}

.\!k-object-fit-scale-down {
    object-fit: scale-down !important;
}

.k-object-fit-initial {
    object-fit: initial;
}

.\!k-object-fit-initial {
    object-fit: initial !important;
}

.k-object-fit-none {
    object-fit: none;
}

.\!k-object-fit-none {
    object-fit: none !important;
}

.k-object-position-center {
    object-position: center;
}

.\!k-object-position-center {
    object-position: center !important;
}

.k-object-position-top {
    object-position: top;
}

.\!k-object-position-top {
    object-position: top !important;
}

.k-object-position-right {
    object-position: right;
}

.\!k-object-position-right {
    object-position: right !important;
}

.k-object-position-bottom {
    object-position: bottom;
}

.\!k-object-position-bottom {
    object-position: bottom !important;
}

.k-object-position-left {
    object-position: left;
}

.\!k-object-position-left {
    object-position: left !important;
}

.k-object-position-top-left {
    object-position: top left;
}

.\!k-object-position-top-left {
    object-position: top left !important;
}

.k-object-position-top-right {
    object-position: top right;
}

.\!k-object-position-top-right {
    object-position: top right !important;
}

.k-object-position-bottom-left {
    object-position: bottom left;
}

.\!k-object-position-bottom-left {
    object-position: bottom left !important;
}

.k-object-position-bottom-right {
    object-position: bottom right;
}

.\!k-object-position-bottom-right {
    object-position: bottom right !important;
}

.k-overflow-auto {
    overflow: auto;
}

.\!k-overflow-auto {
    overflow: auto !important;
}

.k-overflow-hidden {
    overflow: hidden;
}

.\!k-overflow-hidden {
    overflow: hidden !important;
}

.k-overflow-visible {
    overflow: visible;
}

.\!k-overflow-visible {
    overflow: visible !important;
}

.k-overflow-scroll {
    overflow: scroll;
}

.\!k-overflow-scroll {
    overflow: scroll !important;
}

.k-overflow-clip {
    overflow: clip;
}

.\!k-overflow-clip {
    overflow: clip !important;
}

.k-overflow-x-auto {
    overflow-x: auto;
}

.\!k-overflow-x-auto {
    overflow-x: auto !important;
}

.k-overflow-x-hidden {
    overflow-x: hidden;
}

.\!k-overflow-x-hidden {
    overflow-x: hidden !important;
}

.k-overflow-x-visible {
    overflow-x: visible;
}

.\!k-overflow-x-visible {
    overflow-x: visible !important;
}

.k-overflow-x-scroll {
    overflow-x: scroll;
}

.\!k-overflow-x-scroll {
    overflow-x: scroll !important;
}

.k-overflow-x-clip {
    overflow-x: clip;
}

.\!k-overflow-x-clip {
    overflow-x: clip !important;
}

.k-overflow-y-auto {
    overflow-y: auto;
}

.\!k-overflow-y-auto {
    overflow-y: auto !important;
}

.k-overflow-y-hidden {
    overflow-y: hidden;
}

.\!k-overflow-y-hidden {
    overflow-y: hidden !important;
}

.k-overflow-y-visible {
    overflow-y: visible;
}

.\!k-overflow-y-visible {
    overflow-y: visible !important;
}

.k-overflow-y-scroll {
    overflow-y: scroll;
}

.\!k-overflow-y-scroll {
    overflow-y: scroll !important;
}

.k-overflow-y-clip {
    overflow-y: clip;
}

.\!k-overflow-y-clip {
    overflow-y: clip !important;
}

.k-top-0 {
    top: 0;
}

.\!k-top-0 {
    top: 0 !important;
}

.k-top-1px {
    top: 1px;
}

.\!k-top-1px {
    top: 1px !important;
}

.k-top-0\.5 {
    top: 0.125rem;
}

.\!k-top-0\.5 {
    top: 0.125rem !important;
}

.k-top-1 {
    top: 0.25rem;
}

.\!k-top-1 {
    top: 0.25rem !important;
}

.k-top-1\.5 {
    top: 0.375rem;
}

.\!k-top-1\.5 {
    top: 0.375rem !important;
}

.k-top-2 {
    top: 0.5rem;
}

.\!k-top-2 {
    top: 0.5rem !important;
}

.k-top-2\.5 {
    top: 0.625rem;
}

.\!k-top-2\.5 {
    top: 0.625rem !important;
}

.k-top-3 {
    top: 0.75rem;
}

.\!k-top-3 {
    top: 0.75rem !important;
}

.k-top-3\.5 {
    top: 0.875rem;
}

.\!k-top-3\.5 {
    top: 0.875rem !important;
}

.k-top-4 {
    top: 1rem;
}

.\!k-top-4 {
    top: 1rem !important;
}

.k-top-4\.5 {
    top: 1.125rem;
}

.\!k-top-4\.5 {
    top: 1.125rem !important;
}

.k-top-5 {
    top: 1.25rem;
}

.\!k-top-5 {
    top: 1.25rem !important;
}

.k-top-5\.5 {
    top: 1.375rem;
}

.\!k-top-5\.5 {
    top: 1.375rem !important;
}

.k-top-6 {
    top: 1.5rem;
}

.\!k-top-6 {
    top: 1.5rem !important;
}

.k-top-6\.5 {
    top: 1.625rem;
}

.\!k-top-6\.5 {
    top: 1.625rem !important;
}

.k-top-7 {
    top: 1.75rem;
}

.\!k-top-7 {
    top: 1.75rem !important;
}

.k-top-7\.5 {
    top: 1.875rem;
}

.\!k-top-7\.5 {
    top: 1.875rem !important;
}

.k-top-8 {
    top: 2rem;
}

.\!k-top-8 {
    top: 2rem !important;
}

.k-top-9 {
    top: 2.25rem;
}

.\!k-top-9 {
    top: 2.25rem !important;
}

.k-top-10 {
    top: 2.5rem;
}

.\!k-top-10 {
    top: 2.5rem !important;
}

.k-top-11 {
    top: 2.75rem;
}

.\!k-top-11 {
    top: 2.75rem !important;
}

.k-top-12 {
    top: 3rem;
}

.\!k-top-12 {
    top: 3rem !important;
}

.k-top-13 {
    top: 3.25rem;
}

.\!k-top-13 {
    top: 3.25rem !important;
}

.k-top-14 {
    top: 3.5rem;
}

.\!k-top-14 {
    top: 3.5rem !important;
}

.k-top-15 {
    top: 3.75rem;
}

.\!k-top-15 {
    top: 3.75rem !important;
}

.k-top-16 {
    top: 4rem;
}

.\!k-top-16 {
    top: 4rem !important;
}

.k-top-17 {
    top: 4.25rem;
}

.\!k-top-17 {
    top: 4.25rem !important;
}

.k-top-18 {
    top: 4.5rem;
}

.\!k-top-18 {
    top: 4.5rem !important;
}

.k-top-19 {
    top: 4.75rem;
}

.\!k-top-19 {
    top: 4.75rem !important;
}

.k-top-20 {
    top: 5rem;
}

.\!k-top-20 {
    top: 5rem !important;
}

.k-top-21 {
    top: 5.25rem;
}

.\!k-top-21 {
    top: 5.25rem !important;
}

.k-top-22 {
    top: 5.5rem;
}

.\!k-top-22 {
    top: 5.5rem !important;
}

.k-top-23 {
    top: 5.75rem;
}

.\!k-top-23 {
    top: 5.75rem !important;
}

.k-top-24 {
    top: 6rem;
}

.\!k-top-24 {
    top: 6rem !important;
}

.k-top--1 {
    top: -1px;
}

.\!k-top--1 {
    top: -1px !important;
}

.k-right-0 {
    right: 0;
}

.\!k-right-0 {
    right: 0 !important;
}

.k-right-1px {
    right: 1px;
}

.\!k-right-1px {
    right: 1px !important;
}

.k-right-0\.5 {
    right: 0.125rem;
}

.\!k-right-0\.5 {
    right: 0.125rem !important;
}

.k-right-1 {
    right: 0.25rem;
}

.\!k-right-1 {
    right: 0.25rem !important;
}

.k-right-1\.5 {
    right: 0.375rem;
}

.\!k-right-1\.5 {
    right: 0.375rem !important;
}

.k-right-2 {
    right: 0.5rem;
}

.\!k-right-2 {
    right: 0.5rem !important;
}

.k-right-2\.5 {
    right: 0.625rem;
}

.\!k-right-2\.5 {
    right: 0.625rem !important;
}

.k-right-3 {
    right: 0.75rem;
}

.\!k-right-3 {
    right: 0.75rem !important;
}

.k-right-3\.5 {
    right: 0.875rem;
}

.\!k-right-3\.5 {
    right: 0.875rem !important;
}

.k-right-4 {
    right: 1rem;
}

.\!k-right-4 {
    right: 1rem !important;
}

.k-right-4\.5 {
    right: 1.125rem;
}

.\!k-right-4\.5 {
    right: 1.125rem !important;
}

.k-right-5 {
    right: 1.25rem;
}

.\!k-right-5 {
    right: 1.25rem !important;
}

.k-right-5\.5 {
    right: 1.375rem;
}

.\!k-right-5\.5 {
    right: 1.375rem !important;
}

.k-right-6 {
    right: 1.5rem;
}

.\!k-right-6 {
    right: 1.5rem !important;
}

.k-right-6\.5 {
    right: 1.625rem;
}

.\!k-right-6\.5 {
    right: 1.625rem !important;
}

.k-right-7 {
    right: 1.75rem;
}

.\!k-right-7 {
    right: 1.75rem !important;
}

.k-right-7\.5 {
    right: 1.875rem;
}

.\!k-right-7\.5 {
    right: 1.875rem !important;
}

.k-right-8 {
    right: 2rem;
}

.\!k-right-8 {
    right: 2rem !important;
}

.k-right-9 {
    right: 2.25rem;
}

.\!k-right-9 {
    right: 2.25rem !important;
}

.k-right-10 {
    right: 2.5rem;
}

.\!k-right-10 {
    right: 2.5rem !important;
}

.k-right-11 {
    right: 2.75rem;
}

.\!k-right-11 {
    right: 2.75rem !important;
}

.k-right-12 {
    right: 3rem;
}

.\!k-right-12 {
    right: 3rem !important;
}

.k-right-13 {
    right: 3.25rem;
}

.\!k-right-13 {
    right: 3.25rem !important;
}

.k-right-14 {
    right: 3.5rem;
}

.\!k-right-14 {
    right: 3.5rem !important;
}

.k-right-15 {
    right: 3.75rem;
}

.\!k-right-15 {
    right: 3.75rem !important;
}

.k-right-16 {
    right: 4rem;
}

.\!k-right-16 {
    right: 4rem !important;
}

.k-right-17 {
    right: 4.25rem;
}

.\!k-right-17 {
    right: 4.25rem !important;
}

.k-right-18 {
    right: 4.5rem;
}

.\!k-right-18 {
    right: 4.5rem !important;
}

.k-right-19 {
    right: 4.75rem;
}

.\!k-right-19 {
    right: 4.75rem !important;
}

.k-right-20 {
    right: 5rem;
}

.\!k-right-20 {
    right: 5rem !important;
}

.k-right-21 {
    right: 5.25rem;
}

.\!k-right-21 {
    right: 5.25rem !important;
}

.k-right-22 {
    right: 5.5rem;
}

.\!k-right-22 {
    right: 5.5rem !important;
}

.k-right-23 {
    right: 5.75rem;
}

.\!k-right-23 {
    right: 5.75rem !important;
}

.k-right-24 {
    right: 6rem;
}

.\!k-right-24 {
    right: 6rem !important;
}

.k-right--1 {
    right: -1px;
}

.\!k-right--1 {
    right: -1px !important;
}

.k-bottom-0 {
    bottom: 0;
}

.\!k-bottom-0 {
    bottom: 0 !important;
}

.k-bottom-1px {
    bottom: 1px;
}

.\!k-bottom-1px {
    bottom: 1px !important;
}

.k-bottom-0\.5 {
    bottom: 0.125rem;
}

.\!k-bottom-0\.5 {
    bottom: 0.125rem !important;
}

.k-bottom-1 {
    bottom: 0.25rem;
}

.\!k-bottom-1 {
    bottom: 0.25rem !important;
}

.k-bottom-1\.5 {
    bottom: 0.375rem;
}

.\!k-bottom-1\.5 {
    bottom: 0.375rem !important;
}

.k-bottom-2 {
    bottom: 0.5rem;
}

.\!k-bottom-2 {
    bottom: 0.5rem !important;
}

.k-bottom-2\.5 {
    bottom: 0.625rem;
}

.\!k-bottom-2\.5 {
    bottom: 0.625rem !important;
}

.k-bottom-3 {
    bottom: 0.75rem;
}

.\!k-bottom-3 {
    bottom: 0.75rem !important;
}

.k-bottom-3\.5 {
    bottom: 0.875rem;
}

.\!k-bottom-3\.5 {
    bottom: 0.875rem !important;
}

.k-bottom-4 {
    bottom: 1rem;
}

.\!k-bottom-4 {
    bottom: 1rem !important;
}

.k-bottom-4\.5 {
    bottom: 1.125rem;
}

.\!k-bottom-4\.5 {
    bottom: 1.125rem !important;
}

.k-bottom-5 {
    bottom: 1.25rem;
}

.\!k-bottom-5 {
    bottom: 1.25rem !important;
}

.k-bottom-5\.5 {
    bottom: 1.375rem;
}

.\!k-bottom-5\.5 {
    bottom: 1.375rem !important;
}

.k-bottom-6 {
    bottom: 1.5rem;
}

.\!k-bottom-6 {
    bottom: 1.5rem !important;
}

.k-bottom-6\.5 {
    bottom: 1.625rem;
}

.\!k-bottom-6\.5 {
    bottom: 1.625rem !important;
}

.k-bottom-7 {
    bottom: 1.75rem;
}

.\!k-bottom-7 {
    bottom: 1.75rem !important;
}

.k-bottom-7\.5 {
    bottom: 1.875rem;
}

.\!k-bottom-7\.5 {
    bottom: 1.875rem !important;
}

.k-bottom-8 {
    bottom: 2rem;
}

.\!k-bottom-8 {
    bottom: 2rem !important;
}

.k-bottom-9 {
    bottom: 2.25rem;
}

.\!k-bottom-9 {
    bottom: 2.25rem !important;
}

.k-bottom-10 {
    bottom: 2.5rem;
}

.\!k-bottom-10 {
    bottom: 2.5rem !important;
}

.k-bottom-11 {
    bottom: 2.75rem;
}

.\!k-bottom-11 {
    bottom: 2.75rem !important;
}

.k-bottom-12 {
    bottom: 3rem;
}

.\!k-bottom-12 {
    bottom: 3rem !important;
}

.k-bottom-13 {
    bottom: 3.25rem;
}

.\!k-bottom-13 {
    bottom: 3.25rem !important;
}

.k-bottom-14 {
    bottom: 3.5rem;
}

.\!k-bottom-14 {
    bottom: 3.5rem !important;
}

.k-bottom-15 {
    bottom: 3.75rem;
}

.\!k-bottom-15 {
    bottom: 3.75rem !important;
}

.k-bottom-16 {
    bottom: 4rem;
}

.\!k-bottom-16 {
    bottom: 4rem !important;
}

.k-bottom-17 {
    bottom: 4.25rem;
}

.\!k-bottom-17 {
    bottom: 4.25rem !important;
}

.k-bottom-18 {
    bottom: 4.5rem;
}

.\!k-bottom-18 {
    bottom: 4.5rem !important;
}

.k-bottom-19 {
    bottom: 4.75rem;
}

.\!k-bottom-19 {
    bottom: 4.75rem !important;
}

.k-bottom-20 {
    bottom: 5rem;
}

.\!k-bottom-20 {
    bottom: 5rem !important;
}

.k-bottom-21 {
    bottom: 5.25rem;
}

.\!k-bottom-21 {
    bottom: 5.25rem !important;
}

.k-bottom-22 {
    bottom: 5.5rem;
}

.\!k-bottom-22 {
    bottom: 5.5rem !important;
}

.k-bottom-23 {
    bottom: 5.75rem;
}

.\!k-bottom-23 {
    bottom: 5.75rem !important;
}

.k-bottom-24 {
    bottom: 6rem;
}

.\!k-bottom-24 {
    bottom: 6rem !important;
}

.k-bottom--1 {
    bottom: -1px;
}

.\!k-bottom--1 {
    bottom: -1px !important;
}

.k-left-0 {
    left: 0;
}

.\!k-left-0 {
    left: 0 !important;
}

.k-left-1px {
    left: 1px;
}

.\!k-left-1px {
    left: 1px !important;
}

.k-left-0\.5 {
    left: 0.125rem;
}

.\!k-left-0\.5 {
    left: 0.125rem !important;
}

.k-left-1 {
    left: 0.25rem;
}

.\!k-left-1 {
    left: 0.25rem !important;
}

.k-left-1\.5 {
    left: 0.375rem;
}

.\!k-left-1\.5 {
    left: 0.375rem !important;
}

.k-left-2 {
    left: 0.5rem;
}

.\!k-left-2 {
    left: 0.5rem !important;
}

.k-left-2\.5 {
    left: 0.625rem;
}

.\!k-left-2\.5 {
    left: 0.625rem !important;
}

.k-left-3 {
    left: 0.75rem;
}

.\!k-left-3 {
    left: 0.75rem !important;
}

.k-left-3\.5 {
    left: 0.875rem;
}

.\!k-left-3\.5 {
    left: 0.875rem !important;
}

.k-left-4 {
    left: 1rem;
}

.\!k-left-4 {
    left: 1rem !important;
}

.k-left-4\.5 {
    left: 1.125rem;
}

.\!k-left-4\.5 {
    left: 1.125rem !important;
}

.k-left-5 {
    left: 1.25rem;
}

.\!k-left-5 {
    left: 1.25rem !important;
}

.k-left-5\.5 {
    left: 1.375rem;
}

.\!k-left-5\.5 {
    left: 1.375rem !important;
}

.k-left-6 {
    left: 1.5rem;
}

.\!k-left-6 {
    left: 1.5rem !important;
}

.k-left-6\.5 {
    left: 1.625rem;
}

.\!k-left-6\.5 {
    left: 1.625rem !important;
}

.k-left-7 {
    left: 1.75rem;
}

.\!k-left-7 {
    left: 1.75rem !important;
}

.k-left-7\.5 {
    left: 1.875rem;
}

.\!k-left-7\.5 {
    left: 1.875rem !important;
}

.k-left-8 {
    left: 2rem;
}

.\!k-left-8 {
    left: 2rem !important;
}

.k-left-9 {
    left: 2.25rem;
}

.\!k-left-9 {
    left: 2.25rem !important;
}

.k-left-10 {
    left: 2.5rem;
}

.\!k-left-10 {
    left: 2.5rem !important;
}

.k-left-11 {
    left: 2.75rem;
}

.\!k-left-11 {
    left: 2.75rem !important;
}

.k-left-12 {
    left: 3rem;
}

.\!k-left-12 {
    left: 3rem !important;
}

.k-left-13 {
    left: 3.25rem;
}

.\!k-left-13 {
    left: 3.25rem !important;
}

.k-left-14 {
    left: 3.5rem;
}

.\!k-left-14 {
    left: 3.5rem !important;
}

.k-left-15 {
    left: 3.75rem;
}

.\!k-left-15 {
    left: 3.75rem !important;
}

.k-left-16 {
    left: 4rem;
}

.\!k-left-16 {
    left: 4rem !important;
}

.k-left-17 {
    left: 4.25rem;
}

.\!k-left-17 {
    left: 4.25rem !important;
}

.k-left-18 {
    left: 4.5rem;
}

.\!k-left-18 {
    left: 4.5rem !important;
}

.k-left-19 {
    left: 4.75rem;
}

.\!k-left-19 {
    left: 4.75rem !important;
}

.k-left-20 {
    left: 5rem;
}

.\!k-left-20 {
    left: 5rem !important;
}

.k-left-21 {
    left: 5.25rem;
}

.\!k-left-21 {
    left: 5.25rem !important;
}

.k-left-22 {
    left: 5.5rem;
}

.\!k-left-22 {
    left: 5.5rem !important;
}

.k-left-23 {
    left: 5.75rem;
}

.\!k-left-23 {
    left: 5.75rem !important;
}

.k-left-24 {
    left: 6rem;
}

.\!k-left-24 {
    left: 6rem !important;
}

.k-left--1 {
    left: -1px;
}

.\!k-left--1 {
    left: -1px !important;
}

.k-top,
.k-pos-top {
    top: 0;
}

.k-right,
.k-pos-right {
    right: 0;
}

.k-bottom,
.k-pos-bottom {
    bottom: 0;
}

.k-left,
.k-pos-left {
    left: 0;
}

.k-inset-0 {
    inset: 0;
}

.\!k-inset-0 {
    inset: 0 !important;
}

.k-inset-1 {
    inset: 1px;
}

.\!k-inset-1 {
    inset: 1px !important;
}

.k-inset--1 {
    inset: -1px;
}

.\!k-inset--1 {
    inset: -1px !important;
}

.k-inset-x-0 {
    inset-inline: 0;
}

.\!k-inset-x-0 {
    inset-inline: 0 !important;
}

.k-inset-x-1 {
    inset-inline: 1px;
}

.\!k-inset-x-1 {
    inset-inline: 1px !important;
}

.k-inset-x--1 {
    inset-inline: -1px;
}

.\!k-inset-x--1 {
    inset-inline: -1px !important;
}

.k-inset-y-0 {
    inset-block: 0;
}

.\!k-inset-y-0 {
    inset-block: 0 !important;
}

.k-inset-y-1 {
    inset-block: 1px;
}

.\!k-inset-y-1 {
    inset-block: 1px !important;
}

.k-inset-y--1 {
    inset-block: -1px;
}

.\!k-inset-y--1 {
    inset-block: -1px !important;
}

.k-top-left-0 {
    top: 0;
    left: 0;
}

.\!k-top-left-0 {
    top: 0 !important;
    left: 0 !important;
}

.k-top-left-1 {
    top: 1px;
    left: 1px;
}

.\!k-top-left-1 {
    top: 1px !important;
    left: 1px !important;
}

.k-top-left--1 {
    top: -1px;
    left: -1px;
}

.\!k-top-left--1 {
    top: -1px !important;
    left: -1px !important;
}

.k-top-right-0 {
    top: 0;
    right: 0;
}

.\!k-top-right-0 {
    top: 0 !important;
    right: 0 !important;
}

.k-top-right-1 {
    top: 1px;
    right: 1px;
}

.\!k-top-right-1 {
    top: 1px !important;
    right: 1px !important;
}

.k-top-right--1 {
    top: -1px;
    right: -1px;
}

.\!k-top-right--1 {
    top: -1px !important;
    right: -1px !important;
}

.k-bottom-left-0 {
    bottom: 0;
    left: 0;
}

.\!k-bottom-left-0 {
    bottom: 0 !important;
    left: 0 !important;
}

.k-bottom-left-1 {
    bottom: 1px;
    left: 1px;
}

.\!k-bottom-left-1 {
    bottom: 1px !important;
    left: 1px !important;
}

.k-bottom-left--1 {
    bottom: -1px;
    left: -1px;
}

.\!k-bottom-left--1 {
    bottom: -1px !important;
    left: -1px !important;
}

.k-bottom-right-0 {
    bottom: 0;
    right: 0;
}

.\!k-bottom-right-0 {
    bottom: 0 !important;
    right: 0 !important;
}

.k-bottom-right-1 {
    bottom: 1px;
    right: 1px;
}

.\!k-bottom-right-1 {
    bottom: 1px !important;
    right: 1px !important;
}

.k-bottom-right--1 {
    bottom: -1px;
    right: -1px;
}

.\!k-bottom-right--1 {
    bottom: -1px !important;
    right: -1px !important;
}

.k-top-start,
.k-pos-top-start {
    top: 0;
    inset-inline-start: 0;
}

.k-top-end,
.k-pos-top-end {
    top: 0;
    inset-inline-end: 0;
}

.k-bottom-start,
.k-pos-bottom-start {
    bottom: 0;
    inset-inline-start: 0;
}

.k-bottom-end,
.k-pos-bottom-end {
    bottom: 0;
    inset-inline-end: 0;
}

.k-top-center,
.k-pos-top-center {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.k-middle-left,
.k-middle-start,
.k-pos-middle-start {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.k-middle-center {
    top: 50%;
    left: 50%;
    transform: translateY(-50%);
}

.k-middle-right,
.k-middle-end,
.k-pos-middle-end {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.k-bottom-center,
.k-pos-bottom-center {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.k-pos-static, .k-static {
    position: static;
}

.\!k-pos-static, .\!k-static {
    position: static !important;
}

.k-pos-relative, .k-relative {
    position: relative;
}

.\!k-pos-relative, .\!k-relative {
    position: relative !important;
}

.k-pos-absolute, .k-absolute {
    position: absolute;
}

.\!k-pos-absolute, .\!k-absolute {
    position: absolute !important;
}

.k-pos-fixed, .k-fixed {
    position: fixed;
}

.\!k-pos-fixed, .\!k-fixed {
    position: fixed !important;
}

.k-pos-sticky, .k-sticky {
    position: sticky;
}

.\!k-pos-sticky, .\!k-sticky {
    position: sticky !important;
}

.k-visibility-visible, .k-visible {
    visibility: visible;
}

.\!k-visibility-visible, .\!k-visible {
    visibility: visible !important;
}

.k-visibility-invisible {
    visibility: hidden;
}

.\!k-visibility-invisible {
    visibility: hidden !important;
}

.k-visibility-collapse {
    visibility: collapse;
}

.\!k-visibility-collapse {
    visibility: collapse !important;
}

.k-z-0 {
    z-index: 0;
}

.\!k-z-0 {
    z-index: 0 !important;
}

.k-z-10 {
    z-index: 10;
}

.\!k-z-10 {
    z-index: 10 !important;
}

.k-z-20 {
    z-index: 20;
}

.\!k-z-20 {
    z-index: 20 !important;
}

.k-z-30 {
    z-index: 30;
}

.\!k-z-30 {
    z-index: 30 !important;
}

.k-z-40 {
    z-index: 40;
}

.\!k-z-40 {
    z-index: 40 !important;
}

.k-z-50 {
    z-index: 50;
}

.\!k-z-50 {
    z-index: 50 !important;
}

.k-z-auto {
    z-index: auto;
}

.\!k-z-auto {
    z-index: auto !important;
}

.k-align-content-normal {
    align-content: normal;
}

.\!k-align-content-normal {
    align-content: normal !important;
}

.k-align-content-stretch {
    align-content: stretch;
}

.\!k-align-content-stretch {
    align-content: stretch !important;
}

.k-align-content-center {
    align-content: center;
}

.\!k-align-content-center {
    align-content: center !important;
}

.k-align-content-start {
    align-content: start;
}

.\!k-align-content-start {
    align-content: start !important;
}

.k-align-content-end {
    align-content: end;
}

.\!k-align-content-end {
    align-content: end !important;
}

.k-align-content-flex-start {
    align-content: flex-start;
}

.\!k-align-content-flex-start {
    align-content: flex-start !important;
}

.k-align-content-flex-end {
    align-content: flex-end;
}

.\!k-align-content-flex-end {
    align-content: flex-end !important;
}

.k-align-content-baseline {
    align-content: baseline;
}

.\!k-align-content-baseline {
    align-content: baseline !important;
}

.k-align-content-first-baseline {
    align-content: first baseline;
}

.\!k-align-content-first-baseline {
    align-content: first baseline !important;
}

.k-align-content-last-baseline {
    align-content: last baseline;
}

.\!k-align-content-last-baseline {
    align-content: last baseline !important;
}

.k-align-content-between {
    align-content: space-between;
}

.\!k-align-content-between {
    align-content: space-between !important;
}

.k-align-content-around {
    align-content: space-around;
}

.\!k-align-content-around {
    align-content: space-around !important;
}

.k-align-content-evenly {
    align-content: space-evenly;
}

.\!k-align-content-evenly {
    align-content: space-evenly !important;
}

.k-align-items-normal {
    align-items: normal;
}

.\!k-align-items-normal {
    align-items: normal !important;
}

.k-align-items-stretch {
    align-items: stretch;
}

.\!k-align-items-stretch {
    align-items: stretch !important;
}

.k-align-items-center {
    align-items: center;
}

.\!k-align-items-center {
    align-items: center !important;
}

.k-align-items-start {
    align-items: start;
}

.\!k-align-items-start {
    align-items: start !important;
}

.k-align-items-end {
    align-items: end;
}

.\!k-align-items-end {
    align-items: end !important;
}

.k-align-items-flex-start {
    align-items: flex-start;
}

.\!k-align-items-flex-start {
    align-items: flex-start !important;
}

.k-align-items-flex-end {
    align-items: flex-end;
}

.\!k-align-items-flex-end {
    align-items: flex-end !important;
}

.k-align-items-baseline {
    align-items: baseline;
}

.\!k-align-items-baseline {
    align-items: baseline !important;
}

.k-align-items-first-baseline {
    align-items: first baseline;
}

.\!k-align-items-first-baseline {
    align-items: first baseline !important;
}

.k-align-items-last-baseline {
    align-items: last baseline;
}

.\!k-align-items-last-baseline {
    align-items: last baseline !important;
}

.k-align-items-self-start {
    align-items: self-start;
}

.\!k-align-items-self-start {
    align-items: self-start !important;
}

.k-align-items-self-end {
    align-items: self-end;
}

.\!k-align-items-self-end {
    align-items: self-end !important;
}

.k-align-self-auto {
    align-self: auto;
}

.\!k-align-self-auto {
    align-self: auto !important;
}

.k-align-self-normal {
    align-self: normal;
}

.\!k-align-self-normal {
    align-self: normal !important;
}

.k-align-self-stretch {
    align-self: stretch;
}

.\!k-align-self-stretch {
    align-self: stretch !important;
}

.k-align-self-center {
    align-self: center;
}

.\!k-align-self-center {
    align-self: center !important;
}

.k-align-self-start {
    align-self: start;
}

.\!k-align-self-start {
    align-self: start !important;
}

.k-align-self-end {
    align-self: end;
}

.\!k-align-self-end {
    align-self: end !important;
}

.k-align-self-flex-start {
    align-self: flex-start;
}

.\!k-align-self-flex-start {
    align-self: flex-start !important;
}

.k-align-self-flex-end {
    align-self: flex-end;
}

.\!k-align-self-flex-end {
    align-self: flex-end !important;
}

.k-align-self-baseline {
    align-self: baseline;
}

.\!k-align-self-baseline {
    align-self: baseline !important;
}

.k-align-self-first-baseline {
    align-self: first baseline;
}

.\!k-align-self-first-baseline {
    align-self: first baseline !important;
}

.k-align-self-last-baseline {
    align-self: last baseline;
}

.\!k-align-self-last-baseline {
    align-self: last baseline !important;
}

.k-align-self-self-start {
    align-self: self-start;
}

.\!k-align-self-self-start {
    align-self: self-start !important;
}

.k-align-self-self-end {
    align-self: self-end;
}

.\!k-align-self-self-end {
    align-self: self-end !important;
}

.k-basis-0 {
    flex-basis: 0;
}

.\!k-basis-0 {
    flex-basis: 0 !important;
}

.k-basis-1px {
    flex-basis: 1px;
}

.\!k-basis-1px {
    flex-basis: 1px !important;
}

.k-basis-0\.5 {
    flex-basis: 0.125rem;
}

.\!k-basis-0\.5 {
    flex-basis: 0.125rem !important;
}

.k-basis-1 {
    flex-basis: 0.25rem;
}

.\!k-basis-1 {
    flex-basis: 0.25rem !important;
}

.k-basis-1\.5 {
    flex-basis: 0.375rem;
}

.\!k-basis-1\.5 {
    flex-basis: 0.375rem !important;
}

.k-basis-2 {
    flex-basis: 0.5rem;
}

.\!k-basis-2 {
    flex-basis: 0.5rem !important;
}

.k-basis-2\.5 {
    flex-basis: 0.625rem;
}

.\!k-basis-2\.5 {
    flex-basis: 0.625rem !important;
}

.k-basis-3 {
    flex-basis: 0.75rem;
}

.\!k-basis-3 {
    flex-basis: 0.75rem !important;
}

.k-basis-3\.5 {
    flex-basis: 0.875rem;
}

.\!k-basis-3\.5 {
    flex-basis: 0.875rem !important;
}

.k-basis-4 {
    flex-basis: 1rem;
}

.\!k-basis-4 {
    flex-basis: 1rem !important;
}

.k-basis-4\.5 {
    flex-basis: 1.125rem;
}

.\!k-basis-4\.5 {
    flex-basis: 1.125rem !important;
}

.k-basis-5 {
    flex-basis: 1.25rem;
}

.\!k-basis-5 {
    flex-basis: 1.25rem !important;
}

.k-basis-5\.5 {
    flex-basis: 1.375rem;
}

.\!k-basis-5\.5 {
    flex-basis: 1.375rem !important;
}

.k-basis-6 {
    flex-basis: 1.5rem;
}

.\!k-basis-6 {
    flex-basis: 1.5rem !important;
}

.k-basis-6\.5 {
    flex-basis: 1.625rem;
}

.\!k-basis-6\.5 {
    flex-basis: 1.625rem !important;
}

.k-basis-7 {
    flex-basis: 1.75rem;
}

.\!k-basis-7 {
    flex-basis: 1.75rem !important;
}

.k-basis-7\.5 {
    flex-basis: 1.875rem;
}

.\!k-basis-7\.5 {
    flex-basis: 1.875rem !important;
}

.k-basis-8 {
    flex-basis: 2rem;
}

.\!k-basis-8 {
    flex-basis: 2rem !important;
}

.k-basis-9 {
    flex-basis: 2.25rem;
}

.\!k-basis-9 {
    flex-basis: 2.25rem !important;
}

.k-basis-10 {
    flex-basis: 2.5rem;
}

.\!k-basis-10 {
    flex-basis: 2.5rem !important;
}

.k-basis-11 {
    flex-basis: 2.75rem;
}

.\!k-basis-11 {
    flex-basis: 2.75rem !important;
}

.k-basis-12 {
    flex-basis: 3rem;
}

.\!k-basis-12 {
    flex-basis: 3rem !important;
}

.k-basis-13 {
    flex-basis: 3.25rem;
}

.\!k-basis-13 {
    flex-basis: 3.25rem !important;
}

.k-basis-14 {
    flex-basis: 3.5rem;
}

.\!k-basis-14 {
    flex-basis: 3.5rem !important;
}

.k-basis-15 {
    flex-basis: 3.75rem;
}

.\!k-basis-15 {
    flex-basis: 3.75rem !important;
}

.k-basis-16 {
    flex-basis: 4rem;
}

.\!k-basis-16 {
    flex-basis: 4rem !important;
}

.k-basis-17 {
    flex-basis: 4.25rem;
}

.\!k-basis-17 {
    flex-basis: 4.25rem !important;
}

.k-basis-18 {
    flex-basis: 4.5rem;
}

.\!k-basis-18 {
    flex-basis: 4.5rem !important;
}

.k-basis-19 {
    flex-basis: 4.75rem;
}

.\!k-basis-19 {
    flex-basis: 4.75rem !important;
}

.k-basis-20 {
    flex-basis: 5rem;
}

.\!k-basis-20 {
    flex-basis: 5rem !important;
}

.k-basis-21 {
    flex-basis: 5.25rem;
}

.\!k-basis-21 {
    flex-basis: 5.25rem !important;
}

.k-basis-22 {
    flex-basis: 5.5rem;
}

.\!k-basis-22 {
    flex-basis: 5.5rem !important;
}

.k-basis-23 {
    flex-basis: 5.75rem;
}

.\!k-basis-23 {
    flex-basis: 5.75rem !important;
}

.k-basis-24 {
    flex-basis: 6rem;
}

.\!k-basis-24 {
    flex-basis: 6rem !important;
}

.k-basis-auto {
    flex-basis: auto;
}

.\!k-basis-auto {
    flex-basis: auto !important;
}

.k-basis-1\/2 {
    flex-basis: 50%;
}

.\!k-basis-1\/2 {
    flex-basis: 50% !important;
}

.k-basis-1\/3 {
    flex-basis: 33.333333%;
}

.\!k-basis-1\/3 {
    flex-basis: 33.333333% !important;
}

.k-basis-2\/3 {
    flex-basis: 66.666667%;
}

.\!k-basis-2\/3 {
    flex-basis: 66.666667% !important;
}

.k-basis-1\/4 {
    flex-basis: 25%;
}

.\!k-basis-1\/4 {
    flex-basis: 25% !important;
}

.k-basis-2\/4 {
    flex-basis: 50%;
}

.\!k-basis-2\/4 {
    flex-basis: 50% !important;
}

.k-basis-3\/4 {
    flex-basis: 75%;
}

.\!k-basis-3\/4 {
    flex-basis: 75% !important;
}

.k-basis-1\/5 {
    flex-basis: 20%;
}

.\!k-basis-1\/5 {
    flex-basis: 20% !important;
}

.k-basis-2\/5 {
    flex-basis: 40%;
}

.\!k-basis-2\/5 {
    flex-basis: 40% !important;
}

.k-basis-3\/5 {
    flex-basis: 60%;
}

.\!k-basis-3\/5 {
    flex-basis: 60% !important;
}

.k-basis-4\/5 {
    flex-basis: 80%;
}

.\!k-basis-4\/5 {
    flex-basis: 80% !important;
}

.k-basis-1\/6 {
    flex-basis: 16.666667%;
}

.\!k-basis-1\/6 {
    flex-basis: 16.666667% !important;
}

.k-basis-2\/6 {
    flex-basis: 33.333333%;
}

.\!k-basis-2\/6 {
    flex-basis: 33.333333% !important;
}

.k-basis-3\/6 {
    flex-basis: 50%;
}

.\!k-basis-3\/6 {
    flex-basis: 50% !important;
}

.k-basis-4\/6 {
    flex-basis: 66.666667%;
}

.\!k-basis-4\/6 {
    flex-basis: 66.666667% !important;
}

.k-basis-5\/6 {
    flex-basis: 83.333333%;
}

.\!k-basis-5\/6 {
    flex-basis: 83.333333% !important;
}

.k-basis-1\/12 {
    flex-basis: 8.333333%;
}

.\!k-basis-1\/12 {
    flex-basis: 8.333333% !important;
}

.k-basis-2\/12 {
    flex-basis: 16.666667%;
}

.\!k-basis-2\/12 {
    flex-basis: 16.666667% !important;
}

.k-basis-3\/12 {
    flex-basis: 25%;
}

.\!k-basis-3\/12 {
    flex-basis: 25% !important;
}

.k-basis-4\/12 {
    flex-basis: 33.333333%;
}

.\!k-basis-4\/12 {
    flex-basis: 33.333333% !important;
}

.k-basis-5\/12 {
    flex-basis: 41.666667%;
}

.\!k-basis-5\/12 {
    flex-basis: 41.666667% !important;
}

.k-basis-6\/12 {
    flex-basis: 50%;
}

.\!k-basis-6\/12 {
    flex-basis: 50% !important;
}

.k-basis-7\/12 {
    flex-basis: 58.333333%;
}

.\!k-basis-7\/12 {
    flex-basis: 58.333333% !important;
}

.k-basis-8\/12 {
    flex-basis: 66.666667%;
}

.\!k-basis-8\/12 {
    flex-basis: 66.666667% !important;
}

.k-basis-9\/12 {
    flex-basis: 75%;
}

.\!k-basis-9\/12 {
    flex-basis: 75% !important;
}

.k-basis-10\/12 {
    flex-basis: 83.333333%;
}

.\!k-basis-10\/12 {
    flex-basis: 83.333333% !important;
}

.k-basis-11\/12 {
    flex-basis: 91.666667%;
}

.\!k-basis-11\/12 {
    flex-basis: 91.666667% !important;
}

.k-basis-full {
    flex-basis: 100%;
}

.\!k-basis-full {
    flex-basis: 100% !important;
}

.k-basis-min {
    flex-basis: min-content;
}

.\!k-basis-min {
    flex-basis: min-content !important;
}

.k-basis-max {
    flex-basis: max-content;
}

.\!k-basis-max {
    flex-basis: max-content !important;
}

.k-basis-fit {
    flex-basis: fit-content;
}

.\!k-basis-fit {
    flex-basis: fit-content !important;
}

.k-flex-basis-0 {
    flex-basis: 0;
}

.\!k-flex-basis-0 {
    flex-basis: 0 !important;
}

.k-flex-basis-1px {
    flex-basis: 1px;
}

.\!k-flex-basis-1px {
    flex-basis: 1px !important;
}

.k-flex-basis-0\.5 {
    flex-basis: 0.125rem;
}

.\!k-flex-basis-0\.5 {
    flex-basis: 0.125rem !important;
}

.k-flex-basis-1 {
    flex-basis: 0.25rem;
}

.\!k-flex-basis-1 {
    flex-basis: 0.25rem !important;
}

.k-flex-basis-1\.5 {
    flex-basis: 0.375rem;
}

.\!k-flex-basis-1\.5 {
    flex-basis: 0.375rem !important;
}

.k-flex-basis-2 {
    flex-basis: 0.5rem;
}

.\!k-flex-basis-2 {
    flex-basis: 0.5rem !important;
}

.k-flex-basis-2\.5 {
    flex-basis: 0.625rem;
}

.\!k-flex-basis-2\.5 {
    flex-basis: 0.625rem !important;
}

.k-flex-basis-3 {
    flex-basis: 0.75rem;
}

.\!k-flex-basis-3 {
    flex-basis: 0.75rem !important;
}

.k-flex-basis-3\.5 {
    flex-basis: 0.875rem;
}

.\!k-flex-basis-3\.5 {
    flex-basis: 0.875rem !important;
}

.k-flex-basis-4 {
    flex-basis: 1rem;
}

.\!k-flex-basis-4 {
    flex-basis: 1rem !important;
}

.k-flex-basis-4\.5 {
    flex-basis: 1.125rem;
}

.\!k-flex-basis-4\.5 {
    flex-basis: 1.125rem !important;
}

.k-flex-basis-5 {
    flex-basis: 1.25rem;
}

.\!k-flex-basis-5 {
    flex-basis: 1.25rem !important;
}

.k-flex-basis-5\.5 {
    flex-basis: 1.375rem;
}

.\!k-flex-basis-5\.5 {
    flex-basis: 1.375rem !important;
}

.k-flex-basis-6 {
    flex-basis: 1.5rem;
}

.\!k-flex-basis-6 {
    flex-basis: 1.5rem !important;
}

.k-flex-basis-6\.5 {
    flex-basis: 1.625rem;
}

.\!k-flex-basis-6\.5 {
    flex-basis: 1.625rem !important;
}

.k-flex-basis-7 {
    flex-basis: 1.75rem;
}

.\!k-flex-basis-7 {
    flex-basis: 1.75rem !important;
}

.k-flex-basis-7\.5 {
    flex-basis: 1.875rem;
}

.\!k-flex-basis-7\.5 {
    flex-basis: 1.875rem !important;
}

.k-flex-basis-8 {
    flex-basis: 2rem;
}

.\!k-flex-basis-8 {
    flex-basis: 2rem !important;
}

.k-flex-basis-9 {
    flex-basis: 2.25rem;
}

.\!k-flex-basis-9 {
    flex-basis: 2.25rem !important;
}

.k-flex-basis-10 {
    flex-basis: 2.5rem;
}

.\!k-flex-basis-10 {
    flex-basis: 2.5rem !important;
}

.k-flex-basis-11 {
    flex-basis: 2.75rem;
}

.\!k-flex-basis-11 {
    flex-basis: 2.75rem !important;
}

.k-flex-basis-12 {
    flex-basis: 3rem;
}

.\!k-flex-basis-12 {
    flex-basis: 3rem !important;
}

.k-flex-basis-13 {
    flex-basis: 3.25rem;
}

.\!k-flex-basis-13 {
    flex-basis: 3.25rem !important;
}

.k-flex-basis-14 {
    flex-basis: 3.5rem;
}

.\!k-flex-basis-14 {
    flex-basis: 3.5rem !important;
}

.k-flex-basis-15 {
    flex-basis: 3.75rem;
}

.\!k-flex-basis-15 {
    flex-basis: 3.75rem !important;
}

.k-flex-basis-16 {
    flex-basis: 4rem;
}

.\!k-flex-basis-16 {
    flex-basis: 4rem !important;
}

.k-flex-basis-17 {
    flex-basis: 4.25rem;
}

.\!k-flex-basis-17 {
    flex-basis: 4.25rem !important;
}

.k-flex-basis-18 {
    flex-basis: 4.5rem;
}

.\!k-flex-basis-18 {
    flex-basis: 4.5rem !important;
}

.k-flex-basis-19 {
    flex-basis: 4.75rem;
}

.\!k-flex-basis-19 {
    flex-basis: 4.75rem !important;
}

.k-flex-basis-20 {
    flex-basis: 5rem;
}

.\!k-flex-basis-20 {
    flex-basis: 5rem !important;
}

.k-flex-basis-21 {
    flex-basis: 5.25rem;
}

.\!k-flex-basis-21 {
    flex-basis: 5.25rem !important;
}

.k-flex-basis-22 {
    flex-basis: 5.5rem;
}

.\!k-flex-basis-22 {
    flex-basis: 5.5rem !important;
}

.k-flex-basis-23 {
    flex-basis: 5.75rem;
}

.\!k-flex-basis-23 {
    flex-basis: 5.75rem !important;
}

.k-flex-basis-24 {
    flex-basis: 6rem;
}

.\!k-flex-basis-24 {
    flex-basis: 6rem !important;
}

.k-flex-basis-auto {
    flex-basis: auto;
}

.\!k-flex-basis-auto {
    flex-basis: auto !important;
}

.k-flex-basis-1\/2 {
    flex-basis: 50%;
}

.\!k-flex-basis-1\/2 {
    flex-basis: 50% !important;
}

.k-flex-basis-1\/3 {
    flex-basis: 33.333333%;
}

.\!k-flex-basis-1\/3 {
    flex-basis: 33.333333% !important;
}

.k-flex-basis-2\/3 {
    flex-basis: 66.666667%;
}

.\!k-flex-basis-2\/3 {
    flex-basis: 66.666667% !important;
}

.k-flex-basis-1\/4 {
    flex-basis: 25%;
}

.\!k-flex-basis-1\/4 {
    flex-basis: 25% !important;
}

.k-flex-basis-2\/4 {
    flex-basis: 50%;
}

.\!k-flex-basis-2\/4 {
    flex-basis: 50% !important;
}

.k-flex-basis-3\/4 {
    flex-basis: 75%;
}

.\!k-flex-basis-3\/4 {
    flex-basis: 75% !important;
}

.k-flex-basis-1\/5 {
    flex-basis: 20%;
}

.\!k-flex-basis-1\/5 {
    flex-basis: 20% !important;
}

.k-flex-basis-2\/5 {
    flex-basis: 40%;
}

.\!k-flex-basis-2\/5 {
    flex-basis: 40% !important;
}

.k-flex-basis-3\/5 {
    flex-basis: 60%;
}

.\!k-flex-basis-3\/5 {
    flex-basis: 60% !important;
}

.k-flex-basis-4\/5 {
    flex-basis: 80%;
}

.\!k-flex-basis-4\/5 {
    flex-basis: 80% !important;
}

.k-flex-basis-1\/6 {
    flex-basis: 16.666667%;
}

.\!k-flex-basis-1\/6 {
    flex-basis: 16.666667% !important;
}

.k-flex-basis-2\/6 {
    flex-basis: 33.333333%;
}

.\!k-flex-basis-2\/6 {
    flex-basis: 33.333333% !important;
}

.k-flex-basis-3\/6 {
    flex-basis: 50%;
}

.\!k-flex-basis-3\/6 {
    flex-basis: 50% !important;
}

.k-flex-basis-4\/6 {
    flex-basis: 66.666667%;
}

.\!k-flex-basis-4\/6 {
    flex-basis: 66.666667% !important;
}

.k-flex-basis-5\/6 {
    flex-basis: 83.333333%;
}

.\!k-flex-basis-5\/6 {
    flex-basis: 83.333333% !important;
}

.k-flex-basis-1\/12 {
    flex-basis: 8.333333%;
}

.\!k-flex-basis-1\/12 {
    flex-basis: 8.333333% !important;
}

.k-flex-basis-2\/12 {
    flex-basis: 16.666667%;
}

.\!k-flex-basis-2\/12 {
    flex-basis: 16.666667% !important;
}

.k-flex-basis-3\/12 {
    flex-basis: 25%;
}

.\!k-flex-basis-3\/12 {
    flex-basis: 25% !important;
}

.k-flex-basis-4\/12 {
    flex-basis: 33.333333%;
}

.\!k-flex-basis-4\/12 {
    flex-basis: 33.333333% !important;
}

.k-flex-basis-5\/12 {
    flex-basis: 41.666667%;
}

.\!k-flex-basis-5\/12 {
    flex-basis: 41.666667% !important;
}

.k-flex-basis-6\/12 {
    flex-basis: 50%;
}

.\!k-flex-basis-6\/12 {
    flex-basis: 50% !important;
}

.k-flex-basis-7\/12 {
    flex-basis: 58.333333%;
}

.\!k-flex-basis-7\/12 {
    flex-basis: 58.333333% !important;
}

.k-flex-basis-8\/12 {
    flex-basis: 66.666667%;
}

.\!k-flex-basis-8\/12 {
    flex-basis: 66.666667% !important;
}

.k-flex-basis-9\/12 {
    flex-basis: 75%;
}

.\!k-flex-basis-9\/12 {
    flex-basis: 75% !important;
}

.k-flex-basis-10\/12 {
    flex-basis: 83.333333%;
}

.\!k-flex-basis-10\/12 {
    flex-basis: 83.333333% !important;
}

.k-flex-basis-11\/12 {
    flex-basis: 91.666667%;
}

.\!k-flex-basis-11\/12 {
    flex-basis: 91.666667% !important;
}

.k-flex-basis-full {
    flex-basis: 100%;
}

.\!k-flex-basis-full {
    flex-basis: 100% !important;
}

.k-flex-basis-min {
    flex-basis: min-content;
}

.\!k-flex-basis-min {
    flex-basis: min-content !important;
}

.k-flex-basis-max {
    flex-basis: max-content;
}

.\!k-flex-basis-max {
    flex-basis: max-content !important;
}

.k-flex-basis-fit {
    flex-basis: fit-content;
}

.\!k-flex-basis-fit {
    flex-basis: fit-content !important;
}

.k-flex-row, .k-d-flex-row {
    flex-direction: row;
}

.\!k-flex-row, .\!k-d-flex-row, .\!k-d-flex-col {
    flex-direction: row !important;
}

.k-flex-row-reverse {
    flex-direction: row-reverse;
}

.\!k-flex-row-reverse {
    flex-direction: row-reverse !important;
}

.k-flex-col, .k-flex-column, .k-d-flex-col {
    flex-direction: column;
}

.\!k-flex-col {
    flex-direction: column !important;
}

.k-flex-col-reverse, .k-flex-column-reverse {
    flex-direction: column-reverse;
}

.\!k-flex-col-reverse {
    flex-direction: column-reverse !important;
}

.k-grow {
    flex-grow: 1;
}

.\!k-grow {
    flex-grow: 1 !important;
}

.k-grow-0 {
    flex-grow: 0;
}

.\!k-grow-0 {
    flex-grow: 0 !important;
}

.k-flex-grow {
    flex-grow: 1;
}

.\!k-flex-grow {
    flex-grow: 1 !important;
}

.k-flex-grow-0 {
    flex-grow: 0;
}

.\!k-flex-grow-0 {
    flex-grow: 0 !important;
}

.k-shrink {
    flex-shrink: 1;
}

.\!k-shrink {
    flex-shrink: 1 !important;
}

.k-shrink-0 {
    flex-shrink: 0;
}

.\!k-shrink-0 {
    flex-shrink: 0 !important;
}

.k-flex-shrink {
    flex-shrink: 1;
}

.\!k-flex-shrink {
    flex-shrink: 1 !important;
}

.k-flex-shrink-0 {
    flex-shrink: 0;
}

.\!k-flex-shrink-0 {
    flex-shrink: 0 !important;
}

.k-flex-wrap {
    flex-wrap: wrap;
}

.\!k-flex-wrap {
    flex-wrap: wrap !important;
}

.k-flex-wrap-reverse {
    flex-wrap: wrap-reverse;
}

.\!k-flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
}

.k-flex-nowrap {
    flex-wrap: nowrap;
}

.\!k-flex-nowrap {
    flex-wrap: nowrap !important;
}

.k-flex-1 {
    flex: 1 1 0%;
}

.\!k-flex-1 {
    flex: 1 1 0% !important;
}

.k-flex-auto {
    flex: 1 1 auto;
}

.\!k-flex-auto {
    flex: 1 1 auto !important;
}

.k-flex-initial {
    flex: 0 1 auto;
}

.\!k-flex-initial {
    flex: 0 1 auto !important;
}

.k-flex-none {
    flex: none;
}

.\!k-flex-none {
    flex: none !important;
}

.k-gap-0 {
    gap: 0;
}

.\!k-gap-0 {
    gap: 0 !important;
}

.k-gap-1px {
    gap: 1px;
}

.\!k-gap-1px {
    gap: 1px !important;
}

.k-gap-0\.5 {
    gap: 0.125rem;
}

.\!k-gap-0\.5 {
    gap: 0.125rem !important;
}

.k-gap-1 {
    gap: 0.25rem;
}

.\!k-gap-1 {
    gap: 0.25rem !important;
}

.k-gap-1\.5 {
    gap: 0.375rem;
}

.\!k-gap-1\.5 {
    gap: 0.375rem !important;
}

.k-gap-2 {
    gap: 0.5rem;
}

.\!k-gap-2 {
    gap: 0.5rem !important;
}

.k-gap-2\.5 {
    gap: 0.625rem;
}

.\!k-gap-2\.5 {
    gap: 0.625rem !important;
}

.k-gap-3 {
    gap: 0.75rem;
}

.\!k-gap-3 {
    gap: 0.75rem !important;
}

.k-gap-3\.5 {
    gap: 0.875rem;
}

.\!k-gap-3\.5 {
    gap: 0.875rem !important;
}

.k-gap-4 {
    gap: 1rem;
}

.\!k-gap-4 {
    gap: 1rem !important;
}

.k-gap-4\.5 {
    gap: 1.125rem;
}

.\!k-gap-4\.5 {
    gap: 1.125rem !important;
}

.k-gap-5 {
    gap: 1.25rem;
}

.\!k-gap-5 {
    gap: 1.25rem !important;
}

.k-gap-5\.5 {
    gap: 1.375rem;
}

.\!k-gap-5\.5 {
    gap: 1.375rem !important;
}

.k-gap-6 {
    gap: 1.5rem;
}

.\!k-gap-6 {
    gap: 1.5rem !important;
}

.k-gap-6\.5 {
    gap: 1.625rem;
}

.\!k-gap-6\.5 {
    gap: 1.625rem !important;
}

.k-gap-7 {
    gap: 1.75rem;
}

.\!k-gap-7 {
    gap: 1.75rem !important;
}

.k-gap-7\.5 {
    gap: 1.875rem;
}

.\!k-gap-7\.5 {
    gap: 1.875rem !important;
}

.k-gap-8 {
    gap: 2rem;
}

.\!k-gap-8 {
    gap: 2rem !important;
}

.k-gap-9 {
    gap: 2.25rem;
}

.\!k-gap-9 {
    gap: 2.25rem !important;
}

.k-gap-10 {
    gap: 2.5rem;
}

.\!k-gap-10 {
    gap: 2.5rem !important;
}

.k-gap-11 {
    gap: 2.75rem;
}

.\!k-gap-11 {
    gap: 2.75rem !important;
}

.k-gap-12 {
    gap: 3rem;
}

.\!k-gap-12 {
    gap: 3rem !important;
}

.k-gap-13 {
    gap: 3.25rem;
}

.\!k-gap-13 {
    gap: 3.25rem !important;
}

.k-gap-14 {
    gap: 3.5rem;
}

.\!k-gap-14 {
    gap: 3.5rem !important;
}

.k-gap-15 {
    gap: 3.75rem;
}

.\!k-gap-15 {
    gap: 3.75rem !important;
}

.k-gap-16 {
    gap: 4rem;
}

.\!k-gap-16 {
    gap: 4rem !important;
}

.k-gap-17 {
    gap: 4.25rem;
}

.\!k-gap-17 {
    gap: 4.25rem !important;
}

.k-gap-18 {
    gap: 4.5rem;
}

.\!k-gap-18 {
    gap: 4.5rem !important;
}

.k-gap-19 {
    gap: 4.75rem;
}

.\!k-gap-19 {
    gap: 4.75rem !important;
}

.k-gap-20 {
    gap: 5rem;
}

.\!k-gap-20 {
    gap: 5rem !important;
}

.k-gap-21 {
    gap: 5.25rem;
}

.\!k-gap-21 {
    gap: 5.25rem !important;
}

.k-gap-22 {
    gap: 5.5rem;
}

.\!k-gap-22 {
    gap: 5.5rem !important;
}

.k-gap-23 {
    gap: 5.75rem;
}

.\!k-gap-23 {
    gap: 5.75rem !important;
}

.k-gap-24 {
    gap: 6rem;
}

.\!k-gap-24 {
    gap: 6rem !important;
}

.k-gap-xs {
    gap: 0.25rem;
}

.\!k-gap-xs {
    gap: 0.25rem !important;
}

.k-gap-sm {
    gap: 0.5rem;
}

.\!k-gap-sm {
    gap: 0.5rem !important;
}

.k-gap-md {
    gap: 0.75rem;
}

.\!k-gap-md {
    gap: 0.75rem !important;
}

.k-gap-lg {
    gap: 1rem;
}

.\!k-gap-lg {
    gap: 1rem !important;
}

.k-gap-xl {
    gap: 1.5rem;
}

.\!k-gap-xl {
    gap: 1.5rem !important;
}

.k-gap-thin {
    gap: 0.125rem;
}

.\!k-gap-thin {
    gap: 0.125rem !important;
}

.k-gap-hair {
    gap: 1px;
}

.\!k-gap-hair {
    gap: 1px !important;
}

.k-gap-x-0 {
    column-gap: 0;
}

.\!k-gap-x-0 {
    column-gap: 0 !important;
}

.k-gap-x-1px {
    column-gap: 1px;
}

.\!k-gap-x-1px {
    column-gap: 1px !important;
}

.k-gap-x-0\.5 {
    column-gap: 0.125rem;
}

.\!k-gap-x-0\.5 {
    column-gap: 0.125rem !important;
}

.k-gap-x-1 {
    column-gap: 0.25rem;
}

.\!k-gap-x-1 {
    column-gap: 0.25rem !important;
}

.k-gap-x-1\.5 {
    column-gap: 0.375rem;
}

.\!k-gap-x-1\.5 {
    column-gap: 0.375rem !important;
}

.k-gap-x-2 {
    column-gap: 0.5rem;
}

.\!k-gap-x-2 {
    column-gap: 0.5rem !important;
}

.k-gap-x-2\.5 {
    column-gap: 0.625rem;
}

.\!k-gap-x-2\.5 {
    column-gap: 0.625rem !important;
}

.k-gap-x-3 {
    column-gap: 0.75rem;
}

.\!k-gap-x-3 {
    column-gap: 0.75rem !important;
}

.k-gap-x-3\.5 {
    column-gap: 0.875rem;
}

.\!k-gap-x-3\.5 {
    column-gap: 0.875rem !important;
}

.k-gap-x-4 {
    column-gap: 1rem;
}

.\!k-gap-x-4 {
    column-gap: 1rem !important;
}

.k-gap-x-4\.5 {
    column-gap: 1.125rem;
}

.\!k-gap-x-4\.5 {
    column-gap: 1.125rem !important;
}

.k-gap-x-5 {
    column-gap: 1.25rem;
}

.\!k-gap-x-5 {
    column-gap: 1.25rem !important;
}

.k-gap-x-5\.5 {
    column-gap: 1.375rem;
}

.\!k-gap-x-5\.5 {
    column-gap: 1.375rem !important;
}

.k-gap-x-6 {
    column-gap: 1.5rem;
}

.\!k-gap-x-6 {
    column-gap: 1.5rem !important;
}

.k-gap-x-6\.5 {
    column-gap: 1.625rem;
}

.\!k-gap-x-6\.5 {
    column-gap: 1.625rem !important;
}

.k-gap-x-7 {
    column-gap: 1.75rem;
}

.\!k-gap-x-7 {
    column-gap: 1.75rem !important;
}

.k-gap-x-7\.5 {
    column-gap: 1.875rem;
}

.\!k-gap-x-7\.5 {
    column-gap: 1.875rem !important;
}

.k-gap-x-8 {
    column-gap: 2rem;
}

.\!k-gap-x-8 {
    column-gap: 2rem !important;
}

.k-gap-x-9 {
    column-gap: 2.25rem;
}

.\!k-gap-x-9 {
    column-gap: 2.25rem !important;
}

.k-gap-x-10 {
    column-gap: 2.5rem;
}

.\!k-gap-x-10 {
    column-gap: 2.5rem !important;
}

.k-gap-x-11 {
    column-gap: 2.75rem;
}

.\!k-gap-x-11 {
    column-gap: 2.75rem !important;
}

.k-gap-x-12 {
    column-gap: 3rem;
}

.\!k-gap-x-12 {
    column-gap: 3rem !important;
}

.k-gap-x-13 {
    column-gap: 3.25rem;
}

.\!k-gap-x-13 {
    column-gap: 3.25rem !important;
}

.k-gap-x-14 {
    column-gap: 3.5rem;
}

.\!k-gap-x-14 {
    column-gap: 3.5rem !important;
}

.k-gap-x-15 {
    column-gap: 3.75rem;
}

.\!k-gap-x-15 {
    column-gap: 3.75rem !important;
}

.k-gap-x-16 {
    column-gap: 4rem;
}

.\!k-gap-x-16 {
    column-gap: 4rem !important;
}

.k-gap-x-17 {
    column-gap: 4.25rem;
}

.\!k-gap-x-17 {
    column-gap: 4.25rem !important;
}

.k-gap-x-18 {
    column-gap: 4.5rem;
}

.\!k-gap-x-18 {
    column-gap: 4.5rem !important;
}

.k-gap-x-19 {
    column-gap: 4.75rem;
}

.\!k-gap-x-19 {
    column-gap: 4.75rem !important;
}

.k-gap-x-20 {
    column-gap: 5rem;
}

.\!k-gap-x-20 {
    column-gap: 5rem !important;
}

.k-gap-x-21 {
    column-gap: 5.25rem;
}

.\!k-gap-x-21 {
    column-gap: 5.25rem !important;
}

.k-gap-x-22 {
    column-gap: 5.5rem;
}

.\!k-gap-x-22 {
    column-gap: 5.5rem !important;
}

.k-gap-x-23 {
    column-gap: 5.75rem;
}

.\!k-gap-x-23 {
    column-gap: 5.75rem !important;
}

.k-gap-x-24 {
    column-gap: 6rem;
}

.\!k-gap-x-24 {
    column-gap: 6rem !important;
}

.k-gap-x-xs {
    column-gap: 0.25rem;
}

.\!k-gap-x-xs {
    column-gap: 0.25rem !important;
}

.k-gap-x-sm {
    column-gap: 0.5rem;
}

.\!k-gap-x-sm {
    column-gap: 0.5rem !important;
}

.k-gap-x-md {
    column-gap: 0.75rem;
}

.\!k-gap-x-md {
    column-gap: 0.75rem !important;
}

.k-gap-x-lg {
    column-gap: 1rem;
}

.\!k-gap-x-lg {
    column-gap: 1rem !important;
}

.k-gap-x-xl {
    column-gap: 1.5rem;
}

.\!k-gap-x-xl {
    column-gap: 1.5rem !important;
}

.k-gap-x-thin {
    column-gap: 0.125rem;
}

.\!k-gap-x-thin {
    column-gap: 0.125rem !important;
}

.k-gap-x-hair {
    column-gap: 1px;
}

.\!k-gap-x-hair {
    column-gap: 1px !important;
}

.k-gap-y-0 {
    row-gap: 0;
}

.\!k-gap-y-0 {
    row-gap: 0 !important;
}

.k-gap-y-1px {
    row-gap: 1px;
}

.\!k-gap-y-1px {
    row-gap: 1px !important;
}

.k-gap-y-0\.5 {
    row-gap: 0.125rem;
}

.\!k-gap-y-0\.5 {
    row-gap: 0.125rem !important;
}

.k-gap-y-1 {
    row-gap: 0.25rem;
}

.\!k-gap-y-1 {
    row-gap: 0.25rem !important;
}

.k-gap-y-1\.5 {
    row-gap: 0.375rem;
}

.\!k-gap-y-1\.5 {
    row-gap: 0.375rem !important;
}

.k-gap-y-2 {
    row-gap: 0.5rem;
}

.\!k-gap-y-2 {
    row-gap: 0.5rem !important;
}

.k-gap-y-2\.5 {
    row-gap: 0.625rem;
}

.\!k-gap-y-2\.5 {
    row-gap: 0.625rem !important;
}

.k-gap-y-3 {
    row-gap: 0.75rem;
}

.\!k-gap-y-3 {
    row-gap: 0.75rem !important;
}

.k-gap-y-3\.5 {
    row-gap: 0.875rem;
}

.\!k-gap-y-3\.5 {
    row-gap: 0.875rem !important;
}

.k-gap-y-4 {
    row-gap: 1rem;
}

.\!k-gap-y-4 {
    row-gap: 1rem !important;
}

.k-gap-y-4\.5 {
    row-gap: 1.125rem;
}

.\!k-gap-y-4\.5 {
    row-gap: 1.125rem !important;
}

.k-gap-y-5 {
    row-gap: 1.25rem;
}

.\!k-gap-y-5 {
    row-gap: 1.25rem !important;
}

.k-gap-y-5\.5 {
    row-gap: 1.375rem;
}

.\!k-gap-y-5\.5 {
    row-gap: 1.375rem !important;
}

.k-gap-y-6 {
    row-gap: 1.5rem;
}

.\!k-gap-y-6 {
    row-gap: 1.5rem !important;
}

.k-gap-y-6\.5 {
    row-gap: 1.625rem;
}

.\!k-gap-y-6\.5 {
    row-gap: 1.625rem !important;
}

.k-gap-y-7 {
    row-gap: 1.75rem;
}

.\!k-gap-y-7 {
    row-gap: 1.75rem !important;
}

.k-gap-y-7\.5 {
    row-gap: 1.875rem;
}

.\!k-gap-y-7\.5 {
    row-gap: 1.875rem !important;
}

.k-gap-y-8 {
    row-gap: 2rem;
}

.\!k-gap-y-8 {
    row-gap: 2rem !important;
}

.k-gap-y-9 {
    row-gap: 2.25rem;
}

.\!k-gap-y-9 {
    row-gap: 2.25rem !important;
}

.k-gap-y-10 {
    row-gap: 2.5rem;
}

.\!k-gap-y-10 {
    row-gap: 2.5rem !important;
}

.k-gap-y-11 {
    row-gap: 2.75rem;
}

.\!k-gap-y-11 {
    row-gap: 2.75rem !important;
}

.k-gap-y-12 {
    row-gap: 3rem;
}

.\!k-gap-y-12 {
    row-gap: 3rem !important;
}

.k-gap-y-13 {
    row-gap: 3.25rem;
}

.\!k-gap-y-13 {
    row-gap: 3.25rem !important;
}

.k-gap-y-14 {
    row-gap: 3.5rem;
}

.\!k-gap-y-14 {
    row-gap: 3.5rem !important;
}

.k-gap-y-15 {
    row-gap: 3.75rem;
}

.\!k-gap-y-15 {
    row-gap: 3.75rem !important;
}

.k-gap-y-16 {
    row-gap: 4rem;
}

.\!k-gap-y-16 {
    row-gap: 4rem !important;
}

.k-gap-y-17 {
    row-gap: 4.25rem;
}

.\!k-gap-y-17 {
    row-gap: 4.25rem !important;
}

.k-gap-y-18 {
    row-gap: 4.5rem;
}

.\!k-gap-y-18 {
    row-gap: 4.5rem !important;
}

.k-gap-y-19 {
    row-gap: 4.75rem;
}

.\!k-gap-y-19 {
    row-gap: 4.75rem !important;
}

.k-gap-y-20 {
    row-gap: 5rem;
}

.\!k-gap-y-20 {
    row-gap: 5rem !important;
}

.k-gap-y-21 {
    row-gap: 5.25rem;
}

.\!k-gap-y-21 {
    row-gap: 5.25rem !important;
}

.k-gap-y-22 {
    row-gap: 5.5rem;
}

.\!k-gap-y-22 {
    row-gap: 5.5rem !important;
}

.k-gap-y-23 {
    row-gap: 5.75rem;
}

.\!k-gap-y-23 {
    row-gap: 5.75rem !important;
}

.k-gap-y-24 {
    row-gap: 6rem;
}

.\!k-gap-y-24 {
    row-gap: 6rem !important;
}

.k-gap-y-xs {
    row-gap: 0.25rem;
}

.\!k-gap-y-xs {
    row-gap: 0.25rem !important;
}

.k-gap-y-sm {
    row-gap: 0.5rem;
}

.\!k-gap-y-sm {
    row-gap: 0.5rem !important;
}

.k-gap-y-md {
    row-gap: 0.75rem;
}

.\!k-gap-y-md {
    row-gap: 0.75rem !important;
}

.k-gap-y-lg {
    row-gap: 1rem;
}

.\!k-gap-y-lg {
    row-gap: 1rem !important;
}

.k-gap-y-xl {
    row-gap: 1.5rem;
}

.\!k-gap-y-xl {
    row-gap: 1.5rem !important;
}

.k-gap-y-thin {
    row-gap: 0.125rem;
}

.\!k-gap-y-thin {
    row-gap: 0.125rem !important;
}

.k-gap-y-hair {
    row-gap: 1px;
}

.\!k-gap-y-hair {
    row-gap: 1px !important;
}

.k-grid-auto-cols-auto {
    grid-auto-columns: auto;
}

.\!k-grid-auto-cols-auto {
    grid-auto-columns: auto !important;
}

.k-grid-auto-cols-min {
    grid-auto-columns: min-content;
}

.\!k-grid-auto-cols-min {
    grid-auto-columns: min-content !important;
}

.k-grid-auto-cols-max {
    grid-auto-columns: max-content;
}

.\!k-grid-auto-cols-max {
    grid-auto-columns: max-content !important;
}

.k-grid-auto-cols-fr {
    grid-auto-columns: minmax(0, 1fr);
}

.\!k-grid-auto-cols-fr {
    grid-auto-columns: minmax(0, 1fr) !important;
}

.k-grid-flow-row {
    grid-auto-flow: row;
}

.\!k-grid-flow-row {
    grid-auto-flow: row !important;
}

.k-grid-flow-col {
    grid-auto-flow: column;
}

.\!k-grid-flow-col {
    grid-auto-flow: column !important;
}

.k-grid-flow-dense {
    grid-auto-flow: dense;
}

.\!k-grid-flow-dense {
    grid-auto-flow: dense !important;
}

.k-grid-flow-row-dense {
    grid-auto-flow: row dense;
}

.\!k-grid-flow-row-dense {
    grid-auto-flow: row dense !important;
}

.k-grid-flow-col-dense {
    grid-auto-flow: column dense;
}

.\!k-grid-flow-col-dense {
    grid-auto-flow: column dense !important;
}

.k-grid-flow-unset {
    grid-auto-flow: unset;
}

.\!k-grid-flow-unset {
    grid-auto-flow: unset !important;
}

.k-grid-auto-rows-auto {
    grid-auto-rows: auto;
}

.\!k-grid-auto-rows-auto {
    grid-auto-rows: auto !important;
}

.k-grid-auto-rows-min {
    grid-auto-rows: min-content;
}

.\!k-grid-auto-rows-min {
    grid-auto-rows: min-content !important;
}

.k-grid-auto-rows-max {
    grid-auto-rows: max-content;
}

.\!k-grid-auto-rows-max {
    grid-auto-rows: max-content !important;
}

.k-grid-auto-rows-fr {
    grid-auto-rows: minmax(0, 1fr);
}

.\!k-grid-auto-rows-fr {
    grid-auto-rows: minmax(0, 1fr) !important;
}

.k-col-start-1 {
    grid-column-start: 1;
}

.\!k-col-start-1 {
    grid-column-start: 1 !important;
}

.k-col-start-2 {
    grid-column-start: 2;
}

.\!k-col-start-2 {
    grid-column-start: 2 !important;
}

.k-col-start-3 {
    grid-column-start: 3;
}

.\!k-col-start-3 {
    grid-column-start: 3 !important;
}

.k-col-start-4 {
    grid-column-start: 4;
}

.\!k-col-start-4 {
    grid-column-start: 4 !important;
}

.k-col-start-5 {
    grid-column-start: 5;
}

.\!k-col-start-5 {
    grid-column-start: 5 !important;
}

.k-col-start-6 {
    grid-column-start: 6;
}

.\!k-col-start-6 {
    grid-column-start: 6 !important;
}

.k-col-start-7 {
    grid-column-start: 7;
}

.\!k-col-start-7 {
    grid-column-start: 7 !important;
}

.k-col-start-8 {
    grid-column-start: 8;
}

.\!k-col-start-8 {
    grid-column-start: 8 !important;
}

.k-col-start-9 {
    grid-column-start: 9;
}

.\!k-col-start-9 {
    grid-column-start: 9 !important;
}

.k-col-start-10 {
    grid-column-start: 10;
}

.\!k-col-start-10 {
    grid-column-start: 10 !important;
}

.k-col-start-11 {
    grid-column-start: 11;
}

.\!k-col-start-11 {
    grid-column-start: 11 !important;
}

.k-col-start-12 {
    grid-column-start: 12;
}

.\!k-col-start-12 {
    grid-column-start: 12 !important;
}

.k-col-start-13 {
    grid-column-start: 13;
}

.\!k-col-start-13 {
    grid-column-start: 13 !important;
}

.k-col-start--1 {
    grid-column-start: -1;
}

.\!k-col-start--1 {
    grid-column-start: -1 !important;
}

.k-col-start--2 {
    grid-column-start: -2;
}

.\!k-col-start--2 {
    grid-column-start: -2 !important;
}

.k-col-start--3 {
    grid-column-start: -3;
}

.\!k-col-start--3 {
    grid-column-start: -3 !important;
}

.k-col-start--4 {
    grid-column-start: -4;
}

.\!k-col-start--4 {
    grid-column-start: -4 !important;
}

.k-col-start--5 {
    grid-column-start: -5;
}

.\!k-col-start--5 {
    grid-column-start: -5 !important;
}

.k-col-start--6 {
    grid-column-start: -6;
}

.\!k-col-start--6 {
    grid-column-start: -6 !important;
}

.k-col-start--7 {
    grid-column-start: -7;
}

.\!k-col-start--7 {
    grid-column-start: -7 !important;
}

.k-col-start--8 {
    grid-column-start: -8;
}

.\!k-col-start--8 {
    grid-column-start: -8 !important;
}

.k-col-start--9 {
    grid-column-start: -9;
}

.\!k-col-start--9 {
    grid-column-start: -9 !important;
}

.k-col-start--10 {
    grid-column-start: -10;
}

.\!k-col-start--10 {
    grid-column-start: -10 !important;
}

.k-col-start--11 {
    grid-column-start: -11;
}

.\!k-col-start--11 {
    grid-column-start: -11 !important;
}

.k-col-start--12 {
    grid-column-start: -12;
}

.\!k-col-start--12 {
    grid-column-start: -12 !important;
}

.k-col-start--13 {
    grid-column-start: -13;
}

.\!k-col-start--13 {
    grid-column-start: -13 !important;
}

.k-col-start-auto {
    grid-column-start: auto;
}

.\!k-col-start-auto {
    grid-column-start: auto !important;
}

.k-col-end-1 {
    grid-column-end: 1;
}

.\!k-col-end-1 {
    grid-column-end: 1 !important;
}

.k-col-end-2 {
    grid-column-end: 2;
}

.\!k-col-end-2 {
    grid-column-end: 2 !important;
}

.k-col-end-3 {
    grid-column-end: 3;
}

.\!k-col-end-3 {
    grid-column-end: 3 !important;
}

.k-col-end-4 {
    grid-column-end: 4;
}

.\!k-col-end-4 {
    grid-column-end: 4 !important;
}

.k-col-end-5 {
    grid-column-end: 5;
}

.\!k-col-end-5 {
    grid-column-end: 5 !important;
}

.k-col-end-6 {
    grid-column-end: 6;
}

.\!k-col-end-6 {
    grid-column-end: 6 !important;
}

.k-col-end-7 {
    grid-column-end: 7;
}

.\!k-col-end-7 {
    grid-column-end: 7 !important;
}

.k-col-end-8 {
    grid-column-end: 8;
}

.\!k-col-end-8 {
    grid-column-end: 8 !important;
}

.k-col-end-9 {
    grid-column-end: 9;
}

.\!k-col-end-9 {
    grid-column-end: 9 !important;
}

.k-col-end-10 {
    grid-column-end: 10;
}

.\!k-col-end-10 {
    grid-column-end: 10 !important;
}

.k-col-end-11 {
    grid-column-end: 11;
}

.\!k-col-end-11 {
    grid-column-end: 11 !important;
}

.k-col-end-12 {
    grid-column-end: 12;
}

.\!k-col-end-12 {
    grid-column-end: 12 !important;
}

.k-col-end-13 {
    grid-column-end: 13;
}

.\!k-col-end-13 {
    grid-column-end: 13 !important;
}

.k-col-end--1 {
    grid-column-end: -1;
}

.\!k-col-end--1 {
    grid-column-end: -1 !important;
}

.k-col-end--2 {
    grid-column-end: -2;
}

.\!k-col-end--2 {
    grid-column-end: -2 !important;
}

.k-col-end--3 {
    grid-column-end: -3;
}

.\!k-col-end--3 {
    grid-column-end: -3 !important;
}

.k-col-end--4 {
    grid-column-end: -4;
}

.\!k-col-end--4 {
    grid-column-end: -4 !important;
}

.k-col-end--5 {
    grid-column-end: -5;
}

.\!k-col-end--5 {
    grid-column-end: -5 !important;
}

.k-col-end--6 {
    grid-column-end: -6;
}

.\!k-col-end--6 {
    grid-column-end: -6 !important;
}

.k-col-end--7 {
    grid-column-end: -7;
}

.\!k-col-end--7 {
    grid-column-end: -7 !important;
}

.k-col-end--8 {
    grid-column-end: -8;
}

.\!k-col-end--8 {
    grid-column-end: -8 !important;
}

.k-col-end--9 {
    grid-column-end: -9;
}

.\!k-col-end--9 {
    grid-column-end: -9 !important;
}

.k-col-end--10 {
    grid-column-end: -10;
}

.\!k-col-end--10 {
    grid-column-end: -10 !important;
}

.k-col-end--11 {
    grid-column-end: -11;
}

.\!k-col-end--11 {
    grid-column-end: -11 !important;
}

.k-col-end--12 {
    grid-column-end: -12;
}

.\!k-col-end--12 {
    grid-column-end: -12 !important;
}

.k-col-end--13 {
    grid-column-end: -13;
}

.\!k-col-end--13 {
    grid-column-end: -13 !important;
}

.k-col-end-auto {
    grid-column-end: auto;
}

.\!k-col-end-auto {
    grid-column-end: auto !important;
}

.k-col-span-1 {
    grid-column: span 1/span 1;
}

.\!k-col-span-1 {
    grid-column: span 1/span 1 !important;
}

.k-col-span-2 {
    grid-column: span 2/span 2;
}

.\!k-col-span-2 {
    grid-column: span 2/span 2 !important;
}

.k-col-span-3 {
    grid-column: span 3/span 3;
}

.\!k-col-span-3 {
    grid-column: span 3/span 3 !important;
}

.k-col-span-4 {
    grid-column: span 4/span 4;
}

.\!k-col-span-4 {
    grid-column: span 4/span 4 !important;
}

.k-col-span-5 {
    grid-column: span 5/span 5;
}

.\!k-col-span-5 {
    grid-column: span 5/span 5 !important;
}

.k-col-span-6 {
    grid-column: span 6/span 6;
}

.\!k-col-span-6 {
    grid-column: span 6/span 6 !important;
}

.k-col-span-7 {
    grid-column: span 7/span 7;
}

.\!k-col-span-7 {
    grid-column: span 7/span 7 !important;
}

.k-col-span-8 {
    grid-column: span 8/span 8;
}

.\!k-col-span-8 {
    grid-column: span 8/span 8 !important;
}

.k-col-span-9 {
    grid-column: span 9/span 9;
}

.\!k-col-span-9 {
    grid-column: span 9/span 9 !important;
}

.k-col-span-10 {
    grid-column: span 10/span 10;
}

.\!k-col-span-10 {
    grid-column: span 10/span 10 !important;
}

.k-col-span-11 {
    grid-column: span 11/span 11;
}

.\!k-col-span-11 {
    grid-column: span 11/span 11 !important;
}

.k-col-span-12 {
    grid-column: span 12/span 12;
}

.\!k-col-span-12 {
    grid-column: span 12/span 12 !important;
}

.k-col-span-full {
    grid-column: 1 / -1;
}

.\!k-col-span-full {
    grid-column: 1 / -1 !important;
}

.k-col-span-auto {
    grid-column: auto;
}

.\!k-col-span-auto {
    grid-column: auto !important;
}

.k-colspan-1 {
    grid-column: span 1/span 1;
}

.\!k-colspan-1 {
    grid-column: span 1/span 1 !important;
}

.k-colspan-2 {
    grid-column: span 2/span 2;
}

.\!k-colspan-2 {
    grid-column: span 2/span 2 !important;
}

.k-colspan-3 {
    grid-column: span 3/span 3;
}

.\!k-colspan-3 {
    grid-column: span 3/span 3 !important;
}

.k-colspan-4 {
    grid-column: span 4/span 4;
}

.\!k-colspan-4 {
    grid-column: span 4/span 4 !important;
}

.k-colspan-5 {
    grid-column: span 5/span 5;
}

.\!k-colspan-5 {
    grid-column: span 5/span 5 !important;
}

.k-colspan-6 {
    grid-column: span 6/span 6;
}

.\!k-colspan-6 {
    grid-column: span 6/span 6 !important;
}

.k-colspan-7 {
    grid-column: span 7/span 7;
}

.\!k-colspan-7 {
    grid-column: span 7/span 7 !important;
}

.k-colspan-8 {
    grid-column: span 8/span 8;
}

.\!k-colspan-8 {
    grid-column: span 8/span 8 !important;
}

.k-colspan-9 {
    grid-column: span 9/span 9;
}

.\!k-colspan-9 {
    grid-column: span 9/span 9 !important;
}

.k-colspan-10 {
    grid-column: span 10/span 10;
}

.\!k-colspan-10 {
    grid-column: span 10/span 10 !important;
}

.k-colspan-11 {
    grid-column: span 11/span 11;
}

.\!k-colspan-11 {
    grid-column: span 11/span 11 !important;
}

.k-colspan-12 {
    grid-column: span 12/span 12;
}

.\!k-colspan-12 {
    grid-column: span 12/span 12 !important;
}

.k-colspan-full, .k-colspan-all {
    grid-column: 1 / -1;
}

.\!k-colspan-full, .\!k-colspan-all {
    grid-column: 1 / -1 !important;
}

.k-colspan-auto {
    grid-column: auto;
}

.\!k-colspan-auto {
    grid-column: auto !important;
}

.k-row-start-1 {
    grid-row-start: 1;
}

.\!k-row-start-1 {
    grid-row-start: 1 !important;
}

.k-row-start-2 {
    grid-row-start: 2;
}

.\!k-row-start-2 {
    grid-row-start: 2 !important;
}

.k-row-start-3 {
    grid-row-start: 3;
}

.\!k-row-start-3 {
    grid-row-start: 3 !important;
}

.k-row-start-4 {
    grid-row-start: 4;
}

.\!k-row-start-4 {
    grid-row-start: 4 !important;
}

.k-row-start-5 {
    grid-row-start: 5;
}

.\!k-row-start-5 {
    grid-row-start: 5 !important;
}

.k-row-start-6 {
    grid-row-start: 6;
}

.\!k-row-start-6 {
    grid-row-start: 6 !important;
}

.k-row-start-7 {
    grid-row-start: 7;
}

.\!k-row-start-7 {
    grid-row-start: 7 !important;
}

.k-row-start-8 {
    grid-row-start: 8;
}

.\!k-row-start-8 {
    grid-row-start: 8 !important;
}

.k-row-start-9 {
    grid-row-start: 9;
}

.\!k-row-start-9 {
    grid-row-start: 9 !important;
}

.k-row-start-10 {
    grid-row-start: 10;
}

.\!k-row-start-10 {
    grid-row-start: 10 !important;
}

.k-row-start-11 {
    grid-row-start: 11;
}

.\!k-row-start-11 {
    grid-row-start: 11 !important;
}

.k-row-start-12 {
    grid-row-start: 12;
}

.\!k-row-start-12 {
    grid-row-start: 12 !important;
}

.k-row-start-13 {
    grid-row-start: 13;
}

.\!k-row-start-13 {
    grid-row-start: 13 !important;
}

.k-row-start--1 {
    grid-row-start: -1;
}

.\!k-row-start--1 {
    grid-row-start: -1 !important;
}

.k-row-start--2 {
    grid-row-start: -2;
}

.\!k-row-start--2 {
    grid-row-start: -2 !important;
}

.k-row-start--3 {
    grid-row-start: -3;
}

.\!k-row-start--3 {
    grid-row-start: -3 !important;
}

.k-row-start--4 {
    grid-row-start: -4;
}

.\!k-row-start--4 {
    grid-row-start: -4 !important;
}

.k-row-start--5 {
    grid-row-start: -5;
}

.\!k-row-start--5 {
    grid-row-start: -5 !important;
}

.k-row-start--6 {
    grid-row-start: -6;
}

.\!k-row-start--6 {
    grid-row-start: -6 !important;
}

.k-row-start--7 {
    grid-row-start: -7;
}

.\!k-row-start--7 {
    grid-row-start: -7 !important;
}

.k-row-start--8 {
    grid-row-start: -8;
}

.\!k-row-start--8 {
    grid-row-start: -8 !important;
}

.k-row-start--9 {
    grid-row-start: -9;
}

.\!k-row-start--9 {
    grid-row-start: -9 !important;
}

.k-row-start--10 {
    grid-row-start: -10;
}

.\!k-row-start--10 {
    grid-row-start: -10 !important;
}

.k-row-start--11 {
    grid-row-start: -11;
}

.\!k-row-start--11 {
    grid-row-start: -11 !important;
}

.k-row-start--12 {
    grid-row-start: -12;
}

.\!k-row-start--12 {
    grid-row-start: -12 !important;
}

.k-row-start--13 {
    grid-row-start: -13;
}

.\!k-row-start--13 {
    grid-row-start: -13 !important;
}

.k-row-start-auto {
    grid-row-start: auto;
}

.\!k-row-start-auto {
    grid-row-start: auto !important;
}

.k-row-end-1 {
    grid-row-end: 1;
}

.\!k-row-end-1 {
    grid-row-end: 1 !important;
}

.k-row-end-2 {
    grid-row-end: 2;
}

.\!k-row-end-2 {
    grid-row-end: 2 !important;
}

.k-row-end-3 {
    grid-row-end: 3;
}

.\!k-row-end-3 {
    grid-row-end: 3 !important;
}

.k-row-end-4 {
    grid-row-end: 4;
}

.\!k-row-end-4 {
    grid-row-end: 4 !important;
}

.k-row-end-5 {
    grid-row-end: 5;
}

.\!k-row-end-5 {
    grid-row-end: 5 !important;
}

.k-row-end-6 {
    grid-row-end: 6;
}

.\!k-row-end-6 {
    grid-row-end: 6 !important;
}

.k-row-end-7 {
    grid-row-end: 7;
}

.\!k-row-end-7 {
    grid-row-end: 7 !important;
}

.k-row-end-8 {
    grid-row-end: 8;
}

.\!k-row-end-8 {
    grid-row-end: 8 !important;
}

.k-row-end-9 {
    grid-row-end: 9;
}

.\!k-row-end-9 {
    grid-row-end: 9 !important;
}

.k-row-end-10 {
    grid-row-end: 10;
}

.\!k-row-end-10 {
    grid-row-end: 10 !important;
}

.k-row-end-11 {
    grid-row-end: 11;
}

.\!k-row-end-11 {
    grid-row-end: 11 !important;
}

.k-row-end-12 {
    grid-row-end: 12;
}

.\!k-row-end-12 {
    grid-row-end: 12 !important;
}

.k-row-end-13 {
    grid-row-end: 13;
}

.\!k-row-end-13 {
    grid-row-end: 13 !important;
}

.k-row-end--1 {
    grid-row-end: -1;
}

.\!k-row-end--1 {
    grid-row-end: -1 !important;
}

.k-row-end--2 {
    grid-row-end: -2;
}

.\!k-row-end--2 {
    grid-row-end: -2 !important;
}

.k-row-end--3 {
    grid-row-end: -3;
}

.\!k-row-end--3 {
    grid-row-end: -3 !important;
}

.k-row-end--4 {
    grid-row-end: -4;
}

.\!k-row-end--4 {
    grid-row-end: -4 !important;
}

.k-row-end--5 {
    grid-row-end: -5;
}

.\!k-row-end--5 {
    grid-row-end: -5 !important;
}

.k-row-end--6 {
    grid-row-end: -6;
}

.\!k-row-end--6 {
    grid-row-end: -6 !important;
}

.k-row-end--7 {
    grid-row-end: -7;
}

.\!k-row-end--7 {
    grid-row-end: -7 !important;
}

.k-row-end--8 {
    grid-row-end: -8;
}

.\!k-row-end--8 {
    grid-row-end: -8 !important;
}

.k-row-end--9 {
    grid-row-end: -9;
}

.\!k-row-end--9 {
    grid-row-end: -9 !important;
}

.k-row-end--10 {
    grid-row-end: -10;
}

.\!k-row-end--10 {
    grid-row-end: -10 !important;
}

.k-row-end--11 {
    grid-row-end: -11;
}

.\!k-row-end--11 {
    grid-row-end: -11 !important;
}

.k-row-end--12 {
    grid-row-end: -12;
}

.\!k-row-end--12 {
    grid-row-end: -12 !important;
}

.k-row-end--13 {
    grid-row-end: -13;
}

.\!k-row-end--13 {
    grid-row-end: -13 !important;
}

.k-row-end-auto {
    grid-row-end: auto;
}

.\!k-row-end-auto {
    grid-row-end: auto !important;
}

.k-row-span-1 {
    grid-row: span 1/span 1;
}

.\!k-row-span-1 {
    grid-row: span 1/span 1 !important;
}

.k-row-span-2 {
    grid-row: span 2/span 2;
}

.\!k-row-span-2 {
    grid-row: span 2/span 2 !important;
}

.k-row-span-3 {
    grid-row: span 3/span 3;
}

.\!k-row-span-3 {
    grid-row: span 3/span 3 !important;
}

.k-row-span-4 {
    grid-row: span 4/span 4;
}

.\!k-row-span-4 {
    grid-row: span 4/span 4 !important;
}

.k-row-span-5 {
    grid-row: span 5/span 5;
}

.\!k-row-span-5 {
    grid-row: span 5/span 5 !important;
}

.k-row-span-6 {
    grid-row: span 6/span 6;
}

.\!k-row-span-6 {
    grid-row: span 6/span 6 !important;
}

.k-row-span-7 {
    grid-row: span 7/span 7;
}

.\!k-row-span-7 {
    grid-row: span 7/span 7 !important;
}

.k-row-span-8 {
    grid-row: span 8/span 8;
}

.\!k-row-span-8 {
    grid-row: span 8/span 8 !important;
}

.k-row-span-9 {
    grid-row: span 9/span 9;
}

.\!k-row-span-9 {
    grid-row: span 9/span 9 !important;
}

.k-row-span-10 {
    grid-row: span 10/span 10;
}

.\!k-row-span-10 {
    grid-row: span 10/span 10 !important;
}

.k-row-span-11 {
    grid-row: span 11/span 11;
}

.\!k-row-span-11 {
    grid-row: span 11/span 11 !important;
}

.k-row-span-12 {
    grid-row: span 12/span 12;
}

.\!k-row-span-12 {
    grid-row: span 12/span 12 !important;
}

.k-row-span-full {
    grid-row: span 1/span -1;
}

.\!k-row-span-full {
    grid-row: span 1/span -1 !important;
}

.k-row-span-auto {
    grid-row: auto;
}

.\!k-row-span-auto {
    grid-row: auto !important;
}

.k-rowspan-1 {
    grid-row: span 1/span 1;
}

.\!k-rowspan-1 {
    grid-row: span 1/span 1 !important;
}

.k-rowspan-2 {
    grid-row: span 2/span 2;
}

.\!k-rowspan-2 {
    grid-row: span 2/span 2 !important;
}

.k-rowspan-3 {
    grid-row: span 3/span 3;
}

.\!k-rowspan-3 {
    grid-row: span 3/span 3 !important;
}

.k-rowspan-4 {
    grid-row: span 4/span 4;
}

.\!k-rowspan-4 {
    grid-row: span 4/span 4 !important;
}

.k-rowspan-5 {
    grid-row: span 5/span 5;
}

.\!k-rowspan-5 {
    grid-row: span 5/span 5 !important;
}

.k-rowspan-6 {
    grid-row: span 6/span 6;
}

.\!k-rowspan-6 {
    grid-row: span 6/span 6 !important;
}

.k-rowspan-7 {
    grid-row: span 7/span 7;
}

.\!k-rowspan-7 {
    grid-row: span 7/span 7 !important;
}

.k-rowspan-8 {
    grid-row: span 8/span 8;
}

.\!k-rowspan-8 {
    grid-row: span 8/span 8 !important;
}

.k-rowspan-9 {
    grid-row: span 9/span 9;
}

.\!k-rowspan-9 {
    grid-row: span 9/span 9 !important;
}

.k-rowspan-10 {
    grid-row: span 10/span 10;
}

.\!k-rowspan-10 {
    grid-row: span 10/span 10 !important;
}

.k-rowspan-11 {
    grid-row: span 11/span 11;
}

.\!k-rowspan-11 {
    grid-row: span 11/span 11 !important;
}

.k-rowspan-12 {
    grid-row: span 12/span 12;
}

.\!k-rowspan-12 {
    grid-row: span 12/span 12 !important;
}

.k-rowspan-full, .k-rowspan-all {
    grid-row: span 1/span -1;
}

.\!k-rowspan-full, .\!k-rowspan-all {
    grid-row: span 1/span -1 !important;
}

.k-rowspan-auto {
    grid-row: auto;
}

.\!k-rowspan-auto {
    grid-row: auto !important;
}

.k-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.\!k-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.k-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.\!k-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.k-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.\!k-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.k-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.\!k-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.k-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.\!k-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.k-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.\!k-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.k-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.\!k-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.k-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.\!k-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.k-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
}

.\!k-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
}

.k-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
}

.\!k-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}

.k-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
}

.\!k-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr)) !important;
}

.k-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.\!k-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.k-grid-cols-none {
    grid-template-columns: none;
}

.\!k-grid-cols-none {
    grid-template-columns: none !important;
}

.k-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
}

.\!k-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr)) !important;
}

.k-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
}

.\!k-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

.k-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
}

.\!k-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

.k-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
}

.\!k-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
}

.k-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
}

.\!k-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr)) !important;
}

.k-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
}

.\!k-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
}

.k-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr));
}

.\!k-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr)) !important;
}

.k-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr));
}

.\!k-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr)) !important;
}

.k-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr));
}

.\!k-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr)) !important;
}

.k-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
}

.\!k-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr)) !important;
}

.k-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr));
}

.\!k-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr)) !important;
}

.k-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr));
}

.\!k-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr)) !important;
}

.k-grid-rows-none {
    grid-template-rows: none;
}

.\!k-grid-rows-none {
    grid-template-rows: none !important;
}

.k-justify-content-normal {
    justify-content: normal;
}

.\!k-justify-content-normal {
    justify-content: normal !important;
}

.k-justify-content-stretch {
    justify-content: stretch;
}

.\!k-justify-content-stretch {
    justify-content: stretch !important;
}

.k-justify-content-center {
    justify-content: center;
}

.\!k-justify-content-center {
    justify-content: center !important;
}

.k-justify-content-start {
    justify-content: start;
}

.\!k-justify-content-start {
    justify-content: start !important;
}

.k-justify-content-end {
    justify-content: end;
}

.\!k-justify-content-end {
    justify-content: end !important;
}

.k-justify-content-flex-start {
    justify-content: flex-start;
}

.\!k-justify-content-flex-start {
    justify-content: flex-start !important;
}

.k-justify-content-flex-end {
    justify-content: flex-end;
}

.\!k-justify-content-flex-end {
    justify-content: flex-end !important;
}

.k-justify-content-left {
    justify-content: left;
}

.\!k-justify-content-left {
    justify-content: left !important;
}

.k-justify-content-right {
    justify-content: right;
}

.\!k-justify-content-right {
    justify-content: right !important;
}

.k-justify-content-baseline {
    justify-content: baseline;
}

.\!k-justify-content-baseline {
    justify-content: baseline !important;
}

.k-justify-content-first-baseline {
    justify-content: first baseline;
}

.\!k-justify-content-first-baseline {
    justify-content: first baseline !important;
}

.k-justify-content-last-baseline {
    justify-content: last baseline;
}

.\!k-justify-content-last-baseline {
    justify-content: last baseline !important;
}

.k-justify-content-between {
    justify-content: space-between;
}

.\!k-justify-content-between {
    justify-content: space-between !important;
}

.k-justify-content-around {
    justify-content: space-around;
}

.\!k-justify-content-around {
    justify-content: space-around !important;
}

.k-justify-content-evenly {
    justify-content: space-evenly;
}

.\!k-justify-content-evenly {
    justify-content: space-evenly !important;
}

.k-justify-content-stretch > * {
    flex: 1 0 0%;
}

.\!.k-justify-content-stretch > * {
    flex: 1 0 0% !important;
}

.k-justify-items-normal {
    justify-items: normal;
}

.\!k-justify-items-normal {
    justify-items: normal !important;
}

.k-justify-items-stretch {
    justify-items: stretch;
}

.\!k-justify-items-stretch {
    justify-items: stretch !important;
}

.k-justify-items-center {
    justify-items: center;
}

.\!k-justify-items-center {
    justify-items: center !important;
}

.k-justify-items-start {
    justify-items: start;
}

.\!k-justify-items-start {
    justify-items: start !important;
}

.k-justify-items-end {
    justify-items: end;
}

.\!k-justify-items-end {
    justify-items: end !important;
}

.k-justify-items-flex-start {
    justify-items: flex-start;
}

.\!k-justify-items-flex-start {
    justify-items: flex-start !important;
}

.k-justify-items-flex-end {
    justify-items: flex-end;
}

.\!k-justify-items-flex-end {
    justify-items: flex-end !important;
}

.k-justify-items-self-start {
    justify-items: self-start;
}

.\!k-justify-items-self-start {
    justify-items: self-start !important;
}

.k-justify-items-self-end {
    justify-items: self-end;
}

.\!k-justify-items-self-end {
    justify-items: self-end !important;
}

.k-justify-items-left {
    justify-items: left;
}

.\!k-justify-items-left {
    justify-items: left !important;
}

.k-justify-items-right {
    justify-items: right;
}

.\!k-justify-items-right {
    justify-items: right !important;
}

.k-justify-items-baseline {
    justify-items: baseline;
}

.\!k-justify-items-baseline {
    justify-items: baseline !important;
}

.k-justify-items-first-baseline {
    justify-items: first baseline;
}

.\!k-justify-items-first-baseline {
    justify-items: first baseline !important;
}

.k-justify-items-last-baseline {
    justify-items: last baseline;
}

.\!k-justify-items-last-baseline {
    justify-items: last baseline !important;
}

.k-justify-self-auto {
    justify-self: auto;
}

.\!k-justify-self-auto {
    justify-self: auto !important;
}

.k-justify-self-normal {
    justify-self: normal;
}

.\!k-justify-self-normal {
    justify-self: normal !important;
}

.k-justify-self-stretch {
    justify-self: stretch;
}

.\!k-justify-self-stretch {
    justify-self: stretch !important;
}

.k-justify-self-center {
    justify-self: center;
}

.\!k-justify-self-center {
    justify-self: center !important;
}

.k-justify-self-start {
    justify-self: start;
}

.\!k-justify-self-start {
    justify-self: start !important;
}

.k-justify-self-end {
    justify-self: end;
}

.\!k-justify-self-end {
    justify-self: end !important;
}

.k-justify-self-flex-start {
    justify-self: flex-start;
}

.\!k-justify-self-flex-start {
    justify-self: flex-start !important;
}

.k-justify-self-flex-end {
    justify-self: flex-end;
}

.\!k-justify-self-flex-end {
    justify-self: flex-end !important;
}

.k-justify-self-self-start {
    justify-self: self-start;
}

.\!k-justify-self-self-start {
    justify-self: self-start !important;
}

.k-justify-self-self-end {
    justify-self: self-end;
}

.\!k-justify-self-self-end {
    justify-self: self-end !important;
}

.k-justify-self-baseline {
    justify-self: baseline;
}

.\!k-justify-self-baseline {
    justify-self: baseline !important;
}

.k-justify-self-first-baseline {
    justify-self: first baseline;
}

.\!k-justify-self-first-baseline {
    justify-self: first baseline !important;
}

.k-justify-self-last-baseline {
    justify-self: last baseline;
}

.\!k-justify-self-last-baseline {
    justify-self: last baseline !important;
}

.k-order-1 {
    order: 1;
}

.\!k-order-1 {
    order: 1 !important;
}

.k-order-2 {
    order: 2;
}

.\!k-order-2 {
    order: 2 !important;
}

.k-order-3 {
    order: 3;
}

.\!k-order-3 {
    order: 3 !important;
}

.k-order-4 {
    order: 4;
}

.\!k-order-4 {
    order: 4 !important;
}

.k-order-5 {
    order: 5;
}

.\!k-order-5 {
    order: 5 !important;
}

.k-order-6 {
    order: 6;
}

.\!k-order-6 {
    order: 6 !important;
}

.k-order-7 {
    order: 7;
}

.\!k-order-7 {
    order: 7 !important;
}

.k-order-8 {
    order: 8;
}

.\!k-order-8 {
    order: 8 !important;
}

.k-order-9 {
    order: 9;
}

.\!k-order-9 {
    order: 9 !important;
}

.k-order-10 {
    order: 10;
}

.\!k-order-10 {
    order: 10 !important;
}

.k-order-11 {
    order: 11;
}

.\!k-order-11 {
    order: 11 !important;
}

.k-order-12 {
    order: 12;
}

.\!k-order-12 {
    order: 12 !important;
}

.k-order-first {
    order: -9999;
}

.\!k-order-first {
    order: -9999 !important;
}

.k-order-last {
    order: 9999;
}

.\!k-order-last {
    order: 9999 !important;
}

.k-order-none {
    order: 0;
}

.\!k-order-none {
    order: 0 !important;
}

.k-place-content-normal {
    place-content: normal;
}

.\!k-place-content-normal {
    place-content: normal !important;
}

.k-place-content-stretch {
    place-content: stretch;
}

.\!k-place-content-stretch {
    place-content: stretch !important;
}

.k-place-content-center {
    place-content: center;
}

.\!k-place-content-center {
    place-content: center !important;
}

.k-place-content-start {
    place-content: start;
}

.\!k-place-content-start {
    place-content: start !important;
}

.k-place-content-end {
    place-content: end;
}

.\!k-place-content-end {
    place-content: end !important;
}

.k-place-content-flex-start {
    place-content: flex-start;
}

.\!k-place-content-flex-start {
    place-content: flex-start !important;
}

.k-place-content-flex-end {
    place-content: flex-end;
}

.\!k-place-content-flex-end {
    place-content: flex-end !important;
}

.k-place-content-baseline {
    place-content: baseline;
}

.\!k-place-content-baseline {
    place-content: baseline !important;
}

.k-place-content-between {
    place-content: space-between;
}

.\!k-place-content-between {
    place-content: space-between !important;
}

.k-place-content-around {
    place-content: space-around;
}

.\!k-place-content-around {
    place-content: space-around !important;
}

.k-place-content-evenly {
    place-content: space-evenly;
}

.\!k-place-content-evenly {
    place-content: space-evenly !important;
}

.k-place-items-normal {
    place-items: normal;
}

.\!k-place-items-normal {
    place-items: normal !important;
}

.k-place-items-stretch {
    place-items: stretch;
}

.\!k-place-items-stretch {
    place-items: stretch !important;
}

.k-place-items-center {
    place-items: center;
}

.\!k-place-items-center {
    place-items: center !important;
}

.k-place-items-start {
    place-items: start;
}

.\!k-place-items-start {
    place-items: start !important;
}

.k-place-items-end {
    place-items: end;
}

.\!k-place-items-end {
    place-items: end !important;
}

.k-place-items-flex-start {
    place-items: flex-start;
}

.\!k-place-items-flex-start {
    place-items: flex-start !important;
}

.k-place-items-flex-end {
    place-items: flex-end;
}

.\!k-place-items-flex-end {
    place-items: flex-end !important;
}

.k-place-items-self-start {
    place-items: self-start;
}

.\!k-place-items-self-start {
    place-items: self-start !important;
}

.k-place-items-self-end {
    place-items: self-end;
}

.\!k-place-items-self-end {
    place-items: self-end !important;
}

.k-place-items-baseline {
    place-items: baseline;
}

.\!k-place-items-baseline {
    place-items: baseline !important;
}

.k-place-self-auto {
    place-self: auto;
}

.\!k-place-self-auto {
    place-self: auto !important;
}

.k-place-self-normal {
    place-self: normal;
}

.\!k-place-self-normal {
    place-self: normal !important;
}

.k-place-self-stretch {
    place-self: stretch;
}

.\!k-place-self-stretch {
    place-self: stretch !important;
}

.k-place-self-center {
    place-self: center;
}

.\!k-place-self-center {
    place-self: center !important;
}

.k-place-self-start {
    place-self: start;
}

.\!k-place-self-start {
    place-self: start !important;
}

.k-place-self-end {
    place-self: end;
}

.\!k-place-self-end {
    place-self: end !important;
}

.k-place-self-flex-start {
    place-self: flex-start;
}

.\!k-place-self-flex-start {
    place-self: flex-start !important;
}

.k-place-self-flex-end {
    place-self: flex-end;
}

.\!k-place-self-flex-end {
    place-self: flex-end !important;
}

.k-place-self-self-start {
    place-self: self-start;
}

.\!k-place-self-self-start {
    place-self: self-start !important;
}

.k-place-self-self-end {
    place-self: self-end;
}

.\!k-place-self-self-end {
    place-self: self-end !important;
}

.k-place-self-baseline {
    place-self: baseline;
}

.\!k-place-self-baseline {
    place-self: baseline !important;
}

.k-m-0 {
    margin: 0;
}

.\!k-m-0 {
    margin: 0 !important;
}

.k-m-1px {
    margin: 1px;
}

.\!k-m-1px {
    margin: 1px !important;
}

.k-m-0\.5 {
    margin: 0.125rem;
}

.\!k-m-0\.5 {
    margin: 0.125rem !important;
}

.k-m-1 {
    margin: 0.25rem;
}

.\!k-m-1 {
    margin: 0.25rem !important;
}

.k-m-1\.5 {
    margin: 0.375rem;
}

.\!k-m-1\.5 {
    margin: 0.375rem !important;
}

.k-m-2 {
    margin: 0.5rem;
}

.\!k-m-2 {
    margin: 0.5rem !important;
}

.k-m-2\.5 {
    margin: 0.625rem;
}

.\!k-m-2\.5 {
    margin: 0.625rem !important;
}

.k-m-3 {
    margin: 0.75rem;
}

.\!k-m-3 {
    margin: 0.75rem !important;
}

.k-m-3\.5 {
    margin: 0.875rem;
}

.\!k-m-3\.5 {
    margin: 0.875rem !important;
}

.k-m-4 {
    margin: 1rem;
}

.\!k-m-4 {
    margin: 1rem !important;
}

.k-m-4\.5 {
    margin: 1.125rem;
}

.\!k-m-4\.5 {
    margin: 1.125rem !important;
}

.k-m-5 {
    margin: 1.25rem;
}

.\!k-m-5 {
    margin: 1.25rem !important;
}

.k-m-5\.5 {
    margin: 1.375rem;
}

.\!k-m-5\.5 {
    margin: 1.375rem !important;
}

.k-m-6 {
    margin: 1.5rem;
}

.\!k-m-6 {
    margin: 1.5rem !important;
}

.k-m-6\.5 {
    margin: 1.625rem;
}

.\!k-m-6\.5 {
    margin: 1.625rem !important;
}

.k-m-7 {
    margin: 1.75rem;
}

.\!k-m-7 {
    margin: 1.75rem !important;
}

.k-m-7\.5 {
    margin: 1.875rem;
}

.\!k-m-7\.5 {
    margin: 1.875rem !important;
}

.k-m-8 {
    margin: 2rem;
}

.\!k-m-8 {
    margin: 2rem !important;
}

.k-m-9 {
    margin: 2.25rem;
}

.\!k-m-9 {
    margin: 2.25rem !important;
}

.k-m-10 {
    margin: 2.5rem;
}

.\!k-m-10 {
    margin: 2.5rem !important;
}

.k-m-11 {
    margin: 2.75rem;
}

.\!k-m-11 {
    margin: 2.75rem !important;
}

.k-m-12 {
    margin: 3rem;
}

.\!k-m-12 {
    margin: 3rem !important;
}

.k-m-13 {
    margin: 3.25rem;
}

.\!k-m-13 {
    margin: 3.25rem !important;
}

.k-m-14 {
    margin: 3.5rem;
}

.\!k-m-14 {
    margin: 3.5rem !important;
}

.k-m-15 {
    margin: 3.75rem;
}

.\!k-m-15 {
    margin: 3.75rem !important;
}

.k-m-16 {
    margin: 4rem;
}

.\!k-m-16 {
    margin: 4rem !important;
}

.k-m-17 {
    margin: 4.25rem;
}

.\!k-m-17 {
    margin: 4.25rem !important;
}

.k-m-18 {
    margin: 4.5rem;
}

.\!k-m-18 {
    margin: 4.5rem !important;
}

.k-m-19 {
    margin: 4.75rem;
}

.\!k-m-19 {
    margin: 4.75rem !important;
}

.k-m-20 {
    margin: 5rem;
}

.\!k-m-20 {
    margin: 5rem !important;
}

.k-m-21 {
    margin: 5.25rem;
}

.\!k-m-21 {
    margin: 5.25rem !important;
}

.k-m-22 {
    margin: 5.5rem;
}

.\!k-m-22 {
    margin: 5.5rem !important;
}

.k-m-23 {
    margin: 5.75rem;
}

.\!k-m-23 {
    margin: 5.75rem !important;
}

.k-m-24 {
    margin: 6rem;
}

.\!k-m-24 {
    margin: 6rem !important;
}

.k-m--1px {
    margin: -1px;
}

.\!k-m--1px {
    margin: -1px !important;
}

.k-m--0\.5 {
    margin: -0.125rem;
}

.\!k-m--0\.5 {
    margin: -0.125rem !important;
}

.k-m--1 {
    margin: -0.25rem;
}

.\!k-m--1 {
    margin: -0.25rem !important;
}

.k-m--1\.5 {
    margin: -0.375rem;
}

.\!k-m--1\.5 {
    margin: -0.375rem !important;
}

.k-m--2 {
    margin: -0.5rem;
}

.\!k-m--2 {
    margin: -0.5rem !important;
}

.k-m--2\.5 {
    margin: -0.625rem;
}

.\!k-m--2\.5 {
    margin: -0.625rem !important;
}

.k-m--3 {
    margin: -0.75rem;
}

.\!k-m--3 {
    margin: -0.75rem !important;
}

.k-m--3\.5 {
    margin: -0.875rem;
}

.\!k-m--3\.5 {
    margin: -0.875rem !important;
}

.k-m--4 {
    margin: -1rem;
}

.\!k-m--4 {
    margin: -1rem !important;
}

.k-m--4\.5 {
    margin: -1.125rem;
}

.\!k-m--4\.5 {
    margin: -1.125rem !important;
}

.k-m--5 {
    margin: -1.25rem;
}

.\!k-m--5 {
    margin: -1.25rem !important;
}

.k-m--5\.5 {
    margin: -1.375rem;
}

.\!k-m--5\.5 {
    margin: -1.375rem !important;
}

.k-m--6 {
    margin: -1.5rem;
}

.\!k-m--6 {
    margin: -1.5rem !important;
}

.k-m--6\.5 {
    margin: -1.625rem;
}

.\!k-m--6\.5 {
    margin: -1.625rem !important;
}

.k-m--7 {
    margin: -1.75rem;
}

.\!k-m--7 {
    margin: -1.75rem !important;
}

.k-m--7\.5 {
    margin: -1.875rem;
}

.\!k-m--7\.5 {
    margin: -1.875rem !important;
}

.k-m--8 {
    margin: -2rem;
}

.\!k-m--8 {
    margin: -2rem !important;
}

.k-m--9 {
    margin: -2.25rem;
}

.\!k-m--9 {
    margin: -2.25rem !important;
}

.k-m--10 {
    margin: -2.5rem;
}

.\!k-m--10 {
    margin: -2.5rem !important;
}

.k-m--11 {
    margin: -2.75rem;
}

.\!k-m--11 {
    margin: -2.75rem !important;
}

.k-m--12 {
    margin: -3rem;
}

.\!k-m--12 {
    margin: -3rem !important;
}

.k-m--13 {
    margin: -3.25rem;
}

.\!k-m--13 {
    margin: -3.25rem !important;
}

.k-m--14 {
    margin: -3.5rem;
}

.\!k-m--14 {
    margin: -3.5rem !important;
}

.k-m--15 {
    margin: -3.75rem;
}

.\!k-m--15 {
    margin: -3.75rem !important;
}

.k-m--16 {
    margin: -4rem;
}

.\!k-m--16 {
    margin: -4rem !important;
}

.k-m--17 {
    margin: -4.25rem;
}

.\!k-m--17 {
    margin: -4.25rem !important;
}

.k-m--18 {
    margin: -4.5rem;
}

.\!k-m--18 {
    margin: -4.5rem !important;
}

.k-m--19 {
    margin: -4.75rem;
}

.\!k-m--19 {
    margin: -4.75rem !important;
}

.k-m--20 {
    margin: -5rem;
}

.\!k-m--20 {
    margin: -5rem !important;
}

.k-m--21 {
    margin: -5.25rem;
}

.\!k-m--21 {
    margin: -5.25rem !important;
}

.k-m--22 {
    margin: -5.5rem;
}

.\!k-m--22 {
    margin: -5.5rem !important;
}

.k-m--23 {
    margin: -5.75rem;
}

.\!k-m--23 {
    margin: -5.75rem !important;
}

.k-m--24 {
    margin: -6rem;
}

.\!k-m--24 {
    margin: -6rem !important;
}

.k-m-xs {
    margin: 0.25rem;
}

.\!k-m-xs {
    margin: 0.25rem !important;
}

.k-m-sm {
    margin: 0.5rem;
}

.\!k-m-sm {
    margin: 0.5rem !important;
}

.k-m-md {
    margin: 0.75rem;
}

.\!k-m-md {
    margin: 0.75rem !important;
}

.k-m-lg {
    margin: 1rem;
}

.\!k-m-lg {
    margin: 1rem !important;
}

.k-m-xl {
    margin: 1.5rem;
}

.\!k-m-xl {
    margin: 1.5rem !important;
}

.k-m-thin {
    margin: 0.125rem;
}

.\!k-m-thin {
    margin: 0.125rem !important;
}

.k-m-hair {
    margin: 1px;
}

.\!k-m-hair {
    margin: 1px !important;
}

.k-m-auto {
    margin: auto;
}

.\!k-m-auto {
    margin: auto !important;
}

.k-mt-0 {
    margin-top: 0;
}

.\!k-mt-0 {
    margin-top: 0 !important;
}

.k-mt-1px {
    margin-top: 1px;
}

.\!k-mt-1px {
    margin-top: 1px !important;
}

.k-mt-0\.5 {
    margin-top: 0.125rem;
}

.\!k-mt-0\.5 {
    margin-top: 0.125rem !important;
}

.k-mt-1 {
    margin-top: 0.25rem;
}

.\!k-mt-1 {
    margin-top: 0.25rem !important;
}

.k-mt-1\.5 {
    margin-top: 0.375rem;
}

.\!k-mt-1\.5 {
    margin-top: 0.375rem !important;
}

.k-mt-2 {
    margin-top: 0.5rem;
}

.\!k-mt-2 {
    margin-top: 0.5rem !important;
}

.k-mt-2\.5 {
    margin-top: 0.625rem;
}

.\!k-mt-2\.5 {
    margin-top: 0.625rem !important;
}

.k-mt-3 {
    margin-top: 0.75rem;
}

.\!k-mt-3 {
    margin-top: 0.75rem !important;
}

.k-mt-3\.5 {
    margin-top: 0.875rem;
}

.\!k-mt-3\.5 {
    margin-top: 0.875rem !important;
}

.k-mt-4 {
    margin-top: 1rem;
}

.\!k-mt-4 {
    margin-top: 1rem !important;
}

.k-mt-4\.5 {
    margin-top: 1.125rem;
}

.\!k-mt-4\.5 {
    margin-top: 1.125rem !important;
}

.k-mt-5 {
    margin-top: 1.25rem;
}

.\!k-mt-5 {
    margin-top: 1.25rem !important;
}

.k-mt-5\.5 {
    margin-top: 1.375rem;
}

.\!k-mt-5\.5 {
    margin-top: 1.375rem !important;
}

.k-mt-6 {
    margin-top: 1.5rem;
}

.\!k-mt-6 {
    margin-top: 1.5rem !important;
}

.k-mt-6\.5 {
    margin-top: 1.625rem;
}

.\!k-mt-6\.5 {
    margin-top: 1.625rem !important;
}

.k-mt-7 {
    margin-top: 1.75rem;
}

.\!k-mt-7 {
    margin-top: 1.75rem !important;
}

.k-mt-7\.5 {
    margin-top: 1.875rem;
}

.\!k-mt-7\.5 {
    margin-top: 1.875rem !important;
}

.k-mt-8 {
    margin-top: 2rem;
}

.\!k-mt-8 {
    margin-top: 2rem !important;
}

.k-mt-9 {
    margin-top: 2.25rem;
}

.\!k-mt-9 {
    margin-top: 2.25rem !important;
}

.k-mt-10 {
    margin-top: 2.5rem;
}

.\!k-mt-10 {
    margin-top: 2.5rem !important;
}

.k-mt-11 {
    margin-top: 2.75rem;
}

.\!k-mt-11 {
    margin-top: 2.75rem !important;
}

.k-mt-12 {
    margin-top: 3rem;
}

.\!k-mt-12 {
    margin-top: 3rem !important;
}

.k-mt-13 {
    margin-top: 3.25rem;
}

.\!k-mt-13 {
    margin-top: 3.25rem !important;
}

.k-mt-14 {
    margin-top: 3.5rem;
}

.\!k-mt-14 {
    margin-top: 3.5rem !important;
}

.k-mt-15 {
    margin-top: 3.75rem;
}

.\!k-mt-15 {
    margin-top: 3.75rem !important;
}

.k-mt-16 {
    margin-top: 4rem;
}

.\!k-mt-16 {
    margin-top: 4rem !important;
}

.k-mt-17 {
    margin-top: 4.25rem;
}

.\!k-mt-17 {
    margin-top: 4.25rem !important;
}

.k-mt-18 {
    margin-top: 4.5rem;
}

.\!k-mt-18 {
    margin-top: 4.5rem !important;
}

.k-mt-19 {
    margin-top: 4.75rem;
}

.\!k-mt-19 {
    margin-top: 4.75rem !important;
}

.k-mt-20 {
    margin-top: 5rem;
}

.\!k-mt-20 {
    margin-top: 5rem !important;
}

.k-mt-21 {
    margin-top: 5.25rem;
}

.\!k-mt-21 {
    margin-top: 5.25rem !important;
}

.k-mt-22 {
    margin-top: 5.5rem;
}

.\!k-mt-22 {
    margin-top: 5.5rem !important;
}

.k-mt-23 {
    margin-top: 5.75rem;
}

.\!k-mt-23 {
    margin-top: 5.75rem !important;
}

.k-mt-24 {
    margin-top: 6rem;
}

.\!k-mt-24 {
    margin-top: 6rem !important;
}

.k-mt--1px {
    margin-top: -1px;
}

.\!k-mt--1px {
    margin-top: -1px !important;
}

.k-mt--0\.5 {
    margin-top: -0.125rem;
}

.\!k-mt--0\.5 {
    margin-top: -0.125rem !important;
}

.k-mt--1 {
    margin-top: -0.25rem;
}

.\!k-mt--1 {
    margin-top: -0.25rem !important;
}

.k-mt--1\.5 {
    margin-top: -0.375rem;
}

.\!k-mt--1\.5 {
    margin-top: -0.375rem !important;
}

.k-mt--2 {
    margin-top: -0.5rem;
}

.\!k-mt--2 {
    margin-top: -0.5rem !important;
}

.k-mt--2\.5 {
    margin-top: -0.625rem;
}

.\!k-mt--2\.5 {
    margin-top: -0.625rem !important;
}

.k-mt--3 {
    margin-top: -0.75rem;
}

.\!k-mt--3 {
    margin-top: -0.75rem !important;
}

.k-mt--3\.5 {
    margin-top: -0.875rem;
}

.\!k-mt--3\.5 {
    margin-top: -0.875rem !important;
}

.k-mt--4 {
    margin-top: -1rem;
}

.\!k-mt--4 {
    margin-top: -1rem !important;
}

.k-mt--4\.5 {
    margin-top: -1.125rem;
}

.\!k-mt--4\.5 {
    margin-top: -1.125rem !important;
}

.k-mt--5 {
    margin-top: -1.25rem;
}

.\!k-mt--5 {
    margin-top: -1.25rem !important;
}

.k-mt--5\.5 {
    margin-top: -1.375rem;
}

.\!k-mt--5\.5 {
    margin-top: -1.375rem !important;
}

.k-mt--6 {
    margin-top: -1.5rem;
}

.\!k-mt--6 {
    margin-top: -1.5rem !important;
}

.k-mt--6\.5 {
    margin-top: -1.625rem;
}

.\!k-mt--6\.5 {
    margin-top: -1.625rem !important;
}

.k-mt--7 {
    margin-top: -1.75rem;
}

.\!k-mt--7 {
    margin-top: -1.75rem !important;
}

.k-mt--7\.5 {
    margin-top: -1.875rem;
}

.\!k-mt--7\.5 {
    margin-top: -1.875rem !important;
}

.k-mt--8 {
    margin-top: -2rem;
}

.\!k-mt--8 {
    margin-top: -2rem !important;
}

.k-mt--9 {
    margin-top: -2.25rem;
}

.\!k-mt--9 {
    margin-top: -2.25rem !important;
}

.k-mt--10 {
    margin-top: -2.5rem;
}

.\!k-mt--10 {
    margin-top: -2.5rem !important;
}

.k-mt--11 {
    margin-top: -2.75rem;
}

.\!k-mt--11 {
    margin-top: -2.75rem !important;
}

.k-mt--12 {
    margin-top: -3rem;
}

.\!k-mt--12 {
    margin-top: -3rem !important;
}

.k-mt--13 {
    margin-top: -3.25rem;
}

.\!k-mt--13 {
    margin-top: -3.25rem !important;
}

.k-mt--14 {
    margin-top: -3.5rem;
}

.\!k-mt--14 {
    margin-top: -3.5rem !important;
}

.k-mt--15 {
    margin-top: -3.75rem;
}

.\!k-mt--15 {
    margin-top: -3.75rem !important;
}

.k-mt--16 {
    margin-top: -4rem;
}

.\!k-mt--16 {
    margin-top: -4rem !important;
}

.k-mt--17 {
    margin-top: -4.25rem;
}

.\!k-mt--17 {
    margin-top: -4.25rem !important;
}

.k-mt--18 {
    margin-top: -4.5rem;
}

.\!k-mt--18 {
    margin-top: -4.5rem !important;
}

.k-mt--19 {
    margin-top: -4.75rem;
}

.\!k-mt--19 {
    margin-top: -4.75rem !important;
}

.k-mt--20 {
    margin-top: -5rem;
}

.\!k-mt--20 {
    margin-top: -5rem !important;
}

.k-mt--21 {
    margin-top: -5.25rem;
}

.\!k-mt--21 {
    margin-top: -5.25rem !important;
}

.k-mt--22 {
    margin-top: -5.5rem;
}

.\!k-mt--22 {
    margin-top: -5.5rem !important;
}

.k-mt--23 {
    margin-top: -5.75rem;
}

.\!k-mt--23 {
    margin-top: -5.75rem !important;
}

.k-mt--24 {
    margin-top: -6rem;
}

.\!k-mt--24 {
    margin-top: -6rem !important;
}

.k-mt-xs {
    margin-top: 0.25rem;
}

.\!k-mt-xs {
    margin-top: 0.25rem !important;
}

.k-mt-sm {
    margin-top: 0.5rem;
}

.\!k-mt-sm {
    margin-top: 0.5rem !important;
}

.k-mt-md {
    margin-top: 0.75rem;
}

.\!k-mt-md {
    margin-top: 0.75rem !important;
}

.k-mt-lg {
    margin-top: 1rem;
}

.\!k-mt-lg {
    margin-top: 1rem !important;
}

.k-mt-xl {
    margin-top: 1.5rem;
}

.\!k-mt-xl {
    margin-top: 1.5rem !important;
}

.k-mt-thin {
    margin-top: 0.125rem;
}

.\!k-mt-thin {
    margin-top: 0.125rem !important;
}

.k-mt-hair {
    margin-top: 1px;
}

.\!k-mt-hair {
    margin-top: 1px !important;
}

.k-mt-auto {
    margin-top: auto;
}

.\!k-mt-auto {
    margin-top: auto !important;
}

.k-mr-0 {
    margin-right: 0;
}

.\!k-mr-0 {
    margin-right: 0 !important;
}

.k-mr-1px {
    margin-right: 1px;
}

.\!k-mr-1px {
    margin-right: 1px !important;
}

.k-mr-0\.5 {
    margin-right: 0.125rem;
}

.\!k-mr-0\.5 {
    margin-right: 0.125rem !important;
}

.k-mr-1 {
    margin-right: 0.25rem;
}

.\!k-mr-1 {
    margin-right: 0.25rem !important;
}

.k-mr-1\.5 {
    margin-right: 0.375rem;
}

.\!k-mr-1\.5 {
    margin-right: 0.375rem !important;
}

.k-mr-2 {
    margin-right: 0.5rem;
}

.\!k-mr-2 {
    margin-right: 0.5rem !important;
}

.k-mr-2\.5 {
    margin-right: 0.625rem;
}

.\!k-mr-2\.5 {
    margin-right: 0.625rem !important;
}

.k-mr-3 {
    margin-right: 0.75rem;
}

.\!k-mr-3 {
    margin-right: 0.75rem !important;
}

.k-mr-3\.5 {
    margin-right: 0.875rem;
}

.\!k-mr-3\.5 {
    margin-right: 0.875rem !important;
}

.k-mr-4 {
    margin-right: 1rem;
}

.\!k-mr-4 {
    margin-right: 1rem !important;
}

.k-mr-4\.5 {
    margin-right: 1.125rem;
}

.\!k-mr-4\.5 {
    margin-right: 1.125rem !important;
}

.k-mr-5 {
    margin-right: 1.25rem;
}

.\!k-mr-5 {
    margin-right: 1.25rem !important;
}

.k-mr-5\.5 {
    margin-right: 1.375rem;
}

.\!k-mr-5\.5 {
    margin-right: 1.375rem !important;
}

.k-mr-6 {
    margin-right: 1.5rem;
}

.\!k-mr-6 {
    margin-right: 1.5rem !important;
}

.k-mr-6\.5 {
    margin-right: 1.625rem;
}

.\!k-mr-6\.5 {
    margin-right: 1.625rem !important;
}

.k-mr-7 {
    margin-right: 1.75rem;
}

.\!k-mr-7 {
    margin-right: 1.75rem !important;
}

.k-mr-7\.5 {
    margin-right: 1.875rem;
}

.\!k-mr-7\.5 {
    margin-right: 1.875rem !important;
}

.k-mr-8 {
    margin-right: 2rem;
}

.\!k-mr-8 {
    margin-right: 2rem !important;
}

.k-mr-9 {
    margin-right: 2.25rem;
}

.\!k-mr-9 {
    margin-right: 2.25rem !important;
}

.k-mr-10 {
    margin-right: 2.5rem;
}

.\!k-mr-10 {
    margin-right: 2.5rem !important;
}

.k-mr-11 {
    margin-right: 2.75rem;
}

.\!k-mr-11 {
    margin-right: 2.75rem !important;
}

.k-mr-12 {
    margin-right: 3rem;
}

.\!k-mr-12 {
    margin-right: 3rem !important;
}

.k-mr-13 {
    margin-right: 3.25rem;
}

.\!k-mr-13 {
    margin-right: 3.25rem !important;
}

.k-mr-14 {
    margin-right: 3.5rem;
}

.\!k-mr-14 {
    margin-right: 3.5rem !important;
}

.k-mr-15 {
    margin-right: 3.75rem;
}

.\!k-mr-15 {
    margin-right: 3.75rem !important;
}

.k-mr-16 {
    margin-right: 4rem;
}

.\!k-mr-16 {
    margin-right: 4rem !important;
}

.k-mr-17 {
    margin-right: 4.25rem;
}

.\!k-mr-17 {
    margin-right: 4.25rem !important;
}

.k-mr-18 {
    margin-right: 4.5rem;
}

.\!k-mr-18 {
    margin-right: 4.5rem !important;
}

.k-mr-19 {
    margin-right: 4.75rem;
}

.\!k-mr-19 {
    margin-right: 4.75rem !important;
}

.k-mr-20 {
    margin-right: 5rem;
}

.\!k-mr-20 {
    margin-right: 5rem !important;
}

.k-mr-21 {
    margin-right: 5.25rem;
}

.\!k-mr-21 {
    margin-right: 5.25rem !important;
}

.k-mr-22 {
    margin-right: 5.5rem;
}

.\!k-mr-22 {
    margin-right: 5.5rem !important;
}

.k-mr-23 {
    margin-right: 5.75rem;
}

.\!k-mr-23 {
    margin-right: 5.75rem !important;
}

.k-mr-24 {
    margin-right: 6rem;
}

.\!k-mr-24 {
    margin-right: 6rem !important;
}

.k-mr--1px {
    margin-right: -1px;
}

.\!k-mr--1px {
    margin-right: -1px !important;
}

.k-mr--0\.5 {
    margin-right: -0.125rem;
}

.\!k-mr--0\.5 {
    margin-right: -0.125rem !important;
}

.k-mr--1 {
    margin-right: -0.25rem;
}

.\!k-mr--1 {
    margin-right: -0.25rem !important;
}

.k-mr--1\.5 {
    margin-right: -0.375rem;
}

.\!k-mr--1\.5 {
    margin-right: -0.375rem !important;
}

.k-mr--2 {
    margin-right: -0.5rem;
}

.\!k-mr--2 {
    margin-right: -0.5rem !important;
}

.k-mr--2\.5 {
    margin-right: -0.625rem;
}

.\!k-mr--2\.5 {
    margin-right: -0.625rem !important;
}

.k-mr--3 {
    margin-right: -0.75rem;
}

.\!k-mr--3 {
    margin-right: -0.75rem !important;
}

.k-mr--3\.5 {
    margin-right: -0.875rem;
}

.\!k-mr--3\.5 {
    margin-right: -0.875rem !important;
}

.k-mr--4 {
    margin-right: -1rem;
}

.\!k-mr--4 {
    margin-right: -1rem !important;
}

.k-mr--4\.5 {
    margin-right: -1.125rem;
}

.\!k-mr--4\.5 {
    margin-right: -1.125rem !important;
}

.k-mr--5 {
    margin-right: -1.25rem;
}

.\!k-mr--5 {
    margin-right: -1.25rem !important;
}

.k-mr--5\.5 {
    margin-right: -1.375rem;
}

.\!k-mr--5\.5 {
    margin-right: -1.375rem !important;
}

.k-mr--6 {
    margin-right: -1.5rem;
}

.\!k-mr--6 {
    margin-right: -1.5rem !important;
}

.k-mr--6\.5 {
    margin-right: -1.625rem;
}

.\!k-mr--6\.5 {
    margin-right: -1.625rem !important;
}

.k-mr--7 {
    margin-right: -1.75rem;
}

.\!k-mr--7 {
    margin-right: -1.75rem !important;
}

.k-mr--7\.5 {
    margin-right: -1.875rem;
}

.\!k-mr--7\.5 {
    margin-right: -1.875rem !important;
}

.k-mr--8 {
    margin-right: -2rem;
}

.\!k-mr--8 {
    margin-right: -2rem !important;
}

.k-mr--9 {
    margin-right: -2.25rem;
}

.\!k-mr--9 {
    margin-right: -2.25rem !important;
}

.k-mr--10 {
    margin-right: -2.5rem;
}

.\!k-mr--10 {
    margin-right: -2.5rem !important;
}

.k-mr--11 {
    margin-right: -2.75rem;
}

.\!k-mr--11 {
    margin-right: -2.75rem !important;
}

.k-mr--12 {
    margin-right: -3rem;
}

.\!k-mr--12 {
    margin-right: -3rem !important;
}

.k-mr--13 {
    margin-right: -3.25rem;
}

.\!k-mr--13 {
    margin-right: -3.25rem !important;
}

.k-mr--14 {
    margin-right: -3.5rem;
}

.\!k-mr--14 {
    margin-right: -3.5rem !important;
}

.k-mr--15 {
    margin-right: -3.75rem;
}

.\!k-mr--15 {
    margin-right: -3.75rem !important;
}

.k-mr--16 {
    margin-right: -4rem;
}

.\!k-mr--16 {
    margin-right: -4rem !important;
}

.k-mr--17 {
    margin-right: -4.25rem;
}

.\!k-mr--17 {
    margin-right: -4.25rem !important;
}

.k-mr--18 {
    margin-right: -4.5rem;
}

.\!k-mr--18 {
    margin-right: -4.5rem !important;
}

.k-mr--19 {
    margin-right: -4.75rem;
}

.\!k-mr--19 {
    margin-right: -4.75rem !important;
}

.k-mr--20 {
    margin-right: -5rem;
}

.\!k-mr--20 {
    margin-right: -5rem !important;
}

.k-mr--21 {
    margin-right: -5.25rem;
}

.\!k-mr--21 {
    margin-right: -5.25rem !important;
}

.k-mr--22 {
    margin-right: -5.5rem;
}

.\!k-mr--22 {
    margin-right: -5.5rem !important;
}

.k-mr--23 {
    margin-right: -5.75rem;
}

.\!k-mr--23 {
    margin-right: -5.75rem !important;
}

.k-mr--24 {
    margin-right: -6rem;
}

.\!k-mr--24 {
    margin-right: -6rem !important;
}

.k-mr-xs {
    margin-right: 0.25rem;
}

.\!k-mr-xs {
    margin-right: 0.25rem !important;
}

.k-mr-sm {
    margin-right: 0.5rem;
}

.\!k-mr-sm {
    margin-right: 0.5rem !important;
}

.k-mr-md {
    margin-right: 0.75rem;
}

.\!k-mr-md {
    margin-right: 0.75rem !important;
}

.k-mr-lg {
    margin-right: 1rem;
}

.\!k-mr-lg {
    margin-right: 1rem !important;
}

.k-mr-xl {
    margin-right: 1.5rem;
}

.\!k-mr-xl {
    margin-right: 1.5rem !important;
}

.k-mr-thin {
    margin-right: 0.125rem;
}

.\!k-mr-thin {
    margin-right: 0.125rem !important;
}

.k-mr-hair {
    margin-right: 1px;
}

.\!k-mr-hair {
    margin-right: 1px !important;
}

.k-mr-auto {
    margin-right: auto;
}

.\!k-mr-auto {
    margin-right: auto !important;
}

.k-mb-0 {
    margin-bottom: 0;
}

.\!k-mb-0 {
    margin-bottom: 0 !important;
}

.k-mb-1px {
    margin-bottom: 1px;
}

.\!k-mb-1px {
    margin-bottom: 1px !important;
}

.k-mb-0\.5 {
    margin-bottom: 0.125rem;
}

.\!k-mb-0\.5 {
    margin-bottom: 0.125rem !important;
}

.k-mb-1 {
    margin-bottom: 0.25rem;
}

.\!k-mb-1 {
    margin-bottom: 0.25rem !important;
}

.k-mb-1\.5 {
    margin-bottom: 0.375rem;
}

.\!k-mb-1\.5 {
    margin-bottom: 0.375rem !important;
}

.k-mb-2 {
    margin-bottom: 0.5rem;
}

.\!k-mb-2 {
    margin-bottom: 0.5rem !important;
}

.k-mb-2\.5 {
    margin-bottom: 0.625rem;
}

.\!k-mb-2\.5 {
    margin-bottom: 0.625rem !important;
}

.k-mb-3 {
    margin-bottom: 0.75rem;
}

.\!k-mb-3 {
    margin-bottom: 0.75rem !important;
}

.k-mb-3\.5 {
    margin-bottom: 0.875rem;
}

.\!k-mb-3\.5 {
    margin-bottom: 0.875rem !important;
}

.k-mb-4 {
    margin-bottom: 1rem;
}

.\!k-mb-4 {
    margin-bottom: 1rem !important;
}

.k-mb-4\.5 {
    margin-bottom: 1.125rem;
}

.\!k-mb-4\.5 {
    margin-bottom: 1.125rem !important;
}

.k-mb-5 {
    margin-bottom: 1.25rem;
}

.\!k-mb-5 {
    margin-bottom: 1.25rem !important;
}

.k-mb-5\.5 {
    margin-bottom: 1.375rem;
}

.\!k-mb-5\.5 {
    margin-bottom: 1.375rem !important;
}

.k-mb-6 {
    margin-bottom: 1.5rem;
}

.\!k-mb-6 {
    margin-bottom: 1.5rem !important;
}

.k-mb-6\.5 {
    margin-bottom: 1.625rem;
}

.\!k-mb-6\.5 {
    margin-bottom: 1.625rem !important;
}

.k-mb-7 {
    margin-bottom: 1.75rem;
}

.\!k-mb-7 {
    margin-bottom: 1.75rem !important;
}

.k-mb-7\.5 {
    margin-bottom: 1.875rem;
}

.\!k-mb-7\.5 {
    margin-bottom: 1.875rem !important;
}

.k-mb-8 {
    margin-bottom: 2rem;
}

.\!k-mb-8 {
    margin-bottom: 2rem !important;
}

.k-mb-9 {
    margin-bottom: 2.25rem;
}

.\!k-mb-9 {
    margin-bottom: 2.25rem !important;
}

.k-mb-10 {
    margin-bottom: 2.5rem;
}

.\!k-mb-10 {
    margin-bottom: 2.5rem !important;
}

.k-mb-11 {
    margin-bottom: 2.75rem;
}

.\!k-mb-11 {
    margin-bottom: 2.75rem !important;
}

.k-mb-12 {
    margin-bottom: 3rem;
}

.\!k-mb-12 {
    margin-bottom: 3rem !important;
}

.k-mb-13 {
    margin-bottom: 3.25rem;
}

.\!k-mb-13 {
    margin-bottom: 3.25rem !important;
}

.k-mb-14 {
    margin-bottom: 3.5rem;
}

.\!k-mb-14 {
    margin-bottom: 3.5rem !important;
}

.k-mb-15 {
    margin-bottom: 3.75rem;
}

.\!k-mb-15 {
    margin-bottom: 3.75rem !important;
}

.k-mb-16 {
    margin-bottom: 4rem;
}

.\!k-mb-16 {
    margin-bottom: 4rem !important;
}

.k-mb-17 {
    margin-bottom: 4.25rem;
}

.\!k-mb-17 {
    margin-bottom: 4.25rem !important;
}

.k-mb-18 {
    margin-bottom: 4.5rem;
}

.\!k-mb-18 {
    margin-bottom: 4.5rem !important;
}

.k-mb-19 {
    margin-bottom: 4.75rem;
}

.\!k-mb-19 {
    margin-bottom: 4.75rem !important;
}

.k-mb-20 {
    margin-bottom: 5rem;
}

.\!k-mb-20 {
    margin-bottom: 5rem !important;
}

.k-mb-21 {
    margin-bottom: 5.25rem;
}

.\!k-mb-21 {
    margin-bottom: 5.25rem !important;
}

.k-mb-22 {
    margin-bottom: 5.5rem;
}

.\!k-mb-22 {
    margin-bottom: 5.5rem !important;
}

.k-mb-23 {
    margin-bottom: 5.75rem;
}

.\!k-mb-23 {
    margin-bottom: 5.75rem !important;
}

.k-mb-24 {
    margin-bottom: 6rem;
}

.\!k-mb-24 {
    margin-bottom: 6rem !important;
}

.k-mb--1px {
    margin-bottom: -1px;
}

.\!k-mb--1px {
    margin-bottom: -1px !important;
}

.k-mb--0\.5 {
    margin-bottom: -0.125rem;
}

.\!k-mb--0\.5 {
    margin-bottom: -0.125rem !important;
}

.k-mb--1 {
    margin-bottom: -0.25rem;
}

.\!k-mb--1 {
    margin-bottom: -0.25rem !important;
}

.k-mb--1\.5 {
    margin-bottom: -0.375rem;
}

.\!k-mb--1\.5 {
    margin-bottom: -0.375rem !important;
}

.k-mb--2 {
    margin-bottom: -0.5rem;
}

.\!k-mb--2 {
    margin-bottom: -0.5rem !important;
}

.k-mb--2\.5 {
    margin-bottom: -0.625rem;
}

.\!k-mb--2\.5 {
    margin-bottom: -0.625rem !important;
}

.k-mb--3 {
    margin-bottom: -0.75rem;
}

.\!k-mb--3 {
    margin-bottom: -0.75rem !important;
}

.k-mb--3\.5 {
    margin-bottom: -0.875rem;
}

.\!k-mb--3\.5 {
    margin-bottom: -0.875rem !important;
}

.k-mb--4 {
    margin-bottom: -1rem;
}

.\!k-mb--4 {
    margin-bottom: -1rem !important;
}

.k-mb--4\.5 {
    margin-bottom: -1.125rem;
}

.\!k-mb--4\.5 {
    margin-bottom: -1.125rem !important;
}

.k-mb--5 {
    margin-bottom: -1.25rem;
}

.\!k-mb--5 {
    margin-bottom: -1.25rem !important;
}

.k-mb--5\.5 {
    margin-bottom: -1.375rem;
}

.\!k-mb--5\.5 {
    margin-bottom: -1.375rem !important;
}

.k-mb--6 {
    margin-bottom: -1.5rem;
}

.\!k-mb--6 {
    margin-bottom: -1.5rem !important;
}

.k-mb--6\.5 {
    margin-bottom: -1.625rem;
}

.\!k-mb--6\.5 {
    margin-bottom: -1.625rem !important;
}

.k-mb--7 {
    margin-bottom: -1.75rem;
}

.\!k-mb--7 {
    margin-bottom: -1.75rem !important;
}

.k-mb--7\.5 {
    margin-bottom: -1.875rem;
}

.\!k-mb--7\.5 {
    margin-bottom: -1.875rem !important;
}

.k-mb--8 {
    margin-bottom: -2rem;
}

.\!k-mb--8 {
    margin-bottom: -2rem !important;
}

.k-mb--9 {
    margin-bottom: -2.25rem;
}

.\!k-mb--9 {
    margin-bottom: -2.25rem !important;
}

.k-mb--10 {
    margin-bottom: -2.5rem;
}

.\!k-mb--10 {
    margin-bottom: -2.5rem !important;
}

.k-mb--11 {
    margin-bottom: -2.75rem;
}

.\!k-mb--11 {
    margin-bottom: -2.75rem !important;
}

.k-mb--12 {
    margin-bottom: -3rem;
}

.\!k-mb--12 {
    margin-bottom: -3rem !important;
}

.k-mb--13 {
    margin-bottom: -3.25rem;
}

.\!k-mb--13 {
    margin-bottom: -3.25rem !important;
}

.k-mb--14 {
    margin-bottom: -3.5rem;
}

.\!k-mb--14 {
    margin-bottom: -3.5rem !important;
}

.k-mb--15 {
    margin-bottom: -3.75rem;
}

.\!k-mb--15 {
    margin-bottom: -3.75rem !important;
}

.k-mb--16 {
    margin-bottom: -4rem;
}

.\!k-mb--16 {
    margin-bottom: -4rem !important;
}

.k-mb--17 {
    margin-bottom: -4.25rem;
}

.\!k-mb--17 {
    margin-bottom: -4.25rem !important;
}

.k-mb--18 {
    margin-bottom: -4.5rem;
}

.\!k-mb--18 {
    margin-bottom: -4.5rem !important;
}

.k-mb--19 {
    margin-bottom: -4.75rem;
}

.\!k-mb--19 {
    margin-bottom: -4.75rem !important;
}

.k-mb--20 {
    margin-bottom: -5rem;
}

.\!k-mb--20 {
    margin-bottom: -5rem !important;
}

.k-mb--21 {
    margin-bottom: -5.25rem;
}

.\!k-mb--21 {
    margin-bottom: -5.25rem !important;
}

.k-mb--22 {
    margin-bottom: -5.5rem;
}

.\!k-mb--22 {
    margin-bottom: -5.5rem !important;
}

.k-mb--23 {
    margin-bottom: -5.75rem;
}

.\!k-mb--23 {
    margin-bottom: -5.75rem !important;
}

.k-mb--24 {
    margin-bottom: -6rem;
}

.\!k-mb--24 {
    margin-bottom: -6rem !important;
}

.k-mb-xs {
    margin-bottom: 0.25rem;
}

.\!k-mb-xs {
    margin-bottom: 0.25rem !important;
}

.k-mb-sm {
    margin-bottom: 0.5rem;
}

.\!k-mb-sm {
    margin-bottom: 0.5rem !important;
}

.k-mb-md {
    margin-bottom: 0.75rem;
}

.\!k-mb-md {
    margin-bottom: 0.75rem !important;
}

.k-mb-lg {
    margin-bottom: 1rem;
}

.\!k-mb-lg {
    margin-bottom: 1rem !important;
}

.k-mb-xl {
    margin-bottom: 1.5rem;
}

.\!k-mb-xl {
    margin-bottom: 1.5rem !important;
}

.k-mb-thin {
    margin-bottom: 0.125rem;
}

.\!k-mb-thin {
    margin-bottom: 0.125rem !important;
}

.k-mb-hair {
    margin-bottom: 1px;
}

.\!k-mb-hair {
    margin-bottom: 1px !important;
}

.k-mb-auto {
    margin-bottom: auto;
}

.\!k-mb-auto {
    margin-bottom: auto !important;
}

.k-ml-0 {
    margin-left: 0;
}

.\!k-ml-0 {
    margin-left: 0 !important;
}

.k-ml-1px {
    margin-left: 1px;
}

.\!k-ml-1px {
    margin-left: 1px !important;
}

.k-ml-0\.5 {
    margin-left: 0.125rem;
}

.\!k-ml-0\.5 {
    margin-left: 0.125rem !important;
}

.k-ml-1 {
    margin-left: 0.25rem;
}

.\!k-ml-1 {
    margin-left: 0.25rem !important;
}

.k-ml-1\.5 {
    margin-left: 0.375rem;
}

.\!k-ml-1\.5 {
    margin-left: 0.375rem !important;
}

.k-ml-2 {
    margin-left: 0.5rem;
}

.\!k-ml-2 {
    margin-left: 0.5rem !important;
}

.k-ml-2\.5 {
    margin-left: 0.625rem;
}

.\!k-ml-2\.5 {
    margin-left: 0.625rem !important;
}

.k-ml-3 {
    margin-left: 0.75rem;
}

.\!k-ml-3 {
    margin-left: 0.75rem !important;
}

.k-ml-3\.5 {
    margin-left: 0.875rem;
}

.\!k-ml-3\.5 {
    margin-left: 0.875rem !important;
}

.k-ml-4 {
    margin-left: 1rem;
}

.\!k-ml-4 {
    margin-left: 1rem !important;
}

.k-ml-4\.5 {
    margin-left: 1.125rem;
}

.\!k-ml-4\.5 {
    margin-left: 1.125rem !important;
}

.k-ml-5 {
    margin-left: 1.25rem;
}

.\!k-ml-5 {
    margin-left: 1.25rem !important;
}

.k-ml-5\.5 {
    margin-left: 1.375rem;
}

.\!k-ml-5\.5 {
    margin-left: 1.375rem !important;
}

.k-ml-6 {
    margin-left: 1.5rem;
}

.\!k-ml-6 {
    margin-left: 1.5rem !important;
}

.k-ml-6\.5 {
    margin-left: 1.625rem;
}

.\!k-ml-6\.5 {
    margin-left: 1.625rem !important;
}

.k-ml-7 {
    margin-left: 1.75rem;
}

.\!k-ml-7 {
    margin-left: 1.75rem !important;
}

.k-ml-7\.5 {
    margin-left: 1.875rem;
}

.\!k-ml-7\.5 {
    margin-left: 1.875rem !important;
}

.k-ml-8 {
    margin-left: 2rem;
}

.\!k-ml-8 {
    margin-left: 2rem !important;
}

.k-ml-9 {
    margin-left: 2.25rem;
}

.\!k-ml-9 {
    margin-left: 2.25rem !important;
}

.k-ml-10 {
    margin-left: 2.5rem;
}

.\!k-ml-10 {
    margin-left: 2.5rem !important;
}

.k-ml-11 {
    margin-left: 2.75rem;
}

.\!k-ml-11 {
    margin-left: 2.75rem !important;
}

.k-ml-12 {
    margin-left: 3rem;
}

.\!k-ml-12 {
    margin-left: 3rem !important;
}

.k-ml-13 {
    margin-left: 3.25rem;
}

.\!k-ml-13 {
    margin-left: 3.25rem !important;
}

.k-ml-14 {
    margin-left: 3.5rem;
}

.\!k-ml-14 {
    margin-left: 3.5rem !important;
}

.k-ml-15 {
    margin-left: 3.75rem;
}

.\!k-ml-15 {
    margin-left: 3.75rem !important;
}

.k-ml-16 {
    margin-left: 4rem;
}

.\!k-ml-16 {
    margin-left: 4rem !important;
}

.k-ml-17 {
    margin-left: 4.25rem;
}

.\!k-ml-17 {
    margin-left: 4.25rem !important;
}

.k-ml-18 {
    margin-left: 4.5rem;
}

.\!k-ml-18 {
    margin-left: 4.5rem !important;
}

.k-ml-19 {
    margin-left: 4.75rem;
}

.\!k-ml-19 {
    margin-left: 4.75rem !important;
}

.k-ml-20 {
    margin-left: 5rem;
}

.\!k-ml-20 {
    margin-left: 5rem !important;
}

.k-ml-21 {
    margin-left: 5.25rem;
}

.\!k-ml-21 {
    margin-left: 5.25rem !important;
}

.k-ml-22 {
    margin-left: 5.5rem;
}

.\!k-ml-22 {
    margin-left: 5.5rem !important;
}

.k-ml-23 {
    margin-left: 5.75rem;
}

.\!k-ml-23 {
    margin-left: 5.75rem !important;
}

.k-ml-24 {
    margin-left: 6rem;
}

.\!k-ml-24 {
    margin-left: 6rem !important;
}

.k-ml--1px {
    margin-left: -1px;
}

.\!k-ml--1px {
    margin-left: -1px !important;
}

.k-ml--0\.5 {
    margin-left: -0.125rem;
}

.\!k-ml--0\.5 {
    margin-left: -0.125rem !important;
}

.k-ml--1 {
    margin-left: -0.25rem;
}

.\!k-ml--1 {
    margin-left: -0.25rem !important;
}

.k-ml--1\.5 {
    margin-left: -0.375rem;
}

.\!k-ml--1\.5 {
    margin-left: -0.375rem !important;
}

.k-ml--2 {
    margin-left: -0.5rem;
}

.\!k-ml--2 {
    margin-left: -0.5rem !important;
}

.k-ml--2\.5 {
    margin-left: -0.625rem;
}

.\!k-ml--2\.5 {
    margin-left: -0.625rem !important;
}

.k-ml--3 {
    margin-left: -0.75rem;
}

.\!k-ml--3 {
    margin-left: -0.75rem !important;
}

.k-ml--3\.5 {
    margin-left: -0.875rem;
}

.\!k-ml--3\.5 {
    margin-left: -0.875rem !important;
}

.k-ml--4 {
    margin-left: -1rem;
}

.\!k-ml--4 {
    margin-left: -1rem !important;
}

.k-ml--4\.5 {
    margin-left: -1.125rem;
}

.\!k-ml--4\.5 {
    margin-left: -1.125rem !important;
}

.k-ml--5 {
    margin-left: -1.25rem;
}

.\!k-ml--5 {
    margin-left: -1.25rem !important;
}

.k-ml--5\.5 {
    margin-left: -1.375rem;
}

.\!k-ml--5\.5 {
    margin-left: -1.375rem !important;
}

.k-ml--6 {
    margin-left: -1.5rem;
}

.\!k-ml--6 {
    margin-left: -1.5rem !important;
}

.k-ml--6\.5 {
    margin-left: -1.625rem;
}

.\!k-ml--6\.5 {
    margin-left: -1.625rem !important;
}

.k-ml--7 {
    margin-left: -1.75rem;
}

.\!k-ml--7 {
    margin-left: -1.75rem !important;
}

.k-ml--7\.5 {
    margin-left: -1.875rem;
}

.\!k-ml--7\.5 {
    margin-left: -1.875rem !important;
}

.k-ml--8 {
    margin-left: -2rem;
}

.\!k-ml--8 {
    margin-left: -2rem !important;
}

.k-ml--9 {
    margin-left: -2.25rem;
}

.\!k-ml--9 {
    margin-left: -2.25rem !important;
}

.k-ml--10 {
    margin-left: -2.5rem;
}

.\!k-ml--10 {
    margin-left: -2.5rem !important;
}

.k-ml--11 {
    margin-left: -2.75rem;
}

.\!k-ml--11 {
    margin-left: -2.75rem !important;
}

.k-ml--12 {
    margin-left: -3rem;
}

.\!k-ml--12 {
    margin-left: -3rem !important;
}

.k-ml--13 {
    margin-left: -3.25rem;
}

.\!k-ml--13 {
    margin-left: -3.25rem !important;
}

.k-ml--14 {
    margin-left: -3.5rem;
}

.\!k-ml--14 {
    margin-left: -3.5rem !important;
}

.k-ml--15 {
    margin-left: -3.75rem;
}

.\!k-ml--15 {
    margin-left: -3.75rem !important;
}

.k-ml--16 {
    margin-left: -4rem;
}

.\!k-ml--16 {
    margin-left: -4rem !important;
}

.k-ml--17 {
    margin-left: -4.25rem;
}

.\!k-ml--17 {
    margin-left: -4.25rem !important;
}

.k-ml--18 {
    margin-left: -4.5rem;
}

.\!k-ml--18 {
    margin-left: -4.5rem !important;
}

.k-ml--19 {
    margin-left: -4.75rem;
}

.\!k-ml--19 {
    margin-left: -4.75rem !important;
}

.k-ml--20 {
    margin-left: -5rem;
}

.\!k-ml--20 {
    margin-left: -5rem !important;
}

.k-ml--21 {
    margin-left: -5.25rem;
}

.\!k-ml--21 {
    margin-left: -5.25rem !important;
}

.k-ml--22 {
    margin-left: -5.5rem;
}

.\!k-ml--22 {
    margin-left: -5.5rem !important;
}

.k-ml--23 {
    margin-left: -5.75rem;
}

.\!k-ml--23 {
    margin-left: -5.75rem !important;
}

.k-ml--24 {
    margin-left: -6rem;
}

.\!k-ml--24 {
    margin-left: -6rem !important;
}

.k-ml-xs {
    margin-left: 0.25rem;
}

.\!k-ml-xs {
    margin-left: 0.25rem !important;
}

.k-ml-sm {
    margin-left: 0.5rem;
}

.\!k-ml-sm {
    margin-left: 0.5rem !important;
}

.k-ml-md {
    margin-left: 0.75rem;
}

.\!k-ml-md {
    margin-left: 0.75rem !important;
}

.k-ml-lg {
    margin-left: 1rem;
}

.\!k-ml-lg {
    margin-left: 1rem !important;
}

.k-ml-xl {
    margin-left: 1.5rem;
}

.\!k-ml-xl {
    margin-left: 1.5rem !important;
}

.k-ml-thin {
    margin-left: 0.125rem;
}

.\!k-ml-thin {
    margin-left: 0.125rem !important;
}

.k-ml-hair {
    margin-left: 1px;
}

.\!k-ml-hair {
    margin-left: 1px !important;
}

.k-ml-auto {
    margin-left: auto;
}

.\!k-ml-auto {
    margin-left: auto !important;
}

.k-mx-0 {
    margin-inline: 0;
}

.\!k-mx-0 {
    margin-inline: 0 !important;
}

.k-mx-1px {
    margin-inline: 1px;
}

.\!k-mx-1px {
    margin-inline: 1px !important;
}

.k-mx-0\.5 {
    margin-inline: 0.125rem;
}

.\!k-mx-0\.5 {
    margin-inline: 0.125rem !important;
}

.k-mx-1 {
    margin-inline: 0.25rem;
}

.\!k-mx-1 {
    margin-inline: 0.25rem !important;
}

.k-mx-1\.5 {
    margin-inline: 0.375rem;
}

.\!k-mx-1\.5 {
    margin-inline: 0.375rem !important;
}

.k-mx-2 {
    margin-inline: 0.5rem;
}

.\!k-mx-2 {
    margin-inline: 0.5rem !important;
}

.k-mx-2\.5 {
    margin-inline: 0.625rem;
}

.\!k-mx-2\.5 {
    margin-inline: 0.625rem !important;
}

.k-mx-3 {
    margin-inline: 0.75rem;
}

.\!k-mx-3 {
    margin-inline: 0.75rem !important;
}

.k-mx-3\.5 {
    margin-inline: 0.875rem;
}

.\!k-mx-3\.5 {
    margin-inline: 0.875rem !important;
}

.k-mx-4 {
    margin-inline: 1rem;
}

.\!k-mx-4 {
    margin-inline: 1rem !important;
}

.k-mx-4\.5 {
    margin-inline: 1.125rem;
}

.\!k-mx-4\.5 {
    margin-inline: 1.125rem !important;
}

.k-mx-5 {
    margin-inline: 1.25rem;
}

.\!k-mx-5 {
    margin-inline: 1.25rem !important;
}

.k-mx-5\.5 {
    margin-inline: 1.375rem;
}

.\!k-mx-5\.5 {
    margin-inline: 1.375rem !important;
}

.k-mx-6 {
    margin-inline: 1.5rem;
}

.\!k-mx-6 {
    margin-inline: 1.5rem !important;
}

.k-mx-6\.5 {
    margin-inline: 1.625rem;
}

.\!k-mx-6\.5 {
    margin-inline: 1.625rem !important;
}

.k-mx-7 {
    margin-inline: 1.75rem;
}

.\!k-mx-7 {
    margin-inline: 1.75rem !important;
}

.k-mx-7\.5 {
    margin-inline: 1.875rem;
}

.\!k-mx-7\.5 {
    margin-inline: 1.875rem !important;
}

.k-mx-8 {
    margin-inline: 2rem;
}

.\!k-mx-8 {
    margin-inline: 2rem !important;
}

.k-mx-9 {
    margin-inline: 2.25rem;
}

.\!k-mx-9 {
    margin-inline: 2.25rem !important;
}

.k-mx-10 {
    margin-inline: 2.5rem;
}

.\!k-mx-10 {
    margin-inline: 2.5rem !important;
}

.k-mx-11 {
    margin-inline: 2.75rem;
}

.\!k-mx-11 {
    margin-inline: 2.75rem !important;
}

.k-mx-12 {
    margin-inline: 3rem;
}

.\!k-mx-12 {
    margin-inline: 3rem !important;
}

.k-mx-13 {
    margin-inline: 3.25rem;
}

.\!k-mx-13 {
    margin-inline: 3.25rem !important;
}

.k-mx-14 {
    margin-inline: 3.5rem;
}

.\!k-mx-14 {
    margin-inline: 3.5rem !important;
}

.k-mx-15 {
    margin-inline: 3.75rem;
}

.\!k-mx-15 {
    margin-inline: 3.75rem !important;
}

.k-mx-16 {
    margin-inline: 4rem;
}

.\!k-mx-16 {
    margin-inline: 4rem !important;
}

.k-mx-17 {
    margin-inline: 4.25rem;
}

.\!k-mx-17 {
    margin-inline: 4.25rem !important;
}

.k-mx-18 {
    margin-inline: 4.5rem;
}

.\!k-mx-18 {
    margin-inline: 4.5rem !important;
}

.k-mx-19 {
    margin-inline: 4.75rem;
}

.\!k-mx-19 {
    margin-inline: 4.75rem !important;
}

.k-mx-20 {
    margin-inline: 5rem;
}

.\!k-mx-20 {
    margin-inline: 5rem !important;
}

.k-mx-21 {
    margin-inline: 5.25rem;
}

.\!k-mx-21 {
    margin-inline: 5.25rem !important;
}

.k-mx-22 {
    margin-inline: 5.5rem;
}

.\!k-mx-22 {
    margin-inline: 5.5rem !important;
}

.k-mx-23 {
    margin-inline: 5.75rem;
}

.\!k-mx-23 {
    margin-inline: 5.75rem !important;
}

.k-mx-24 {
    margin-inline: 6rem;
}

.\!k-mx-24 {
    margin-inline: 6rem !important;
}

.k-mx--1px {
    margin-inline: -1px;
}

.\!k-mx--1px {
    margin-inline: -1px !important;
}

.k-mx--0\.5 {
    margin-inline: -0.125rem;
}

.\!k-mx--0\.5 {
    margin-inline: -0.125rem !important;
}

.k-mx--1 {
    margin-inline: -0.25rem;
}

.\!k-mx--1 {
    margin-inline: -0.25rem !important;
}

.k-mx--1\.5 {
    margin-inline: -0.375rem;
}

.\!k-mx--1\.5 {
    margin-inline: -0.375rem !important;
}

.k-mx--2 {
    margin-inline: -0.5rem;
}

.\!k-mx--2 {
    margin-inline: -0.5rem !important;
}

.k-mx--2\.5 {
    margin-inline: -0.625rem;
}

.\!k-mx--2\.5 {
    margin-inline: -0.625rem !important;
}

.k-mx--3 {
    margin-inline: -0.75rem;
}

.\!k-mx--3 {
    margin-inline: -0.75rem !important;
}

.k-mx--3\.5 {
    margin-inline: -0.875rem;
}

.\!k-mx--3\.5 {
    margin-inline: -0.875rem !important;
}

.k-mx--4 {
    margin-inline: -1rem;
}

.\!k-mx--4 {
    margin-inline: -1rem !important;
}

.k-mx--4\.5 {
    margin-inline: -1.125rem;
}

.\!k-mx--4\.5 {
    margin-inline: -1.125rem !important;
}

.k-mx--5 {
    margin-inline: -1.25rem;
}

.\!k-mx--5 {
    margin-inline: -1.25rem !important;
}

.k-mx--5\.5 {
    margin-inline: -1.375rem;
}

.\!k-mx--5\.5 {
    margin-inline: -1.375rem !important;
}

.k-mx--6 {
    margin-inline: -1.5rem;
}

.\!k-mx--6 {
    margin-inline: -1.5rem !important;
}

.k-mx--6\.5 {
    margin-inline: -1.625rem;
}

.\!k-mx--6\.5 {
    margin-inline: -1.625rem !important;
}

.k-mx--7 {
    margin-inline: -1.75rem;
}

.\!k-mx--7 {
    margin-inline: -1.75rem !important;
}

.k-mx--7\.5 {
    margin-inline: -1.875rem;
}

.\!k-mx--7\.5 {
    margin-inline: -1.875rem !important;
}

.k-mx--8 {
    margin-inline: -2rem;
}

.\!k-mx--8 {
    margin-inline: -2rem !important;
}

.k-mx--9 {
    margin-inline: -2.25rem;
}

.\!k-mx--9 {
    margin-inline: -2.25rem !important;
}

.k-mx--10 {
    margin-inline: -2.5rem;
}

.\!k-mx--10 {
    margin-inline: -2.5rem !important;
}

.k-mx--11 {
    margin-inline: -2.75rem;
}

.\!k-mx--11 {
    margin-inline: -2.75rem !important;
}

.k-mx--12 {
    margin-inline: -3rem;
}

.\!k-mx--12 {
    margin-inline: -3rem !important;
}

.k-mx--13 {
    margin-inline: -3.25rem;
}

.\!k-mx--13 {
    margin-inline: -3.25rem !important;
}

.k-mx--14 {
    margin-inline: -3.5rem;
}

.\!k-mx--14 {
    margin-inline: -3.5rem !important;
}

.k-mx--15 {
    margin-inline: -3.75rem;
}

.\!k-mx--15 {
    margin-inline: -3.75rem !important;
}

.k-mx--16 {
    margin-inline: -4rem;
}

.\!k-mx--16 {
    margin-inline: -4rem !important;
}

.k-mx--17 {
    margin-inline: -4.25rem;
}

.\!k-mx--17 {
    margin-inline: -4.25rem !important;
}

.k-mx--18 {
    margin-inline: -4.5rem;
}

.\!k-mx--18 {
    margin-inline: -4.5rem !important;
}

.k-mx--19 {
    margin-inline: -4.75rem;
}

.\!k-mx--19 {
    margin-inline: -4.75rem !important;
}

.k-mx--20 {
    margin-inline: -5rem;
}

.\!k-mx--20 {
    margin-inline: -5rem !important;
}

.k-mx--21 {
    margin-inline: -5.25rem;
}

.\!k-mx--21 {
    margin-inline: -5.25rem !important;
}

.k-mx--22 {
    margin-inline: -5.5rem;
}

.\!k-mx--22 {
    margin-inline: -5.5rem !important;
}

.k-mx--23 {
    margin-inline: -5.75rem;
}

.\!k-mx--23 {
    margin-inline: -5.75rem !important;
}

.k-mx--24 {
    margin-inline: -6rem;
}

.\!k-mx--24 {
    margin-inline: -6rem !important;
}

.k-mx-xs {
    margin-inline: 0.25rem;
}

.\!k-mx-xs {
    margin-inline: 0.25rem !important;
}

.k-mx-sm {
    margin-inline: 0.5rem;
}

.\!k-mx-sm {
    margin-inline: 0.5rem !important;
}

.k-mx-md {
    margin-inline: 0.75rem;
}

.\!k-mx-md {
    margin-inline: 0.75rem !important;
}

.k-mx-lg {
    margin-inline: 1rem;
}

.\!k-mx-lg {
    margin-inline: 1rem !important;
}

.k-mx-xl {
    margin-inline: 1.5rem;
}

.\!k-mx-xl {
    margin-inline: 1.5rem !important;
}

.k-mx-thin {
    margin-inline: 0.125rem;
}

.\!k-mx-thin {
    margin-inline: 0.125rem !important;
}

.k-mx-hair {
    margin-inline: 1px;
}

.\!k-mx-hair {
    margin-inline: 1px !important;
}

.k-mx-auto {
    margin-inline: auto;
}

.\!k-mx-auto {
    margin-inline: auto !important;
}

.k-my-0 {
    margin-block: 0;
}

.\!k-my-0 {
    margin-block: 0 !important;
}

.k-my-1px {
    margin-block: 1px;
}

.\!k-my-1px {
    margin-block: 1px !important;
}

.k-my-0\.5 {
    margin-block: 0.125rem;
}

.\!k-my-0\.5 {
    margin-block: 0.125rem !important;
}

.k-my-1 {
    margin-block: 0.25rem;
}

.\!k-my-1 {
    margin-block: 0.25rem !important;
}

.k-my-1\.5 {
    margin-block: 0.375rem;
}

.\!k-my-1\.5 {
    margin-block: 0.375rem !important;
}

.k-my-2 {
    margin-block: 0.5rem;
}

.\!k-my-2 {
    margin-block: 0.5rem !important;
}

.k-my-2\.5 {
    margin-block: 0.625rem;
}

.\!k-my-2\.5 {
    margin-block: 0.625rem !important;
}

.k-my-3 {
    margin-block: 0.75rem;
}

.\!k-my-3 {
    margin-block: 0.75rem !important;
}

.k-my-3\.5 {
    margin-block: 0.875rem;
}

.\!k-my-3\.5 {
    margin-block: 0.875rem !important;
}

.k-my-4 {
    margin-block: 1rem;
}

.\!k-my-4 {
    margin-block: 1rem !important;
}

.k-my-4\.5 {
    margin-block: 1.125rem;
}

.\!k-my-4\.5 {
    margin-block: 1.125rem !important;
}

.k-my-5 {
    margin-block: 1.25rem;
}

.\!k-my-5 {
    margin-block: 1.25rem !important;
}

.k-my-5\.5 {
    margin-block: 1.375rem;
}

.\!k-my-5\.5 {
    margin-block: 1.375rem !important;
}

.k-my-6 {
    margin-block: 1.5rem;
}

.\!k-my-6 {
    margin-block: 1.5rem !important;
}

.k-my-6\.5 {
    margin-block: 1.625rem;
}

.\!k-my-6\.5 {
    margin-block: 1.625rem !important;
}

.k-my-7 {
    margin-block: 1.75rem;
}

.\!k-my-7 {
    margin-block: 1.75rem !important;
}

.k-my-7\.5 {
    margin-block: 1.875rem;
}

.\!k-my-7\.5 {
    margin-block: 1.875rem !important;
}

.k-my-8 {
    margin-block: 2rem;
}

.\!k-my-8 {
    margin-block: 2rem !important;
}

.k-my-9 {
    margin-block: 2.25rem;
}

.\!k-my-9 {
    margin-block: 2.25rem !important;
}

.k-my-10 {
    margin-block: 2.5rem;
}

.\!k-my-10 {
    margin-block: 2.5rem !important;
}

.k-my-11 {
    margin-block: 2.75rem;
}

.\!k-my-11 {
    margin-block: 2.75rem !important;
}

.k-my-12 {
    margin-block: 3rem;
}

.\!k-my-12 {
    margin-block: 3rem !important;
}

.k-my-13 {
    margin-block: 3.25rem;
}

.\!k-my-13 {
    margin-block: 3.25rem !important;
}

.k-my-14 {
    margin-block: 3.5rem;
}

.\!k-my-14 {
    margin-block: 3.5rem !important;
}

.k-my-15 {
    margin-block: 3.75rem;
}

.\!k-my-15 {
    margin-block: 3.75rem !important;
}

.k-my-16 {
    margin-block: 4rem;
}

.\!k-my-16 {
    margin-block: 4rem !important;
}

.k-my-17 {
    margin-block: 4.25rem;
}

.\!k-my-17 {
    margin-block: 4.25rem !important;
}

.k-my-18 {
    margin-block: 4.5rem;
}

.\!k-my-18 {
    margin-block: 4.5rem !important;
}

.k-my-19 {
    margin-block: 4.75rem;
}

.\!k-my-19 {
    margin-block: 4.75rem !important;
}

.k-my-20 {
    margin-block: 5rem;
}

.\!k-my-20 {
    margin-block: 5rem !important;
}

.k-my-21 {
    margin-block: 5.25rem;
}

.\!k-my-21 {
    margin-block: 5.25rem !important;
}

.k-my-22 {
    margin-block: 5.5rem;
}

.\!k-my-22 {
    margin-block: 5.5rem !important;
}

.k-my-23 {
    margin-block: 5.75rem;
}

.\!k-my-23 {
    margin-block: 5.75rem !important;
}

.k-my-24 {
    margin-block: 6rem;
}

.\!k-my-24 {
    margin-block: 6rem !important;
}

.k-my--1px {
    margin-block: -1px;
}

.\!k-my--1px {
    margin-block: -1px !important;
}

.k-my--0\.5 {
    margin-block: -0.125rem;
}

.\!k-my--0\.5 {
    margin-block: -0.125rem !important;
}

.k-my--1 {
    margin-block: -0.25rem;
}

.\!k-my--1 {
    margin-block: -0.25rem !important;
}

.k-my--1\.5 {
    margin-block: -0.375rem;
}

.\!k-my--1\.5 {
    margin-block: -0.375rem !important;
}

.k-my--2 {
    margin-block: -0.5rem;
}

.\!k-my--2 {
    margin-block: -0.5rem !important;
}

.k-my--2\.5 {
    margin-block: -0.625rem;
}

.\!k-my--2\.5 {
    margin-block: -0.625rem !important;
}

.k-my--3 {
    margin-block: -0.75rem;
}

.\!k-my--3 {
    margin-block: -0.75rem !important;
}

.k-my--3\.5 {
    margin-block: -0.875rem;
}

.\!k-my--3\.5 {
    margin-block: -0.875rem !important;
}

.k-my--4 {
    margin-block: -1rem;
}

.\!k-my--4 {
    margin-block: -1rem !important;
}

.k-my--4\.5 {
    margin-block: -1.125rem;
}

.\!k-my--4\.5 {
    margin-block: -1.125rem !important;
}

.k-my--5 {
    margin-block: -1.25rem;
}

.\!k-my--5 {
    margin-block: -1.25rem !important;
}

.k-my--5\.5 {
    margin-block: -1.375rem;
}

.\!k-my--5\.5 {
    margin-block: -1.375rem !important;
}

.k-my--6 {
    margin-block: -1.5rem;
}

.\!k-my--6 {
    margin-block: -1.5rem !important;
}

.k-my--6\.5 {
    margin-block: -1.625rem;
}

.\!k-my--6\.5 {
    margin-block: -1.625rem !important;
}

.k-my--7 {
    margin-block: -1.75rem;
}

.\!k-my--7 {
    margin-block: -1.75rem !important;
}

.k-my--7\.5 {
    margin-block: -1.875rem;
}

.\!k-my--7\.5 {
    margin-block: -1.875rem !important;
}

.k-my--8 {
    margin-block: -2rem;
}

.\!k-my--8 {
    margin-block: -2rem !important;
}

.k-my--9 {
    margin-block: -2.25rem;
}

.\!k-my--9 {
    margin-block: -2.25rem !important;
}

.k-my--10 {
    margin-block: -2.5rem;
}

.\!k-my--10 {
    margin-block: -2.5rem !important;
}

.k-my--11 {
    margin-block: -2.75rem;
}

.\!k-my--11 {
    margin-block: -2.75rem !important;
}

.k-my--12 {
    margin-block: -3rem;
}

.\!k-my--12 {
    margin-block: -3rem !important;
}

.k-my--13 {
    margin-block: -3.25rem;
}

.\!k-my--13 {
    margin-block: -3.25rem !important;
}

.k-my--14 {
    margin-block: -3.5rem;
}

.\!k-my--14 {
    margin-block: -3.5rem !important;
}

.k-my--15 {
    margin-block: -3.75rem;
}

.\!k-my--15 {
    margin-block: -3.75rem !important;
}

.k-my--16 {
    margin-block: -4rem;
}

.\!k-my--16 {
    margin-block: -4rem !important;
}

.k-my--17 {
    margin-block: -4.25rem;
}

.\!k-my--17 {
    margin-block: -4.25rem !important;
}

.k-my--18 {
    margin-block: -4.5rem;
}

.\!k-my--18 {
    margin-block: -4.5rem !important;
}

.k-my--19 {
    margin-block: -4.75rem;
}

.\!k-my--19 {
    margin-block: -4.75rem !important;
}

.k-my--20 {
    margin-block: -5rem;
}

.\!k-my--20 {
    margin-block: -5rem !important;
}

.k-my--21 {
    margin-block: -5.25rem;
}

.\!k-my--21 {
    margin-block: -5.25rem !important;
}

.k-my--22 {
    margin-block: -5.5rem;
}

.\!k-my--22 {
    margin-block: -5.5rem !important;
}

.k-my--23 {
    margin-block: -5.75rem;
}

.\!k-my--23 {
    margin-block: -5.75rem !important;
}

.k-my--24 {
    margin-block: -6rem;
}

.\!k-my--24 {
    margin-block: -6rem !important;
}

.k-my-xs {
    margin-block: 0.25rem;
}

.\!k-my-xs {
    margin-block: 0.25rem !important;
}

.k-my-sm {
    margin-block: 0.5rem;
}

.\!k-my-sm {
    margin-block: 0.5rem !important;
}

.k-my-md {
    margin-block: 0.75rem;
}

.\!k-my-md {
    margin-block: 0.75rem !important;
}

.k-my-lg {
    margin-block: 1rem;
}

.\!k-my-lg {
    margin-block: 1rem !important;
}

.k-my-xl {
    margin-block: 1.5rem;
}

.\!k-my-xl {
    margin-block: 1.5rem !important;
}

.k-my-thin {
    margin-block: 0.125rem;
}

.\!k-my-thin {
    margin-block: 0.125rem !important;
}

.k-my-hair {
    margin-block: 1px;
}

.\!k-my-hair {
    margin-block: 1px !important;
}

.k-my-auto {
    margin-block: auto;
}

.\!k-my-auto {
    margin-block: auto !important;
}

.k-p-0 {
    padding: 0;
}

.\!k-p-0 {
    padding: 0 !important;
}

.k-p-1px {
    padding: 1px;
}

.\!k-p-1px {
    padding: 1px !important;
}

.k-p-0\.5 {
    padding: 0.125rem;
}

.\!k-p-0\.5 {
    padding: 0.125rem !important;
}

.k-p-1 {
    padding: 0.25rem;
}

.\!k-p-1 {
    padding: 0.25rem !important;
}

.k-p-1\.5 {
    padding: 0.375rem;
}

.\!k-p-1\.5 {
    padding: 0.375rem !important;
}

.k-p-2 {
    padding: 0.5rem;
}

.\!k-p-2 {
    padding: 0.5rem !important;
}

.k-p-2\.5 {
    padding: 0.625rem;
}

.\!k-p-2\.5 {
    padding: 0.625rem !important;
}

.k-p-3 {
    padding: 0.75rem;
}

.\!k-p-3 {
    padding: 0.75rem !important;
}

.k-p-3\.5 {
    padding: 0.875rem;
}

.\!k-p-3\.5 {
    padding: 0.875rem !important;
}

.k-p-4 {
    padding: 1rem;
}

.\!k-p-4 {
    padding: 1rem !important;
}

.k-p-4\.5 {
    padding: 1.125rem;
}

.\!k-p-4\.5 {
    padding: 1.125rem !important;
}

.k-p-5 {
    padding: 1.25rem;
}

.\!k-p-5 {
    padding: 1.25rem !important;
}

.k-p-5\.5 {
    padding: 1.375rem;
}

.\!k-p-5\.5 {
    padding: 1.375rem !important;
}

.k-p-6 {
    padding: 1.5rem;
}

.\!k-p-6 {
    padding: 1.5rem !important;
}

.k-p-6\.5 {
    padding: 1.625rem;
}

.\!k-p-6\.5 {
    padding: 1.625rem !important;
}

.k-p-7 {
    padding: 1.75rem;
}

.\!k-p-7 {
    padding: 1.75rem !important;
}

.k-p-7\.5 {
    padding: 1.875rem;
}

.\!k-p-7\.5 {
    padding: 1.875rem !important;
}

.k-p-8 {
    padding: 2rem;
}

.\!k-p-8 {
    padding: 2rem !important;
}

.k-p-9 {
    padding: 2.25rem;
}

.\!k-p-9 {
    padding: 2.25rem !important;
}

.k-p-10 {
    padding: 2.5rem;
}

.\!k-p-10 {
    padding: 2.5rem !important;
}

.k-p-11 {
    padding: 2.75rem;
}

.\!k-p-11 {
    padding: 2.75rem !important;
}

.k-p-12 {
    padding: 3rem;
}

.\!k-p-12 {
    padding: 3rem !important;
}

.k-p-13 {
    padding: 3.25rem;
}

.\!k-p-13 {
    padding: 3.25rem !important;
}

.k-p-14 {
    padding: 3.5rem;
}

.\!k-p-14 {
    padding: 3.5rem !important;
}

.k-p-15 {
    padding: 3.75rem;
}

.\!k-p-15 {
    padding: 3.75rem !important;
}

.k-p-16 {
    padding: 4rem;
}

.\!k-p-16 {
    padding: 4rem !important;
}

.k-p-17 {
    padding: 4.25rem;
}

.\!k-p-17 {
    padding: 4.25rem !important;
}

.k-p-18 {
    padding: 4.5rem;
}

.\!k-p-18 {
    padding: 4.5rem !important;
}

.k-p-19 {
    padding: 4.75rem;
}

.\!k-p-19 {
    padding: 4.75rem !important;
}

.k-p-20 {
    padding: 5rem;
}

.\!k-p-20 {
    padding: 5rem !important;
}

.k-p-21 {
    padding: 5.25rem;
}

.\!k-p-21 {
    padding: 5.25rem !important;
}

.k-p-22 {
    padding: 5.5rem;
}

.\!k-p-22 {
    padding: 5.5rem !important;
}

.k-p-23 {
    padding: 5.75rem;
}

.\!k-p-23 {
    padding: 5.75rem !important;
}

.k-p-24 {
    padding: 6rem;
}

.\!k-p-24 {
    padding: 6rem !important;
}

.k-p-xs {
    padding: 0.25rem;
}

.\!k-p-xs {
    padding: 0.25rem !important;
}

.k-p-sm {
    padding: 0.5rem;
}

.\!k-p-sm {
    padding: 0.5rem !important;
}

.k-p-md {
    padding: 0.75rem;
}

.\!k-p-md {
    padding: 0.75rem !important;
}

.k-p-lg {
    padding: 1rem;
}

.\!k-p-lg {
    padding: 1rem !important;
}

.k-p-xl {
    padding: 1.5rem;
}

.\!k-p-xl {
    padding: 1.5rem !important;
}

.k-p-thin {
    padding: 0.125rem;
}

.\!k-p-thin {
    padding: 0.125rem !important;
}

.k-p-hair {
    padding: 1px;
}

.\!k-p-hair {
    padding: 1px !important;
}

.k-pt-0 {
    padding-top: 0;
}

.\!k-pt-0 {
    padding-top: 0 !important;
}

.k-pt-1px {
    padding-top: 1px;
}

.\!k-pt-1px {
    padding-top: 1px !important;
}

.k-pt-0\.5 {
    padding-top: 0.125rem;
}

.\!k-pt-0\.5 {
    padding-top: 0.125rem !important;
}

.k-pt-1 {
    padding-top: 0.25rem;
}

.\!k-pt-1 {
    padding-top: 0.25rem !important;
}

.k-pt-1\.5 {
    padding-top: 0.375rem;
}

.\!k-pt-1\.5 {
    padding-top: 0.375rem !important;
}

.k-pt-2 {
    padding-top: 0.5rem;
}

.\!k-pt-2 {
    padding-top: 0.5rem !important;
}

.k-pt-2\.5 {
    padding-top: 0.625rem;
}

.\!k-pt-2\.5 {
    padding-top: 0.625rem !important;
}

.k-pt-3 {
    padding-top: 0.75rem;
}

.\!k-pt-3 {
    padding-top: 0.75rem !important;
}

.k-pt-3\.5 {
    padding-top: 0.875rem;
}

.\!k-pt-3\.5 {
    padding-top: 0.875rem !important;
}

.k-pt-4 {
    padding-top: 1rem;
}

.\!k-pt-4 {
    padding-top: 1rem !important;
}

.k-pt-4\.5 {
    padding-top: 1.125rem;
}

.\!k-pt-4\.5 {
    padding-top: 1.125rem !important;
}

.k-pt-5 {
    padding-top: 1.25rem;
}

.\!k-pt-5 {
    padding-top: 1.25rem !important;
}

.k-pt-5\.5 {
    padding-top: 1.375rem;
}

.\!k-pt-5\.5 {
    padding-top: 1.375rem !important;
}

.k-pt-6 {
    padding-top: 1.5rem;
}

.\!k-pt-6 {
    padding-top: 1.5rem !important;
}

.k-pt-6\.5 {
    padding-top: 1.625rem;
}

.\!k-pt-6\.5 {
    padding-top: 1.625rem !important;
}

.k-pt-7 {
    padding-top: 1.75rem;
}

.\!k-pt-7 {
    padding-top: 1.75rem !important;
}

.k-pt-7\.5 {
    padding-top: 1.875rem;
}

.\!k-pt-7\.5 {
    padding-top: 1.875rem !important;
}

.k-pt-8 {
    padding-top: 2rem;
}

.\!k-pt-8 {
    padding-top: 2rem !important;
}

.k-pt-9 {
    padding-top: 2.25rem;
}

.\!k-pt-9 {
    padding-top: 2.25rem !important;
}

.k-pt-10 {
    padding-top: 2.5rem;
}

.\!k-pt-10 {
    padding-top: 2.5rem !important;
}

.k-pt-11 {
    padding-top: 2.75rem;
}

.\!k-pt-11 {
    padding-top: 2.75rem !important;
}

.k-pt-12 {
    padding-top: 3rem;
}

.\!k-pt-12 {
    padding-top: 3rem !important;
}

.k-pt-13 {
    padding-top: 3.25rem;
}

.\!k-pt-13 {
    padding-top: 3.25rem !important;
}

.k-pt-14 {
    padding-top: 3.5rem;
}

.\!k-pt-14 {
    padding-top: 3.5rem !important;
}

.k-pt-15 {
    padding-top: 3.75rem;
}

.\!k-pt-15 {
    padding-top: 3.75rem !important;
}

.k-pt-16 {
    padding-top: 4rem;
}

.\!k-pt-16 {
    padding-top: 4rem !important;
}

.k-pt-17 {
    padding-top: 4.25rem;
}

.\!k-pt-17 {
    padding-top: 4.25rem !important;
}

.k-pt-18 {
    padding-top: 4.5rem;
}

.\!k-pt-18 {
    padding-top: 4.5rem !important;
}

.k-pt-19 {
    padding-top: 4.75rem;
}

.\!k-pt-19 {
    padding-top: 4.75rem !important;
}

.k-pt-20 {
    padding-top: 5rem;
}

.\!k-pt-20 {
    padding-top: 5rem !important;
}

.k-pt-21 {
    padding-top: 5.25rem;
}

.\!k-pt-21 {
    padding-top: 5.25rem !important;
}

.k-pt-22 {
    padding-top: 5.5rem;
}

.\!k-pt-22 {
    padding-top: 5.5rem !important;
}

.k-pt-23 {
    padding-top: 5.75rem;
}

.\!k-pt-23 {
    padding-top: 5.75rem !important;
}

.k-pt-24 {
    padding-top: 6rem;
}

.\!k-pt-24 {
    padding-top: 6rem !important;
}

.k-pt-xs {
    padding-top: 0.25rem;
}

.\!k-pt-xs {
    padding-top: 0.25rem !important;
}

.k-pt-sm {
    padding-top: 0.5rem;
}

.\!k-pt-sm {
    padding-top: 0.5rem !important;
}

.k-pt-md {
    padding-top: 0.75rem;
}

.\!k-pt-md {
    padding-top: 0.75rem !important;
}

.k-pt-lg {
    padding-top: 1rem;
}

.\!k-pt-lg {
    padding-top: 1rem !important;
}

.k-pt-xl {
    padding-top: 1.5rem;
}

.\!k-pt-xl {
    padding-top: 1.5rem !important;
}

.k-pt-thin {
    padding-top: 0.125rem;
}

.\!k-pt-thin {
    padding-top: 0.125rem !important;
}

.k-pt-hair {
    padding-top: 1px;
}

.\!k-pt-hair {
    padding-top: 1px !important;
}

.k-pr-0 {
    padding-right: 0;
}

.\!k-pr-0 {
    padding-right: 0 !important;
}

.k-pr-1px {
    padding-right: 1px;
}

.\!k-pr-1px {
    padding-right: 1px !important;
}

.k-pr-0\.5 {
    padding-right: 0.125rem;
}

.\!k-pr-0\.5 {
    padding-right: 0.125rem !important;
}

.k-pr-1 {
    padding-right: 0.25rem;
}

.\!k-pr-1 {
    padding-right: 0.25rem !important;
}

.k-pr-1\.5 {
    padding-right: 0.375rem;
}

.\!k-pr-1\.5 {
    padding-right: 0.375rem !important;
}

.k-pr-2 {
    padding-right: 0.5rem;
}

.\!k-pr-2 {
    padding-right: 0.5rem !important;
}

.k-pr-2\.5 {
    padding-right: 0.625rem;
}

.\!k-pr-2\.5 {
    padding-right: 0.625rem !important;
}

.k-pr-3 {
    padding-right: 0.75rem;
}

.\!k-pr-3 {
    padding-right: 0.75rem !important;
}

.k-pr-3\.5 {
    padding-right: 0.875rem;
}

.\!k-pr-3\.5 {
    padding-right: 0.875rem !important;
}

.k-pr-4 {
    padding-right: 1rem;
}

.\!k-pr-4 {
    padding-right: 1rem !important;
}

.k-pr-4\.5 {
    padding-right: 1.125rem;
}

.\!k-pr-4\.5 {
    padding-right: 1.125rem !important;
}

.k-pr-5 {
    padding-right: 1.25rem;
}

.\!k-pr-5 {
    padding-right: 1.25rem !important;
}

.k-pr-5\.5 {
    padding-right: 1.375rem;
}

.\!k-pr-5\.5 {
    padding-right: 1.375rem !important;
}

.k-pr-6 {
    padding-right: 1.5rem;
}

.\!k-pr-6 {
    padding-right: 1.5rem !important;
}

.k-pr-6\.5 {
    padding-right: 1.625rem;
}

.\!k-pr-6\.5 {
    padding-right: 1.625rem !important;
}

.k-pr-7 {
    padding-right: 1.75rem;
}

.\!k-pr-7 {
    padding-right: 1.75rem !important;
}

.k-pr-7\.5 {
    padding-right: 1.875rem;
}

.\!k-pr-7\.5 {
    padding-right: 1.875rem !important;
}

.k-pr-8 {
    padding-right: 2rem;
}

.\!k-pr-8 {
    padding-right: 2rem !important;
}

.k-pr-9 {
    padding-right: 2.25rem;
}

.\!k-pr-9 {
    padding-right: 2.25rem !important;
}

.k-pr-10 {
    padding-right: 2.5rem;
}

.\!k-pr-10 {
    padding-right: 2.5rem !important;
}

.k-pr-11 {
    padding-right: 2.75rem;
}

.\!k-pr-11 {
    padding-right: 2.75rem !important;
}

.k-pr-12 {
    padding-right: 3rem;
}

.\!k-pr-12 {
    padding-right: 3rem !important;
}

.k-pr-13 {
    padding-right: 3.25rem;
}

.\!k-pr-13 {
    padding-right: 3.25rem !important;
}

.k-pr-14 {
    padding-right: 3.5rem;
}

.\!k-pr-14 {
    padding-right: 3.5rem !important;
}

.k-pr-15 {
    padding-right: 3.75rem;
}

.\!k-pr-15 {
    padding-right: 3.75rem !important;
}

.k-pr-16 {
    padding-right: 4rem;
}

.\!k-pr-16 {
    padding-right: 4rem !important;
}

.k-pr-17 {
    padding-right: 4.25rem;
}

.\!k-pr-17 {
    padding-right: 4.25rem !important;
}

.k-pr-18 {
    padding-right: 4.5rem;
}

.\!k-pr-18 {
    padding-right: 4.5rem !important;
}

.k-pr-19 {
    padding-right: 4.75rem;
}

.\!k-pr-19 {
    padding-right: 4.75rem !important;
}

.k-pr-20 {
    padding-right: 5rem;
}

.\!k-pr-20 {
    padding-right: 5rem !important;
}

.k-pr-21 {
    padding-right: 5.25rem;
}

.\!k-pr-21 {
    padding-right: 5.25rem !important;
}

.k-pr-22 {
    padding-right: 5.5rem;
}

.\!k-pr-22 {
    padding-right: 5.5rem !important;
}

.k-pr-23 {
    padding-right: 5.75rem;
}

.\!k-pr-23 {
    padding-right: 5.75rem !important;
}

.k-pr-24 {
    padding-right: 6rem;
}

.\!k-pr-24 {
    padding-right: 6rem !important;
}

.k-pr-xs {
    padding-right: 0.25rem;
}

.\!k-pr-xs {
    padding-right: 0.25rem !important;
}

.k-pr-sm {
    padding-right: 0.5rem;
}

.\!k-pr-sm {
    padding-right: 0.5rem !important;
}

.k-pr-md {
    padding-right: 0.75rem;
}

.\!k-pr-md {
    padding-right: 0.75rem !important;
}

.k-pr-lg {
    padding-right: 1rem;
}

.\!k-pr-lg {
    padding-right: 1rem !important;
}

.k-pr-xl {
    padding-right: 1.5rem;
}

.\!k-pr-xl {
    padding-right: 1.5rem !important;
}

.k-pr-thin {
    padding-right: 0.125rem;
}

.\!k-pr-thin {
    padding-right: 0.125rem !important;
}

.k-pr-hair {
    padding-right: 1px;
}

.\!k-pr-hair {
    padding-right: 1px !important;
}

.k-pb-0 {
    padding-bottom: 0;
}

.\!k-pb-0 {
    padding-bottom: 0 !important;
}

.k-pb-1px {
    padding-bottom: 1px;
}

.\!k-pb-1px {
    padding-bottom: 1px !important;
}

.k-pb-0\.5 {
    padding-bottom: 0.125rem;
}

.\!k-pb-0\.5 {
    padding-bottom: 0.125rem !important;
}

.k-pb-1 {
    padding-bottom: 0.25rem;
}

.\!k-pb-1 {
    padding-bottom: 0.25rem !important;
}

.k-pb-1\.5 {
    padding-bottom: 0.375rem;
}

.\!k-pb-1\.5 {
    padding-bottom: 0.375rem !important;
}

.k-pb-2 {
    padding-bottom: 0.5rem;
}

.\!k-pb-2 {
    padding-bottom: 0.5rem !important;
}

.k-pb-2\.5 {
    padding-bottom: 0.625rem;
}

.\!k-pb-2\.5 {
    padding-bottom: 0.625rem !important;
}

.k-pb-3 {
    padding-bottom: 0.75rem;
}

.\!k-pb-3 {
    padding-bottom: 0.75rem !important;
}

.k-pb-3\.5 {
    padding-bottom: 0.875rem;
}

.\!k-pb-3\.5 {
    padding-bottom: 0.875rem !important;
}

.k-pb-4 {
    padding-bottom: 1rem;
}

.\!k-pb-4 {
    padding-bottom: 1rem !important;
}

.k-pb-4\.5 {
    padding-bottom: 1.125rem;
}

.\!k-pb-4\.5 {
    padding-bottom: 1.125rem !important;
}

.k-pb-5 {
    padding-bottom: 1.25rem;
}

.\!k-pb-5 {
    padding-bottom: 1.25rem !important;
}

.k-pb-5\.5 {
    padding-bottom: 1.375rem;
}

.\!k-pb-5\.5 {
    padding-bottom: 1.375rem !important;
}

.k-pb-6 {
    padding-bottom: 1.5rem;
}

.\!k-pb-6 {
    padding-bottom: 1.5rem !important;
}

.k-pb-6\.5 {
    padding-bottom: 1.625rem;
}

.\!k-pb-6\.5 {
    padding-bottom: 1.625rem !important;
}

.k-pb-7 {
    padding-bottom: 1.75rem;
}

.\!k-pb-7 {
    padding-bottom: 1.75rem !important;
}

.k-pb-7\.5 {
    padding-bottom: 1.875rem;
}

.\!k-pb-7\.5 {
    padding-bottom: 1.875rem !important;
}

.k-pb-8 {
    padding-bottom: 2rem;
}

.\!k-pb-8 {
    padding-bottom: 2rem !important;
}

.k-pb-9 {
    padding-bottom: 2.25rem;
}

.\!k-pb-9 {
    padding-bottom: 2.25rem !important;
}

.k-pb-10 {
    padding-bottom: 2.5rem;
}

.\!k-pb-10 {
    padding-bottom: 2.5rem !important;
}

.k-pb-11 {
    padding-bottom: 2.75rem;
}

.\!k-pb-11 {
    padding-bottom: 2.75rem !important;
}

.k-pb-12 {
    padding-bottom: 3rem;
}

.\!k-pb-12 {
    padding-bottom: 3rem !important;
}

.k-pb-13 {
    padding-bottom: 3.25rem;
}

.\!k-pb-13 {
    padding-bottom: 3.25rem !important;
}

.k-pb-14 {
    padding-bottom: 3.5rem;
}

.\!k-pb-14 {
    padding-bottom: 3.5rem !important;
}

.k-pb-15 {
    padding-bottom: 3.75rem;
}

.\!k-pb-15 {
    padding-bottom: 3.75rem !important;
}

.k-pb-16 {
    padding-bottom: 4rem;
}

.\!k-pb-16 {
    padding-bottom: 4rem !important;
}

.k-pb-17 {
    padding-bottom: 4.25rem;
}

.\!k-pb-17 {
    padding-bottom: 4.25rem !important;
}

.k-pb-18 {
    padding-bottom: 4.5rem;
}

.\!k-pb-18 {
    padding-bottom: 4.5rem !important;
}

.k-pb-19 {
    padding-bottom: 4.75rem;
}

.\!k-pb-19 {
    padding-bottom: 4.75rem !important;
}

.k-pb-20 {
    padding-bottom: 5rem;
}

.\!k-pb-20 {
    padding-bottom: 5rem !important;
}

.k-pb-21 {
    padding-bottom: 5.25rem;
}

.\!k-pb-21 {
    padding-bottom: 5.25rem !important;
}

.k-pb-22 {
    padding-bottom: 5.5rem;
}

.\!k-pb-22 {
    padding-bottom: 5.5rem !important;
}

.k-pb-23 {
    padding-bottom: 5.75rem;
}

.\!k-pb-23 {
    padding-bottom: 5.75rem !important;
}

.k-pb-24 {
    padding-bottom: 6rem;
}

.\!k-pb-24 {
    padding-bottom: 6rem !important;
}

.k-pb-xs {
    padding-bottom: 0.25rem;
}

.\!k-pb-xs {
    padding-bottom: 0.25rem !important;
}

.k-pb-sm {
    padding-bottom: 0.5rem;
}

.\!k-pb-sm {
    padding-bottom: 0.5rem !important;
}

.k-pb-md {
    padding-bottom: 0.75rem;
}

.\!k-pb-md {
    padding-bottom: 0.75rem !important;
}

.k-pb-lg {
    padding-bottom: 1rem;
}

.\!k-pb-lg {
    padding-bottom: 1rem !important;
}

.k-pb-xl {
    padding-bottom: 1.5rem;
}

.\!k-pb-xl {
    padding-bottom: 1.5rem !important;
}

.k-pb-thin {
    padding-bottom: 0.125rem;
}

.\!k-pb-thin {
    padding-bottom: 0.125rem !important;
}

.k-pb-hair {
    padding-bottom: 1px;
}

.\!k-pb-hair {
    padding-bottom: 1px !important;
}

.k-pl-0 {
    padding-left: 0;
}

.\!k-pl-0 {
    padding-left: 0 !important;
}

.k-pl-1px {
    padding-left: 1px;
}

.\!k-pl-1px {
    padding-left: 1px !important;
}

.k-pl-0\.5 {
    padding-left: 0.125rem;
}

.\!k-pl-0\.5 {
    padding-left: 0.125rem !important;
}

.k-pl-1 {
    padding-left: 0.25rem;
}

.\!k-pl-1 {
    padding-left: 0.25rem !important;
}

.k-pl-1\.5 {
    padding-left: 0.375rem;
}

.\!k-pl-1\.5 {
    padding-left: 0.375rem !important;
}

.k-pl-2 {
    padding-left: 0.5rem;
}

.\!k-pl-2 {
    padding-left: 0.5rem !important;
}

.k-pl-2\.5 {
    padding-left: 0.625rem;
}

.\!k-pl-2\.5 {
    padding-left: 0.625rem !important;
}

.k-pl-3 {
    padding-left: 0.75rem;
}

.\!k-pl-3 {
    padding-left: 0.75rem !important;
}

.k-pl-3\.5 {
    padding-left: 0.875rem;
}

.\!k-pl-3\.5 {
    padding-left: 0.875rem !important;
}

.k-pl-4 {
    padding-left: 1rem;
}

.\!k-pl-4 {
    padding-left: 1rem !important;
}

.k-pl-4\.5 {
    padding-left: 1.125rem;
}

.\!k-pl-4\.5 {
    padding-left: 1.125rem !important;
}

.k-pl-5 {
    padding-left: 1.25rem;
}

.\!k-pl-5 {
    padding-left: 1.25rem !important;
}

.k-pl-5\.5 {
    padding-left: 1.375rem;
}

.\!k-pl-5\.5 {
    padding-left: 1.375rem !important;
}

.k-pl-6 {
    padding-left: 1.5rem;
}

.\!k-pl-6 {
    padding-left: 1.5rem !important;
}

.k-pl-6\.5 {
    padding-left: 1.625rem;
}

.\!k-pl-6\.5 {
    padding-left: 1.625rem !important;
}

.k-pl-7 {
    padding-left: 1.75rem;
}

.\!k-pl-7 {
    padding-left: 1.75rem !important;
}

.k-pl-7\.5 {
    padding-left: 1.875rem;
}

.\!k-pl-7\.5 {
    padding-left: 1.875rem !important;
}

.k-pl-8 {
    padding-left: 2rem;
}

.\!k-pl-8 {
    padding-left: 2rem !important;
}

.k-pl-9 {
    padding-left: 2.25rem;
}

.\!k-pl-9 {
    padding-left: 2.25rem !important;
}

.k-pl-10 {
    padding-left: 2.5rem;
}

.\!k-pl-10 {
    padding-left: 2.5rem !important;
}

.k-pl-11 {
    padding-left: 2.75rem;
}

.\!k-pl-11 {
    padding-left: 2.75rem !important;
}

.k-pl-12 {
    padding-left: 3rem;
}

.\!k-pl-12 {
    padding-left: 3rem !important;
}

.k-pl-13 {
    padding-left: 3.25rem;
}

.\!k-pl-13 {
    padding-left: 3.25rem !important;
}

.k-pl-14 {
    padding-left: 3.5rem;
}

.\!k-pl-14 {
    padding-left: 3.5rem !important;
}

.k-pl-15 {
    padding-left: 3.75rem;
}

.\!k-pl-15 {
    padding-left: 3.75rem !important;
}

.k-pl-16 {
    padding-left: 4rem;
}

.\!k-pl-16 {
    padding-left: 4rem !important;
}

.k-pl-17 {
    padding-left: 4.25rem;
}

.\!k-pl-17 {
    padding-left: 4.25rem !important;
}

.k-pl-18 {
    padding-left: 4.5rem;
}

.\!k-pl-18 {
    padding-left: 4.5rem !important;
}

.k-pl-19 {
    padding-left: 4.75rem;
}

.\!k-pl-19 {
    padding-left: 4.75rem !important;
}

.k-pl-20 {
    padding-left: 5rem;
}

.\!k-pl-20 {
    padding-left: 5rem !important;
}

.k-pl-21 {
    padding-left: 5.25rem;
}

.\!k-pl-21 {
    padding-left: 5.25rem !important;
}

.k-pl-22 {
    padding-left: 5.5rem;
}

.\!k-pl-22 {
    padding-left: 5.5rem !important;
}

.k-pl-23 {
    padding-left: 5.75rem;
}

.\!k-pl-23 {
    padding-left: 5.75rem !important;
}

.k-pl-24 {
    padding-left: 6rem;
}

.\!k-pl-24 {
    padding-left: 6rem !important;
}

.k-pl-xs {
    padding-left: 0.25rem;
}

.\!k-pl-xs {
    padding-left: 0.25rem !important;
}

.k-pl-sm {
    padding-left: 0.5rem;
}

.\!k-pl-sm {
    padding-left: 0.5rem !important;
}

.k-pl-md {
    padding-left: 0.75rem;
}

.\!k-pl-md {
    padding-left: 0.75rem !important;
}

.k-pl-lg {
    padding-left: 1rem;
}

.\!k-pl-lg {
    padding-left: 1rem !important;
}

.k-pl-xl {
    padding-left: 1.5rem;
}

.\!k-pl-xl {
    padding-left: 1.5rem !important;
}

.k-pl-thin {
    padding-left: 0.125rem;
}

.\!k-pl-thin {
    padding-left: 0.125rem !important;
}

.k-pl-hair {
    padding-left: 1px;
}

.\!k-pl-hair {
    padding-left: 1px !important;
}

.k-px-0 {
    padding-inline: 0;
}

.\!k-px-0 {
    padding-inline: 0 !important;
}

.k-px-1px {
    padding-inline: 1px;
}

.\!k-px-1px {
    padding-inline: 1px !important;
}

.k-px-0\.5 {
    padding-inline: 0.125rem;
}

.\!k-px-0\.5 {
    padding-inline: 0.125rem !important;
}

.k-px-1 {
    padding-inline: 0.25rem;
}

.\!k-px-1 {
    padding-inline: 0.25rem !important;
}

.k-px-1\.5 {
    padding-inline: 0.375rem;
}

.\!k-px-1\.5 {
    padding-inline: 0.375rem !important;
}

.k-px-2 {
    padding-inline: 0.5rem;
}

.\!k-px-2 {
    padding-inline: 0.5rem !important;
}

.k-px-2\.5 {
    padding-inline: 0.625rem;
}

.\!k-px-2\.5 {
    padding-inline: 0.625rem !important;
}

.k-px-3 {
    padding-inline: 0.75rem;
}

.\!k-px-3 {
    padding-inline: 0.75rem !important;
}

.k-px-3\.5 {
    padding-inline: 0.875rem;
}

.\!k-px-3\.5 {
    padding-inline: 0.875rem !important;
}

.k-px-4 {
    padding-inline: 1rem;
}

.\!k-px-4 {
    padding-inline: 1rem !important;
}

.k-px-4\.5 {
    padding-inline: 1.125rem;
}

.\!k-px-4\.5 {
    padding-inline: 1.125rem !important;
}

.k-px-5 {
    padding-inline: 1.25rem;
}

.\!k-px-5 {
    padding-inline: 1.25rem !important;
}

.k-px-5\.5 {
    padding-inline: 1.375rem;
}

.\!k-px-5\.5 {
    padding-inline: 1.375rem !important;
}

.k-px-6 {
    padding-inline: 1.5rem;
}

.\!k-px-6 {
    padding-inline: 1.5rem !important;
}

.k-px-6\.5 {
    padding-inline: 1.625rem;
}

.\!k-px-6\.5 {
    padding-inline: 1.625rem !important;
}

.k-px-7 {
    padding-inline: 1.75rem;
}

.\!k-px-7 {
    padding-inline: 1.75rem !important;
}

.k-px-7\.5 {
    padding-inline: 1.875rem;
}

.\!k-px-7\.5 {
    padding-inline: 1.875rem !important;
}

.k-px-8 {
    padding-inline: 2rem;
}

.\!k-px-8 {
    padding-inline: 2rem !important;
}

.k-px-9 {
    padding-inline: 2.25rem;
}

.\!k-px-9 {
    padding-inline: 2.25rem !important;
}

.k-px-10 {
    padding-inline: 2.5rem;
}

.\!k-px-10 {
    padding-inline: 2.5rem !important;
}

.k-px-11 {
    padding-inline: 2.75rem;
}

.\!k-px-11 {
    padding-inline: 2.75rem !important;
}

.k-px-12 {
    padding-inline: 3rem;
}

.\!k-px-12 {
    padding-inline: 3rem !important;
}

.k-px-13 {
    padding-inline: 3.25rem;
}

.\!k-px-13 {
    padding-inline: 3.25rem !important;
}

.k-px-14 {
    padding-inline: 3.5rem;
}

.\!k-px-14 {
    padding-inline: 3.5rem !important;
}

.k-px-15 {
    padding-inline: 3.75rem;
}

.\!k-px-15 {
    padding-inline: 3.75rem !important;
}

.k-px-16 {
    padding-inline: 4rem;
}

.\!k-px-16 {
    padding-inline: 4rem !important;
}

.k-px-17 {
    padding-inline: 4.25rem;
}

.\!k-px-17 {
    padding-inline: 4.25rem !important;
}

.k-px-18 {
    padding-inline: 4.5rem;
}

.\!k-px-18 {
    padding-inline: 4.5rem !important;
}

.k-px-19 {
    padding-inline: 4.75rem;
}

.\!k-px-19 {
    padding-inline: 4.75rem !important;
}

.k-px-20 {
    padding-inline: 5rem;
}

.\!k-px-20 {
    padding-inline: 5rem !important;
}

.k-px-21 {
    padding-inline: 5.25rem;
}

.\!k-px-21 {
    padding-inline: 5.25rem !important;
}

.k-px-22 {
    padding-inline: 5.5rem;
}

.\!k-px-22 {
    padding-inline: 5.5rem !important;
}

.k-px-23 {
    padding-inline: 5.75rem;
}

.\!k-px-23 {
    padding-inline: 5.75rem !important;
}

.k-px-24 {
    padding-inline: 6rem;
}

.\!k-px-24 {
    padding-inline: 6rem !important;
}

.k-px-xs {
    padding-inline: 0.25rem;
}

.\!k-px-xs {
    padding-inline: 0.25rem !important;
}

.k-px-sm {
    padding-inline: 0.5rem;
}

.\!k-px-sm {
    padding-inline: 0.5rem !important;
}

.k-px-md {
    padding-inline: 0.75rem;
}

.\!k-px-md {
    padding-inline: 0.75rem !important;
}

.k-px-lg {
    padding-inline: 1rem;
}

.\!k-px-lg {
    padding-inline: 1rem !important;
}

.k-px-xl {
    padding-inline: 1.5rem;
}

.\!k-px-xl {
    padding-inline: 1.5rem !important;
}

.k-px-thin {
    padding-inline: 0.125rem;
}

.\!k-px-thin {
    padding-inline: 0.125rem !important;
}

.k-px-hair {
    padding-inline: 1px;
}

.\!k-px-hair {
    padding-inline: 1px !important;
}

.k-py-0 {
    padding-block: 0;
}

.\!k-py-0 {
    padding-block: 0 !important;
}

.k-py-1px {
    padding-block: 1px;
}

.\!k-py-1px {
    padding-block: 1px !important;
}

.k-py-0\.5 {
    padding-block: 0.125rem;
}

.\!k-py-0\.5 {
    padding-block: 0.125rem !important;
}

.k-py-1 {
    padding-block: 0.25rem;
}

.\!k-py-1 {
    padding-block: 0.25rem !important;
}

.k-py-1\.5 {
    padding-block: 0.375rem;
}

.\!k-py-1\.5 {
    padding-block: 0.375rem !important;
}

.k-py-2 {
    padding-block: 0.5rem;
}

.\!k-py-2 {
    padding-block: 0.5rem !important;
}

.k-py-2\.5 {
    padding-block: 0.625rem;
}

.\!k-py-2\.5 {
    padding-block: 0.625rem !important;
}

.k-py-3 {
    padding-block: 0.75rem;
}

.\!k-py-3 {
    padding-block: 0.75rem !important;
}

.k-py-3\.5 {
    padding-block: 0.875rem;
}

.\!k-py-3\.5 {
    padding-block: 0.875rem !important;
}

.k-py-4 {
    padding-block: 1rem;
}

.\!k-py-4 {
    padding-block: 1rem !important;
}

.k-py-4\.5 {
    padding-block: 1.125rem;
}

.\!k-py-4\.5 {
    padding-block: 1.125rem !important;
}

.k-py-5 {
    padding-block: 1.25rem;
}

.\!k-py-5 {
    padding-block: 1.25rem !important;
}

.k-py-5\.5 {
    padding-block: 1.375rem;
}

.\!k-py-5\.5 {
    padding-block: 1.375rem !important;
}

.k-py-6 {
    padding-block: 1.5rem;
}

.\!k-py-6 {
    padding-block: 1.5rem !important;
}

.k-py-6\.5 {
    padding-block: 1.625rem;
}

.\!k-py-6\.5 {
    padding-block: 1.625rem !important;
}

.k-py-7 {
    padding-block: 1.75rem;
}

.\!k-py-7 {
    padding-block: 1.75rem !important;
}

.k-py-7\.5 {
    padding-block: 1.875rem;
}

.\!k-py-7\.5 {
    padding-block: 1.875rem !important;
}

.k-py-8 {
    padding-block: 2rem;
}

.\!k-py-8 {
    padding-block: 2rem !important;
}

.k-py-9 {
    padding-block: 2.25rem;
}

.\!k-py-9 {
    padding-block: 2.25rem !important;
}

.k-py-10 {
    padding-block: 2.5rem;
}

.\!k-py-10 {
    padding-block: 2.5rem !important;
}

.k-py-11 {
    padding-block: 2.75rem;
}

.\!k-py-11 {
    padding-block: 2.75rem !important;
}

.k-py-12 {
    padding-block: 3rem;
}

.\!k-py-12 {
    padding-block: 3rem !important;
}

.k-py-13 {
    padding-block: 3.25rem;
}

.\!k-py-13 {
    padding-block: 3.25rem !important;
}

.k-py-14 {
    padding-block: 3.5rem;
}

.\!k-py-14 {
    padding-block: 3.5rem !important;
}

.k-py-15 {
    padding-block: 3.75rem;
}

.\!k-py-15 {
    padding-block: 3.75rem !important;
}

.k-py-16 {
    padding-block: 4rem;
}

.\!k-py-16 {
    padding-block: 4rem !important;
}

.k-py-17 {
    padding-block: 4.25rem;
}

.\!k-py-17 {
    padding-block: 4.25rem !important;
}

.k-py-18 {
    padding-block: 4.5rem;
}

.\!k-py-18 {
    padding-block: 4.5rem !important;
}

.k-py-19 {
    padding-block: 4.75rem;
}

.\!k-py-19 {
    padding-block: 4.75rem !important;
}

.k-py-20 {
    padding-block: 5rem;
}

.\!k-py-20 {
    padding-block: 5rem !important;
}

.k-py-21 {
    padding-block: 5.25rem;
}

.\!k-py-21 {
    padding-block: 5.25rem !important;
}

.k-py-22 {
    padding-block: 5.5rem;
}

.\!k-py-22 {
    padding-block: 5.5rem !important;
}

.k-py-23 {
    padding-block: 5.75rem;
}

.\!k-py-23 {
    padding-block: 5.75rem !important;
}

.k-py-24 {
    padding-block: 6rem;
}

.\!k-py-24 {
    padding-block: 6rem !important;
}

.k-py-xs {
    padding-block: 0.25rem;
}

.\!k-py-xs {
    padding-block: 0.25rem !important;
}

.k-py-sm {
    padding-block: 0.5rem;
}

.\!k-py-sm {
    padding-block: 0.5rem !important;
}

.k-py-md {
    padding-block: 0.75rem;
}

.\!k-py-md {
    padding-block: 0.75rem !important;
}

.k-py-lg {
    padding-block: 1rem;
}

.\!k-py-lg {
    padding-block: 1rem !important;
}

.k-py-xl {
    padding-block: 1.5rem;
}

.\!k-py-xl {
    padding-block: 1.5rem !important;
}

.k-py-thin {
    padding-block: 0.125rem;
}

.\!k-py-thin {
    padding-block: 0.125rem !important;
}

.k-py-hair {
    padding-block: 1px;
}

.\!k-py-hair {
    padding-block: 1px !important;
}

.k-h-0 {
    height: 0;
}

.\!k-h-0 {
    height: 0 !important;
}

.k-h-1px {
    height: 1px;
}

.\!k-h-1px {
    height: 1px !important;
}

.k-h-0\.5 {
    height: 0.125rem;
}

.\!k-h-0\.5 {
    height: 0.125rem !important;
}

.k-h-1 {
    height: 0.25rem;
}

.\!k-h-1 {
    height: 0.25rem !important;
}

.k-h-1\.5 {
    height: 0.375rem;
}

.\!k-h-1\.5 {
    height: 0.375rem !important;
}

.k-h-2 {
    height: 0.5rem;
}

.\!k-h-2 {
    height: 0.5rem !important;
}

.k-h-2\.5 {
    height: 0.625rem;
}

.\!k-h-2\.5 {
    height: 0.625rem !important;
}

.k-h-3 {
    height: 0.75rem;
}

.\!k-h-3 {
    height: 0.75rem !important;
}

.k-h-3\.5 {
    height: 0.875rem;
}

.\!k-h-3\.5 {
    height: 0.875rem !important;
}

.k-h-4 {
    height: 1rem;
}

.\!k-h-4 {
    height: 1rem !important;
}

.k-h-4\.5 {
    height: 1.125rem;
}

.\!k-h-4\.5 {
    height: 1.125rem !important;
}

.k-h-5 {
    height: 1.25rem;
}

.\!k-h-5 {
    height: 1.25rem !important;
}

.k-h-5\.5 {
    height: 1.375rem;
}

.\!k-h-5\.5 {
    height: 1.375rem !important;
}

.k-h-6 {
    height: 1.5rem;
}

.\!k-h-6 {
    height: 1.5rem !important;
}

.k-h-6\.5 {
    height: 1.625rem;
}

.\!k-h-6\.5 {
    height: 1.625rem !important;
}

.k-h-7 {
    height: 1.75rem;
}

.\!k-h-7 {
    height: 1.75rem !important;
}

.k-h-7\.5 {
    height: 1.875rem;
}

.\!k-h-7\.5 {
    height: 1.875rem !important;
}

.k-h-8 {
    height: 2rem;
}

.\!k-h-8 {
    height: 2rem !important;
}

.k-h-9 {
    height: 2.25rem;
}

.\!k-h-9 {
    height: 2.25rem !important;
}

.k-h-10 {
    height: 2.5rem;
}

.\!k-h-10 {
    height: 2.5rem !important;
}

.k-h-11 {
    height: 2.75rem;
}

.\!k-h-11 {
    height: 2.75rem !important;
}

.k-h-12 {
    height: 3rem;
}

.\!k-h-12 {
    height: 3rem !important;
}

.k-h-13 {
    height: 3.25rem;
}

.\!k-h-13 {
    height: 3.25rem !important;
}

.k-h-14 {
    height: 3.5rem;
}

.\!k-h-14 {
    height: 3.5rem !important;
}

.k-h-15 {
    height: 3.75rem;
}

.\!k-h-15 {
    height: 3.75rem !important;
}

.k-h-16 {
    height: 4rem;
}

.\!k-h-16 {
    height: 4rem !important;
}

.k-h-17 {
    height: 4.25rem;
}

.\!k-h-17 {
    height: 4.25rem !important;
}

.k-h-18 {
    height: 4.5rem;
}

.\!k-h-18 {
    height: 4.5rem !important;
}

.k-h-19 {
    height: 4.75rem;
}

.\!k-h-19 {
    height: 4.75rem !important;
}

.k-h-20 {
    height: 5rem;
}

.\!k-h-20 {
    height: 5rem !important;
}

.k-h-21 {
    height: 5.25rem;
}

.\!k-h-21 {
    height: 5.25rem !important;
}

.k-h-22 {
    height: 5.5rem;
}

.\!k-h-22 {
    height: 5.5rem !important;
}

.k-h-23 {
    height: 5.75rem;
}

.\!k-h-23 {
    height: 5.75rem !important;
}

.k-h-24 {
    height: 6rem;
}

.\!k-h-24 {
    height: 6rem !important;
}

.k-h-auto {
    height: auto;
}

.\!k-h-auto {
    height: auto !important;
}

.k-h-1\/2 {
    height: 50%;
}

.\!k-h-1\/2 {
    height: 50% !important;
}

.k-h-1\/3 {
    height: 33.333333%;
}

.\!k-h-1\/3 {
    height: 33.333333% !important;
}

.k-h-2\/3 {
    height: 66.666667%;
}

.\!k-h-2\/3 {
    height: 66.666667% !important;
}

.k-h-1\/4 {
    height: 25%;
}

.\!k-h-1\/4 {
    height: 25% !important;
}

.k-h-2\/4 {
    height: 50%;
}

.\!k-h-2\/4 {
    height: 50% !important;
}

.k-h-3\/4 {
    height: 75%;
}

.\!k-h-3\/4 {
    height: 75% !important;
}

.k-h-1\/5 {
    height: 20%;
}

.\!k-h-1\/5 {
    height: 20% !important;
}

.k-h-2\/5 {
    height: 40%;
}

.\!k-h-2\/5 {
    height: 40% !important;
}

.k-h-3\/5 {
    height: 60%;
}

.\!k-h-3\/5 {
    height: 60% !important;
}

.k-h-4\/5 {
    height: 80%;
}

.\!k-h-4\/5 {
    height: 80% !important;
}

.k-h-1\/6 {
    height: 16.666667%;
}

.\!k-h-1\/6 {
    height: 16.666667% !important;
}

.k-h-2\/6 {
    height: 33.333333%;
}

.\!k-h-2\/6 {
    height: 33.333333% !important;
}

.k-h-3\/6 {
    height: 50%;
}

.\!k-h-3\/6 {
    height: 50% !important;
}

.k-h-4\/6 {
    height: 66.666667%;
}

.\!k-h-4\/6 {
    height: 66.666667% !important;
}

.k-h-5\/6 {
    height: 83.333333%;
}

.\!k-h-5\/6 {
    height: 83.333333% !important;
}

.k-h-1\/12 {
    height: 8.333333%;
}

.\!k-h-1\/12 {
    height: 8.333333% !important;
}

.k-h-2\/12 {
    height: 16.666667%;
}

.\!k-h-2\/12 {
    height: 16.666667% !important;
}

.k-h-3\/12 {
    height: 25%;
}

.\!k-h-3\/12 {
    height: 25% !important;
}

.k-h-4\/12 {
    height: 33.333333%;
}

.\!k-h-4\/12 {
    height: 33.333333% !important;
}

.k-h-5\/12 {
    height: 41.666667%;
}

.\!k-h-5\/12 {
    height: 41.666667% !important;
}

.k-h-6\/12 {
    height: 50%;
}

.\!k-h-6\/12 {
    height: 50% !important;
}

.k-h-7\/12 {
    height: 58.333333%;
}

.\!k-h-7\/12 {
    height: 58.333333% !important;
}

.k-h-8\/12 {
    height: 66.666667%;
}

.\!k-h-8\/12 {
    height: 66.666667% !important;
}

.k-h-9\/12 {
    height: 75%;
}

.\!k-h-9\/12 {
    height: 75% !important;
}

.k-h-10\/12 {
    height: 83.333333%;
}

.\!k-h-10\/12 {
    height: 83.333333% !important;
}

.k-h-11\/12 {
    height: 91.666667%;
}

.\!k-h-11\/12 {
    height: 91.666667% !important;
}

.k-h-full {
    height: 100%;
}

.\!k-h-full {
    height: 100% !important;
}

.k-h-min {
    height: min-content;
}

.\!k-h-min {
    height: min-content !important;
}

.k-h-max {
    height: max-content;
}

.\!k-h-max {
    height: max-content !important;
}

.k-h-fit {
    height: fit-content;
}

.\!k-h-fit {
    height: fit-content !important;
}

.k-h-screen {
    height: 100vh;
}

.\!k-h-screen {
    height: 100vh !important;
}

.k-min-h-0 {
    min-height: 0;
}

.\!k-min-h-0 {
    min-height: 0 !important;
}

.k-min-h-full {
    min-height: 100%;
}

.\!k-min-h-full {
    min-height: 100% !important;
}

.k-min-h-screen {
    min-height: 100vh;
}

.\!k-min-h-screen {
    min-height: 100vh !important;
}

.k-min-h-min {
    min-height: min-content;
}

.\!k-min-h-min {
    min-height: min-content !important;
}

.k-min-h-max {
    min-height: max-content;
}

.\!k-min-h-max {
    min-height: max-content !important;
}

.k-min-h-fit {
    min-height: fit-content;
}

.\!k-min-h-fit {
    min-height: fit-content !important;
}

.k-max-h-none {
    max-height: none;
}

.\!k-max-h-none {
    max-height: none !important;
}

.k-max-h-0 {
    max-height: 0;
}

.\!k-max-h-0 {
    max-height: 0 !important;
}

.k-max-h-full {
    max-height: 100%;
}

.\!k-max-h-full {
    max-height: 100% !important;
}

.k-max-h-screen {
    max-height: 100vh;
}

.\!k-max-h-screen {
    max-height: 100vh !important;
}

.k-max-h-min {
    max-height: min-content;
}

.\!k-max-h-min {
    max-height: min-content !important;
}

.k-max-h-max {
    max-height: max-content;
}

.\!k-max-h-max {
    max-height: max-content !important;
}

.k-max-h-fit {
    max-height: fit-content;
}

.\!k-max-h-fit {
    max-height: fit-content !important;
}

.k-w-0 {
    width: 0;
}

.\!k-w-0 {
    width: 0 !important;
}

.k-w-1px {
    width: 1px;
}

.\!k-w-1px {
    width: 1px !important;
}

.k-w-0\.5 {
    width: 0.125rem;
}

.\!k-w-0\.5 {
    width: 0.125rem !important;
}

.k-w-1 {
    width: 0.25rem;
}

.\!k-w-1 {
    width: 0.25rem !important;
}

.k-w-1\.5 {
    width: 0.375rem;
}

.\!k-w-1\.5 {
    width: 0.375rem !important;
}

.k-w-2 {
    width: 0.5rem;
}

.\!k-w-2 {
    width: 0.5rem !important;
}

.k-w-2\.5 {
    width: 0.625rem;
}

.\!k-w-2\.5 {
    width: 0.625rem !important;
}

.k-w-3 {
    width: 0.75rem;
}

.\!k-w-3 {
    width: 0.75rem !important;
}

.k-w-3\.5 {
    width: 0.875rem;
}

.\!k-w-3\.5 {
    width: 0.875rem !important;
}

.k-w-4 {
    width: 1rem;
}

.\!k-w-4 {
    width: 1rem !important;
}

.k-w-4\.5 {
    width: 1.125rem;
}

.\!k-w-4\.5 {
    width: 1.125rem !important;
}

.k-w-5 {
    width: 1.25rem;
}

.\!k-w-5 {
    width: 1.25rem !important;
}

.k-w-5\.5 {
    width: 1.375rem;
}

.\!k-w-5\.5 {
    width: 1.375rem !important;
}

.k-w-6 {
    width: 1.5rem;
}

.\!k-w-6 {
    width: 1.5rem !important;
}

.k-w-6\.5 {
    width: 1.625rem;
}

.\!k-w-6\.5 {
    width: 1.625rem !important;
}

.k-w-7 {
    width: 1.75rem;
}

.\!k-w-7 {
    width: 1.75rem !important;
}

.k-w-7\.5 {
    width: 1.875rem;
}

.\!k-w-7\.5 {
    width: 1.875rem !important;
}

.k-w-8 {
    width: 2rem;
}

.\!k-w-8 {
    width: 2rem !important;
}

.k-w-9 {
    width: 2.25rem;
}

.\!k-w-9 {
    width: 2.25rem !important;
}

.k-w-10 {
    width: 2.5rem;
}

.\!k-w-10 {
    width: 2.5rem !important;
}

.k-w-11 {
    width: 2.75rem;
}

.\!k-w-11 {
    width: 2.75rem !important;
}

.k-w-12 {
    width: 3rem;
}

.\!k-w-12 {
    width: 3rem !important;
}

.k-w-13 {
    width: 3.25rem;
}

.\!k-w-13 {
    width: 3.25rem !important;
}

.k-w-14 {
    width: 3.5rem;
}

.\!k-w-14 {
    width: 3.5rem !important;
}

.k-w-15 {
    width: 3.75rem;
}

.\!k-w-15 {
    width: 3.75rem !important;
}

.k-w-16 {
    width: 4rem;
}

.\!k-w-16 {
    width: 4rem !important;
}

.k-w-17 {
    width: 4.25rem;
}

.\!k-w-17 {
    width: 4.25rem !important;
}

.k-w-18 {
    width: 4.5rem;
}

.\!k-w-18 {
    width: 4.5rem !important;
}

.k-w-19 {
    width: 4.75rem;
}

.\!k-w-19 {
    width: 4.75rem !important;
}

.k-w-20 {
    width: 5rem;
}

.\!k-w-20 {
    width: 5rem !important;
}

.k-w-21 {
    width: 5.25rem;
}

.\!k-w-21 {
    width: 5.25rem !important;
}

.k-w-22 {
    width: 5.5rem;
}

.\!k-w-22 {
    width: 5.5rem !important;
}

.k-w-23 {
    width: 5.75rem;
}

.\!k-w-23 {
    width: 5.75rem !important;
}

.k-w-24 {
    width: 6rem;
}

.\!k-w-24 {
    width: 6rem !important;
}

.k-w-auto {
    width: auto;
}

.\!k-w-auto {
    width: auto !important;
}

.k-w-1\/2 {
    width: 50%;
}

.\!k-w-1\/2 {
    width: 50% !important;
}

.k-w-1\/3 {
    width: 33.333333%;
}

.\!k-w-1\/3 {
    width: 33.333333% !important;
}

.k-w-2\/3 {
    width: 66.666667%;
}

.\!k-w-2\/3 {
    width: 66.666667% !important;
}

.k-w-1\/4 {
    width: 25%;
}

.\!k-w-1\/4 {
    width: 25% !important;
}

.k-w-2\/4 {
    width: 50%;
}

.\!k-w-2\/4 {
    width: 50% !important;
}

.k-w-3\/4 {
    width: 75%;
}

.\!k-w-3\/4 {
    width: 75% !important;
}

.k-w-1\/5 {
    width: 20%;
}

.\!k-w-1\/5 {
    width: 20% !important;
}

.k-w-2\/5 {
    width: 40%;
}

.\!k-w-2\/5 {
    width: 40% !important;
}

.k-w-3\/5 {
    width: 60%;
}

.\!k-w-3\/5 {
    width: 60% !important;
}

.k-w-4\/5 {
    width: 80%;
}

.\!k-w-4\/5 {
    width: 80% !important;
}

.k-w-1\/6 {
    width: 16.666667%;
}

.\!k-w-1\/6 {
    width: 16.666667% !important;
}

.k-w-2\/6 {
    width: 33.333333%;
}

.\!k-w-2\/6 {
    width: 33.333333% !important;
}

.k-w-3\/6 {
    width: 50%;
}

.\!k-w-3\/6 {
    width: 50% !important;
}

.k-w-4\/6 {
    width: 66.666667%;
}

.\!k-w-4\/6 {
    width: 66.666667% !important;
}

.k-w-5\/6 {
    width: 83.333333%;
}

.\!k-w-5\/6 {
    width: 83.333333% !important;
}

.k-w-1\/12 {
    width: 8.333333%;
}

.\!k-w-1\/12 {
    width: 8.333333% !important;
}

.k-w-2\/12 {
    width: 16.666667%;
}

.\!k-w-2\/12 {
    width: 16.666667% !important;
}

.k-w-3\/12 {
    width: 25%;
}

.\!k-w-3\/12 {
    width: 25% !important;
}

.k-w-4\/12 {
    width: 33.333333%;
}

.\!k-w-4\/12 {
    width: 33.333333% !important;
}

.k-w-5\/12 {
    width: 41.666667%;
}

.\!k-w-5\/12 {
    width: 41.666667% !important;
}

.k-w-6\/12 {
    width: 50%;
}

.\!k-w-6\/12 {
    width: 50% !important;
}

.k-w-7\/12 {
    width: 58.333333%;
}

.\!k-w-7\/12 {
    width: 58.333333% !important;
}

.k-w-8\/12 {
    width: 66.666667%;
}

.\!k-w-8\/12 {
    width: 66.666667% !important;
}

.k-w-9\/12 {
    width: 75%;
}

.\!k-w-9\/12 {
    width: 75% !important;
}

.k-w-10\/12 {
    width: 83.333333%;
}

.\!k-w-10\/12 {
    width: 83.333333% !important;
}

.k-w-11\/12 {
    width: 91.666667%;
}

.\!k-w-11\/12 {
    width: 91.666667% !important;
}

.k-w-full {
    width: 100%;
}

.\!k-w-full {
    width: 100% !important;
}

.k-w-min {
    width: min-content;
}

.\!k-w-min {
    width: min-content !important;
}

.k-w-max {
    width: max-content;
}

.\!k-w-max {
    width: max-content !important;
}

.k-w-fit {
    width: fit-content;
}

.\!k-w-fit {
    width: fit-content !important;
}

.k-w-screen {
    width: 100vw;
}

.\!k-w-screen {
    width: 100vw !important;
}

.k-min-w-0 {
    min-width: 0;
}

.\!k-min-w-0 {
    min-width: 0 !important;
}

.k-min-w-full {
    min-width: 100%;
}

.\!k-min-w-full {
    min-width: 100% !important;
}

.k-min-w-screen {
    min-width: 100vw;
}

.\!k-min-w-screen {
    min-width: 100vw !important;
}

.k-min-w-min {
    min-width: min-content;
}

.\!k-min-w-min {
    min-width: min-content !important;
}

.k-min-w-max {
    min-width: max-content;
}

.\!k-min-w-max {
    min-width: max-content !important;
}

.k-min-w-fit {
    min-width: fit-content;
}

.\!k-min-w-fit {
    min-width: fit-content !important;
}

.k-max-w-none {
    max-width: none;
}

.\!k-max-w-none {
    max-width: none !important;
}

.k-max-w-0 {
    max-width: 0;
}

.\!k-max-w-0 {
    max-width: 0 !important;
}

.k-max-w-full {
    max-width: 100%;
}

.\!k-max-w-full {
    max-width: 100% !important;
}

.k-max-w-screen {
    max-width: 100vw;
}

.\!k-max-w-screen {
    max-width: 100vw !important;
}

.k-max-w-min {
    max-width: min-content;
}

.\!k-max-w-min {
    max-width: min-content !important;
}

.k-max-w-max {
    max-width: max-content;
}

.\!k-max-w-max {
    max-width: max-content !important;
}

.k-max-w-fit {
    max-width: fit-content;
}

.\!k-max-w-fit {
    max-width: fit-content !important;
}

.k-font-size-xs {
    font-size: 0.75rem;
}

.\!k-font-size-xs {
    font-size: 0.75rem !important;
}

.k-font-size-sm {
    font-size: 0.875rem;
}

.\!k-font-size-sm {
    font-size: 0.875rem !important;
}

.k-font-size-md {
    font-size: 1rem;
}

.\!k-font-size-md {
    font-size: 1rem !important;
}

.k-font-size-lg {
    font-size: 1.25rem;
}

.\!k-font-size-lg {
    font-size: 1.25rem !important;
}

.k-font-size-xl {
    font-size: 1.5rem;
}

.\!k-font-size-xl {
    font-size: 1.5rem !important;
}

.k-fs-xs {
    font-size: 0.75rem;
}

.\!k-fs-xs {
    font-size: 0.75rem !important;
}

.k-fs-sm {
    font-size: 0.875rem;
}

.\!k-fs-sm {
    font-size: 0.875rem !important;
}

.k-fs-md {
    font-size: 1rem;
}

.\!k-fs-md {
    font-size: 1rem !important;
}

.k-fs-lg {
    font-size: 1.25rem;
}

.\!k-fs-lg {
    font-size: 1.25rem !important;
}

.k-fs-xl {
    font-size: 1.5rem;
}

.\!k-fs-xl {
    font-size: 1.5rem !important;
}

.k-font-italic {
    font-style: italic;
}

.\!k-font-italic {
    font-style: italic !important;
}

.k-font-non-italic {
    font-style: normal;
}

.\!k-font-non-italic {
    font-style: normal !important;
}

.k-font-thin {
    font-weight: 100;
}

.\!k-font-thin {
    font-weight: 100 !important;
}

.k-font-extralight {
    font-weight: 200;
}

.\!k-font-extralight {
    font-weight: 200 !important;
}

.k-font-light {
    font-weight: 300;
}

.\!k-font-light {
    font-weight: 300 !important;
}

.k-font-normal {
    font-weight: 400;
}

.\!k-font-normal {
    font-weight: 400 !important;
}

.k-font-medium {
    font-weight: 500;
}

.\!k-font-medium {
    font-weight: 500 !important;
}

.k-font-semibold {
    font-weight: 600;
}

.\!k-font-semibold {
    font-weight: 600 !important;
}

.k-font-bold {
    font-weight: 700;
}

.\!k-font-bold {
    font-weight: 700 !important;
}

.k-font-extrabold {
    font-weight: 800;
}

.\!k-font-extrabold {
    font-weight: 800 !important;
}

.k-font-black {
    font-weight: 900;
}

.\!k-font-black {
    font-weight: 900 !important;
}

.k-font-weight-thin {
    font-weight: 100;
}

.\!k-font-weight-thin {
    font-weight: 100 !important;
}

.k-font-weight-extralight {
    font-weight: 200;
}

.\!k-font-weight-extralight {
    font-weight: 200 !important;
}

.k-font-weight-light {
    font-weight: 300;
}

.\!k-font-weight-light {
    font-weight: 300 !important;
}

.k-font-weight-normal {
    font-weight: 400;
}

.\!k-font-weight-normal {
    font-weight: 400 !important;
}

.k-font-weight-medium {
    font-weight: 500;
}

.\!k-font-weight-medium {
    font-weight: 500 !important;
}

.k-font-weight-semibold {
    font-weight: 600;
}

.\!k-font-weight-semibold {
    font-weight: 600 !important;
}

.k-font-weight-bold {
    font-weight: 700;
}

.\!k-font-weight-bold {
    font-weight: 700 !important;
}

.k-font-weight-extrabold {
    font-weight: 800;
}

.\!k-font-weight-extrabold {
    font-weight: 800 !important;
}

.k-font-weight-black {
    font-weight: 900;
}

.\!k-font-weight-black {
    font-weight: 900 !important;
}

.k-list-none {
    list-style-type: none;
}

.\!k-list-none {
    list-style-type: none !important;
}

.k-list-disc {
    list-style-type: disc;
}

.\!k-list-disc {
    list-style-type: disc !important;
}

.k-list-decimal {
    list-style-type: decimal;
}

.\!k-list-decimal {
    list-style-type: decimal !important;
}

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

.\!k-text-left {
    text-align: left !important;
}

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

.\!k-text-right {
    text-align: right !important;
}

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

.\!k-text-center {
    text-align: center !important;
}

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

.\!k-text-justify {
    text-align: justify !important;
}

.k-text-start {
    text-align: start;
}

.\!k-text-start {
    text-align: start !important;
}

.k-text-end {
    text-align: end;
}

.\!k-text-end {
    text-align: end !important;
}

.k-text-primary {
    color: limegreen;
}

.\!k-text-primary {
    color: limegreen !important;
}

.k-text-secondary {
    color: #9f1ae2;
}

.\!k-text-secondary {
    color: #9f1ae2 !important;
}

.k-text-tertiary {
    color: #9f1ae2;
}

.\!k-text-tertiary {
    color: #9f1ae2 !important;
}

.k-text-info {
    color: #0dcaf0;
}

.\!k-text-info {
    color: #0dcaf0 !important;
}

.k-text-success {
    color: #198754;
}

.\!k-text-success {
    color: #198754 !important;
}

.k-text-warning {
    color: #ffc107;
}

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

.k-text-error {
    color: #dc3545;
}

.\!k-text-error {
    color: #dc3545 !important;
}

.k-text-dark {
    color: #212529;
}

.\!k-text-dark {
    color: #212529 !important;
}

.k-text-light {
    color: #f8f9fa;
}

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

.k-text-inverse {
    color: #212529;
}

.\!k-text-inverse {
    color: #212529 !important;
}

.k-text-inherit {
    color: inherit;
}

.\!k-text-inherit {
    color: inherit !important;
}

.k-text-current {
    color: currentColor;
}

.\!k-text-current {
    color: currentColor !important;
}

.k-text-transparent {
    color: transparent;
}

.\!k-text-transparent {
    color: transparent !important;
}

.k-text-black {
    color: black;
}

.\!k-text-black {
    color: black !important;
}

.k-text-white {
    color: white;
}

.\!k-text-white {
    color: white !important;
}

.k-color-primary {
    color: limegreen;
}

.\!k-color-primary {
    color: limegreen !important;
}

.k-color-secondary {
    color: #9f1ae2;
}

.\!k-color-secondary {
    color: #9f1ae2 !important;
}

.k-color-tertiary {
    color: #9f1ae2;
}

.\!k-color-tertiary {
    color: #9f1ae2 !important;
}

.k-color-info {
    color: #0dcaf0;
}

.\!k-color-info {
    color: #0dcaf0 !important;
}

.k-color-success {
    color: #198754;
}

.\!k-color-success {
    color: #198754 !important;
}

.k-color-warning {
    color: #ffc107;
}

.\!k-color-warning {
    color: #ffc107 !important;
}

.k-color-error {
    color: #dc3545;
}

.\!k-color-error {
    color: #dc3545 !important;
}

.k-color-dark {
    color: #212529;
}

.\!k-color-dark {
    color: #212529 !important;
}

.k-color-light {
    color: #f8f9fa;
}

.\!k-color-light {
    color: #f8f9fa !important;
}

.k-color-inverse {
    color: #212529;
}

.\!k-color-inverse {
    color: #212529 !important;
}

.k-color-inherit {
    color: inherit;
}

.\!k-color-inherit {
    color: inherit !important;
}

.k-color-current {
    color: currentColor;
}

.\!k-color-current {
    color: currentColor !important;
}

.k-color-transparent {
    color: transparent;
}

.\!k-color-transparent {
    color: transparent !important;
}

.k-color-black {
    color: black;
}

.\!k-color-black {
    color: black !important;
}

.k-color-white {
    color: white;
}

.\!k-color-white {
    color: white !important;
}

.k-text-underline {
    text-decoration: underline;
}

.\!k-text-underline {
    text-decoration: underline !important;
}

.k-text-overline {
    text-decoration: overline;
}

.\!k-text-overline {
    text-decoration: overline !important;
}

.k-text-line-through {
    text-decoration: line-through;
}

.\!k-text-line-through {
    text-decoration: line-through !important;
}

.k-text-no-underline {
    text-decoration: none;
}

.\!k-text-no-underline {
    text-decoration: none !important;
}

.k-text-clip {
    text-overflow: clip;
}

.\!k-text-clip {
    text-overflow: clip !important;
}

.k-text-ellipsis {
    text-overflow: ellipsis;
}

.\!k-text-ellipsis {
    text-overflow: ellipsis !important;
}

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

.\!k-text-truncate, .\!k-text-ellipsis {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.k-text-uppercase {
    text-transform: uppercase;
}

.\!k-text-uppercase {
    text-transform: uppercase !important;
}

.k-text-lowercase {
    text-transform: lowercase;
}

.\!k-text-lowercase {
    text-transform: lowercase !important;
}

.k-text-capitalize {
    text-transform: capitalize;
}

.\!k-text-capitalize {
    text-transform: capitalize !important;
}

.k-text-normal-case {
    text-transform: none;
}

.\!k-text-normal-case {
    text-transform: none !important;
}

.k-align-baseline {
    vertical-align: baseline;
}

.\!k-align-baseline {
    vertical-align: baseline !important;
}

.k-align-top {
    vertical-align: top;
}

.\!k-align-top {
    vertical-align: top !important;
}

.k-align-middle {
    vertical-align: middle;
}

.\!k-align-middle {
    vertical-align: middle !important;
}

.k-align-bottom {
    vertical-align: bottom;
}

.\!k-align-bottom {
    vertical-align: bottom !important;
}

.k-align-text-top {
    vertical-align: text-top;
}

.\!k-align-text-top {
    vertical-align: text-top !important;
}

.k-align-text-bottom {
    vertical-align: text-bottom;
}

.\!k-align-text-bottom {
    vertical-align: text-bottom !important;
}

.k-align-sub {
    vertical-align: sub;
}

.\!k-align-sub {
    vertical-align: sub !important;
}

.k-align-super {
    vertical-align: super;
}

.\!k-align-super {
    vertical-align: super !important;
}

.k-white-space-normal {
    white-space: normal;
}

.\!k-white-space-normal {
    white-space: normal !important;
}

.k-white-space-nowrap, .k-text-nowrap {
    white-space: nowrap;
}

.\!k-white-space-nowrap {
    white-space: nowrap !important;
}

.k-white-space-pre {
    white-space: pre;
}

.\!k-white-space-pre {
    white-space: pre !important;
}

.k-white-space-pre-line {
    white-space: pre-line;
}

.\!k-white-space-pre-line {
    white-space: pre-line !important;
}

.k-white-space-pre-wrap {
    white-space: pre-wrap;
}

.\!k-white-space-pre-wrap {
    white-space: pre-wrap !important;
}

.k-white-space-break-spaces {
    white-space: break-spaces;
}

.\!k-white-space-break-spaces {
    white-space: break-spaces !important;
}

.k-whitespace-normal {
    white-space: normal;
}

.\!k-whitespace-normal {
    white-space: normal !important;
}

.k-whitespace-nowrap {
    white-space: nowrap;
}

.\!k-whitespace-nowrap {
    white-space: nowrap !important;
}

.k-whitespace-pre {
    white-space: pre;
}

.\!k-whitespace-pre {
    white-space: pre !important;
}

.k-whitespace-pre-line {
    white-space: pre-line;
}

.\!k-whitespace-pre-line {
    white-space: pre-line !important;
}

.k-whitespace-pre-wrap {
    white-space: pre-wrap;
}

.\!k-whitespace-pre-wrap {
    white-space: pre-wrap !important;
}

.k-whitespace-break-spaces {
    white-space: break-spaces;
}

.\!k-whitespace-break-spaces {
    white-space: break-spaces !important;
}

.k-bg-clip-border {
    background-clip: border-box;
}

.\!k-bg-clip-border {
    background-clip: border-box !important;
}

.k-bg-clip-padding {
    background-clip: padding-box;
}

.\!k-bg-clip-padding {
    background-clip: padding-box !important;
}

.k-bg-clip-content {
    background-clip: content-box;
}

.\!k-bg-clip-content {
    background-clip: content-box !important;
}

.k-bg-clip-text {
    background-clip: text;
}

.\!k-bg-clip-text {
    background-clip: text !important;
}

.k-bg-primary {
    background-color: limegreen;
}

.\!k-bg-primary {
    background-color: limegreen !important;
}

.k-bg-secondary {
    background-color: #9f1ae2;
}

.\!k-bg-secondary {
    background-color: #9f1ae2 !important;
}

.k-bg-tertiary {
    background-color: #9f1ae2;
}

.\!k-bg-tertiary {
    background-color: #9f1ae2 !important;
}

.k-bg-info {
    background-color: #0dcaf0;
}

.\!k-bg-info {
    background-color: #0dcaf0 !important;
}

.k-bg-success {
    background-color: #198754;
}

.\!k-bg-success {
    background-color: #198754 !important;
}

.k-bg-warning {
    background-color: #ffc107;
}

.\!k-bg-warning {
    background-color: #ffc107 !important;
}

.k-bg-error {
    background-color: #dc3545;
}

.\!k-bg-error {
    background-color: #dc3545 !important;
}

.k-bg-dark {
    background-color: #212529;
}

.\!k-bg-dark {
    background-color: #212529 !important;
}

.k-bg-light {
    background-color: #f8f9fa;
}

.\!k-bg-light {
    background-color: #f8f9fa !important;
}

.k-bg-inverse {
    background-color: #212529;
}

.\!k-bg-inverse {
    background-color: #212529 !important;
}

.k-bg-inherit {
    background-color: inherit;
}

.\!k-bg-inherit {
    background-color: inherit !important;
}

.k-bg-transparent {
    background-color: transparent;
}

.\!k-bg-transparent {
    background-color: transparent !important;
}

.k-bg-black {
    background-color: black;
}

.\!k-bg-black {
    background-color: black !important;
}

.k-bg-white {
    background-color: white;
}

.\!k-bg-white {
    background-color: white !important;
}

.k-bg-center {
    background-position: center;
}

.\!k-bg-center {
    background-position: center !important;
}

.k-bg-top {
    background-position: top;
}

.\!k-bg-top {
    background-position: top !important;
}

.k-bg-right {
    background-position: right;
}

.\!k-bg-right {
    background-position: right !important;
}

.k-bg-bottom {
    background-position: bottom;
}

.\!k-bg-bottom {
    background-position: bottom !important;
}

.k-bg-left {
    background-position: left;
}

.\!k-bg-left {
    background-position: left !important;
}

.k-bg-top-left {
    background-position: top left;
}

.\!k-bg-top-left {
    background-position: top left !important;
}

.k-bg-top-right {
    background-position: top right;
}

.\!k-bg-top-right {
    background-position: top right !important;
}

.k-bg-bottom-left {
    background-position: bottom left;
}

.\!k-bg-bottom-left {
    background-position: bottom left !important;
}

.k-bg-bottom-right {
    background-position: bottom right;
}

.\!k-bg-bottom-right {
    background-position: bottom right !important;
}

.k-bg-auto {
    background-size: auto;
}

.\!k-bg-auto {
    background-size: auto !important;
}

.k-bg-cover {
    background-size: cover;
}

.\!k-bg-cover {
    background-size: cover !important;
}

.k-bg-contain {
    background-size: contain;
}

.\!k-bg-contain {
    background-size: contain !important;
}

.k-border-primary {
    border-color: limegreen;
}

.\!k-border-primary {
    border-color: limegreen !important;
}

.k-border-secondary {
    border-color: #9f1ae2;
}

.\!k-border-secondary {
    border-color: #9f1ae2 !important;
}

.k-border-tertiary {
    border-color: #9f1ae2;
}

.\!k-border-tertiary {
    border-color: #9f1ae2 !important;
}

.k-border-info {
    border-color: #0dcaf0;
}

.\!k-border-info {
    border-color: #0dcaf0 !important;
}

.k-border-success {
    border-color: #198754;
}

.\!k-border-success {
    border-color: #198754 !important;
}

.k-border-warning {
    border-color: #ffc107;
}

.\!k-border-warning {
    border-color: #ffc107 !important;
}

.k-border-error {
    border-color: #dc3545;
}

.\!k-border-error {
    border-color: #dc3545 !important;
}

.k-border-dark {
    border-color: #212529;
}

.\!k-border-dark {
    border-color: #212529 !important;
}

.k-border-light {
    border-color: #f8f9fa;
}

.\!k-border-light {
    border-color: #f8f9fa !important;
}

.k-border-inverse {
    border-color: #212529;
}

.\!k-border-inverse {
    border-color: #212529 !important;
}

.k-border-inherit {
    border-color: inherit;
}

.\!k-border-inherit {
    border-color: inherit !important;
}

.k-border-current {
    border-color: currentColor;
}

.\!k-border-current {
    border-color: currentColor !important;
}

.k-border-transparent {
    border-color: transparent;
}

.\!k-border-transparent {
    border-color: transparent !important;
}

.k-border-black {
    border-color: black;
}

.\!k-border-black {
    border-color: black !important;
}

.k-border-white {
    border-color: white;
}

.\!k-border-white {
    border-color: white !important;
}

.k-border-t-primary {
    border-top-color: limegreen;
}

.\!k-border-t-primary {
    border-top-color: limegreen !important;
}

.k-border-t-secondary {
    border-top-color: #9f1ae2;
}

.\!k-border-t-secondary {
    border-top-color: #9f1ae2 !important;
}

.k-border-t-tertiary {
    border-top-color: #9f1ae2;
}

.\!k-border-t-tertiary {
    border-top-color: #9f1ae2 !important;
}

.k-border-t-info {
    border-top-color: #0dcaf0;
}

.\!k-border-t-info {
    border-top-color: #0dcaf0 !important;
}

.k-border-t-success {
    border-top-color: #198754;
}

.\!k-border-t-success {
    border-top-color: #198754 !important;
}

.k-border-t-warning {
    border-top-color: #ffc107;
}

.\!k-border-t-warning {
    border-top-color: #ffc107 !important;
}

.k-border-t-error {
    border-top-color: #dc3545;
}

.\!k-border-t-error {
    border-top-color: #dc3545 !important;
}

.k-border-t-dark {
    border-top-color: #212529;
}

.\!k-border-t-dark {
    border-top-color: #212529 !important;
}

.k-border-t-light {
    border-top-color: #f8f9fa;
}

.\!k-border-t-light {
    border-top-color: #f8f9fa !important;
}

.k-border-t-inverse {
    border-top-color: #212529;
}

.\!k-border-t-inverse {
    border-top-color: #212529 !important;
}

.k-border-t-inherit {
    border-top-color: inherit;
}

.\!k-border-t-inherit {
    border-top-color: inherit !important;
}

.k-border-t-current {
    border-top-color: currentColor;
}

.\!k-border-t-current {
    border-top-color: currentColor !important;
}

.k-border-t-transparent {
    border-top-color: transparent;
}

.\!k-border-t-transparent {
    border-top-color: transparent !important;
}

.k-border-t-black {
    border-top-color: black;
}

.\!k-border-t-black {
    border-top-color: black !important;
}

.k-border-t-white {
    border-top-color: white;
}

.\!k-border-t-white {
    border-top-color: white !important;
}

.k-border-r-primary {
    border-right-color: limegreen;
}

.\!k-border-r-primary {
    border-right-color: limegreen !important;
}

.k-border-r-secondary {
    border-right-color: #9f1ae2;
}

.\!k-border-r-secondary {
    border-right-color: #9f1ae2 !important;
}

.k-border-r-tertiary {
    border-right-color: #9f1ae2;
}

.\!k-border-r-tertiary {
    border-right-color: #9f1ae2 !important;
}

.k-border-r-info {
    border-right-color: #0dcaf0;
}

.\!k-border-r-info {
    border-right-color: #0dcaf0 !important;
}

.k-border-r-success {
    border-right-color: #198754;
}

.\!k-border-r-success {
    border-right-color: #198754 !important;
}

.k-border-r-warning {
    border-right-color: #ffc107;
}

.\!k-border-r-warning {
    border-right-color: #ffc107 !important;
}

.k-border-r-error {
    border-right-color: #dc3545;
}

.\!k-border-r-error {
    border-right-color: #dc3545 !important;
}

.k-border-r-dark {
    border-right-color: #212529;
}

.\!k-border-r-dark {
    border-right-color: #212529 !important;
}

.k-border-r-light {
    border-right-color: #f8f9fa;
}

.\!k-border-r-light {
    border-right-color: #f8f9fa !important;
}

.k-border-r-inverse {
    border-right-color: #212529;
}

.\!k-border-r-inverse {
    border-right-color: #212529 !important;
}

.k-border-r-inherit {
    border-right-color: inherit;
}

.\!k-border-r-inherit {
    border-right-color: inherit !important;
}

.k-border-r-current {
    border-right-color: currentColor;
}

.\!k-border-r-current {
    border-right-color: currentColor !important;
}

.k-border-r-transparent {
    border-right-color: transparent;
}

.\!k-border-r-transparent {
    border-right-color: transparent !important;
}

.k-border-r-black {
    border-right-color: black;
}

.\!k-border-r-black {
    border-right-color: black !important;
}

.k-border-r-white {
    border-right-color: white;
}

.\!k-border-r-white {
    border-right-color: white !important;
}

.k-border-b-primary {
    border-bottom-color: limegreen;
}

.\!k-border-b-primary {
    border-bottom-color: limegreen !important;
}

.k-border-b-secondary {
    border-bottom-color: #9f1ae2;
}

.\!k-border-b-secondary {
    border-bottom-color: #9f1ae2 !important;
}

.k-border-b-tertiary {
    border-bottom-color: #9f1ae2;
}

.\!k-border-b-tertiary {
    border-bottom-color: #9f1ae2 !important;
}

.k-border-b-info {
    border-bottom-color: #0dcaf0;
}

.\!k-border-b-info {
    border-bottom-color: #0dcaf0 !important;
}

.k-border-b-success {
    border-bottom-color: #198754;
}

.\!k-border-b-success {
    border-bottom-color: #198754 !important;
}

.k-border-b-warning {
    border-bottom-color: #ffc107;
}

.\!k-border-b-warning {
    border-bottom-color: #ffc107 !important;
}

.k-border-b-error {
    border-bottom-color: #dc3545;
}

.\!k-border-b-error {
    border-bottom-color: #dc3545 !important;
}

.k-border-b-dark {
    border-bottom-color: #212529;
}

.\!k-border-b-dark {
    border-bottom-color: #212529 !important;
}

.k-border-b-light {
    border-bottom-color: #f8f9fa;
}

.\!k-border-b-light {
    border-bottom-color: #f8f9fa !important;
}

.k-border-b-inverse {
    border-bottom-color: #212529;
}

.\!k-border-b-inverse {
    border-bottom-color: #212529 !important;
}

.k-border-b-inherit {
    border-bottom-color: inherit;
}

.\!k-border-b-inherit {
    border-bottom-color: inherit !important;
}

.k-border-b-current {
    border-bottom-color: currentColor;
}

.\!k-border-b-current {
    border-bottom-color: currentColor !important;
}

.k-border-b-transparent {
    border-bottom-color: transparent;
}

.\!k-border-b-transparent {
    border-bottom-color: transparent !important;
}

.k-border-b-black {
    border-bottom-color: black;
}

.\!k-border-b-black {
    border-bottom-color: black !important;
}

.k-border-b-white {
    border-bottom-color: white;
}

.\!k-border-b-white {
    border-bottom-color: white !important;
}

.k-border-l-primary {
    border-left-color: limegreen;
}

.\!k-border-l-primary {
    border-left-color: limegreen !important;
}

.k-border-l-secondary {
    border-left-color: #9f1ae2;
}

.\!k-border-l-secondary {
    border-left-color: #9f1ae2 !important;
}

.k-border-l-tertiary {
    border-left-color: #9f1ae2;
}

.\!k-border-l-tertiary {
    border-left-color: #9f1ae2 !important;
}

.k-border-l-info {
    border-left-color: #0dcaf0;
}

.\!k-border-l-info {
    border-left-color: #0dcaf0 !important;
}

.k-border-l-success {
    border-left-color: #198754;
}

.\!k-border-l-success {
    border-left-color: #198754 !important;
}

.k-border-l-warning {
    border-left-color: #ffc107;
}

.\!k-border-l-warning {
    border-left-color: #ffc107 !important;
}

.k-border-l-error {
    border-left-color: #dc3545;
}

.\!k-border-l-error {
    border-left-color: #dc3545 !important;
}

.k-border-l-dark {
    border-left-color: #212529;
}

.\!k-border-l-dark {
    border-left-color: #212529 !important;
}

.k-border-l-light {
    border-left-color: #f8f9fa;
}

.\!k-border-l-light {
    border-left-color: #f8f9fa !important;
}

.k-border-l-inverse {
    border-left-color: #212529;
}

.\!k-border-l-inverse {
    border-left-color: #212529 !important;
}

.k-border-l-inherit {
    border-left-color: inherit;
}

.\!k-border-l-inherit {
    border-left-color: inherit !important;
}

.k-border-l-current {
    border-left-color: currentColor;
}

.\!k-border-l-current {
    border-left-color: currentColor !important;
}

.k-border-l-transparent {
    border-left-color: transparent;
}

.\!k-border-l-transparent {
    border-left-color: transparent !important;
}

.k-border-l-black {
    border-left-color: black;
}

.\!k-border-l-black {
    border-left-color: black !important;
}

.k-border-l-white {
    border-left-color: white;
}

.\!k-border-l-white {
    border-left-color: white !important;
}

.k-border-x-primary {
    border-inline-color: limegreen;
}

.\!k-border-x-primary {
    border-inline-color: limegreen !important;
}

.k-border-x-secondary {
    border-inline-color: #9f1ae2;
}

.\!k-border-x-secondary {
    border-inline-color: #9f1ae2 !important;
}

.k-border-x-tertiary {
    border-inline-color: #9f1ae2;
}

.\!k-border-x-tertiary {
    border-inline-color: #9f1ae2 !important;
}

.k-border-x-info {
    border-inline-color: #0dcaf0;
}

.\!k-border-x-info {
    border-inline-color: #0dcaf0 !important;
}

.k-border-x-success {
    border-inline-color: #198754;
}

.\!k-border-x-success {
    border-inline-color: #198754 !important;
}

.k-border-x-warning {
    border-inline-color: #ffc107;
}

.\!k-border-x-warning {
    border-inline-color: #ffc107 !important;
}

.k-border-x-error {
    border-inline-color: #dc3545;
}

.\!k-border-x-error {
    border-inline-color: #dc3545 !important;
}

.k-border-x-dark {
    border-inline-color: #212529;
}

.\!k-border-x-dark {
    border-inline-color: #212529 !important;
}

.k-border-x-light {
    border-inline-color: #f8f9fa;
}

.\!k-border-x-light {
    border-inline-color: #f8f9fa !important;
}

.k-border-x-inverse {
    border-inline-color: #212529;
}

.\!k-border-x-inverse {
    border-inline-color: #212529 !important;
}

.k-border-x-inherit {
    border-inline-color: inherit;
}

.\!k-border-x-inherit {
    border-inline-color: inherit !important;
}

.k-border-x-current {
    border-inline-color: currentColor;
}

.\!k-border-x-current {
    border-inline-color: currentColor !important;
}

.k-border-x-transparent {
    border-inline-color: transparent;
}

.\!k-border-x-transparent {
    border-inline-color: transparent !important;
}

.k-border-x-black {
    border-inline-color: black;
}

.\!k-border-x-black {
    border-inline-color: black !important;
}

.k-border-x-white {
    border-inline-color: white;
}

.\!k-border-x-white {
    border-inline-color: white !important;
}

.k-border-y-primary {
    border-block-color: limegreen;
}

.\!k-border-y-primary {
    border-block-color: limegreen !important;
}

.k-border-y-secondary {
    border-block-color: #9f1ae2;
}

.\!k-border-y-secondary {
    border-block-color: #9f1ae2 !important;
}

.k-border-y-tertiary {
    border-block-color: #9f1ae2;
}

.\!k-border-y-tertiary {
    border-block-color: #9f1ae2 !important;
}

.k-border-y-info {
    border-block-color: #0dcaf0;
}

.\!k-border-y-info {
    border-block-color: #0dcaf0 !important;
}

.k-border-y-success {
    border-block-color: #198754;
}

.\!k-border-y-success {
    border-block-color: #198754 !important;
}

.k-border-y-warning {
    border-block-color: #ffc107;
}

.\!k-border-y-warning {
    border-block-color: #ffc107 !important;
}

.k-border-y-error {
    border-block-color: #dc3545;
}

.\!k-border-y-error {
    border-block-color: #dc3545 !important;
}

.k-border-y-dark {
    border-block-color: #212529;
}

.\!k-border-y-dark {
    border-block-color: #212529 !important;
}

.k-border-y-light {
    border-block-color: #f8f9fa;
}

.\!k-border-y-light {
    border-block-color: #f8f9fa !important;
}

.k-border-y-inverse {
    border-block-color: #212529;
}

.\!k-border-y-inverse {
    border-block-color: #212529 !important;
}

.k-border-y-inherit {
    border-block-color: inherit;
}

.\!k-border-y-inherit {
    border-block-color: inherit !important;
}

.k-border-y-current {
    border-block-color: currentColor;
}

.\!k-border-y-current {
    border-block-color: currentColor !important;
}

.k-border-y-transparent {
    border-block-color: transparent;
}

.\!k-border-y-transparent {
    border-block-color: transparent !important;
}

.k-border-y-black {
    border-block-color: black;
}

.\!k-border-y-black {
    border-block-color: black !important;
}

.k-border-y-white {
    border-block-color: white;
}

.\!k-border-y-white {
    border-block-color: white !important;
}

.k-rounded {
    border-radius: 0.375rem;
}

.\!k-rounded {
    border-radius: 0.375rem !important;
}

.k-rounded-0 {
    border-radius: 0;
}

.\!k-rounded-0 {
    border-radius: 0 !important;
}

.k-rounded-sm {
    border-radius: 0.25rem;
}

.\!k-rounded-sm {
    border-radius: 0.25rem !important;
}

.k-rounded-md {
    border-radius: 0.375rem;
}

.\!k-rounded-md {
    border-radius: 0.375rem !important;
}

.k-rounded-lg {
    border-radius: 0.5rem;
}

.\!k-rounded-lg {
    border-radius: 0.5rem !important;
}

.k-rounded-full {
    border-radius: 9999px;
}

.\!k-rounded-full {
    border-radius: 9999px !important;
}

.k-rounded-tl {
    border-top-left-radius: 0.375rem;
}

.\!k-rounded-tl {
    border-top-left-radius: 0.375rem !important;
}

.k-rounded-tl-0 {
    border-top-left-radius: 0;
}

.\!k-rounded-tl-0 {
    border-top-left-radius: 0 !important;
}

.k-rounded-tl-sm {
    border-top-left-radius: 0.25rem;
}

.\!k-rounded-tl-sm {
    border-top-left-radius: 0.25rem !important;
}

.k-rounded-tl-md {
    border-top-left-radius: 0.375rem;
}

.\!k-rounded-tl-md {
    border-top-left-radius: 0.375rem !important;
}

.k-rounded-tl-lg {
    border-top-left-radius: 0.5rem;
}

.\!k-rounded-tl-lg {
    border-top-left-radius: 0.5rem !important;
}

.k-rounded-tl-full {
    border-top-left-radius: 9999px;
}

.\!k-rounded-tl-full {
    border-top-left-radius: 9999px !important;
}

.k-rounded-tr {
    border-top-right-radius: 0.375rem;
}

.\!k-rounded-tr {
    border-top-right-radius: 0.375rem !important;
}

.k-rounded-tr-0 {
    border-top-right-radius: 0;
}

.\!k-rounded-tr-0 {
    border-top-right-radius: 0 !important;
}

.k-rounded-tr-sm {
    border-top-right-radius: 0.25rem;
}

.\!k-rounded-tr-sm {
    border-top-right-radius: 0.25rem !important;
}

.k-rounded-tr-md {
    border-top-right-radius: 0.375rem;
}

.\!k-rounded-tr-md {
    border-top-right-radius: 0.375rem !important;
}

.k-rounded-tr-lg {
    border-top-right-radius: 0.5rem;
}

.\!k-rounded-tr-lg {
    border-top-right-radius: 0.5rem !important;
}

.k-rounded-tr-full {
    border-top-right-radius: 9999px;
}

.\!k-rounded-tr-full {
    border-top-right-radius: 9999px !important;
}

.k-rounded-br {
    border-bottom-right-radius: 0.375rem;
}

.\!k-rounded-br {
    border-bottom-right-radius: 0.375rem !important;
}

.k-rounded-br-0 {
    border-bottom-right-radius: 0;
}

.\!k-rounded-br-0 {
    border-bottom-right-radius: 0 !important;
}

.k-rounded-br-sm {
    border-bottom-right-radius: 0.25rem;
}

.\!k-rounded-br-sm {
    border-bottom-right-radius: 0.25rem !important;
}

.k-rounded-br-md {
    border-bottom-right-radius: 0.375rem;
}

.\!k-rounded-br-md {
    border-bottom-right-radius: 0.375rem !important;
}

.k-rounded-br-lg {
    border-bottom-right-radius: 0.5rem;
}

.\!k-rounded-br-lg {
    border-bottom-right-radius: 0.5rem !important;
}

.k-rounded-br-full {
    border-bottom-right-radius: 9999px;
}

.\!k-rounded-br-full {
    border-bottom-right-radius: 9999px !important;
}

.k-rounded-bl {
    border-bottom-left-radius: 0.375rem;
}

.\!k-rounded-bl {
    border-bottom-left-radius: 0.375rem !important;
}

.k-rounded-bl-0 {
    border-bottom-left-radius: 0;
}

.\!k-rounded-bl-0 {
    border-bottom-left-radius: 0 !important;
}

.k-rounded-bl-sm {
    border-bottom-left-radius: 0.25rem;
}

.\!k-rounded-bl-sm {
    border-bottom-left-radius: 0.25rem !important;
}

.k-rounded-bl-md {
    border-bottom-left-radius: 0.375rem;
}

.\!k-rounded-bl-md {
    border-bottom-left-radius: 0.375rem !important;
}

.k-rounded-bl-lg {
    border-bottom-left-radius: 0.5rem;
}

.\!k-rounded-bl-lg {
    border-bottom-left-radius: 0.5rem !important;
}

.k-rounded-bl-full {
    border-bottom-left-radius: 9999px;
}

.\!k-rounded-bl-full {
    border-bottom-left-radius: 9999px !important;
}

.k-rounded-t {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}

.\!k-rounded-t {
    border-top-left-radius: 0.375rem !important;
    border-top-right-radius: 0.375rem !important;
}

.k-rounded-t-0 {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.\!k-rounded-t-0 {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

.k-rounded-t-sm {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
}

.\!k-rounded-t-sm {
    border-top-left-radius: 0.25rem !important;
    border-top-right-radius: 0.25rem !important;
}

.k-rounded-t-md {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}

.\!k-rounded-t-md {
    border-top-left-radius: 0.375rem !important;
    border-top-right-radius: 0.375rem !important;
}

.k-rounded-t-lg {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

.\!k-rounded-t-lg {
    border-top-left-radius: 0.5rem !important;
    border-top-right-radius: 0.5rem !important;
}

.k-rounded-t-full {
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px;
}

.\!k-rounded-t-full {
    border-top-left-radius: 9999px !important;
    border-top-right-radius: 9999px !important;
}

.k-rounded-r {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.\!k-rounded-r {
    border-top-right-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}

.k-rounded-r-0 {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.\!k-rounded-r-0 {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.k-rounded-r-sm {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.\!k-rounded-r-sm {
    border-top-right-radius: 0.25rem !important;
    border-bottom-right-radius: 0.25rem !important;
}

.k-rounded-r-md {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.\!k-rounded-r-md {
    border-top-right-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}

.k-rounded-r-lg {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.\!k-rounded-r-lg {
    border-top-right-radius: 0.5rem !important;
    border-bottom-right-radius: 0.5rem !important;
}

.k-rounded-r-full {
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
}

.\!k-rounded-r-full {
    border-top-right-radius: 9999px !important;
    border-bottom-right-radius: 9999px !important;
}

.k-rounded-b {
    border-bottom-left-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.\!k-rounded-b {
    border-bottom-left-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}

.k-rounded-b-0 {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.\!k-rounded-b-0 {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.k-rounded-b-sm {
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.\!k-rounded-b-sm {
    border-bottom-left-radius: 0.25rem !important;
    border-bottom-right-radius: 0.25rem !important;
}

.k-rounded-b-md {
    border-bottom-left-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.\!k-rounded-b-md {
    border-bottom-left-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}

.k-rounded-b-lg {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.\!k-rounded-b-lg {
    border-bottom-left-radius: 0.5rem !important;
    border-bottom-right-radius: 0.5rem !important;
}

.k-rounded-b-full {
    border-bottom-left-radius: 9999px;
    border-bottom-right-radius: 9999px;
}

.\!k-rounded-b-full {
    border-bottom-left-radius: 9999px !important;
    border-bottom-right-radius: 9999px !important;
}

.k-rounded-l {
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}

.\!k-rounded-l {
    border-top-left-radius: 0.375rem !important;
    border-bottom-left-radius: 0.375rem !important;
}

.k-rounded-l-0 {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.\!k-rounded-l-0 {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.k-rounded-l-sm {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.\!k-rounded-l-sm {
    border-top-left-radius: 0.25rem !important;
    border-bottom-left-radius: 0.25rem !important;
}

.k-rounded-l-md {
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}

.\!k-rounded-l-md {
    border-top-left-radius: 0.375rem !important;
    border-bottom-left-radius: 0.375rem !important;
}

.k-rounded-l-lg {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}

.\!k-rounded-l-lg {
    border-top-left-radius: 0.5rem !important;
    border-bottom-left-radius: 0.5rem !important;
}

.k-rounded-l-full {
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
}

.\!k-rounded-l-full {
    border-top-left-radius: 9999px !important;
    border-bottom-left-radius: 9999px !important;
}

.k-border-solid {
    border-style: solid;
}

.\!k-border-solid {
    border-style: solid !important;
}

.k-border-dashed {
    border-style: dashed;
}

.\!k-border-dashed {
    border-style: dashed !important;
}

.k-border-dotted {
    border-style: dotted;
}

.\!k-border-dotted {
    border-style: dotted !important;
}

.k-border-double {
    border-style: double;
}

.\!k-border-double {
    border-style: double !important;
}

.k-border-inset {
    border-style: inset;
}

.\!k-border-inset {
    border-style: inset !important;
}

.k-border-outset {
    border-style: outset;
}

.\!k-border-outset {
    border-style: outset !important;
}

.k-border-hidden {
    border-style: hidden;
}

.\!k-border-hidden {
    border-style: hidden !important;
}

.k-border-none {
    border-style: none;
}

.\!k-border-none {
    border-style: none !important;
}

.k-border-t-solid {
    border-top-style: solid;
}

.\!k-border-t-solid {
    border-top-style: solid !important;
}

.k-border-t-dashed {
    border-top-style: dashed;
}

.\!k-border-t-dashed {
    border-top-style: dashed !important;
}

.k-border-t-dotted {
    border-top-style: dotted;
}

.\!k-border-t-dotted {
    border-top-style: dotted !important;
}

.k-border-t-double {
    border-top-style: double;
}

.\!k-border-t-double {
    border-top-style: double !important;
}

.k-border-t-inset {
    border-top-style: inset;
}

.\!k-border-t-inset {
    border-top-style: inset !important;
}

.k-border-t-outset {
    border-top-style: outset;
}

.\!k-border-t-outset {
    border-top-style: outset !important;
}

.k-border-t-hidden {
    border-top-style: hidden;
}

.\!k-border-t-hidden {
    border-top-style: hidden !important;
}

.k-border-t-none {
    border-top-style: none;
}

.\!k-border-t-none {
    border-top-style: none !important;
}

.k-border-r-solid {
    border-right-style: solid;
}

.\!k-border-r-solid {
    border-right-style: solid !important;
}

.k-border-r-dashed {
    border-right-style: dashed;
}

.\!k-border-r-dashed {
    border-right-style: dashed !important;
}

.k-border-r-dotted {
    border-right-style: dotted;
}

.\!k-border-r-dotted {
    border-right-style: dotted !important;
}

.k-border-r-double {
    border-right-style: double;
}

.\!k-border-r-double {
    border-right-style: double !important;
}

.k-border-r-inset {
    border-right-style: inset;
}

.\!k-border-r-inset {
    border-right-style: inset !important;
}

.k-border-r-outset {
    border-right-style: outset;
}

.\!k-border-r-outset {
    border-right-style: outset !important;
}

.k-border-r-hidden {
    border-right-style: hidden;
}

.\!k-border-r-hidden {
    border-right-style: hidden !important;
}

.k-border-r-none {
    border-right-style: none;
}

.\!k-border-r-none {
    border-right-style: none !important;
}

.k-border-b-solid {
    border-bottom-style: solid;
}

.\!k-border-b-solid {
    border-bottom-style: solid !important;
}

.k-border-b-dashed {
    border-bottom-style: dashed;
}

.\!k-border-b-dashed {
    border-bottom-style: dashed !important;
}

.k-border-b-dotted {
    border-bottom-style: dotted;
}

.\!k-border-b-dotted {
    border-bottom-style: dotted !important;
}

.k-border-b-double {
    border-bottom-style: double;
}

.\!k-border-b-double {
    border-bottom-style: double !important;
}

.k-border-b-inset {
    border-bottom-style: inset;
}

.\!k-border-b-inset {
    border-bottom-style: inset !important;
}

.k-border-b-outset {
    border-bottom-style: outset;
}

.\!k-border-b-outset {
    border-bottom-style: outset !important;
}

.k-border-b-hidden {
    border-bottom-style: hidden;
}

.\!k-border-b-hidden {
    border-bottom-style: hidden !important;
}

.k-border-b-none {
    border-bottom-style: none;
}

.\!k-border-b-none {
    border-bottom-style: none !important;
}

.k-border-l-solid {
    border-left-style: solid;
}

.\!k-border-l-solid {
    border-left-style: solid !important;
}

.k-border-l-dashed {
    border-left-style: dashed;
}

.\!k-border-l-dashed {
    border-left-style: dashed !important;
}

.k-border-l-dotted {
    border-left-style: dotted;
}

.\!k-border-l-dotted {
    border-left-style: dotted !important;
}

.k-border-l-double {
    border-left-style: double;
}

.\!k-border-l-double {
    border-left-style: double !important;
}

.k-border-l-inset {
    border-left-style: inset;
}

.\!k-border-l-inset {
    border-left-style: inset !important;
}

.k-border-l-outset {
    border-left-style: outset;
}

.\!k-border-l-outset {
    border-left-style: outset !important;
}

.k-border-l-hidden {
    border-left-style: hidden;
}

.\!k-border-l-hidden {
    border-left-style: hidden !important;
}

.k-border-l-none {
    border-left-style: none;
}

.\!k-border-l-none {
    border-left-style: none !important;
}

.k-border-x-solid {
    border-inline-style: solid;
}

.\!k-border-x-solid {
    border-inline-style: solid !important;
}

.k-border-x-dashed {
    border-inline-style: dashed;
}

.\!k-border-x-dashed {
    border-inline-style: dashed !important;
}

.k-border-x-dotted {
    border-inline-style: dotted;
}

.\!k-border-x-dotted {
    border-inline-style: dotted !important;
}

.k-border-x-double {
    border-inline-style: double;
}

.\!k-border-x-double {
    border-inline-style: double !important;
}

.k-border-x-inset {
    border-inline-style: inset;
}

.\!k-border-x-inset {
    border-inline-style: inset !important;
}

.k-border-x-outset {
    border-inline-style: outset;
}

.\!k-border-x-outset {
    border-inline-style: outset !important;
}

.k-border-x-hidden {
    border-inline-style: hidden;
}

.\!k-border-x-hidden {
    border-inline-style: hidden !important;
}

.k-border-x-none {
    border-inline-style: none;
}

.\!k-border-x-none {
    border-inline-style: none !important;
}

.k-border-y-solid {
    border-block-style: solid;
}

.\!k-border-y-solid {
    border-block-style: solid !important;
}

.k-border-y-dashed {
    border-block-style: dashed;
}

.\!k-border-y-dashed {
    border-block-style: dashed !important;
}

.k-border-y-dotted {
    border-block-style: dotted;
}

.\!k-border-y-dotted {
    border-block-style: dotted !important;
}

.k-border-y-double {
    border-block-style: double;
}

.\!k-border-y-double {
    border-block-style: double !important;
}

.k-border-y-inset {
    border-block-style: inset;
}

.\!k-border-y-inset {
    border-block-style: inset !important;
}

.k-border-y-outset {
    border-block-style: outset;
}

.\!k-border-y-outset {
    border-block-style: outset !important;
}

.k-border-y-hidden {
    border-block-style: hidden;
}

.\!k-border-y-hidden {
    border-block-style: hidden !important;
}

.k-border-y-none {
    border-block-style: none;
}

.\!k-border-y-none {
    border-block-style: none !important;
}

.k-border {
    border-width: 1px;
}

.\!k-border {
    border-width: 1px !important;
}

.k-border-0 {
    border-width: 0;
}

.\!k-border-0 {
    border-width: 0 !important;
}

.k-border-2 {
    border-width: 2px;
}

.\!k-border-2 {
    border-width: 2px !important;
}

.k-border-4 {
    border-width: 4px;
}

.\!k-border-4 {
    border-width: 4px !important;
}

.k-border-8 {
    border-width: 8px;
}

.\!k-border-8 {
    border-width: 8px !important;
}

.k-border-t {
    border-top-width: 1px;
}

.\!k-border-t {
    border-top-width: 1px !important;
}

.k-border-t-0 {
    border-top-width: 0;
}

.\!k-border-t-0 {
    border-top-width: 0 !important;
}

.k-border-t-2 {
    border-top-width: 2px;
}

.\!k-border-t-2 {
    border-top-width: 2px !important;
}

.k-border-t-4 {
    border-top-width: 4px;
}

.\!k-border-t-4 {
    border-top-width: 4px !important;
}

.k-border-t-8 {
    border-top-width: 8px;
}

.\!k-border-t-8 {
    border-top-width: 8px !important;
}

.k-border-r {
    border-right-width: 1px;
}

.\!k-border-r {
    border-right-width: 1px !important;
}

.k-border-r-0 {
    border-right-width: 0;
}

.\!k-border-r-0 {
    border-right-width: 0 !important;
}

.k-border-r-2 {
    border-right-width: 2px;
}

.\!k-border-r-2 {
    border-right-width: 2px !important;
}

.k-border-r-4 {
    border-right-width: 4px;
}

.\!k-border-r-4 {
    border-right-width: 4px !important;
}

.k-border-r-8 {
    border-right-width: 8px;
}

.\!k-border-r-8 {
    border-right-width: 8px !important;
}

.k-border-b {
    border-bottom-width: 1px;
}

.\!k-border-b {
    border-bottom-width: 1px !important;
}

.k-border-b-0 {
    border-bottom-width: 0;
}

.\!k-border-b-0 {
    border-bottom-width: 0 !important;
}

.k-border-b-2 {
    border-bottom-width: 2px;
}

.\!k-border-b-2 {
    border-bottom-width: 2px !important;
}

.k-border-b-4 {
    border-bottom-width: 4px;
}

.\!k-border-b-4 {
    border-bottom-width: 4px !important;
}

.k-border-b-8 {
    border-bottom-width: 8px;
}

.\!k-border-b-8 {
    border-bottom-width: 8px !important;
}

.k-border-l {
    border-left-width: 1px;
}

.\!k-border-l {
    border-left-width: 1px !important;
}

.k-border-l-0 {
    border-left-width: 0;
}

.\!k-border-l-0 {
    border-left-width: 0 !important;
}

.k-border-l-2 {
    border-left-width: 2px;
}

.\!k-border-l-2 {
    border-left-width: 2px !important;
}

.k-border-l-4 {
    border-left-width: 4px;
}

.\!k-border-l-4 {
    border-left-width: 4px !important;
}

.k-border-l-8 {
    border-left-width: 8px;
}

.\!k-border-l-8 {
    border-left-width: 8px !important;
}

.k-border-x {
    border-inline-width: 1px;
}

.\!k-border-x {
    border-inline-width: 1px !important;
}

.k-border-x-0 {
    border-inline-width: 0;
}

.\!k-border-x-0 {
    border-inline-width: 0 !important;
}

.k-border-x-2 {
    border-inline-width: 2px;
}

.\!k-border-x-2 {
    border-inline-width: 2px !important;
}

.k-border-x-4 {
    border-inline-width: 4px;
}

.\!k-border-x-4 {
    border-inline-width: 4px !important;
}

.k-border-x-8 {
    border-inline-width: 8px;
}

.\!k-border-x-8 {
    border-inline-width: 8px !important;
}

.k-border-y {
    border-block-width: 1px;
}

.\!k-border-y {
    border-block-width: 1px !important;
}

.k-border-y-0 {
    border-block-width: 0;
}

.\!k-border-y-0 {
    border-block-width: 0 !important;
}

.k-border-y-2 {
    border-block-width: 2px;
}

.\!k-border-y-2 {
    border-block-width: 2px !important;
}

.k-border-y-4 {
    border-block-width: 4px;
}

.\!k-border-y-4 {
    border-block-width: 4px !important;
}

.k-border-y-8 {
    border-block-width: 8px;
}

.\!k-border-y-8 {
    border-block-width: 8px !important;
}

.k-border-top {
    border-top-width: 1px;
}

.\!k-border-top {
    border-top-width: 1px !important;
}

.k-border-top-0 {
    border-top-width: 0;
}

.\!k-border-top-0 {
    border-top-width: 0 !important;
}

.k-border-top-2 {
    border-top-width: 2px;
}

.\!k-border-top-2 {
    border-top-width: 2px !important;
}

.k-border-top-4 {
    border-top-width: 4px;
}

.\!k-border-top-4 {
    border-top-width: 4px !important;
}

.k-border-top-8 {
    border-top-width: 8px;
}

.\!k-border-top-8 {
    border-top-width: 8px !important;
}

.k-border-right {
    border-right-width: 1px;
}

.\!k-border-right {
    border-right-width: 1px !important;
}

.k-border-right-0 {
    border-right-width: 0;
}

.\!k-border-right-0 {
    border-right-width: 0 !important;
}

.k-border-right-2 {
    border-right-width: 2px;
}

.\!k-border-right-2 {
    border-right-width: 2px !important;
}

.k-border-right-4 {
    border-right-width: 4px;
}

.\!k-border-right-4 {
    border-right-width: 4px !important;
}

.k-border-right-8 {
    border-right-width: 8px;
}

.\!k-border-right-8 {
    border-right-width: 8px !important;
}

.k-border-bottom {
    border-bottom-width: 1px;
}

.\!k-border-bottom {
    border-bottom-width: 1px !important;
}

.k-border-bottom-0 {
    border-bottom-width: 0;
}

.\!k-border-bottom-0 {
    border-bottom-width: 0 !important;
}

.k-border-bottom-2 {
    border-bottom-width: 2px;
}

.\!k-border-bottom-2 {
    border-bottom-width: 2px !important;
}

.k-border-bottom-4 {
    border-bottom-width: 4px;
}

.\!k-border-bottom-4 {
    border-bottom-width: 4px !important;
}

.k-border-bottom-8 {
    border-bottom-width: 8px;
}

.\!k-border-bottom-8 {
    border-bottom-width: 8px !important;
}

.k-border-left {
    border-left-width: 1px;
}

.\!k-border-left {
    border-left-width: 1px !important;
}

.k-border-left-0 {
    border-left-width: 0;
}

.\!k-border-left-0 {
    border-left-width: 0 !important;
}

.k-border-left-2 {
    border-left-width: 2px;
}

.\!k-border-left-2 {
    border-left-width: 2px !important;
}

.k-border-left-4 {
    border-left-width: 4px;
}

.\!k-border-left-4 {
    border-left-width: 4px !important;
}

.k-border-left-8 {
    border-left-width: 8px;
}

.\!k-border-left-8 {
    border-left-width: 8px !important;
}

.k-outline-primary {
    outline-color: limegreen;
}

.\!k-outline-primary {
    outline-color: limegreen !important;
}

.k-outline-secondary {
    outline-color: #9f1ae2;
}

.\!k-outline-secondary {
    outline-color: #9f1ae2 !important;
}

.k-outline-tertiary {
    outline-color: #9f1ae2;
}

.\!k-outline-tertiary {
    outline-color: #9f1ae2 !important;
}

.k-outline-info {
    outline-color: #0dcaf0;
}

.\!k-outline-info {
    outline-color: #0dcaf0 !important;
}

.k-outline-success {
    outline-color: #198754;
}

.\!k-outline-success {
    outline-color: #198754 !important;
}

.k-outline-warning {
    outline-color: #ffc107;
}

.\!k-outline-warning {
    outline-color: #ffc107 !important;
}

.k-outline-error {
    outline-color: #dc3545;
}

.\!k-outline-error {
    outline-color: #dc3545 !important;
}

.k-outline-dark {
    outline-color: #212529;
}

.\!k-outline-dark {
    outline-color: #212529 !important;
}

.k-outline-light {
    outline-color: #f8f9fa;
}

.\!k-outline-light {
    outline-color: #f8f9fa !important;
}

.k-outline-inverse {
    outline-color: #212529;
}

.\!k-outline-inverse {
    outline-color: #212529 !important;
}

.k-outline-inherit {
    outline-color: inherit;
}

.\!k-outline-inherit {
    outline-color: inherit !important;
}

.k-outline-current {
    outline-color: currentColor;
}

.\!k-outline-current {
    outline-color: currentColor !important;
}

.k-outline-transparent {
    outline-color: transparent;
}

.\!k-outline-transparent {
    outline-color: transparent !important;
}

.k-outline-black {
    outline-color: black;
}

.\!k-outline-black {
    outline-color: black !important;
}

.k-outline-white {
    outline-color: white;
}

.\!k-outline-white {
    outline-color: white !important;
}

.k-outline-offset-0 {
    outline-offset: 0;
}

.\!k-outline-offset-0 {
    outline-offset: 0 !important;
}

.k-outline-offset-1 {
    outline-offset: 1px;
}

.\!k-outline-offset-1 {
    outline-offset: 1px !important;
}

.k-outline-offset-2 {
    outline-offset: 2px;
}

.\!k-outline-offset-2 {
    outline-offset: 2px !important;
}

.k-outline-offset-4 {
    outline-offset: 4px;
}

.\!k-outline-offset-4 {
    outline-offset: 4px !important;
}

.k-outline-offset-8 {
    outline-offset: 8px;
}

.\!k-outline-offset-8 {
    outline-offset: 8px !important;
}

.k-outline-solid {
    outline-style: solid;
}

.\!k-outline-solid {
    outline-style: solid !important;
}

.k-outline-dashed {
    outline-style: dashed;
}

.\!k-outline-dashed {
    outline-style: dashed !important;
}

.k-outline-dotted {
    outline-style: dotted;
}

.\!k-outline-dotted {
    outline-style: dotted !important;
}

.k-outline-double {
    outline-style: double;
}

.\!k-outline-double {
    outline-style: double !important;
}

.k-outline-inset {
    outline-style: inset;
}

.\!k-outline-inset {
    outline-style: inset !important;
}

.k-outline-outset {
    outline-style: outset;
}

.\!k-outline-outset {
    outline-style: outset !important;
}

.k-outline-none {
    outline-style: none;
}

.\!k-outline-none {
    outline-style: none !important;
}

.k-outline {
    outline-width: 1px;
}

.\!k-outline {
    outline-width: 1px !important;
}

.k-outline-0 {
    outline-width: 0;
}

.\!k-outline-0 {
    outline-width: 0 !important;
}

.k-outline-2 {
    outline-width: 2px;
}

.\!k-outline-2 {
    outline-width: 2px !important;
}

.k-outline-4 {
    outline-width: 4px;
}

.\!k-outline-4 {
    outline-width: 4px !important;
}

.k-outline-8 {
    outline-width: 8px;
}

.\!k-outline-8 {
    outline-width: 8px !important;
}

.k-opacity-0 {
    opacity: 0;
}

.\!k-opacity-0 {
    opacity: 0 !important;
}

.k-opacity-5 {
    opacity: 0.05;
}

.\!k-opacity-5 {
    opacity: 0.05 !important;
}

.k-opacity-10 {
    opacity: 0.1;
}

.\!k-opacity-10 {
    opacity: 0.1 !important;
}

.k-opacity-20 {
    opacity: 0.2;
}

.\!k-opacity-20 {
    opacity: 0.2 !important;
}

.k-opacity-30 {
    opacity: 0.3;
}

.\!k-opacity-30 {
    opacity: 0.3 !important;
}

.k-opacity-40 {
    opacity: 0.4;
}

.\!k-opacity-40 {
    opacity: 0.4 !important;
}

.k-opacity-50 {
    opacity: 0.5;
}

.\!k-opacity-50 {
    opacity: 0.5 !important;
}

.k-opacity-60 {
    opacity: 0.6;
}

.\!k-opacity-60 {
    opacity: 0.6 !important;
}

.k-opacity-70 {
    opacity: 0.7;
}

.\!k-opacity-70 {
    opacity: 0.7 !important;
}

.k-opacity-80 {
    opacity: 0.8;
}

.\!k-opacity-80 {
    opacity: 0.8 !important;
}

.k-opacity-90 {
    opacity: 0.9;
}

.\!k-opacity-90 {
    opacity: 0.9 !important;
}

.k-opacity-100 {
    opacity: 1;
}

.\!k-opacity-100 {
    opacity: 1 !important;
}

.k-backdrop-blur {
    backdrop-filter: blur(8px);
}

.\!k-backdrop-blur {
    backdrop-filter: blur(8px) !important;
}

.k-backdrop-blur-none {
    backdrop-filter: blur(0);
}

.\!k-backdrop-blur-none {
    backdrop-filter: blur(0) !important;
}

.k-backdrop-blur-sm {
    backdrop-filter: blur(4px);
}

.\!k-backdrop-blur-sm {
    backdrop-filter: blur(4px) !important;
}

.k-backdrop-blur-md {
    backdrop-filter: blur(6px);
}

.\!k-backdrop-blur-md {
    backdrop-filter: blur(6px) !important;
}

.k-backdrop-blur-lg {
    backdrop-filter: blur(12px);
}

.\!k-backdrop-blur-lg {
    backdrop-filter: blur(12px) !important;
}

.k-border-collapse {
    border-collapse: collapse;
}

.\!k-border-collapse {
    border-collapse: collapse !important;
}

.k-border-separate {
    border-collapse: separate;
}

.\!k-border-separate {
    border-collapse: separate !important;
}

.k-table-auto {
    table-layout: auto;
}

.\!k-table-auto {
    table-layout: auto !important;
}

.k-table-fixed {
    table-layout: fixed;
}

.\!k-table-fixed {
    table-layout: fixed !important;
}

.k-table-layout-auto {
    table-layout: auto;
}

.\!k-table-layout-auto {
    table-layout: auto !important;
}

.k-table-layout-fixed {
    table-layout: fixed;
}

.\!k-table-layout-fixed {
    table-layout: fixed !important;
}

.k-flip-h, .k-flip-x {
    transform: scaleX(-1);
}

.\!k-flip-h, .\!k-flip-x {
    transform: scaleX(-1) !important;
}

.k-flip-v, .k-flip-y {
    transform: scaleY(-1);
}

.\!k-flip-v, .\!k-flip-y {
    transform: scaleY(-1) !important;
}

.k-flip-h.k-flip-v, .k-flip-h.k-flip-y, .k-flip-v.k-flip-x, .k-flip-x.k-flip-y {
    transform: scale(-1, -1);
}

.\!k-flip-h.\!k-flip-v, .\!k-flip-h.\!k-flip-y, .\!k-flip-v.\!k-flip-x, .\!k-flip-x.\!k-flip-y {
    transform: scale(-1, -1) !important;
}

.k-origin-center {
    transform-origin: center;
}

.\!k-origin-center {
    transform-origin: center !important;
}

.k-origin-top {
    transform-origin: top;
}

.\!k-origin-top {
    transform-origin: top !important;
}

.k-origin-right {
    transform-origin: right;
}

.\!k-origin-right {
    transform-origin: right !important;
}

.k-origin-bottom {
    transform-origin: bottom;
}

.\!k-origin-bottom {
    transform-origin: bottom !important;
}

.k-origin-left {
    transform-origin: left;
}

.\!k-origin-left {
    transform-origin: left !important;
}

.k-origin-top-left {
    transform-origin: top left;
}

.\!k-origin-top-left {
    transform-origin: top left !important;
}

.k-origin-top-right {
    transform-origin: top right;
}

.\!k-origin-top-right {
    transform-origin: top right !important;
}

.k-origin-bottom-left {
    transform-origin: bottom left;
}

.\!k-origin-bottom-left {
    transform-origin: bottom left !important;
}

.k-origin-bottom-right {
    transform-origin: bottom right;
}

.\!k-origin-bottom-right {
    transform-origin: bottom right !important;
}

.k-rotate-0 {
    transform: rotate(0deg);
}

.\!k-rotate-0 {
    transform: rotate(0deg) !important;
}

.k-rotate-45 {
    transform: rotate(45deg);
}

.\!k-rotate-45 {
    transform: rotate(45deg) !important;
}

.k-rotate-90 {
    transform: rotate(90deg);
}

.\!k-rotate-90 {
    transform: rotate(90deg) !important;
}

.k-rotate-135 {
    transform: rotate(135deg);
}

.\!k-rotate-135 {
    transform: rotate(135deg) !important;
}

.k-rotate-180 {
    transform: rotate(180deg);
}

.\!k-rotate-180 {
    transform: rotate(180deg) !important;
}

.k-rotate-225 {
    transform: rotate(225deg);
}

.\!k-rotate-225 {
    transform: rotate(225deg) !important;
}

.k-rotate-270 {
    transform: rotate(270deg);
}

.\!k-rotate-270 {
    transform: rotate(270deg) !important;
}

.k-rotate-315 {
    transform: rotate(315deg);
}

.\!k-rotate-315 {
    transform: rotate(315deg) !important;
}

.k-scale-0 {
    transform: scale(0);
}

.\!k-scale-0 {
    transform: scale(0) !important;
}

.k-scale-0\.25 {
    transform: scale(0.25);
}

.\!k-scale-0\.25 {
    transform: scale(0.25) !important;
}

.k-scale-0\.5 {
    transform: scale(0.5);
}

.\!k-scale-0\.5 {
    transform: scale(0.5) !important;
}

.k-scale-0\.75 {
    transform: scale(0.75);
}

.\!k-scale-0\.75 {
    transform: scale(0.75) !important;
}

.k-scale-1 {
    transform: scale(1);
}

.\!k-scale-1 {
    transform: scale(1) !important;
}

.k-scale-1\.25 {
    transform: scale(1.25);
}

.\!k-scale-1\.25 {
    transform: scale(1.25) !important;
}

.k-scale-1\.5 {
    transform: scale(1.5);
}

.\!k-scale-1\.5 {
    transform: scale(1.5) !important;
}

.k-scale-2 {
    transform: scale(2);
}

.\!k-scale-2 {
    transform: scale(2) !important;
}

.k-scale-x-0 {
    transform: scaleX(0);
}

.\!k-scale-x-0 {
    transform: scaleX(0) !important;
}

.k-scale-x-0\.25 {
    transform: scaleX(0.25);
}

.\!k-scale-x-0\.25 {
    transform: scaleX(0.25) !important;
}

.k-scale-x-0\.5 {
    transform: scaleX(0.5);
}

.\!k-scale-x-0\.5 {
    transform: scaleX(0.5) !important;
}

.k-scale-x-0\.75 {
    transform: scaleX(0.75);
}

.\!k-scale-x-0\.75 {
    transform: scaleX(0.75) !important;
}

.k-scale-x-1 {
    transform: scaleX(1);
}

.\!k-scale-x-1 {
    transform: scaleX(1) !important;
}

.k-scale-x-1\.25 {
    transform: scaleX(1.25);
}

.\!k-scale-x-1\.25 {
    transform: scaleX(1.25) !important;
}

.k-scale-x-1\.5 {
    transform: scaleX(1.5);
}

.\!k-scale-x-1\.5 {
    transform: scaleX(1.5) !important;
}

.k-scale-x-2 {
    transform: scaleX(2);
}

.\!k-scale-x-2 {
    transform: scaleX(2) !important;
}

.k-scale-y-0 {
    transform: scaleY(0);
}

.\!k-scale-y-0 {
    transform: scaleY(0) !important;
}

.k-scale-y-0\.25 {
    transform: scaleY(0.25);
}

.\!k-scale-y-0\.25 {
    transform: scaleY(0.25) !important;
}

.k-scale-y-0\.5 {
    transform: scaleY(0.5);
}

.\!k-scale-y-0\.5 {
    transform: scaleY(0.5) !important;
}

.k-scale-y-0\.75 {
    transform: scaleY(0.75);
}

.\!k-scale-y-0\.75 {
    transform: scaleY(0.75) !important;
}

.k-scale-y-1 {
    transform: scaleY(1);
}

.\!k-scale-y-1 {
    transform: scaleY(1) !important;
}

.k-scale-y-1\.25 {
    transform: scaleY(1.25);
}

.\!k-scale-y-1\.25 {
    transform: scaleY(1.25) !important;
}

.k-scale-y-1\.5 {
    transform: scaleY(1.5);
}

.\!k-scale-y-1\.5 {
    transform: scaleY(1.5) !important;
}

.k-scale-y-2 {
    transform: scaleY(2);
}

.\!k-scale-y-2 {
    transform: scaleY(2) !important;
}

.k-skew-x-0 {
    transform: skewX(0deg);
}

.\!k-skew-x-0 {
    transform: skewX(0deg) !important;
}

.k-skew-x-1 {
    transform: skewX(1deg);
}

.\!k-skew-x-1 {
    transform: skewX(1deg) !important;
}

.k-skew-x-2 {
    transform: skewX(2deg);
}

.\!k-skew-x-2 {
    transform: skewX(2deg) !important;
}

.k-skew-x-3 {
    transform: skewX(3deg);
}

.\!k-skew-x-3 {
    transform: skewX(3deg) !important;
}

.k-skew-x-4 {
    transform: skewX(4deg);
}

.\!k-skew-x-4 {
    transform: skewX(4deg) !important;
}

.k-skew-x-5 {
    transform: skewX(5deg);
}

.\!k-skew-x-5 {
    transform: skewX(5deg) !important;
}

.k-skew-x-6 {
    transform: skewX(6deg);
}

.\!k-skew-x-6 {
    transform: skewX(6deg) !important;
}

.k-skew-x-7 {
    transform: skewX(7deg);
}

.\!k-skew-x-7 {
    transform: skewX(7deg) !important;
}

.k-skew-x-8 {
    transform: skewX(8deg);
}

.\!k-skew-x-8 {
    transform: skewX(8deg) !important;
}

.k-skew-x-9 {
    transform: skewX(9deg);
}

.\!k-skew-x-9 {
    transform: skewX(9deg) !important;
}

.k-skew-x-10 {
    transform: skewX(10deg);
}

.\!k-skew-x-10 {
    transform: skewX(10deg) !important;
}

.k-skew-x-11 {
    transform: skewX(11deg);
}

.\!k-skew-x-11 {
    transform: skewX(11deg) !important;
}

.k-skew-x-12 {
    transform: skewX(12deg);
}

.\!k-skew-x-12 {
    transform: skewX(12deg) !important;
}

.k-skew-y-0 {
    transform: skewY(0deg);
}

.\!k-skew-y-0 {
    transform: skewY(0deg) !important;
}

.k-skew-y-1 {
    transform: skewY(1deg);
}

.\!k-skew-y-1 {
    transform: skewY(1deg) !important;
}

.k-skew-y-2 {
    transform: skewY(2deg);
}

.\!k-skew-y-2 {
    transform: skewY(2deg) !important;
}

.k-skew-y-3 {
    transform: skewY(3deg);
}

.\!k-skew-y-3 {
    transform: skewY(3deg) !important;
}

.k-skew-y-4 {
    transform: skewY(4deg);
}

.\!k-skew-y-4 {
    transform: skewY(4deg) !important;
}

.k-skew-y-5 {
    transform: skewY(5deg);
}

.\!k-skew-y-5 {
    transform: skewY(5deg) !important;
}

.k-skew-y-6 {
    transform: skewY(6deg);
}

.\!k-skew-y-6 {
    transform: skewY(6deg) !important;
}

.k-skew-y-7 {
    transform: skewY(7deg);
}

.\!k-skew-y-7 {
    transform: skewY(7deg) !important;
}

.k-skew-y-8 {
    transform: skewY(8deg);
}

.\!k-skew-y-8 {
    transform: skewY(8deg) !important;
}

.k-skew-y-9 {
    transform: skewY(9deg);
}

.\!k-skew-y-9 {
    transform: skewY(9deg) !important;
}

.k-skew-y-10 {
    transform: skewY(10deg);
}

.\!k-skew-y-10 {
    transform: skewY(10deg) !important;
}

.k-skew-y-11 {
    transform: skewY(11deg);
}

.\!k-skew-y-11 {
    transform: skewY(11deg) !important;
}

.k-skew-y-12 {
    transform: skewY(12deg);
}

.\!k-skew-y-12 {
    transform: skewY(12deg) !important;
}

.k-translate-0 {
    transform: translate(0, 0);
}

.\!k-translate-0 {
    transform: translate(0, 0) !important;
}

.k-translate-0-50 {
    transform: translate(0, 50%);
}

.\!k-translate-0-50 {
    transform: translate(0, 50%) !important;
}

.k-translate-0-100 {
    transform: translate(0, 100%);
}

.\!k-translate-0-100 {
    transform: translate(0, 100%) !important;
}

.k-translate-50-0 {
    transform: translate(50%, 0);
}

.\!k-translate-50-0 {
    transform: translate(50%, 0) !important;
}

.k-translate-50-50 {
    transform: translate(50%, 50%);
}

.\!k-translate-50-50 {
    transform: translate(50%, 50%) !important;
}

.k-translate-50-100 {
    transform: translate(50%, 100%);
}

.\!k-translate-50-100 {
    transform: translate(50%, 100%) !important;
}

.k-translate-100-0 {
    transform: translate(100%, 0);
}

.\!k-translate-100-0 {
    transform: translate(100%, 0) !important;
}

.k-translate-100-50 {
    transform: translate(100%, 50%);
}

.\!k-translate-100-50 {
    transform: translate(100%, 50%) !important;
}

.k-translate-100-100 {
    transform: translate(100%, 100%);
}

.\!k-translate-100-100 {
    transform: translate(100%, 100%) !important;
}

.k-translate-x-0 {
    transform: translateX(0);
}

.\!k-translate-x-0 {
    transform: translateX(0) !important;
}

.k-translate-x-1px {
    transform: translateX(1px);
}

.\!k-translate-x-1px {
    transform: translateX(1px) !important;
}

.k-translate-x-0\.5 {
    transform: translateX(0.125rem);
}

.\!k-translate-x-0\.5 {
    transform: translateX(0.125rem) !important;
}

.k-translate-x-1 {
    transform: translateX(0.25rem);
}

.\!k-translate-x-1 {
    transform: translateX(0.25rem) !important;
}

.k-translate-x-1\.5 {
    transform: translateX(0.375rem);
}

.\!k-translate-x-1\.5 {
    transform: translateX(0.375rem) !important;
}

.k-translate-x-2 {
    transform: translateX(0.5rem);
}

.\!k-translate-x-2 {
    transform: translateX(0.5rem) !important;
}

.k-translate-x-2\.5 {
    transform: translateX(0.625rem);
}

.\!k-translate-x-2\.5 {
    transform: translateX(0.625rem) !important;
}

.k-translate-x-3 {
    transform: translateX(0.75rem);
}

.\!k-translate-x-3 {
    transform: translateX(0.75rem) !important;
}

.k-translate-x-3\.5 {
    transform: translateX(0.875rem);
}

.\!k-translate-x-3\.5 {
    transform: translateX(0.875rem) !important;
}

.k-translate-x-4 {
    transform: translateX(1rem);
}

.\!k-translate-x-4 {
    transform: translateX(1rem) !important;
}

.k-translate-x-4\.5 {
    transform: translateX(1.125rem);
}

.\!k-translate-x-4\.5 {
    transform: translateX(1.125rem) !important;
}

.k-translate-x-5 {
    transform: translateX(1.25rem);
}

.\!k-translate-x-5 {
    transform: translateX(1.25rem) !important;
}

.k-translate-x-5\.5 {
    transform: translateX(1.375rem);
}

.\!k-translate-x-5\.5 {
    transform: translateX(1.375rem) !important;
}

.k-translate-x-6 {
    transform: translateX(1.5rem);
}

.\!k-translate-x-6 {
    transform: translateX(1.5rem) !important;
}

.k-translate-x-6\.5 {
    transform: translateX(1.625rem);
}

.\!k-translate-x-6\.5 {
    transform: translateX(1.625rem) !important;
}

.k-translate-x-7 {
    transform: translateX(1.75rem);
}

.\!k-translate-x-7 {
    transform: translateX(1.75rem) !important;
}

.k-translate-x-7\.5 {
    transform: translateX(1.875rem);
}

.\!k-translate-x-7\.5 {
    transform: translateX(1.875rem) !important;
}

.k-translate-x-8 {
    transform: translateX(2rem);
}

.\!k-translate-x-8 {
    transform: translateX(2rem) !important;
}

.k-translate-x-9 {
    transform: translateX(2.25rem);
}

.\!k-translate-x-9 {
    transform: translateX(2.25rem) !important;
}

.k-translate-x-10 {
    transform: translateX(2.5rem);
}

.\!k-translate-x-10 {
    transform: translateX(2.5rem) !important;
}

.k-translate-x-11 {
    transform: translateX(2.75rem);
}

.\!k-translate-x-11 {
    transform: translateX(2.75rem) !important;
}

.k-translate-x-12 {
    transform: translateX(3rem);
}

.\!k-translate-x-12 {
    transform: translateX(3rem) !important;
}

.k-translate-x-13 {
    transform: translateX(3.25rem);
}

.\!k-translate-x-13 {
    transform: translateX(3.25rem) !important;
}

.k-translate-x-14 {
    transform: translateX(3.5rem);
}

.\!k-translate-x-14 {
    transform: translateX(3.5rem) !important;
}

.k-translate-x-15 {
    transform: translateX(3.75rem);
}

.\!k-translate-x-15 {
    transform: translateX(3.75rem) !important;
}

.k-translate-x-16 {
    transform: translateX(4rem);
}

.\!k-translate-x-16 {
    transform: translateX(4rem) !important;
}

.k-translate-x-17 {
    transform: translateX(4.25rem);
}

.\!k-translate-x-17 {
    transform: translateX(4.25rem) !important;
}

.k-translate-x-18 {
    transform: translateX(4.5rem);
}

.\!k-translate-x-18 {
    transform: translateX(4.5rem) !important;
}

.k-translate-x-19 {
    transform: translateX(4.75rem);
}

.\!k-translate-x-19 {
    transform: translateX(4.75rem) !important;
}

.k-translate-x-20 {
    transform: translateX(5rem);
}

.\!k-translate-x-20 {
    transform: translateX(5rem) !important;
}

.k-translate-x-21 {
    transform: translateX(5.25rem);
}

.\!k-translate-x-21 {
    transform: translateX(5.25rem) !important;
}

.k-translate-x-22 {
    transform: translateX(5.5rem);
}

.\!k-translate-x-22 {
    transform: translateX(5.5rem) !important;
}

.k-translate-x-23 {
    transform: translateX(5.75rem);
}

.\!k-translate-x-23 {
    transform: translateX(5.75rem) !important;
}

.k-translate-x-24 {
    transform: translateX(6rem);
}

.\!k-translate-x-24 {
    transform: translateX(6rem) !important;
}

.k-translate-x-1\/2 {
    transform: translateX(50%);
}

.\!k-translate-x-1\/2 {
    transform: translateX(50%) !important;
}

.k-translate-x-1\/3 {
    transform: translateX(33.333333%);
}

.\!k-translate-x-1\/3 {
    transform: translateX(33.333333%) !important;
}

.k-translate-x-2\/3 {
    transform: translateX(66.666667%);
}

.\!k-translate-x-2\/3 {
    transform: translateX(66.666667%) !important;
}

.k-translate-x-1\/4 {
    transform: translateX(25%);
}

.\!k-translate-x-1\/4 {
    transform: translateX(25%) !important;
}

.k-translate-x-2\/4 {
    transform: translateX(50%);
}

.\!k-translate-x-2\/4 {
    transform: translateX(50%) !important;
}

.k-translate-x-3\/4 {
    transform: translateX(75%);
}

.\!k-translate-x-3\/4 {
    transform: translateX(75%) !important;
}

.k-translate-x-1\/5 {
    transform: translateX(20%);
}

.\!k-translate-x-1\/5 {
    transform: translateX(20%) !important;
}

.k-translate-x-2\/5 {
    transform: translateX(40%);
}

.\!k-translate-x-2\/5 {
    transform: translateX(40%) !important;
}

.k-translate-x-3\/5 {
    transform: translateX(60%);
}

.\!k-translate-x-3\/5 {
    transform: translateX(60%) !important;
}

.k-translate-x-4\/5 {
    transform: translateX(80%);
}

.\!k-translate-x-4\/5 {
    transform: translateX(80%) !important;
}

.k-translate-x-1\/6 {
    transform: translateX(16.666667%);
}

.\!k-translate-x-1\/6 {
    transform: translateX(16.666667%) !important;
}

.k-translate-x-2\/6 {
    transform: translateX(33.333333%);
}

.\!k-translate-x-2\/6 {
    transform: translateX(33.333333%) !important;
}

.k-translate-x-3\/6 {
    transform: translateX(50%);
}

.\!k-translate-x-3\/6 {
    transform: translateX(50%) !important;
}

.k-translate-x-4\/6 {
    transform: translateX(66.666667%);
}

.\!k-translate-x-4\/6 {
    transform: translateX(66.666667%) !important;
}

.k-translate-x-5\/6 {
    transform: translateX(83.333333%);
}

.\!k-translate-x-5\/6 {
    transform: translateX(83.333333%) !important;
}

.k-translate-x-1\/12 {
    transform: translateX(8.333333%);
}

.\!k-translate-x-1\/12 {
    transform: translateX(8.333333%) !important;
}

.k-translate-x-2\/12 {
    transform: translateX(16.666667%);
}

.\!k-translate-x-2\/12 {
    transform: translateX(16.666667%) !important;
}

.k-translate-x-3\/12 {
    transform: translateX(25%);
}

.\!k-translate-x-3\/12 {
    transform: translateX(25%) !important;
}

.k-translate-x-4\/12 {
    transform: translateX(33.333333%);
}

.\!k-translate-x-4\/12 {
    transform: translateX(33.333333%) !important;
}

.k-translate-x-5\/12 {
    transform: translateX(41.666667%);
}

.\!k-translate-x-5\/12 {
    transform: translateX(41.666667%) !important;
}

.k-translate-x-6\/12 {
    transform: translateX(50%);
}

.\!k-translate-x-6\/12 {
    transform: translateX(50%) !important;
}

.k-translate-x-7\/12 {
    transform: translateX(58.333333%);
}

.\!k-translate-x-7\/12 {
    transform: translateX(58.333333%) !important;
}

.k-translate-x-8\/12 {
    transform: translateX(66.666667%);
}

.\!k-translate-x-8\/12 {
    transform: translateX(66.666667%) !important;
}

.k-translate-x-9\/12 {
    transform: translateX(75%);
}

.\!k-translate-x-9\/12 {
    transform: translateX(75%) !important;
}

.k-translate-x-10\/12 {
    transform: translateX(83.333333%);
}

.\!k-translate-x-10\/12 {
    transform: translateX(83.333333%) !important;
}

.k-translate-x-11\/12 {
    transform: translateX(91.666667%);
}

.\!k-translate-x-11\/12 {
    transform: translateX(91.666667%) !important;
}

.k-translate-x-full {
    transform: translateX(100%);
}

.\!k-translate-x-full {
    transform: translateX(100%) !important;
}

.k-translate-y-0 {
    transform: translateY(0);
}

.\!k-translate-y-0 {
    transform: translateY(0) !important;
}

.k-translate-y-1px {
    transform: translateY(1px);
}

.\!k-translate-y-1px {
    transform: translateY(1px) !important;
}

.k-translate-y-0\.5 {
    transform: translateY(0.125rem);
}

.\!k-translate-y-0\.5 {
    transform: translateY(0.125rem) !important;
}

.k-translate-y-1 {
    transform: translateY(0.25rem);
}

.\!k-translate-y-1 {
    transform: translateY(0.25rem) !important;
}

.k-translate-y-1\.5 {
    transform: translateY(0.375rem);
}

.\!k-translate-y-1\.5 {
    transform: translateY(0.375rem) !important;
}

.k-translate-y-2 {
    transform: translateY(0.5rem);
}

.\!k-translate-y-2 {
    transform: translateY(0.5rem) !important;
}

.k-translate-y-2\.5 {
    transform: translateY(0.625rem);
}

.\!k-translate-y-2\.5 {
    transform: translateY(0.625rem) !important;
}

.k-translate-y-3 {
    transform: translateY(0.75rem);
}

.\!k-translate-y-3 {
    transform: translateY(0.75rem) !important;
}

.k-translate-y-3\.5 {
    transform: translateY(0.875rem);
}

.\!k-translate-y-3\.5 {
    transform: translateY(0.875rem) !important;
}

.k-translate-y-4 {
    transform: translateY(1rem);
}

.\!k-translate-y-4 {
    transform: translateY(1rem) !important;
}

.k-translate-y-4\.5 {
    transform: translateY(1.125rem);
}

.\!k-translate-y-4\.5 {
    transform: translateY(1.125rem) !important;
}

.k-translate-y-5 {
    transform: translateY(1.25rem);
}

.\!k-translate-y-5 {
    transform: translateY(1.25rem) !important;
}

.k-translate-y-5\.5 {
    transform: translateY(1.375rem);
}

.\!k-translate-y-5\.5 {
    transform: translateY(1.375rem) !important;
}

.k-translate-y-6 {
    transform: translateY(1.5rem);
}

.\!k-translate-y-6 {
    transform: translateY(1.5rem) !important;
}

.k-translate-y-6\.5 {
    transform: translateY(1.625rem);
}

.\!k-translate-y-6\.5 {
    transform: translateY(1.625rem) !important;
}

.k-translate-y-7 {
    transform: translateY(1.75rem);
}

.\!k-translate-y-7 {
    transform: translateY(1.75rem) !important;
}

.k-translate-y-7\.5 {
    transform: translateY(1.875rem);
}

.\!k-translate-y-7\.5 {
    transform: translateY(1.875rem) !important;
}

.k-translate-y-8 {
    transform: translateY(2rem);
}

.\!k-translate-y-8 {
    transform: translateY(2rem) !important;
}

.k-translate-y-9 {
    transform: translateY(2.25rem);
}

.\!k-translate-y-9 {
    transform: translateY(2.25rem) !important;
}

.k-translate-y-10 {
    transform: translateY(2.5rem);
}

.\!k-translate-y-10 {
    transform: translateY(2.5rem) !important;
}

.k-translate-y-11 {
    transform: translateY(2.75rem);
}

.\!k-translate-y-11 {
    transform: translateY(2.75rem) !important;
}

.k-translate-y-12 {
    transform: translateY(3rem);
}

.\!k-translate-y-12 {
    transform: translateY(3rem) !important;
}

.k-translate-y-13 {
    transform: translateY(3.25rem);
}

.\!k-translate-y-13 {
    transform: translateY(3.25rem) !important;
}

.k-translate-y-14 {
    transform: translateY(3.5rem);
}

.\!k-translate-y-14 {
    transform: translateY(3.5rem) !important;
}

.k-translate-y-15 {
    transform: translateY(3.75rem);
}

.\!k-translate-y-15 {
    transform: translateY(3.75rem) !important;
}

.k-translate-y-16 {
    transform: translateY(4rem);
}

.\!k-translate-y-16 {
    transform: translateY(4rem) !important;
}

.k-translate-y-17 {
    transform: translateY(4.25rem);
}

.\!k-translate-y-17 {
    transform: translateY(4.25rem) !important;
}

.k-translate-y-18 {
    transform: translateY(4.5rem);
}

.\!k-translate-y-18 {
    transform: translateY(4.5rem) !important;
}

.k-translate-y-19 {
    transform: translateY(4.75rem);
}

.\!k-translate-y-19 {
    transform: translateY(4.75rem) !important;
}

.k-translate-y-20 {
    transform: translateY(5rem);
}

.\!k-translate-y-20 {
    transform: translateY(5rem) !important;
}

.k-translate-y-21 {
    transform: translateY(5.25rem);
}

.\!k-translate-y-21 {
    transform: translateY(5.25rem) !important;
}

.k-translate-y-22 {
    transform: translateY(5.5rem);
}

.\!k-translate-y-22 {
    transform: translateY(5.5rem) !important;
}

.k-translate-y-23 {
    transform: translateY(5.75rem);
}

.\!k-translate-y-23 {
    transform: translateY(5.75rem) !important;
}

.k-translate-y-24 {
    transform: translateY(6rem);
}

.\!k-translate-y-24 {
    transform: translateY(6rem) !important;
}

.k-translate-y-1\/2 {
    transform: translateY(50%);
}

.\!k-translate-y-1\/2 {
    transform: translateY(50%) !important;
}

.k-translate-y-1\/3 {
    transform: translateY(33.333333%);
}

.\!k-translate-y-1\/3 {
    transform: translateY(33.333333%) !important;
}

.k-translate-y-2\/3 {
    transform: translateY(66.666667%);
}

.\!k-translate-y-2\/3 {
    transform: translateY(66.666667%) !important;
}

.k-translate-y-1\/4 {
    transform: translateY(25%);
}

.\!k-translate-y-1\/4 {
    transform: translateY(25%) !important;
}

.k-translate-y-2\/4 {
    transform: translateY(50%);
}

.\!k-translate-y-2\/4 {
    transform: translateY(50%) !important;
}

.k-translate-y-3\/4 {
    transform: translateY(75%);
}

.\!k-translate-y-3\/4 {
    transform: translateY(75%) !important;
}

.k-translate-y-1\/5 {
    transform: translateY(20%);
}

.\!k-translate-y-1\/5 {
    transform: translateY(20%) !important;
}

.k-translate-y-2\/5 {
    transform: translateY(40%);
}

.\!k-translate-y-2\/5 {
    transform: translateY(40%) !important;
}

.k-translate-y-3\/5 {
    transform: translateY(60%);
}

.\!k-translate-y-3\/5 {
    transform: translateY(60%) !important;
}

.k-translate-y-4\/5 {
    transform: translateY(80%);
}

.\!k-translate-y-4\/5 {
    transform: translateY(80%) !important;
}

.k-translate-y-1\/6 {
    transform: translateY(16.666667%);
}

.\!k-translate-y-1\/6 {
    transform: translateY(16.666667%) !important;
}

.k-translate-y-2\/6 {
    transform: translateY(33.333333%);
}

.\!k-translate-y-2\/6 {
    transform: translateY(33.333333%) !important;
}

.k-translate-y-3\/6 {
    transform: translateY(50%);
}

.\!k-translate-y-3\/6 {
    transform: translateY(50%) !important;
}

.k-translate-y-4\/6 {
    transform: translateY(66.666667%);
}

.\!k-translate-y-4\/6 {
    transform: translateY(66.666667%) !important;
}

.k-translate-y-5\/6 {
    transform: translateY(83.333333%);
}

.\!k-translate-y-5\/6 {
    transform: translateY(83.333333%) !important;
}

.k-translate-y-1\/12 {
    transform: translateY(8.333333%);
}

.\!k-translate-y-1\/12 {
    transform: translateY(8.333333%) !important;
}

.k-translate-y-2\/12 {
    transform: translateY(16.666667%);
}

.\!k-translate-y-2\/12 {
    transform: translateY(16.666667%) !important;
}

.k-translate-y-3\/12 {
    transform: translateY(25%);
}

.\!k-translate-y-3\/12 {
    transform: translateY(25%) !important;
}

.k-translate-y-4\/12 {
    transform: translateY(33.333333%);
}

.\!k-translate-y-4\/12 {
    transform: translateY(33.333333%) !important;
}

.k-translate-y-5\/12 {
    transform: translateY(41.666667%);
}

.\!k-translate-y-5\/12 {
    transform: translateY(41.666667%) !important;
}

.k-translate-y-6\/12 {
    transform: translateY(50%);
}

.\!k-translate-y-6\/12 {
    transform: translateY(50%) !important;
}

.k-translate-y-7\/12 {
    transform: translateY(58.333333%);
}

.\!k-translate-y-7\/12 {
    transform: translateY(58.333333%) !important;
}

.k-translate-y-8\/12 {
    transform: translateY(66.666667%);
}

.\!k-translate-y-8\/12 {
    transform: translateY(66.666667%) !important;
}

.k-translate-y-9\/12 {
    transform: translateY(75%);
}

.\!k-translate-y-9\/12 {
    transform: translateY(75%) !important;
}

.k-translate-y-10\/12 {
    transform: translateY(83.333333%);
}

.\!k-translate-y-10\/12 {
    transform: translateY(83.333333%) !important;
}

.k-translate-y-11\/12 {
    transform: translateY(91.666667%);
}

.\!k-translate-y-11\/12 {
    transform: translateY(91.666667%) !important;
}

.k-translate-y-full {
    transform: translateY(100%);
}

.\!k-translate-y-full {
    transform: translateY(100%) !important;
}

.k-appearance-none {
    appearance: none;
}

.\!k-appearance-none {
    appearance: none !important;
}

.k-appearance-auto {
    appearance: auto;
}

.\!k-appearance-auto {
    appearance: auto !important;
}

.k-cursor-none {
    cursor: none;
}

.\!k-cursor-none {
    cursor: none !important;
}

.k-cursor-auto {
    cursor: auto;
}

.\!k-cursor-auto {
    cursor: auto !important;
}

.k-cursor-default {
    cursor: default;
}

.\!k-cursor-default {
    cursor: default !important;
}

.k-cursor-context-menu {
    cursor: context-menu;
}

.\!k-cursor-context-menu {
    cursor: context-menu !important;
}

.k-cursor-help {
    cursor: help;
}

.\!k-cursor-help {
    cursor: help !important;
}

.k-cursor-pointer {
    cursor: pointer;
}

.\!k-cursor-pointer {
    cursor: pointer !important;
}

.k-cursor-progress {
    cursor: progress;
}

.\!k-cursor-progress {
    cursor: progress !important;
}

.k-cursor-wait {
    cursor: wait;
}

.\!k-cursor-wait {
    cursor: wait !important;
}

.k-cursor-cell {
    cursor: cell;
}

.\!k-cursor-cell {
    cursor: cell !important;
}

.k-cursor-crosshair {
    cursor: crosshair;
}

.\!k-cursor-crosshair {
    cursor: crosshair !important;
}

.k-cursor-text {
    cursor: text;
}

.\!k-cursor-text {
    cursor: text !important;
}

.k-cursor-vertical-text {
    cursor: vertical-text;
}

.\!k-cursor-vertical-text {
    cursor: vertical-text !important;
}

.k-cursor-alias {
    cursor: alias;
}

.\!k-cursor-alias {
    cursor: alias !important;
}

.k-cursor-copy {
    cursor: copy;
}

.\!k-cursor-copy {
    cursor: copy !important;
}

.k-cursor-move {
    cursor: move;
}

.\!k-cursor-move {
    cursor: move !important;
}

.k-cursor-no-drop {
    cursor: no-drop;
}

.\!k-cursor-no-drop {
    cursor: no-drop !important;
}

.k-cursor-not-allowed {
    cursor: not-allowed;
}

.\!k-cursor-not-allowed {
    cursor: not-allowed !important;
}

.k-cursor-e-resize {
    cursor: e-resize;
}

.\!k-cursor-e-resize {
    cursor: e-resize !important;
}

.k-cursor-n-resize {
    cursor: n-resize;
}

.\!k-cursor-n-resize {
    cursor: n-resize !important;
}

.k-cursor-ne-resize {
    cursor: ne-resize;
}

.\!k-cursor-ne-resize {
    cursor: ne-resize !important;
}

.k-cursor-nw-resize {
    cursor: nw-resize;
}

.\!k-cursor-nw-resize {
    cursor: nw-resize !important;
}

.k-cursor-s-resize {
    cursor: s-resize;
}

.\!k-cursor-s-resize {
    cursor: s-resize !important;
}

.k-cursor-se-resize {
    cursor: se-resize;
}

.\!k-cursor-se-resize {
    cursor: se-resize !important;
}

.k-cursor-sw-resize {
    cursor: sw-resize;
}

.\!k-cursor-sw-resize {
    cursor: sw-resize !important;
}

.k-cursor-w-resize {
    cursor: w-resize;
}

.\!k-cursor-w-resize {
    cursor: w-resize !important;
}

.k-cursor-ew-resize {
    cursor: ew-resize;
}

.\!k-cursor-ew-resize {
    cursor: ew-resize !important;
}

.k-cursor-ns-resize {
    cursor: ns-resize;
}

.\!k-cursor-ns-resize {
    cursor: ns-resize !important;
}

.k-cursor-nesw-resize {
    cursor: nesw-resize;
}

.\!k-cursor-nesw-resize {
    cursor: nesw-resize !important;
}

.k-cursor-nwse-resize {
    cursor: nwse-resize;
}

.\!k-cursor-nwse-resize {
    cursor: nwse-resize !important;
}

.k-cursor-col-resize {
    cursor: col-resize;
}

.\!k-cursor-col-resize {
    cursor: col-resize !important;
}

.k-cursor-row-resize {
    cursor: row-resize;
}

.\!k-cursor-row-resize {
    cursor: row-resize !important;
}

.k-cursor-all-scroll {
    cursor: all-scroll;
}

.\!k-cursor-all-scroll {
    cursor: all-scroll !important;
}

.k-cursor-zoom-in {
    cursor: zoom-in;
}

.\!k-cursor-zoom-in {
    cursor: zoom-in !important;
}

.k-cursor-zoom-out {
    cursor: zoom-out;
}

.\!k-cursor-zoom-out {
    cursor: zoom-out !important;
}

.k-cursor-grab {
    cursor: grab;
}

.\!k-cursor-grab {
    cursor: grab !important;
}

.k-cursor-grabbing {
    cursor: grabbing;
}

.\!k-cursor-grabbing {
    cursor: grabbing !important;
}

.k-pointer-events-none {
    pointer-events: none;
}

.\!k-pointer-events-none {
    pointer-events: none !important;
}

.k-pointer-events-auto {
    pointer-events: auto;
}

.\!k-pointer-events-auto {
    pointer-events: auto !important;
}

.k-resize {
    resize: both;
}

.\!k-resize {
    resize: both !important;
}

.k-resize-none {
    resize: none;
}

.\!k-resize-none {
    resize: none !important;
}

.k-resize-x {
    resize: horizontal;
}

.\!k-resize-x {
    resize: horizontal !important;
}

.k-resize-y {
    resize: vertical;
}

.\!k-resize-y {
    resize: vertical !important;
}

.k-scroll-auto {
    scroll-behavior: auto;
}

.\!k-scroll-auto {
    scroll-behavior: auto !important;
}

.k-scroll-smooth {
    scroll-behavior: smooth;
}

.\!k-scroll-smooth {
    scroll-behavior: smooth !important;
}

.k-scroll-snap-none {
    scroll-snap-type: none;
}

.\!k-scroll-snap-none {
    scroll-snap-type: none !important;
}

.k-scroll-snap-snap-x {
    scroll-snap-type: x var(--k-scroll-snap-strictness);
}

.\!k-scroll-snap-snap-x {
    scroll-snap-type: x var(--k-scroll-snap-strictness) !important;
}

.k-scroll-snap-snap-y {
    scroll-snap-type: y var(--k-scroll-snap-strictness);
}

.\!k-scroll-snap-snap-y {
    scroll-snap-type: y var(--k-scroll-snap-strictness) !important;
}

.k-scroll-snap-snap-both {
    scroll-snap-type: both var(--k-scroll-snap-strictness);
}

.\!k-scroll-snap-snap-both {
    scroll-snap-type: both var(--k-scroll-snap-strictness) !important;
}

.k-scroll-snap-mandatory {
    --k-scroll-snap-strictness: mandatory;
}

.k-scroll-snap-proximity {
    --k-scroll-snap-strictness: proximity;
}

.k-scroll-snap-stop-normal {
    scroll-snap-stop: normal;
}

.\!k-scroll-snap-stop-normal {
    scroll-snap-stop: normal !important;
}

.k-scroll-snap-stop-always {
    scroll-snap-stop: always;
}

.\!k-scroll-snap-stop-always {
    scroll-snap-stop: always !important;
}

.k-scroll-snap-align-start {
    scroll-snap-align: start;
}

.\!k-scroll-snap-align-start {
    scroll-snap-align: start !important;
}

.k-scroll-snap-align-end {
    scroll-snap-align: end;
}

.\!k-scroll-snap-align-end {
    scroll-snap-align: end !important;
}

.k-scroll-snap-align-center {
    scroll-snap-align: center;
}

.\!k-scroll-snap-align-center {
    scroll-snap-align: center !important;
}

.k-scroll-snap-align-none {
    scroll-snap-align: none;
}

.\!k-scroll-snap-align-none {
    scroll-snap-align: none !important;
}

.k-scroll-m-0 {
    scroll-margin: 0;
}

.\!k-scroll-m-0 {
    scroll-margin: 0 !important;
}

.k-scroll-m-1px {
    scroll-margin: 1px;
}

.\!k-scroll-m-1px {
    scroll-margin: 1px !important;
}

.k-scroll-m-0\.5 {
    scroll-margin: 0.125rem;
}

.\!k-scroll-m-0\.5 {
    scroll-margin: 0.125rem !important;
}

.k-scroll-m-1 {
    scroll-margin: 0.25rem;
}

.\!k-scroll-m-1 {
    scroll-margin: 0.25rem !important;
}

.k-scroll-m-1\.5 {
    scroll-margin: 0.375rem;
}

.\!k-scroll-m-1\.5 {
    scroll-margin: 0.375rem !important;
}

.k-scroll-m-2 {
    scroll-margin: 0.5rem;
}

.\!k-scroll-m-2 {
    scroll-margin: 0.5rem !important;
}

.k-scroll-m-2\.5 {
    scroll-margin: 0.625rem;
}

.\!k-scroll-m-2\.5 {
    scroll-margin: 0.625rem !important;
}

.k-scroll-m-3 {
    scroll-margin: 0.75rem;
}

.\!k-scroll-m-3 {
    scroll-margin: 0.75rem !important;
}

.k-scroll-m-3\.5 {
    scroll-margin: 0.875rem;
}

.\!k-scroll-m-3\.5 {
    scroll-margin: 0.875rem !important;
}

.k-scroll-m-4 {
    scroll-margin: 1rem;
}

.\!k-scroll-m-4 {
    scroll-margin: 1rem !important;
}

.k-scroll-m-4\.5 {
    scroll-margin: 1.125rem;
}

.\!k-scroll-m-4\.5 {
    scroll-margin: 1.125rem !important;
}

.k-scroll-m-5 {
    scroll-margin: 1.25rem;
}

.\!k-scroll-m-5 {
    scroll-margin: 1.25rem !important;
}

.k-scroll-m-5\.5 {
    scroll-margin: 1.375rem;
}

.\!k-scroll-m-5\.5 {
    scroll-margin: 1.375rem !important;
}

.k-scroll-m-6 {
    scroll-margin: 1.5rem;
}

.\!k-scroll-m-6 {
    scroll-margin: 1.5rem !important;
}

.k-scroll-m-6\.5 {
    scroll-margin: 1.625rem;
}

.\!k-scroll-m-6\.5 {
    scroll-margin: 1.625rem !important;
}

.k-scroll-m-7 {
    scroll-margin: 1.75rem;
}

.\!k-scroll-m-7 {
    scroll-margin: 1.75rem !important;
}

.k-scroll-m-7\.5 {
    scroll-margin: 1.875rem;
}

.\!k-scroll-m-7\.5 {
    scroll-margin: 1.875rem !important;
}

.k-scroll-m-8 {
    scroll-margin: 2rem;
}

.\!k-scroll-m-8 {
    scroll-margin: 2rem !important;
}

.k-scroll-m-9 {
    scroll-margin: 2.25rem;
}

.\!k-scroll-m-9 {
    scroll-margin: 2.25rem !important;
}

.k-scroll-m-10 {
    scroll-margin: 2.5rem;
}

.\!k-scroll-m-10 {
    scroll-margin: 2.5rem !important;
}

.k-scroll-m-11 {
    scroll-margin: 2.75rem;
}

.\!k-scroll-m-11 {
    scroll-margin: 2.75rem !important;
}

.k-scroll-m-12 {
    scroll-margin: 3rem;
}

.\!k-scroll-m-12 {
    scroll-margin: 3rem !important;
}

.k-scroll-m-13 {
    scroll-margin: 3.25rem;
}

.\!k-scroll-m-13 {
    scroll-margin: 3.25rem !important;
}

.k-scroll-m-14 {
    scroll-margin: 3.5rem;
}

.\!k-scroll-m-14 {
    scroll-margin: 3.5rem !important;
}

.k-scroll-m-15 {
    scroll-margin: 3.75rem;
}

.\!k-scroll-m-15 {
    scroll-margin: 3.75rem !important;
}

.k-scroll-m-16 {
    scroll-margin: 4rem;
}

.\!k-scroll-m-16 {
    scroll-margin: 4rem !important;
}

.k-scroll-m-17 {
    scroll-margin: 4.25rem;
}

.\!k-scroll-m-17 {
    scroll-margin: 4.25rem !important;
}

.k-scroll-m-18 {
    scroll-margin: 4.5rem;
}

.\!k-scroll-m-18 {
    scroll-margin: 4.5rem !important;
}

.k-scroll-m-19 {
    scroll-margin: 4.75rem;
}

.\!k-scroll-m-19 {
    scroll-margin: 4.75rem !important;
}

.k-scroll-m-20 {
    scroll-margin: 5rem;
}

.\!k-scroll-m-20 {
    scroll-margin: 5rem !important;
}

.k-scroll-m-21 {
    scroll-margin: 5.25rem;
}

.\!k-scroll-m-21 {
    scroll-margin: 5.25rem !important;
}

.k-scroll-m-22 {
    scroll-margin: 5.5rem;
}

.\!k-scroll-m-22 {
    scroll-margin: 5.5rem !important;
}

.k-scroll-m-23 {
    scroll-margin: 5.75rem;
}

.\!k-scroll-m-23 {
    scroll-margin: 5.75rem !important;
}

.k-scroll-m-24 {
    scroll-margin: 6rem;
}

.\!k-scroll-m-24 {
    scroll-margin: 6rem !important;
}

.k-scroll-mt-0 {
    scroll-margin-top: 0;
}

.\!k-scroll-mt-0 {
    scroll-margin-top: 0 !important;
}

.k-scroll-mt-1px {
    scroll-margin-top: 1px;
}

.\!k-scroll-mt-1px {
    scroll-margin-top: 1px !important;
}

.k-scroll-mt-0\.5 {
    scroll-margin-top: 0.125rem;
}

.\!k-scroll-mt-0\.5 {
    scroll-margin-top: 0.125rem !important;
}

.k-scroll-mt-1 {
    scroll-margin-top: 0.25rem;
}

.\!k-scroll-mt-1 {
    scroll-margin-top: 0.25rem !important;
}

.k-scroll-mt-1\.5 {
    scroll-margin-top: 0.375rem;
}

.\!k-scroll-mt-1\.5 {
    scroll-margin-top: 0.375rem !important;
}

.k-scroll-mt-2 {
    scroll-margin-top: 0.5rem;
}

.\!k-scroll-mt-2 {
    scroll-margin-top: 0.5rem !important;
}

.k-scroll-mt-2\.5 {
    scroll-margin-top: 0.625rem;
}

.\!k-scroll-mt-2\.5 {
    scroll-margin-top: 0.625rem !important;
}

.k-scroll-mt-3 {
    scroll-margin-top: 0.75rem;
}

.\!k-scroll-mt-3 {
    scroll-margin-top: 0.75rem !important;
}

.k-scroll-mt-3\.5 {
    scroll-margin-top: 0.875rem;
}

.\!k-scroll-mt-3\.5 {
    scroll-margin-top: 0.875rem !important;
}

.k-scroll-mt-4 {
    scroll-margin-top: 1rem;
}

.\!k-scroll-mt-4 {
    scroll-margin-top: 1rem !important;
}

.k-scroll-mt-4\.5 {
    scroll-margin-top: 1.125rem;
}

.\!k-scroll-mt-4\.5 {
    scroll-margin-top: 1.125rem !important;
}

.k-scroll-mt-5 {
    scroll-margin-top: 1.25rem;
}

.\!k-scroll-mt-5 {
    scroll-margin-top: 1.25rem !important;
}

.k-scroll-mt-5\.5 {
    scroll-margin-top: 1.375rem;
}

.\!k-scroll-mt-5\.5 {
    scroll-margin-top: 1.375rem !important;
}

.k-scroll-mt-6 {
    scroll-margin-top: 1.5rem;
}

.\!k-scroll-mt-6 {
    scroll-margin-top: 1.5rem !important;
}

.k-scroll-mt-6\.5 {
    scroll-margin-top: 1.625rem;
}

.\!k-scroll-mt-6\.5 {
    scroll-margin-top: 1.625rem !important;
}

.k-scroll-mt-7 {
    scroll-margin-top: 1.75rem;
}

.\!k-scroll-mt-7 {
    scroll-margin-top: 1.75rem !important;
}

.k-scroll-mt-7\.5 {
    scroll-margin-top: 1.875rem;
}

.\!k-scroll-mt-7\.5 {
    scroll-margin-top: 1.875rem !important;
}

.k-scroll-mt-8 {
    scroll-margin-top: 2rem;
}

.\!k-scroll-mt-8 {
    scroll-margin-top: 2rem !important;
}

.k-scroll-mt-9 {
    scroll-margin-top: 2.25rem;
}

.\!k-scroll-mt-9 {
    scroll-margin-top: 2.25rem !important;
}

.k-scroll-mt-10 {
    scroll-margin-top: 2.5rem;
}

.\!k-scroll-mt-10 {
    scroll-margin-top: 2.5rem !important;
}

.k-scroll-mt-11 {
    scroll-margin-top: 2.75rem;
}

.\!k-scroll-mt-11 {
    scroll-margin-top: 2.75rem !important;
}

.k-scroll-mt-12 {
    scroll-margin-top: 3rem;
}

.\!k-scroll-mt-12 {
    scroll-margin-top: 3rem !important;
}

.k-scroll-mt-13 {
    scroll-margin-top: 3.25rem;
}

.\!k-scroll-mt-13 {
    scroll-margin-top: 3.25rem !important;
}

.k-scroll-mt-14 {
    scroll-margin-top: 3.5rem;
}

.\!k-scroll-mt-14 {
    scroll-margin-top: 3.5rem !important;
}

.k-scroll-mt-15 {
    scroll-margin-top: 3.75rem;
}

.\!k-scroll-mt-15 {
    scroll-margin-top: 3.75rem !important;
}

.k-scroll-mt-16 {
    scroll-margin-top: 4rem;
}

.\!k-scroll-mt-16 {
    scroll-margin-top: 4rem !important;
}

.k-scroll-mt-17 {
    scroll-margin-top: 4.25rem;
}

.\!k-scroll-mt-17 {
    scroll-margin-top: 4.25rem !important;
}

.k-scroll-mt-18 {
    scroll-margin-top: 4.5rem;
}

.\!k-scroll-mt-18 {
    scroll-margin-top: 4.5rem !important;
}

.k-scroll-mt-19 {
    scroll-margin-top: 4.75rem;
}

.\!k-scroll-mt-19 {
    scroll-margin-top: 4.75rem !important;
}

.k-scroll-mt-20 {
    scroll-margin-top: 5rem;
}

.\!k-scroll-mt-20 {
    scroll-margin-top: 5rem !important;
}

.k-scroll-mt-21 {
    scroll-margin-top: 5.25rem;
}

.\!k-scroll-mt-21 {
    scroll-margin-top: 5.25rem !important;
}

.k-scroll-mt-22 {
    scroll-margin-top: 5.5rem;
}

.\!k-scroll-mt-22 {
    scroll-margin-top: 5.5rem !important;
}

.k-scroll-mt-23 {
    scroll-margin-top: 5.75rem;
}

.\!k-scroll-mt-23 {
    scroll-margin-top: 5.75rem !important;
}

.k-scroll-mt-24 {
    scroll-margin-top: 6rem;
}

.\!k-scroll-mt-24 {
    scroll-margin-top: 6rem !important;
}

.k-scroll-mr-0 {
    scroll-margin-right: 0;
}

.\!k-scroll-mr-0 {
    scroll-margin-right: 0 !important;
}

.k-scroll-mr-1px {
    scroll-margin-right: 1px;
}

.\!k-scroll-mr-1px {
    scroll-margin-right: 1px !important;
}

.k-scroll-mr-0\.5 {
    scroll-margin-right: 0.125rem;
}

.\!k-scroll-mr-0\.5 {
    scroll-margin-right: 0.125rem !important;
}

.k-scroll-mr-1 {
    scroll-margin-right: 0.25rem;
}

.\!k-scroll-mr-1 {
    scroll-margin-right: 0.25rem !important;
}

.k-scroll-mr-1\.5 {
    scroll-margin-right: 0.375rem;
}

.\!k-scroll-mr-1\.5 {
    scroll-margin-right: 0.375rem !important;
}

.k-scroll-mr-2 {
    scroll-margin-right: 0.5rem;
}

.\!k-scroll-mr-2 {
    scroll-margin-right: 0.5rem !important;
}

.k-scroll-mr-2\.5 {
    scroll-margin-right: 0.625rem;
}

.\!k-scroll-mr-2\.5 {
    scroll-margin-right: 0.625rem !important;
}

.k-scroll-mr-3 {
    scroll-margin-right: 0.75rem;
}

.\!k-scroll-mr-3 {
    scroll-margin-right: 0.75rem !important;
}

.k-scroll-mr-3\.5 {
    scroll-margin-right: 0.875rem;
}

.\!k-scroll-mr-3\.5 {
    scroll-margin-right: 0.875rem !important;
}

.k-scroll-mr-4 {
    scroll-margin-right: 1rem;
}

.\!k-scroll-mr-4 {
    scroll-margin-right: 1rem !important;
}

.k-scroll-mr-4\.5 {
    scroll-margin-right: 1.125rem;
}

.\!k-scroll-mr-4\.5 {
    scroll-margin-right: 1.125rem !important;
}

.k-scroll-mr-5 {
    scroll-margin-right: 1.25rem;
}

.\!k-scroll-mr-5 {
    scroll-margin-right: 1.25rem !important;
}

.k-scroll-mr-5\.5 {
    scroll-margin-right: 1.375rem;
}

.\!k-scroll-mr-5\.5 {
    scroll-margin-right: 1.375rem !important;
}

.k-scroll-mr-6 {
    scroll-margin-right: 1.5rem;
}

.\!k-scroll-mr-6 {
    scroll-margin-right: 1.5rem !important;
}

.k-scroll-mr-6\.5 {
    scroll-margin-right: 1.625rem;
}

.\!k-scroll-mr-6\.5 {
    scroll-margin-right: 1.625rem !important;
}

.k-scroll-mr-7 {
    scroll-margin-right: 1.75rem;
}

.\!k-scroll-mr-7 {
    scroll-margin-right: 1.75rem !important;
}

.k-scroll-mr-7\.5 {
    scroll-margin-right: 1.875rem;
}

.\!k-scroll-mr-7\.5 {
    scroll-margin-right: 1.875rem !important;
}

.k-scroll-mr-8 {
    scroll-margin-right: 2rem;
}

.\!k-scroll-mr-8 {
    scroll-margin-right: 2rem !important;
}

.k-scroll-mr-9 {
    scroll-margin-right: 2.25rem;
}

.\!k-scroll-mr-9 {
    scroll-margin-right: 2.25rem !important;
}

.k-scroll-mr-10 {
    scroll-margin-right: 2.5rem;
}

.\!k-scroll-mr-10 {
    scroll-margin-right: 2.5rem !important;
}

.k-scroll-mr-11 {
    scroll-margin-right: 2.75rem;
}

.\!k-scroll-mr-11 {
    scroll-margin-right: 2.75rem !important;
}

.k-scroll-mr-12 {
    scroll-margin-right: 3rem;
}

.\!k-scroll-mr-12 {
    scroll-margin-right: 3rem !important;
}

.k-scroll-mr-13 {
    scroll-margin-right: 3.25rem;
}

.\!k-scroll-mr-13 {
    scroll-margin-right: 3.25rem !important;
}

.k-scroll-mr-14 {
    scroll-margin-right: 3.5rem;
}

.\!k-scroll-mr-14 {
    scroll-margin-right: 3.5rem !important;
}

.k-scroll-mr-15 {
    scroll-margin-right: 3.75rem;
}

.\!k-scroll-mr-15 {
    scroll-margin-right: 3.75rem !important;
}

.k-scroll-mr-16 {
    scroll-margin-right: 4rem;
}

.\!k-scroll-mr-16 {
    scroll-margin-right: 4rem !important;
}

.k-scroll-mr-17 {
    scroll-margin-right: 4.25rem;
}

.\!k-scroll-mr-17 {
    scroll-margin-right: 4.25rem !important;
}

.k-scroll-mr-18 {
    scroll-margin-right: 4.5rem;
}

.\!k-scroll-mr-18 {
    scroll-margin-right: 4.5rem !important;
}

.k-scroll-mr-19 {
    scroll-margin-right: 4.75rem;
}

.\!k-scroll-mr-19 {
    scroll-margin-right: 4.75rem !important;
}

.k-scroll-mr-20 {
    scroll-margin-right: 5rem;
}

.\!k-scroll-mr-20 {
    scroll-margin-right: 5rem !important;
}

.k-scroll-mr-21 {
    scroll-margin-right: 5.25rem;
}

.\!k-scroll-mr-21 {
    scroll-margin-right: 5.25rem !important;
}

.k-scroll-mr-22 {
    scroll-margin-right: 5.5rem;
}

.\!k-scroll-mr-22 {
    scroll-margin-right: 5.5rem !important;
}

.k-scroll-mr-23 {
    scroll-margin-right: 5.75rem;
}

.\!k-scroll-mr-23 {
    scroll-margin-right: 5.75rem !important;
}

.k-scroll-mr-24 {
    scroll-margin-right: 6rem;
}

.\!k-scroll-mr-24 {
    scroll-margin-right: 6rem !important;
}

.k-scroll-mb-0 {
    scroll-margin-bottom: 0;
}

.\!k-scroll-mb-0 {
    scroll-margin-bottom: 0 !important;
}

.k-scroll-mb-1px {
    scroll-margin-bottom: 1px;
}

.\!k-scroll-mb-1px {
    scroll-margin-bottom: 1px !important;
}

.k-scroll-mb-0\.5 {
    scroll-margin-bottom: 0.125rem;
}

.\!k-scroll-mb-0\.5 {
    scroll-margin-bottom: 0.125rem !important;
}

.k-scroll-mb-1 {
    scroll-margin-bottom: 0.25rem;
}

.\!k-scroll-mb-1 {
    scroll-margin-bottom: 0.25rem !important;
}

.k-scroll-mb-1\.5 {
    scroll-margin-bottom: 0.375rem;
}

.\!k-scroll-mb-1\.5 {
    scroll-margin-bottom: 0.375rem !important;
}

.k-scroll-mb-2 {
    scroll-margin-bottom: 0.5rem;
}

.\!k-scroll-mb-2 {
    scroll-margin-bottom: 0.5rem !important;
}

.k-scroll-mb-2\.5 {
    scroll-margin-bottom: 0.625rem;
}

.\!k-scroll-mb-2\.5 {
    scroll-margin-bottom: 0.625rem !important;
}

.k-scroll-mb-3 {
    scroll-margin-bottom: 0.75rem;
}

.\!k-scroll-mb-3 {
    scroll-margin-bottom: 0.75rem !important;
}

.k-scroll-mb-3\.5 {
    scroll-margin-bottom: 0.875rem;
}

.\!k-scroll-mb-3\.5 {
    scroll-margin-bottom: 0.875rem !important;
}

.k-scroll-mb-4 {
    scroll-margin-bottom: 1rem;
}

.\!k-scroll-mb-4 {
    scroll-margin-bottom: 1rem !important;
}

.k-scroll-mb-4\.5 {
    scroll-margin-bottom: 1.125rem;
}

.\!k-scroll-mb-4\.5 {
    scroll-margin-bottom: 1.125rem !important;
}

.k-scroll-mb-5 {
    scroll-margin-bottom: 1.25rem;
}

.\!k-scroll-mb-5 {
    scroll-margin-bottom: 1.25rem !important;
}

.k-scroll-mb-5\.5 {
    scroll-margin-bottom: 1.375rem;
}

.\!k-scroll-mb-5\.5 {
    scroll-margin-bottom: 1.375rem !important;
}

.k-scroll-mb-6 {
    scroll-margin-bottom: 1.5rem;
}

.\!k-scroll-mb-6 {
    scroll-margin-bottom: 1.5rem !important;
}

.k-scroll-mb-6\.5 {
    scroll-margin-bottom: 1.625rem;
}

.\!k-scroll-mb-6\.5 {
    scroll-margin-bottom: 1.625rem !important;
}

.k-scroll-mb-7 {
    scroll-margin-bottom: 1.75rem;
}

.\!k-scroll-mb-7 {
    scroll-margin-bottom: 1.75rem !important;
}

.k-scroll-mb-7\.5 {
    scroll-margin-bottom: 1.875rem;
}

.\!k-scroll-mb-7\.5 {
    scroll-margin-bottom: 1.875rem !important;
}

.k-scroll-mb-8 {
    scroll-margin-bottom: 2rem;
}

.\!k-scroll-mb-8 {
    scroll-margin-bottom: 2rem !important;
}

.k-scroll-mb-9 {
    scroll-margin-bottom: 2.25rem;
}

.\!k-scroll-mb-9 {
    scroll-margin-bottom: 2.25rem !important;
}

.k-scroll-mb-10 {
    scroll-margin-bottom: 2.5rem;
}

.\!k-scroll-mb-10 {
    scroll-margin-bottom: 2.5rem !important;
}

.k-scroll-mb-11 {
    scroll-margin-bottom: 2.75rem;
}

.\!k-scroll-mb-11 {
    scroll-margin-bottom: 2.75rem !important;
}

.k-scroll-mb-12 {
    scroll-margin-bottom: 3rem;
}

.\!k-scroll-mb-12 {
    scroll-margin-bottom: 3rem !important;
}

.k-scroll-mb-13 {
    scroll-margin-bottom: 3.25rem;
}

.\!k-scroll-mb-13 {
    scroll-margin-bottom: 3.25rem !important;
}

.k-scroll-mb-14 {
    scroll-margin-bottom: 3.5rem;
}

.\!k-scroll-mb-14 {
    scroll-margin-bottom: 3.5rem !important;
}

.k-scroll-mb-15 {
    scroll-margin-bottom: 3.75rem;
}

.\!k-scroll-mb-15 {
    scroll-margin-bottom: 3.75rem !important;
}

.k-scroll-mb-16 {
    scroll-margin-bottom: 4rem;
}

.\!k-scroll-mb-16 {
    scroll-margin-bottom: 4rem !important;
}

.k-scroll-mb-17 {
    scroll-margin-bottom: 4.25rem;
}

.\!k-scroll-mb-17 {
    scroll-margin-bottom: 4.25rem !important;
}

.k-scroll-mb-18 {
    scroll-margin-bottom: 4.5rem;
}

.\!k-scroll-mb-18 {
    scroll-margin-bottom: 4.5rem !important;
}

.k-scroll-mb-19 {
    scroll-margin-bottom: 4.75rem;
}

.\!k-scroll-mb-19 {
    scroll-margin-bottom: 4.75rem !important;
}

.k-scroll-mb-20 {
    scroll-margin-bottom: 5rem;
}

.\!k-scroll-mb-20 {
    scroll-margin-bottom: 5rem !important;
}

.k-scroll-mb-21 {
    scroll-margin-bottom: 5.25rem;
}

.\!k-scroll-mb-21 {
    scroll-margin-bottom: 5.25rem !important;
}

.k-scroll-mb-22 {
    scroll-margin-bottom: 5.5rem;
}

.\!k-scroll-mb-22 {
    scroll-margin-bottom: 5.5rem !important;
}

.k-scroll-mb-23 {
    scroll-margin-bottom: 5.75rem;
}

.\!k-scroll-mb-23 {
    scroll-margin-bottom: 5.75rem !important;
}

.k-scroll-mb-24 {
    scroll-margin-bottom: 6rem;
}

.\!k-scroll-mb-24 {
    scroll-margin-bottom: 6rem !important;
}

.k-scroll-ml-0 {
    scroll-margin-left: 0;
}

.\!k-scroll-ml-0 {
    scroll-margin-left: 0 !important;
}

.k-scroll-ml-1px {
    scroll-margin-left: 1px;
}

.\!k-scroll-ml-1px {
    scroll-margin-left: 1px !important;
}

.k-scroll-ml-0\.5 {
    scroll-margin-left: 0.125rem;
}

.\!k-scroll-ml-0\.5 {
    scroll-margin-left: 0.125rem !important;
}

.k-scroll-ml-1 {
    scroll-margin-left: 0.25rem;
}

.\!k-scroll-ml-1 {
    scroll-margin-left: 0.25rem !important;
}

.k-scroll-ml-1\.5 {
    scroll-margin-left: 0.375rem;
}

.\!k-scroll-ml-1\.5 {
    scroll-margin-left: 0.375rem !important;
}

.k-scroll-ml-2 {
    scroll-margin-left: 0.5rem;
}

.\!k-scroll-ml-2 {
    scroll-margin-left: 0.5rem !important;
}

.k-scroll-ml-2\.5 {
    scroll-margin-left: 0.625rem;
}

.\!k-scroll-ml-2\.5 {
    scroll-margin-left: 0.625rem !important;
}

.k-scroll-ml-3 {
    scroll-margin-left: 0.75rem;
}

.\!k-scroll-ml-3 {
    scroll-margin-left: 0.75rem !important;
}

.k-scroll-ml-3\.5 {
    scroll-margin-left: 0.875rem;
}

.\!k-scroll-ml-3\.5 {
    scroll-margin-left: 0.875rem !important;
}

.k-scroll-ml-4 {
    scroll-margin-left: 1rem;
}

.\!k-scroll-ml-4 {
    scroll-margin-left: 1rem !important;
}

.k-scroll-ml-4\.5 {
    scroll-margin-left: 1.125rem;
}

.\!k-scroll-ml-4\.5 {
    scroll-margin-left: 1.125rem !important;
}

.k-scroll-ml-5 {
    scroll-margin-left: 1.25rem;
}

.\!k-scroll-ml-5 {
    scroll-margin-left: 1.25rem !important;
}

.k-scroll-ml-5\.5 {
    scroll-margin-left: 1.375rem;
}

.\!k-scroll-ml-5\.5 {
    scroll-margin-left: 1.375rem !important;
}

.k-scroll-ml-6 {
    scroll-margin-left: 1.5rem;
}

.\!k-scroll-ml-6 {
    scroll-margin-left: 1.5rem !important;
}

.k-scroll-ml-6\.5 {
    scroll-margin-left: 1.625rem;
}

.\!k-scroll-ml-6\.5 {
    scroll-margin-left: 1.625rem !important;
}

.k-scroll-ml-7 {
    scroll-margin-left: 1.75rem;
}

.\!k-scroll-ml-7 {
    scroll-margin-left: 1.75rem !important;
}

.k-scroll-ml-7\.5 {
    scroll-margin-left: 1.875rem;
}

.\!k-scroll-ml-7\.5 {
    scroll-margin-left: 1.875rem !important;
}

.k-scroll-ml-8 {
    scroll-margin-left: 2rem;
}

.\!k-scroll-ml-8 {
    scroll-margin-left: 2rem !important;
}

.k-scroll-ml-9 {
    scroll-margin-left: 2.25rem;
}

.\!k-scroll-ml-9 {
    scroll-margin-left: 2.25rem !important;
}

.k-scroll-ml-10 {
    scroll-margin-left: 2.5rem;
}

.\!k-scroll-ml-10 {
    scroll-margin-left: 2.5rem !important;
}

.k-scroll-ml-11 {
    scroll-margin-left: 2.75rem;
}

.\!k-scroll-ml-11 {
    scroll-margin-left: 2.75rem !important;
}

.k-scroll-ml-12 {
    scroll-margin-left: 3rem;
}

.\!k-scroll-ml-12 {
    scroll-margin-left: 3rem !important;
}

.k-scroll-ml-13 {
    scroll-margin-left: 3.25rem;
}

.\!k-scroll-ml-13 {
    scroll-margin-left: 3.25rem !important;
}

.k-scroll-ml-14 {
    scroll-margin-left: 3.5rem;
}

.\!k-scroll-ml-14 {
    scroll-margin-left: 3.5rem !important;
}

.k-scroll-ml-15 {
    scroll-margin-left: 3.75rem;
}

.\!k-scroll-ml-15 {
    scroll-margin-left: 3.75rem !important;
}

.k-scroll-ml-16 {
    scroll-margin-left: 4rem;
}

.\!k-scroll-ml-16 {
    scroll-margin-left: 4rem !important;
}

.k-scroll-ml-17 {
    scroll-margin-left: 4.25rem;
}

.\!k-scroll-ml-17 {
    scroll-margin-left: 4.25rem !important;
}

.k-scroll-ml-18 {
    scroll-margin-left: 4.5rem;
}

.\!k-scroll-ml-18 {
    scroll-margin-left: 4.5rem !important;
}

.k-scroll-ml-19 {
    scroll-margin-left: 4.75rem;
}

.\!k-scroll-ml-19 {
    scroll-margin-left: 4.75rem !important;
}

.k-scroll-ml-20 {
    scroll-margin-left: 5rem;
}

.\!k-scroll-ml-20 {
    scroll-margin-left: 5rem !important;
}

.k-scroll-ml-21 {
    scroll-margin-left: 5.25rem;
}

.\!k-scroll-ml-21 {
    scroll-margin-left: 5.25rem !important;
}

.k-scroll-ml-22 {
    scroll-margin-left: 5.5rem;
}

.\!k-scroll-ml-22 {
    scroll-margin-left: 5.5rem !important;
}

.k-scroll-ml-23 {
    scroll-margin-left: 5.75rem;
}

.\!k-scroll-ml-23 {
    scroll-margin-left: 5.75rem !important;
}

.k-scroll-ml-24 {
    scroll-margin-left: 6rem;
}

.\!k-scroll-ml-24 {
    scroll-margin-left: 6rem !important;
}

.k-scroll-mx-0 {
    scroll-margin-inline: 0;
}

.\!k-scroll-mx-0 {
    scroll-margin-inline: 0 !important;
}

.k-scroll-mx-1px {
    scroll-margin-inline: 1px;
}

.\!k-scroll-mx-1px {
    scroll-margin-inline: 1px !important;
}

.k-scroll-mx-0\.5 {
    scroll-margin-inline: 0.125rem;
}

.\!k-scroll-mx-0\.5 {
    scroll-margin-inline: 0.125rem !important;
}

.k-scroll-mx-1 {
    scroll-margin-inline: 0.25rem;
}

.\!k-scroll-mx-1 {
    scroll-margin-inline: 0.25rem !important;
}

.k-scroll-mx-1\.5 {
    scroll-margin-inline: 0.375rem;
}

.\!k-scroll-mx-1\.5 {
    scroll-margin-inline: 0.375rem !important;
}

.k-scroll-mx-2 {
    scroll-margin-inline: 0.5rem;
}

.\!k-scroll-mx-2 {
    scroll-margin-inline: 0.5rem !important;
}

.k-scroll-mx-2\.5 {
    scroll-margin-inline: 0.625rem;
}

.\!k-scroll-mx-2\.5 {
    scroll-margin-inline: 0.625rem !important;
}

.k-scroll-mx-3 {
    scroll-margin-inline: 0.75rem;
}

.\!k-scroll-mx-3 {
    scroll-margin-inline: 0.75rem !important;
}

.k-scroll-mx-3\.5 {
    scroll-margin-inline: 0.875rem;
}

.\!k-scroll-mx-3\.5 {
    scroll-margin-inline: 0.875rem !important;
}

.k-scroll-mx-4 {
    scroll-margin-inline: 1rem;
}

.\!k-scroll-mx-4 {
    scroll-margin-inline: 1rem !important;
}

.k-scroll-mx-4\.5 {
    scroll-margin-inline: 1.125rem;
}

.\!k-scroll-mx-4\.5 {
    scroll-margin-inline: 1.125rem !important;
}

.k-scroll-mx-5 {
    scroll-margin-inline: 1.25rem;
}

.\!k-scroll-mx-5 {
    scroll-margin-inline: 1.25rem !important;
}

.k-scroll-mx-5\.5 {
    scroll-margin-inline: 1.375rem;
}

.\!k-scroll-mx-5\.5 {
    scroll-margin-inline: 1.375rem !important;
}

.k-scroll-mx-6 {
    scroll-margin-inline: 1.5rem;
}

.\!k-scroll-mx-6 {
    scroll-margin-inline: 1.5rem !important;
}

.k-scroll-mx-6\.5 {
    scroll-margin-inline: 1.625rem;
}

.\!k-scroll-mx-6\.5 {
    scroll-margin-inline: 1.625rem !important;
}

.k-scroll-mx-7 {
    scroll-margin-inline: 1.75rem;
}

.\!k-scroll-mx-7 {
    scroll-margin-inline: 1.75rem !important;
}

.k-scroll-mx-7\.5 {
    scroll-margin-inline: 1.875rem;
}

.\!k-scroll-mx-7\.5 {
    scroll-margin-inline: 1.875rem !important;
}

.k-scroll-mx-8 {
    scroll-margin-inline: 2rem;
}

.\!k-scroll-mx-8 {
    scroll-margin-inline: 2rem !important;
}

.k-scroll-mx-9 {
    scroll-margin-inline: 2.25rem;
}

.\!k-scroll-mx-9 {
    scroll-margin-inline: 2.25rem !important;
}

.k-scroll-mx-10 {
    scroll-margin-inline: 2.5rem;
}

.\!k-scroll-mx-10 {
    scroll-margin-inline: 2.5rem !important;
}

.k-scroll-mx-11 {
    scroll-margin-inline: 2.75rem;
}

.\!k-scroll-mx-11 {
    scroll-margin-inline: 2.75rem !important;
}

.k-scroll-mx-12 {
    scroll-margin-inline: 3rem;
}

.\!k-scroll-mx-12 {
    scroll-margin-inline: 3rem !important;
}

.k-scroll-mx-13 {
    scroll-margin-inline: 3.25rem;
}

.\!k-scroll-mx-13 {
    scroll-margin-inline: 3.25rem !important;
}

.k-scroll-mx-14 {
    scroll-margin-inline: 3.5rem;
}

.\!k-scroll-mx-14 {
    scroll-margin-inline: 3.5rem !important;
}

.k-scroll-mx-15 {
    scroll-margin-inline: 3.75rem;
}

.\!k-scroll-mx-15 {
    scroll-margin-inline: 3.75rem !important;
}

.k-scroll-mx-16 {
    scroll-margin-inline: 4rem;
}

.\!k-scroll-mx-16 {
    scroll-margin-inline: 4rem !important;
}

.k-scroll-mx-17 {
    scroll-margin-inline: 4.25rem;
}

.\!k-scroll-mx-17 {
    scroll-margin-inline: 4.25rem !important;
}

.k-scroll-mx-18 {
    scroll-margin-inline: 4.5rem;
}

.\!k-scroll-mx-18 {
    scroll-margin-inline: 4.5rem !important;
}

.k-scroll-mx-19 {
    scroll-margin-inline: 4.75rem;
}

.\!k-scroll-mx-19 {
    scroll-margin-inline: 4.75rem !important;
}

.k-scroll-mx-20 {
    scroll-margin-inline: 5rem;
}

.\!k-scroll-mx-20 {
    scroll-margin-inline: 5rem !important;
}

.k-scroll-mx-21 {
    scroll-margin-inline: 5.25rem;
}

.\!k-scroll-mx-21 {
    scroll-margin-inline: 5.25rem !important;
}

.k-scroll-mx-22 {
    scroll-margin-inline: 5.5rem;
}

.\!k-scroll-mx-22 {
    scroll-margin-inline: 5.5rem !important;
}

.k-scroll-mx-23 {
    scroll-margin-inline: 5.75rem;
}

.\!k-scroll-mx-23 {
    scroll-margin-inline: 5.75rem !important;
}

.k-scroll-mx-24 {
    scroll-margin-inline: 6rem;
}

.\!k-scroll-mx-24 {
    scroll-margin-inline: 6rem !important;
}

.k-scroll-my-0 {
    scroll-margin-block: 0;
}

.\!k-scroll-my-0 {
    scroll-margin-block: 0 !important;
}

.k-scroll-my-1px {
    scroll-margin-block: 1px;
}

.\!k-scroll-my-1px {
    scroll-margin-block: 1px !important;
}

.k-scroll-my-0\.5 {
    scroll-margin-block: 0.125rem;
}

.\!k-scroll-my-0\.5 {
    scroll-margin-block: 0.125rem !important;
}

.k-scroll-my-1 {
    scroll-margin-block: 0.25rem;
}

.\!k-scroll-my-1 {
    scroll-margin-block: 0.25rem !important;
}

.k-scroll-my-1\.5 {
    scroll-margin-block: 0.375rem;
}

.\!k-scroll-my-1\.5 {
    scroll-margin-block: 0.375rem !important;
}

.k-scroll-my-2 {
    scroll-margin-block: 0.5rem;
}

.\!k-scroll-my-2 {
    scroll-margin-block: 0.5rem !important;
}

.k-scroll-my-2\.5 {
    scroll-margin-block: 0.625rem;
}

.\!k-scroll-my-2\.5 {
    scroll-margin-block: 0.625rem !important;
}

.k-scroll-my-3 {
    scroll-margin-block: 0.75rem;
}

.\!k-scroll-my-3 {
    scroll-margin-block: 0.75rem !important;
}

.k-scroll-my-3\.5 {
    scroll-margin-block: 0.875rem;
}

.\!k-scroll-my-3\.5 {
    scroll-margin-block: 0.875rem !important;
}

.k-scroll-my-4 {
    scroll-margin-block: 1rem;
}

.\!k-scroll-my-4 {
    scroll-margin-block: 1rem !important;
}

.k-scroll-my-4\.5 {
    scroll-margin-block: 1.125rem;
}

.\!k-scroll-my-4\.5 {
    scroll-margin-block: 1.125rem !important;
}

.k-scroll-my-5 {
    scroll-margin-block: 1.25rem;
}

.\!k-scroll-my-5 {
    scroll-margin-block: 1.25rem !important;
}

.k-scroll-my-5\.5 {
    scroll-margin-block: 1.375rem;
}

.\!k-scroll-my-5\.5 {
    scroll-margin-block: 1.375rem !important;
}

.k-scroll-my-6 {
    scroll-margin-block: 1.5rem;
}

.\!k-scroll-my-6 {
    scroll-margin-block: 1.5rem !important;
}

.k-scroll-my-6\.5 {
    scroll-margin-block: 1.625rem;
}

.\!k-scroll-my-6\.5 {
    scroll-margin-block: 1.625rem !important;
}

.k-scroll-my-7 {
    scroll-margin-block: 1.75rem;
}

.\!k-scroll-my-7 {
    scroll-margin-block: 1.75rem !important;
}

.k-scroll-my-7\.5 {
    scroll-margin-block: 1.875rem;
}

.\!k-scroll-my-7\.5 {
    scroll-margin-block: 1.875rem !important;
}

.k-scroll-my-8 {
    scroll-margin-block: 2rem;
}

.\!k-scroll-my-8 {
    scroll-margin-block: 2rem !important;
}

.k-scroll-my-9 {
    scroll-margin-block: 2.25rem;
}

.\!k-scroll-my-9 {
    scroll-margin-block: 2.25rem !important;
}

.k-scroll-my-10 {
    scroll-margin-block: 2.5rem;
}

.\!k-scroll-my-10 {
    scroll-margin-block: 2.5rem !important;
}

.k-scroll-my-11 {
    scroll-margin-block: 2.75rem;
}

.\!k-scroll-my-11 {
    scroll-margin-block: 2.75rem !important;
}

.k-scroll-my-12 {
    scroll-margin-block: 3rem;
}

.\!k-scroll-my-12 {
    scroll-margin-block: 3rem !important;
}

.k-scroll-my-13 {
    scroll-margin-block: 3.25rem;
}

.\!k-scroll-my-13 {
    scroll-margin-block: 3.25rem !important;
}

.k-scroll-my-14 {
    scroll-margin-block: 3.5rem;
}

.\!k-scroll-my-14 {
    scroll-margin-block: 3.5rem !important;
}

.k-scroll-my-15 {
    scroll-margin-block: 3.75rem;
}

.\!k-scroll-my-15 {
    scroll-margin-block: 3.75rem !important;
}

.k-scroll-my-16 {
    scroll-margin-block: 4rem;
}

.\!k-scroll-my-16 {
    scroll-margin-block: 4rem !important;
}

.k-scroll-my-17 {
    scroll-margin-block: 4.25rem;
}

.\!k-scroll-my-17 {
    scroll-margin-block: 4.25rem !important;
}

.k-scroll-my-18 {
    scroll-margin-block: 4.5rem;
}

.\!k-scroll-my-18 {
    scroll-margin-block: 4.5rem !important;
}

.k-scroll-my-19 {
    scroll-margin-block: 4.75rem;
}

.\!k-scroll-my-19 {
    scroll-margin-block: 4.75rem !important;
}

.k-scroll-my-20 {
    scroll-margin-block: 5rem;
}

.\!k-scroll-my-20 {
    scroll-margin-block: 5rem !important;
}

.k-scroll-my-21 {
    scroll-margin-block: 5.25rem;
}

.\!k-scroll-my-21 {
    scroll-margin-block: 5.25rem !important;
}

.k-scroll-my-22 {
    scroll-margin-block: 5.5rem;
}

.\!k-scroll-my-22 {
    scroll-margin-block: 5.5rem !important;
}

.k-scroll-my-23 {
    scroll-margin-block: 5.75rem;
}

.\!k-scroll-my-23 {
    scroll-margin-block: 5.75rem !important;
}

.k-scroll-my-24 {
    scroll-margin-block: 6rem;
}

.\!k-scroll-my-24 {
    scroll-margin-block: 6rem !important;
}

.k-scroll-p-0 {
    scroll-padding: 0;
}

.\!k-scroll-p-0 {
    scroll-padding: 0 !important;
}

.k-scroll-p-1px {
    scroll-padding: 1px;
}

.\!k-scroll-p-1px {
    scroll-padding: 1px !important;
}

.k-scroll-p-0\.5 {
    scroll-padding: 0.125rem;
}

.\!k-scroll-p-0\.5 {
    scroll-padding: 0.125rem !important;
}

.k-scroll-p-1 {
    scroll-padding: 0.25rem;
}

.\!k-scroll-p-1 {
    scroll-padding: 0.25rem !important;
}

.k-scroll-p-1\.5 {
    scroll-padding: 0.375rem;
}

.\!k-scroll-p-1\.5 {
    scroll-padding: 0.375rem !important;
}

.k-scroll-p-2 {
    scroll-padding: 0.5rem;
}

.\!k-scroll-p-2 {
    scroll-padding: 0.5rem !important;
}

.k-scroll-p-2\.5 {
    scroll-padding: 0.625rem;
}

.\!k-scroll-p-2\.5 {
    scroll-padding: 0.625rem !important;
}

.k-scroll-p-3 {
    scroll-padding: 0.75rem;
}

.\!k-scroll-p-3 {
    scroll-padding: 0.75rem !important;
}

.k-scroll-p-3\.5 {
    scroll-padding: 0.875rem;
}

.\!k-scroll-p-3\.5 {
    scroll-padding: 0.875rem !important;
}

.k-scroll-p-4 {
    scroll-padding: 1rem;
}

.\!k-scroll-p-4 {
    scroll-padding: 1rem !important;
}

.k-scroll-p-4\.5 {
    scroll-padding: 1.125rem;
}

.\!k-scroll-p-4\.5 {
    scroll-padding: 1.125rem !important;
}

.k-scroll-p-5 {
    scroll-padding: 1.25rem;
}

.\!k-scroll-p-5 {
    scroll-padding: 1.25rem !important;
}

.k-scroll-p-5\.5 {
    scroll-padding: 1.375rem;
}

.\!k-scroll-p-5\.5 {
    scroll-padding: 1.375rem !important;
}

.k-scroll-p-6 {
    scroll-padding: 1.5rem;
}

.\!k-scroll-p-6 {
    scroll-padding: 1.5rem !important;
}

.k-scroll-p-6\.5 {
    scroll-padding: 1.625rem;
}

.\!k-scroll-p-6\.5 {
    scroll-padding: 1.625rem !important;
}

.k-scroll-p-7 {
    scroll-padding: 1.75rem;
}

.\!k-scroll-p-7 {
    scroll-padding: 1.75rem !important;
}

.k-scroll-p-7\.5 {
    scroll-padding: 1.875rem;
}

.\!k-scroll-p-7\.5 {
    scroll-padding: 1.875rem !important;
}

.k-scroll-p-8 {
    scroll-padding: 2rem;
}

.\!k-scroll-p-8 {
    scroll-padding: 2rem !important;
}

.k-scroll-p-9 {
    scroll-padding: 2.25rem;
}

.\!k-scroll-p-9 {
    scroll-padding: 2.25rem !important;
}

.k-scroll-p-10 {
    scroll-padding: 2.5rem;
}

.\!k-scroll-p-10 {
    scroll-padding: 2.5rem !important;
}

.k-scroll-p-11 {
    scroll-padding: 2.75rem;
}

.\!k-scroll-p-11 {
    scroll-padding: 2.75rem !important;
}

.k-scroll-p-12 {
    scroll-padding: 3rem;
}

.\!k-scroll-p-12 {
    scroll-padding: 3rem !important;
}

.k-scroll-p-13 {
    scroll-padding: 3.25rem;
}

.\!k-scroll-p-13 {
    scroll-padding: 3.25rem !important;
}

.k-scroll-p-14 {
    scroll-padding: 3.5rem;
}

.\!k-scroll-p-14 {
    scroll-padding: 3.5rem !important;
}

.k-scroll-p-15 {
    scroll-padding: 3.75rem;
}

.\!k-scroll-p-15 {
    scroll-padding: 3.75rem !important;
}

.k-scroll-p-16 {
    scroll-padding: 4rem;
}

.\!k-scroll-p-16 {
    scroll-padding: 4rem !important;
}

.k-scroll-p-17 {
    scroll-padding: 4.25rem;
}

.\!k-scroll-p-17 {
    scroll-padding: 4.25rem !important;
}

.k-scroll-p-18 {
    scroll-padding: 4.5rem;
}

.\!k-scroll-p-18 {
    scroll-padding: 4.5rem !important;
}

.k-scroll-p-19 {
    scroll-padding: 4.75rem;
}

.\!k-scroll-p-19 {
    scroll-padding: 4.75rem !important;
}

.k-scroll-p-20 {
    scroll-padding: 5rem;
}

.\!k-scroll-p-20 {
    scroll-padding: 5rem !important;
}

.k-scroll-p-21 {
    scroll-padding: 5.25rem;
}

.\!k-scroll-p-21 {
    scroll-padding: 5.25rem !important;
}

.k-scroll-p-22 {
    scroll-padding: 5.5rem;
}

.\!k-scroll-p-22 {
    scroll-padding: 5.5rem !important;
}

.k-scroll-p-23 {
    scroll-padding: 5.75rem;
}

.\!k-scroll-p-23 {
    scroll-padding: 5.75rem !important;
}

.k-scroll-p-24 {
    scroll-padding: 6rem;
}

.\!k-scroll-p-24 {
    scroll-padding: 6rem !important;
}

.k-scroll-pt-0 {
    scroll-padding-top: 0;
}

.\!k-scroll-pt-0 {
    scroll-padding-top: 0 !important;
}

.k-scroll-pt-1px {
    scroll-padding-top: 1px;
}

.\!k-scroll-pt-1px {
    scroll-padding-top: 1px !important;
}

.k-scroll-pt-0\.5 {
    scroll-padding-top: 0.125rem;
}

.\!k-scroll-pt-0\.5 {
    scroll-padding-top: 0.125rem !important;
}

.k-scroll-pt-1 {
    scroll-padding-top: 0.25rem;
}

.\!k-scroll-pt-1 {
    scroll-padding-top: 0.25rem !important;
}

.k-scroll-pt-1\.5 {
    scroll-padding-top: 0.375rem;
}

.\!k-scroll-pt-1\.5 {
    scroll-padding-top: 0.375rem !important;
}

.k-scroll-pt-2 {
    scroll-padding-top: 0.5rem;
}

.\!k-scroll-pt-2 {
    scroll-padding-top: 0.5rem !important;
}

.k-scroll-pt-2\.5 {
    scroll-padding-top: 0.625rem;
}

.\!k-scroll-pt-2\.5 {
    scroll-padding-top: 0.625rem !important;
}

.k-scroll-pt-3 {
    scroll-padding-top: 0.75rem;
}

.\!k-scroll-pt-3 {
    scroll-padding-top: 0.75rem !important;
}

.k-scroll-pt-3\.5 {
    scroll-padding-top: 0.875rem;
}

.\!k-scroll-pt-3\.5 {
    scroll-padding-top: 0.875rem !important;
}

.k-scroll-pt-4 {
    scroll-padding-top: 1rem;
}

.\!k-scroll-pt-4 {
    scroll-padding-top: 1rem !important;
}

.k-scroll-pt-4\.5 {
    scroll-padding-top: 1.125rem;
}

.\!k-scroll-pt-4\.5 {
    scroll-padding-top: 1.125rem !important;
}

.k-scroll-pt-5 {
    scroll-padding-top: 1.25rem;
}

.\!k-scroll-pt-5 {
    scroll-padding-top: 1.25rem !important;
}

.k-scroll-pt-5\.5 {
    scroll-padding-top: 1.375rem;
}

.\!k-scroll-pt-5\.5 {
    scroll-padding-top: 1.375rem !important;
}

.k-scroll-pt-6 {
    scroll-padding-top: 1.5rem;
}

.\!k-scroll-pt-6 {
    scroll-padding-top: 1.5rem !important;
}

.k-scroll-pt-6\.5 {
    scroll-padding-top: 1.625rem;
}

.\!k-scroll-pt-6\.5 {
    scroll-padding-top: 1.625rem !important;
}

.k-scroll-pt-7 {
    scroll-padding-top: 1.75rem;
}

.\!k-scroll-pt-7 {
    scroll-padding-top: 1.75rem !important;
}

.k-scroll-pt-7\.5 {
    scroll-padding-top: 1.875rem;
}

.\!k-scroll-pt-7\.5 {
    scroll-padding-top: 1.875rem !important;
}

.k-scroll-pt-8 {
    scroll-padding-top: 2rem;
}

.\!k-scroll-pt-8 {
    scroll-padding-top: 2rem !important;
}

.k-scroll-pt-9 {
    scroll-padding-top: 2.25rem;
}

.\!k-scroll-pt-9 {
    scroll-padding-top: 2.25rem !important;
}

.k-scroll-pt-10 {
    scroll-padding-top: 2.5rem;
}

.\!k-scroll-pt-10 {
    scroll-padding-top: 2.5rem !important;
}

.k-scroll-pt-11 {
    scroll-padding-top: 2.75rem;
}

.\!k-scroll-pt-11 {
    scroll-padding-top: 2.75rem !important;
}

.k-scroll-pt-12 {
    scroll-padding-top: 3rem;
}

.\!k-scroll-pt-12 {
    scroll-padding-top: 3rem !important;
}

.k-scroll-pt-13 {
    scroll-padding-top: 3.25rem;
}

.\!k-scroll-pt-13 {
    scroll-padding-top: 3.25rem !important;
}

.k-scroll-pt-14 {
    scroll-padding-top: 3.5rem;
}

.\!k-scroll-pt-14 {
    scroll-padding-top: 3.5rem !important;
}

.k-scroll-pt-15 {
    scroll-padding-top: 3.75rem;
}

.\!k-scroll-pt-15 {
    scroll-padding-top: 3.75rem !important;
}

.k-scroll-pt-16 {
    scroll-padding-top: 4rem;
}

.\!k-scroll-pt-16 {
    scroll-padding-top: 4rem !important;
}

.k-scroll-pt-17 {
    scroll-padding-top: 4.25rem;
}

.\!k-scroll-pt-17 {
    scroll-padding-top: 4.25rem !important;
}

.k-scroll-pt-18 {
    scroll-padding-top: 4.5rem;
}

.\!k-scroll-pt-18 {
    scroll-padding-top: 4.5rem !important;
}

.k-scroll-pt-19 {
    scroll-padding-top: 4.75rem;
}

.\!k-scroll-pt-19 {
    scroll-padding-top: 4.75rem !important;
}

.k-scroll-pt-20 {
    scroll-padding-top: 5rem;
}

.\!k-scroll-pt-20 {
    scroll-padding-top: 5rem !important;
}

.k-scroll-pt-21 {
    scroll-padding-top: 5.25rem;
}

.\!k-scroll-pt-21 {
    scroll-padding-top: 5.25rem !important;
}

.k-scroll-pt-22 {
    scroll-padding-top: 5.5rem;
}

.\!k-scroll-pt-22 {
    scroll-padding-top: 5.5rem !important;
}

.k-scroll-pt-23 {
    scroll-padding-top: 5.75rem;
}

.\!k-scroll-pt-23 {
    scroll-padding-top: 5.75rem !important;
}

.k-scroll-pt-24 {
    scroll-padding-top: 6rem;
}

.\!k-scroll-pt-24 {
    scroll-padding-top: 6rem !important;
}

.k-scroll-pr-0 {
    scroll-padding-right: 0;
}

.\!k-scroll-pr-0 {
    scroll-padding-right: 0 !important;
}

.k-scroll-pr-1px {
    scroll-padding-right: 1px;
}

.\!k-scroll-pr-1px {
    scroll-padding-right: 1px !important;
}

.k-scroll-pr-0\.5 {
    scroll-padding-right: 0.125rem;
}

.\!k-scroll-pr-0\.5 {
    scroll-padding-right: 0.125rem !important;
}

.k-scroll-pr-1 {
    scroll-padding-right: 0.25rem;
}

.\!k-scroll-pr-1 {
    scroll-padding-right: 0.25rem !important;
}

.k-scroll-pr-1\.5 {
    scroll-padding-right: 0.375rem;
}

.\!k-scroll-pr-1\.5 {
    scroll-padding-right: 0.375rem !important;
}

.k-scroll-pr-2 {
    scroll-padding-right: 0.5rem;
}

.\!k-scroll-pr-2 {
    scroll-padding-right: 0.5rem !important;
}

.k-scroll-pr-2\.5 {
    scroll-padding-right: 0.625rem;
}

.\!k-scroll-pr-2\.5 {
    scroll-padding-right: 0.625rem !important;
}

.k-scroll-pr-3 {
    scroll-padding-right: 0.75rem;
}

.\!k-scroll-pr-3 {
    scroll-padding-right: 0.75rem !important;
}

.k-scroll-pr-3\.5 {
    scroll-padding-right: 0.875rem;
}

.\!k-scroll-pr-3\.5 {
    scroll-padding-right: 0.875rem !important;
}

.k-scroll-pr-4 {
    scroll-padding-right: 1rem;
}

.\!k-scroll-pr-4 {
    scroll-padding-right: 1rem !important;
}

.k-scroll-pr-4\.5 {
    scroll-padding-right: 1.125rem;
}

.\!k-scroll-pr-4\.5 {
    scroll-padding-right: 1.125rem !important;
}

.k-scroll-pr-5 {
    scroll-padding-right: 1.25rem;
}

.\!k-scroll-pr-5 {
    scroll-padding-right: 1.25rem !important;
}

.k-scroll-pr-5\.5 {
    scroll-padding-right: 1.375rem;
}

.\!k-scroll-pr-5\.5 {
    scroll-padding-right: 1.375rem !important;
}

.k-scroll-pr-6 {
    scroll-padding-right: 1.5rem;
}

.\!k-scroll-pr-6 {
    scroll-padding-right: 1.5rem !important;
}

.k-scroll-pr-6\.5 {
    scroll-padding-right: 1.625rem;
}

.\!k-scroll-pr-6\.5 {
    scroll-padding-right: 1.625rem !important;
}

.k-scroll-pr-7 {
    scroll-padding-right: 1.75rem;
}

.\!k-scroll-pr-7 {
    scroll-padding-right: 1.75rem !important;
}

.k-scroll-pr-7\.5 {
    scroll-padding-right: 1.875rem;
}

.\!k-scroll-pr-7\.5 {
    scroll-padding-right: 1.875rem !important;
}

.k-scroll-pr-8 {
    scroll-padding-right: 2rem;
}

.\!k-scroll-pr-8 {
    scroll-padding-right: 2rem !important;
}

.k-scroll-pr-9 {
    scroll-padding-right: 2.25rem;
}

.\!k-scroll-pr-9 {
    scroll-padding-right: 2.25rem !important;
}

.k-scroll-pr-10 {
    scroll-padding-right: 2.5rem;
}

.\!k-scroll-pr-10 {
    scroll-padding-right: 2.5rem !important;
}

.k-scroll-pr-11 {
    scroll-padding-right: 2.75rem;
}

.\!k-scroll-pr-11 {
    scroll-padding-right: 2.75rem !important;
}

.k-scroll-pr-12 {
    scroll-padding-right: 3rem;
}

.\!k-scroll-pr-12 {
    scroll-padding-right: 3rem !important;
}

.k-scroll-pr-13 {
    scroll-padding-right: 3.25rem;
}

.\!k-scroll-pr-13 {
    scroll-padding-right: 3.25rem !important;
}

.k-scroll-pr-14 {
    scroll-padding-right: 3.5rem;
}

.\!k-scroll-pr-14 {
    scroll-padding-right: 3.5rem !important;
}

.k-scroll-pr-15 {
    scroll-padding-right: 3.75rem;
}

.\!k-scroll-pr-15 {
    scroll-padding-right: 3.75rem !important;
}

.k-scroll-pr-16 {
    scroll-padding-right: 4rem;
}

.\!k-scroll-pr-16 {
    scroll-padding-right: 4rem !important;
}

.k-scroll-pr-17 {
    scroll-padding-right: 4.25rem;
}

.\!k-scroll-pr-17 {
    scroll-padding-right: 4.25rem !important;
}

.k-scroll-pr-18 {
    scroll-padding-right: 4.5rem;
}

.\!k-scroll-pr-18 {
    scroll-padding-right: 4.5rem !important;
}

.k-scroll-pr-19 {
    scroll-padding-right: 4.75rem;
}

.\!k-scroll-pr-19 {
    scroll-padding-right: 4.75rem !important;
}

.k-scroll-pr-20 {
    scroll-padding-right: 5rem;
}

.\!k-scroll-pr-20 {
    scroll-padding-right: 5rem !important;
}

.k-scroll-pr-21 {
    scroll-padding-right: 5.25rem;
}

.\!k-scroll-pr-21 {
    scroll-padding-right: 5.25rem !important;
}

.k-scroll-pr-22 {
    scroll-padding-right: 5.5rem;
}

.\!k-scroll-pr-22 {
    scroll-padding-right: 5.5rem !important;
}

.k-scroll-pr-23 {
    scroll-padding-right: 5.75rem;
}

.\!k-scroll-pr-23 {
    scroll-padding-right: 5.75rem !important;
}

.k-scroll-pr-24 {
    scroll-padding-right: 6rem;
}

.\!k-scroll-pr-24 {
    scroll-padding-right: 6rem !important;
}

.k-scroll-pb-0 {
    scroll-padding-bottom: 0;
}

.\!k-scroll-pb-0 {
    scroll-padding-bottom: 0 !important;
}

.k-scroll-pb-1px {
    scroll-padding-bottom: 1px;
}

.\!k-scroll-pb-1px {
    scroll-padding-bottom: 1px !important;
}

.k-scroll-pb-0\.5 {
    scroll-padding-bottom: 0.125rem;
}

.\!k-scroll-pb-0\.5 {
    scroll-padding-bottom: 0.125rem !important;
}

.k-scroll-pb-1 {
    scroll-padding-bottom: 0.25rem;
}

.\!k-scroll-pb-1 {
    scroll-padding-bottom: 0.25rem !important;
}

.k-scroll-pb-1\.5 {
    scroll-padding-bottom: 0.375rem;
}

.\!k-scroll-pb-1\.5 {
    scroll-padding-bottom: 0.375rem !important;
}

.k-scroll-pb-2 {
    scroll-padding-bottom: 0.5rem;
}

.\!k-scroll-pb-2 {
    scroll-padding-bottom: 0.5rem !important;
}

.k-scroll-pb-2\.5 {
    scroll-padding-bottom: 0.625rem;
}

.\!k-scroll-pb-2\.5 {
    scroll-padding-bottom: 0.625rem !important;
}

.k-scroll-pb-3 {
    scroll-padding-bottom: 0.75rem;
}

.\!k-scroll-pb-3 {
    scroll-padding-bottom: 0.75rem !important;
}

.k-scroll-pb-3\.5 {
    scroll-padding-bottom: 0.875rem;
}

.\!k-scroll-pb-3\.5 {
    scroll-padding-bottom: 0.875rem !important;
}

.k-scroll-pb-4 {
    scroll-padding-bottom: 1rem;
}

.\!k-scroll-pb-4 {
    scroll-padding-bottom: 1rem !important;
}

.k-scroll-pb-4\.5 {
    scroll-padding-bottom: 1.125rem;
}

.\!k-scroll-pb-4\.5 {
    scroll-padding-bottom: 1.125rem !important;
}

.k-scroll-pb-5 {
    scroll-padding-bottom: 1.25rem;
}

.\!k-scroll-pb-5 {
    scroll-padding-bottom: 1.25rem !important;
}

.k-scroll-pb-5\.5 {
    scroll-padding-bottom: 1.375rem;
}

.\!k-scroll-pb-5\.5 {
    scroll-padding-bottom: 1.375rem !important;
}

.k-scroll-pb-6 {
    scroll-padding-bottom: 1.5rem;
}

.\!k-scroll-pb-6 {
    scroll-padding-bottom: 1.5rem !important;
}

.k-scroll-pb-6\.5 {
    scroll-padding-bottom: 1.625rem;
}

.\!k-scroll-pb-6\.5 {
    scroll-padding-bottom: 1.625rem !important;
}

.k-scroll-pb-7 {
    scroll-padding-bottom: 1.75rem;
}

.\!k-scroll-pb-7 {
    scroll-padding-bottom: 1.75rem !important;
}

.k-scroll-pb-7\.5 {
    scroll-padding-bottom: 1.875rem;
}

.\!k-scroll-pb-7\.5 {
    scroll-padding-bottom: 1.875rem !important;
}

.k-scroll-pb-8 {
    scroll-padding-bottom: 2rem;
}

.\!k-scroll-pb-8 {
    scroll-padding-bottom: 2rem !important;
}

.k-scroll-pb-9 {
    scroll-padding-bottom: 2.25rem;
}

.\!k-scroll-pb-9 {
    scroll-padding-bottom: 2.25rem !important;
}

.k-scroll-pb-10 {
    scroll-padding-bottom: 2.5rem;
}

.\!k-scroll-pb-10 {
    scroll-padding-bottom: 2.5rem !important;
}

.k-scroll-pb-11 {
    scroll-padding-bottom: 2.75rem;
}

.\!k-scroll-pb-11 {
    scroll-padding-bottom: 2.75rem !important;
}

.k-scroll-pb-12 {
    scroll-padding-bottom: 3rem;
}

.\!k-scroll-pb-12 {
    scroll-padding-bottom: 3rem !important;
}

.k-scroll-pb-13 {
    scroll-padding-bottom: 3.25rem;
}

.\!k-scroll-pb-13 {
    scroll-padding-bottom: 3.25rem !important;
}

.k-scroll-pb-14 {
    scroll-padding-bottom: 3.5rem;
}

.\!k-scroll-pb-14 {
    scroll-padding-bottom: 3.5rem !important;
}

.k-scroll-pb-15 {
    scroll-padding-bottom: 3.75rem;
}

.\!k-scroll-pb-15 {
    scroll-padding-bottom: 3.75rem !important;
}

.k-scroll-pb-16 {
    scroll-padding-bottom: 4rem;
}

.\!k-scroll-pb-16 {
    scroll-padding-bottom: 4rem !important;
}

.k-scroll-pb-17 {
    scroll-padding-bottom: 4.25rem;
}

.\!k-scroll-pb-17 {
    scroll-padding-bottom: 4.25rem !important;
}

.k-scroll-pb-18 {
    scroll-padding-bottom: 4.5rem;
}

.\!k-scroll-pb-18 {
    scroll-padding-bottom: 4.5rem !important;
}

.k-scroll-pb-19 {
    scroll-padding-bottom: 4.75rem;
}

.\!k-scroll-pb-19 {
    scroll-padding-bottom: 4.75rem !important;
}

.k-scroll-pb-20 {
    scroll-padding-bottom: 5rem;
}

.\!k-scroll-pb-20 {
    scroll-padding-bottom: 5rem !important;
}

.k-scroll-pb-21 {
    scroll-padding-bottom: 5.25rem;
}

.\!k-scroll-pb-21 {
    scroll-padding-bottom: 5.25rem !important;
}

.k-scroll-pb-22 {
    scroll-padding-bottom: 5.5rem;
}

.\!k-scroll-pb-22 {
    scroll-padding-bottom: 5.5rem !important;
}

.k-scroll-pb-23 {
    scroll-padding-bottom: 5.75rem;
}

.\!k-scroll-pb-23 {
    scroll-padding-bottom: 5.75rem !important;
}

.k-scroll-pb-24 {
    scroll-padding-bottom: 6rem;
}

.\!k-scroll-pb-24 {
    scroll-padding-bottom: 6rem !important;
}

.k-scroll-pl-0 {
    scroll-padding-left: 0;
}

.\!k-scroll-pl-0 {
    scroll-padding-left: 0 !important;
}

.k-scroll-pl-1px {
    scroll-padding-left: 1px;
}

.\!k-scroll-pl-1px {
    scroll-padding-left: 1px !important;
}

.k-scroll-pl-0\.5 {
    scroll-padding-left: 0.125rem;
}

.\!k-scroll-pl-0\.5 {
    scroll-padding-left: 0.125rem !important;
}

.k-scroll-pl-1 {
    scroll-padding-left: 0.25rem;
}

.\!k-scroll-pl-1 {
    scroll-padding-left: 0.25rem !important;
}

.k-scroll-pl-1\.5 {
    scroll-padding-left: 0.375rem;
}

.\!k-scroll-pl-1\.5 {
    scroll-padding-left: 0.375rem !important;
}

.k-scroll-pl-2 {
    scroll-padding-left: 0.5rem;
}

.\!k-scroll-pl-2 {
    scroll-padding-left: 0.5rem !important;
}

.k-scroll-pl-2\.5 {
    scroll-padding-left: 0.625rem;
}

.\!k-scroll-pl-2\.5 {
    scroll-padding-left: 0.625rem !important;
}

.k-scroll-pl-3 {
    scroll-padding-left: 0.75rem;
}

.\!k-scroll-pl-3 {
    scroll-padding-left: 0.75rem !important;
}

.k-scroll-pl-3\.5 {
    scroll-padding-left: 0.875rem;
}

.\!k-scroll-pl-3\.5 {
    scroll-padding-left: 0.875rem !important;
}

.k-scroll-pl-4 {
    scroll-padding-left: 1rem;
}

.\!k-scroll-pl-4 {
    scroll-padding-left: 1rem !important;
}

.k-scroll-pl-4\.5 {
    scroll-padding-left: 1.125rem;
}

.\!k-scroll-pl-4\.5 {
    scroll-padding-left: 1.125rem !important;
}

.k-scroll-pl-5 {
    scroll-padding-left: 1.25rem;
}

.\!k-scroll-pl-5 {
    scroll-padding-left: 1.25rem !important;
}

.k-scroll-pl-5\.5 {
    scroll-padding-left: 1.375rem;
}

.\!k-scroll-pl-5\.5 {
    scroll-padding-left: 1.375rem !important;
}

.k-scroll-pl-6 {
    scroll-padding-left: 1.5rem;
}

.\!k-scroll-pl-6 {
    scroll-padding-left: 1.5rem !important;
}

.k-scroll-pl-6\.5 {
    scroll-padding-left: 1.625rem;
}

.\!k-scroll-pl-6\.5 {
    scroll-padding-left: 1.625rem !important;
}

.k-scroll-pl-7 {
    scroll-padding-left: 1.75rem;
}

.\!k-scroll-pl-7 {
    scroll-padding-left: 1.75rem !important;
}

.k-scroll-pl-7\.5 {
    scroll-padding-left: 1.875rem;
}

.\!k-scroll-pl-7\.5 {
    scroll-padding-left: 1.875rem !important;
}

.k-scroll-pl-8 {
    scroll-padding-left: 2rem;
}

.\!k-scroll-pl-8 {
    scroll-padding-left: 2rem !important;
}

.k-scroll-pl-9 {
    scroll-padding-left: 2.25rem;
}

.\!k-scroll-pl-9 {
    scroll-padding-left: 2.25rem !important;
}

.k-scroll-pl-10 {
    scroll-padding-left: 2.5rem;
}

.\!k-scroll-pl-10 {
    scroll-padding-left: 2.5rem !important;
}

.k-scroll-pl-11 {
    scroll-padding-left: 2.75rem;
}

.\!k-scroll-pl-11 {
    scroll-padding-left: 2.75rem !important;
}

.k-scroll-pl-12 {
    scroll-padding-left: 3rem;
}

.\!k-scroll-pl-12 {
    scroll-padding-left: 3rem !important;
}

.k-scroll-pl-13 {
    scroll-padding-left: 3.25rem;
}

.\!k-scroll-pl-13 {
    scroll-padding-left: 3.25rem !important;
}

.k-scroll-pl-14 {
    scroll-padding-left: 3.5rem;
}

.\!k-scroll-pl-14 {
    scroll-padding-left: 3.5rem !important;
}

.k-scroll-pl-15 {
    scroll-padding-left: 3.75rem;
}

.\!k-scroll-pl-15 {
    scroll-padding-left: 3.75rem !important;
}

.k-scroll-pl-16 {
    scroll-padding-left: 4rem;
}

.\!k-scroll-pl-16 {
    scroll-padding-left: 4rem !important;
}

.k-scroll-pl-17 {
    scroll-padding-left: 4.25rem;
}

.\!k-scroll-pl-17 {
    scroll-padding-left: 4.25rem !important;
}

.k-scroll-pl-18 {
    scroll-padding-left: 4.5rem;
}

.\!k-scroll-pl-18 {
    scroll-padding-left: 4.5rem !important;
}

.k-scroll-pl-19 {
    scroll-padding-left: 4.75rem;
}

.\!k-scroll-pl-19 {
    scroll-padding-left: 4.75rem !important;
}

.k-scroll-pl-20 {
    scroll-padding-left: 5rem;
}

.\!k-scroll-pl-20 {
    scroll-padding-left: 5rem !important;
}

.k-scroll-pl-21 {
    scroll-padding-left: 5.25rem;
}

.\!k-scroll-pl-21 {
    scroll-padding-left: 5.25rem !important;
}

.k-scroll-pl-22 {
    scroll-padding-left: 5.5rem;
}

.\!k-scroll-pl-22 {
    scroll-padding-left: 5.5rem !important;
}

.k-scroll-pl-23 {
    scroll-padding-left: 5.75rem;
}

.\!k-scroll-pl-23 {
    scroll-padding-left: 5.75rem !important;
}

.k-scroll-pl-24 {
    scroll-padding-left: 6rem;
}

.\!k-scroll-pl-24 {
    scroll-padding-left: 6rem !important;
}

.k-scroll-px-0 {
    scroll-padding-inline: 0;
}

.\!k-scroll-px-0 {
    scroll-padding-inline: 0 !important;
}

.k-scroll-px-1px {
    scroll-padding-inline: 1px;
}

.\!k-scroll-px-1px {
    scroll-padding-inline: 1px !important;
}

.k-scroll-px-0\.5 {
    scroll-padding-inline: 0.125rem;
}

.\!k-scroll-px-0\.5 {
    scroll-padding-inline: 0.125rem !important;
}

.k-scroll-px-1 {
    scroll-padding-inline: 0.25rem;
}

.\!k-scroll-px-1 {
    scroll-padding-inline: 0.25rem !important;
}

.k-scroll-px-1\.5 {
    scroll-padding-inline: 0.375rem;
}

.\!k-scroll-px-1\.5 {
    scroll-padding-inline: 0.375rem !important;
}

.k-scroll-px-2 {
    scroll-padding-inline: 0.5rem;
}

.\!k-scroll-px-2 {
    scroll-padding-inline: 0.5rem !important;
}

.k-scroll-px-2\.5 {
    scroll-padding-inline: 0.625rem;
}

.\!k-scroll-px-2\.5 {
    scroll-padding-inline: 0.625rem !important;
}

.k-scroll-px-3 {
    scroll-padding-inline: 0.75rem;
}

.\!k-scroll-px-3 {
    scroll-padding-inline: 0.75rem !important;
}

.k-scroll-px-3\.5 {
    scroll-padding-inline: 0.875rem;
}

.\!k-scroll-px-3\.5 {
    scroll-padding-inline: 0.875rem !important;
}

.k-scroll-px-4 {
    scroll-padding-inline: 1rem;
}

.\!k-scroll-px-4 {
    scroll-padding-inline: 1rem !important;
}

.k-scroll-px-4\.5 {
    scroll-padding-inline: 1.125rem;
}

.\!k-scroll-px-4\.5 {
    scroll-padding-inline: 1.125rem !important;
}

.k-scroll-px-5 {
    scroll-padding-inline: 1.25rem;
}

.\!k-scroll-px-5 {
    scroll-padding-inline: 1.25rem !important;
}

.k-scroll-px-5\.5 {
    scroll-padding-inline: 1.375rem;
}

.\!k-scroll-px-5\.5 {
    scroll-padding-inline: 1.375rem !important;
}

.k-scroll-px-6 {
    scroll-padding-inline: 1.5rem;
}

.\!k-scroll-px-6 {
    scroll-padding-inline: 1.5rem !important;
}

.k-scroll-px-6\.5 {
    scroll-padding-inline: 1.625rem;
}

.\!k-scroll-px-6\.5 {
    scroll-padding-inline: 1.625rem !important;
}

.k-scroll-px-7 {
    scroll-padding-inline: 1.75rem;
}

.\!k-scroll-px-7 {
    scroll-padding-inline: 1.75rem !important;
}

.k-scroll-px-7\.5 {
    scroll-padding-inline: 1.875rem;
}

.\!k-scroll-px-7\.5 {
    scroll-padding-inline: 1.875rem !important;
}

.k-scroll-px-8 {
    scroll-padding-inline: 2rem;
}

.\!k-scroll-px-8 {
    scroll-padding-inline: 2rem !important;
}

.k-scroll-px-9 {
    scroll-padding-inline: 2.25rem;
}

.\!k-scroll-px-9 {
    scroll-padding-inline: 2.25rem !important;
}

.k-scroll-px-10 {
    scroll-padding-inline: 2.5rem;
}

.\!k-scroll-px-10 {
    scroll-padding-inline: 2.5rem !important;
}

.k-scroll-px-11 {
    scroll-padding-inline: 2.75rem;
}

.\!k-scroll-px-11 {
    scroll-padding-inline: 2.75rem !important;
}

.k-scroll-px-12 {
    scroll-padding-inline: 3rem;
}

.\!k-scroll-px-12 {
    scroll-padding-inline: 3rem !important;
}

.k-scroll-px-13 {
    scroll-padding-inline: 3.25rem;
}

.\!k-scroll-px-13 {
    scroll-padding-inline: 3.25rem !important;
}

.k-scroll-px-14 {
    scroll-padding-inline: 3.5rem;
}

.\!k-scroll-px-14 {
    scroll-padding-inline: 3.5rem !important;
}

.k-scroll-px-15 {
    scroll-padding-inline: 3.75rem;
}

.\!k-scroll-px-15 {
    scroll-padding-inline: 3.75rem !important;
}

.k-scroll-px-16 {
    scroll-padding-inline: 4rem;
}

.\!k-scroll-px-16 {
    scroll-padding-inline: 4rem !important;
}

.k-scroll-px-17 {
    scroll-padding-inline: 4.25rem;
}

.\!k-scroll-px-17 {
    scroll-padding-inline: 4.25rem !important;
}

.k-scroll-px-18 {
    scroll-padding-inline: 4.5rem;
}

.\!k-scroll-px-18 {
    scroll-padding-inline: 4.5rem !important;
}

.k-scroll-px-19 {
    scroll-padding-inline: 4.75rem;
}

.\!k-scroll-px-19 {
    scroll-padding-inline: 4.75rem !important;
}

.k-scroll-px-20 {
    scroll-padding-inline: 5rem;
}

.\!k-scroll-px-20 {
    scroll-padding-inline: 5rem !important;
}

.k-scroll-px-21 {
    scroll-padding-inline: 5.25rem;
}

.\!k-scroll-px-21 {
    scroll-padding-inline: 5.25rem !important;
}

.k-scroll-px-22 {
    scroll-padding-inline: 5.5rem;
}

.\!k-scroll-px-22 {
    scroll-padding-inline: 5.5rem !important;
}

.k-scroll-px-23 {
    scroll-padding-inline: 5.75rem;
}

.\!k-scroll-px-23 {
    scroll-padding-inline: 5.75rem !important;
}

.k-scroll-px-24 {
    scroll-padding-inline: 6rem;
}

.\!k-scroll-px-24 {
    scroll-padding-inline: 6rem !important;
}

.k-scroll-py-0 {
    scroll-padding-block: 0;
}

.\!k-scroll-py-0 {
    scroll-padding-block: 0 !important;
}

.k-scroll-py-1px {
    scroll-padding-block: 1px;
}

.\!k-scroll-py-1px {
    scroll-padding-block: 1px !important;
}

.k-scroll-py-0\.5 {
    scroll-padding-block: 0.125rem;
}

.\!k-scroll-py-0\.5 {
    scroll-padding-block: 0.125rem !important;
}

.k-scroll-py-1 {
    scroll-padding-block: 0.25rem;
}

.\!k-scroll-py-1 {
    scroll-padding-block: 0.25rem !important;
}

.k-scroll-py-1\.5 {
    scroll-padding-block: 0.375rem;
}

.\!k-scroll-py-1\.5 {
    scroll-padding-block: 0.375rem !important;
}

.k-scroll-py-2 {
    scroll-padding-block: 0.5rem;
}

.\!k-scroll-py-2 {
    scroll-padding-block: 0.5rem !important;
}

.k-scroll-py-2\.5 {
    scroll-padding-block: 0.625rem;
}

.\!k-scroll-py-2\.5 {
    scroll-padding-block: 0.625rem !important;
}

.k-scroll-py-3 {
    scroll-padding-block: 0.75rem;
}

.\!k-scroll-py-3 {
    scroll-padding-block: 0.75rem !important;
}

.k-scroll-py-3\.5 {
    scroll-padding-block: 0.875rem;
}

.\!k-scroll-py-3\.5 {
    scroll-padding-block: 0.875rem !important;
}

.k-scroll-py-4 {
    scroll-padding-block: 1rem;
}

.\!k-scroll-py-4 {
    scroll-padding-block: 1rem !important;
}

.k-scroll-py-4\.5 {
    scroll-padding-block: 1.125rem;
}

.\!k-scroll-py-4\.5 {
    scroll-padding-block: 1.125rem !important;
}

.k-scroll-py-5 {
    scroll-padding-block: 1.25rem;
}

.\!k-scroll-py-5 {
    scroll-padding-block: 1.25rem !important;
}

.k-scroll-py-5\.5 {
    scroll-padding-block: 1.375rem;
}

.\!k-scroll-py-5\.5 {
    scroll-padding-block: 1.375rem !important;
}

.k-scroll-py-6 {
    scroll-padding-block: 1.5rem;
}

.\!k-scroll-py-6 {
    scroll-padding-block: 1.5rem !important;
}

.k-scroll-py-6\.5 {
    scroll-padding-block: 1.625rem;
}

.\!k-scroll-py-6\.5 {
    scroll-padding-block: 1.625rem !important;
}

.k-scroll-py-7 {
    scroll-padding-block: 1.75rem;
}

.\!k-scroll-py-7 {
    scroll-padding-block: 1.75rem !important;
}

.k-scroll-py-7\.5 {
    scroll-padding-block: 1.875rem;
}

.\!k-scroll-py-7\.5 {
    scroll-padding-block: 1.875rem !important;
}

.k-scroll-py-8 {
    scroll-padding-block: 2rem;
}

.\!k-scroll-py-8 {
    scroll-padding-block: 2rem !important;
}

.k-scroll-py-9 {
    scroll-padding-block: 2.25rem;
}

.\!k-scroll-py-9 {
    scroll-padding-block: 2.25rem !important;
}

.k-scroll-py-10 {
    scroll-padding-block: 2.5rem;
}

.\!k-scroll-py-10 {
    scroll-padding-block: 2.5rem !important;
}

.k-scroll-py-11 {
    scroll-padding-block: 2.75rem;
}

.\!k-scroll-py-11 {
    scroll-padding-block: 2.75rem !important;
}

.k-scroll-py-12 {
    scroll-padding-block: 3rem;
}

.\!k-scroll-py-12 {
    scroll-padding-block: 3rem !important;
}

.k-scroll-py-13 {
    scroll-padding-block: 3.25rem;
}

.\!k-scroll-py-13 {
    scroll-padding-block: 3.25rem !important;
}

.k-scroll-py-14 {
    scroll-padding-block: 3.5rem;
}

.\!k-scroll-py-14 {
    scroll-padding-block: 3.5rem !important;
}

.k-scroll-py-15 {
    scroll-padding-block: 3.75rem;
}

.\!k-scroll-py-15 {
    scroll-padding-block: 3.75rem !important;
}

.k-scroll-py-16 {
    scroll-padding-block: 4rem;
}

.\!k-scroll-py-16 {
    scroll-padding-block: 4rem !important;
}

.k-scroll-py-17 {
    scroll-padding-block: 4.25rem;
}

.\!k-scroll-py-17 {
    scroll-padding-block: 4.25rem !important;
}

.k-scroll-py-18 {
    scroll-padding-block: 4.5rem;
}

.\!k-scroll-py-18 {
    scroll-padding-block: 4.5rem !important;
}

.k-scroll-py-19 {
    scroll-padding-block: 4.75rem;
}

.\!k-scroll-py-19 {
    scroll-padding-block: 4.75rem !important;
}

.k-scroll-py-20 {
    scroll-padding-block: 5rem;
}

.\!k-scroll-py-20 {
    scroll-padding-block: 5rem !important;
}

.k-scroll-py-21 {
    scroll-padding-block: 5.25rem;
}

.\!k-scroll-py-21 {
    scroll-padding-block: 5.25rem !important;
}

.k-scroll-py-22 {
    scroll-padding-block: 5.5rem;
}

.\!k-scroll-py-22 {
    scroll-padding-block: 5.5rem !important;
}

.k-scroll-py-23 {
    scroll-padding-block: 5.75rem;
}

.\!k-scroll-py-23 {
    scroll-padding-block: 5.75rem !important;
}

.k-scroll-py-24 {
    scroll-padding-block: 6rem;
}

.\!k-scroll-py-24 {
    scroll-padding-block: 6rem !important;
}

.k-touch-action-none {
    touch-action: none;
}

.\!k-touch-action-none {
    touch-action: none !important;
}

.k-touch-action-auto {
    touch-action: auto;
}

.\!k-touch-action-auto {
    touch-action: auto !important;
}

.k-touch-action-pan-x {
    touch-action: pan-x;
}

.\!k-touch-action-pan-x {
    touch-action: pan-x !important;
}

.k-touch-action-pan-left {
    touch-action: pan-left;
}

.\!k-touch-action-pan-left {
    touch-action: pan-left !important;
}

.k-touch-action-pan-right {
    touch-action: pan-right;
}

.\!k-touch-action-pan-right {
    touch-action: pan-right !important;
}

.k-touch-action-pan-y {
    touch-action: pan-y;
}

.\!k-touch-action-pan-y {
    touch-action: pan-y !important;
}

.k-touch-action-pan-up {
    touch-action: pan-up;
}

.\!k-touch-action-pan-up {
    touch-action: pan-up !important;
}

.k-touch-action-pan-down {
    touch-action: pan-down;
}

.\!k-touch-action-pan-down {
    touch-action: pan-down !important;
}

.k-touch-action-pinch-zoom {
    touch-action: pinch-zoom;
}

.\!k-touch-action-pinch-zoom {
    touch-action: pinch-zoom !important;
}

.k-touch-action-manipulation {
    touch-action: manipulation;
}

.\!k-touch-action-manipulation {
    touch-action: manipulation !important;
}

.k-user-select-none {
    user-select: none;
}

.\!k-user-select-none {
    user-select: none !important;
}

.k-user-select-auto {
    user-select: auto;
}

.\!k-user-select-auto {
    user-select: auto !important;
}

.k-user-select-text {
    user-select: text;
}

.\!k-user-select-text {
    user-select: text !important;
}

.k-user-select-all {
    user-select: all;
}

.\!k-user-select-all {
    user-select: all !important;
}

.k-user-select-contain {
    user-select: contain;
}

.\!k-user-select-contain {
    user-select: contain !important;
}

.k-will-change-auto {
    will-change: auto;
}

.\!k-will-change-auto {
    will-change: auto !important;
}

.k-will-change-scroll {
    will-change: scroll-position;
}

.\!k-will-change-scroll {
    will-change: scroll-position !important;
}

.k-will-change-contents {
    will-change: contents;
}

.\!k-will-change-contents {
    will-change: contents !important;
}

.k-will-change-transform {
    will-change: transform;
}

.\!k-will-change-transform {
    will-change: transform !important;
}

.k-fill-none {
    fill: none;
}

.\!k-fill-none {
    fill: none !important;
}

.k-fill-inherit {
    fill: inherit;
}

.\!k-fill-inherit {
    fill: inherit !important;
}

.k-fill-current {
    fill: currentColor;
}

.\!k-fill-current {
    fill: currentColor !important;
}

.k-fill-transparent {
    fill: transparent;
}

.\!k-fill-transparent {
    fill: transparent !important;
}

.k-fill-black {
    fill: black;
}

.\!k-fill-black {
    fill: black !important;
}

.k-fill-white {
    fill: white;
}

.\!k-fill-white {
    fill: white !important;
}

.k-stroke-none {
    stroke: none;
}

.\!k-stroke-none {
    stroke: none !important;
}

.k-stroke-inherit {
    stroke: inherit;
}

.\!k-stroke-inherit {
    stroke: inherit !important;
}

.k-stroke-current {
    stroke: currentColor;
}

.\!k-stroke-current {
    stroke: currentColor !important;
}

.k-stroke-transparent {
    stroke: transparent;
}

.\!k-stroke-transparent {
    stroke: transparent !important;
}

.k-stroke-black {
    stroke: black;
}

.\!k-stroke-black {
    stroke: black !important;
}

.k-stroke-white {
    stroke: white;
}

.\!k-stroke-white {
    stroke: white !important;
}

.k-elevation-1 {
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.038);
}

.\!k-elevation-1 {
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.038) !important;
}

.k-elevation-2 {
    box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.075);
}

.\!k-elevation-2 {
    box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.075) !important;
}

.k-elevation-3 {
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.\!k-elevation-3 {
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1) !important;
}

.k-elevation-4 {
    box-shadow: 0px 6px 13px rgba(0, 0, 0, 0.125);
}

.\!k-elevation-4 {
    box-shadow: 0px 6px 13px rgba(0, 0, 0, 0.125) !important;
}

.k-elevation-5 {
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.15);
}

.\!k-elevation-5 {
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.15) !important;
}

.k-elevation-6 {
    box-shadow: 0px 11px 24px 0px rgba(0, 0, 0, 0.159);
}

.\!k-elevation-6 {
    box-shadow: 0px 11px 24px 0px rgba(0, 0, 0, 0.159) !important;
}

.k-elevation-7 {
    box-shadow: 0px 14px 36px 0px rgba(0, 0, 0, 0.168);
}

.\!k-elevation-7 {
    box-shadow: 0px 14px 36px 0px rgba(0, 0, 0, 0.168) !important;
}

.k-elevation-8 {
    box-shadow: 0px 16px 48px 0px rgba(0, 0, 0, 0.176);
}

.\!k-elevation-8 {
    box-shadow: 0px 16px 48px 0px rgba(0, 0, 0, 0.176) !important;
}

.k-elevation-9 {
    box-shadow: 0px 18px 60px 0px rgba(0, 0, 0, 0.185);
}

.\!k-elevation-9 {
    box-shadow: 0px 18px 60px 0px rgba(0, 0, 0, 0.185) !important;
}

.k-body,
.k-typography {
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    font-weight: 500;
    margin: 0;
}
.k-body p,
.k-typography p {
    margin: 0 0 1rem;
}

.k-h1 {
    font-size: 2.5rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.2;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.k-h2 {
    font-size: 2rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.2;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.k-h3 {
    font-size: 1.75rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.2;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.k-h4 {
    font-size: 1.5rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.2;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.k-h5 {
    font-size: 1.25rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.2;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.k-h6 {
    font-size: 1rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.2;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.k-paragraph {
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    font-weight: 500;
    margin: 0 0 1rem;
}

.k-pre,
.k-code {
    font-size: 0.875rem;
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    line-height: 1.5;
    font-weight: 500;
    border-style: solid;
    border-width: 1px;
}

.k-pre {
    padding-block: 16px;
    padding-inline: 24px;
    overflow: auto;
}

.k-pre > .k-code {
    padding: 0;
    border-width: 0;
    border-color: transparent;
    background-color: transparent;
    font-family: inherit;
    font-size: inherit;
}

.k-code {
    padding-block: 0px;
    padding-inline: 4px;
}

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

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

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

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

.k-body {
    color: #212529;
    background-color: #ffffff;
}

.k-pre,
.k-code {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-svg-icon {
    width: 16px;
    height: 16px;
    outline: 0;
    line-height: 1;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    position: relative;
}
.k-svg-icon > svg {
    fill: currentColor;
    flex: 1 1 auto;
}

.k-svg-icon.k-icon-xs {
    width: calc(16px * 0.75);
    height: calc(16px * 0.75);
}
.k-svg-icon.k-icon-sm {
    width: calc(16px * 0.875);
    height: calc(16px * 0.875);
}
.k-svg-icon.k-icon-md {
    width: 16px;
    height: 16px;
}
.k-svg-icon.k-icon-lg {
    width: calc(16px * 1.25);
    height: calc(16px * 1.25);
}
.k-svg-icon.k-icon-xl {
    width: calc(16px * 1.5);
    height: calc(16px * 1.5);
}
.k-svg-icon.k-icon-xxl {
    width: calc(16px * 2);
    height: calc(16px * 2);
}
.k-svg-icon.k-icon-xxxl {
    width: calc(16px * 3);
    height: calc(16px * 3);
}

.k-flip-h.k-svg-icon, .k-svg-icon.k-flip-x,
.k-flip-v.k-svg-icon,
.k-svg-icon.k-flip-y,
.k-flip-h.k-flip-v.k-svg-icon {
    transform: none;
}

.k-flip-h > svg, .k-flip-x > svg {
    transform: scaleX(-1);
}

.k-flip-v > svg, .k-flip-y > svg {
    transform: scaleY(-1);
}

.k-flip-h.k-flip-v > svg, .k-flip-v.k-flip-x > svg, .k-flip-h.k-flip-y > svg, .k-flip-x.k-flip-y > svg,
.k-flip-both > svg {
    transform: scale(-1, -1);
}

.k-rotate-0.k-svg-icon {
    transform: none;
}
.k-rotate-0 > svg {
    transform: rotate(0deg);
}

.k-rotate-45.k-svg-icon {
    transform: none;
}
.k-rotate-45 > svg {
    transform: rotate(45deg);
}

.k-rotate-90.k-svg-icon {
    transform: none;
}
.k-rotate-90 > svg {
    transform: rotate(90deg);
}

.k-rotate-135.k-svg-icon {
    transform: none;
}
.k-rotate-135 > svg {
    transform: rotate(135deg);
}

.k-rotate-180.k-svg-icon {
    transform: none;
}
.k-rotate-180 > svg {
    transform: rotate(180deg);
}

.k-rotate-225.k-svg-icon {
    transform: none;
}
.k-rotate-225 > svg {
    transform: rotate(225deg);
}

.k-rotate-270.k-svg-icon {
    transform: none;
}
.k-rotate-270 > svg {
    transform: rotate(270deg);
}

.k-rotate-315.k-svg-icon {
    transform: none;
}
.k-rotate-315 > svg {
    transform: rotate(315deg);
}

.k-icon-wrap {
    flex: none;
    display: inline-flex;
    flex-flow: row nowrap;
    gap: 0;
    align-items: center;
    align-self: flex-start;
    vertical-align: middle;
    position: relative;
}
.k-icon-wrap::before {
    content: "​";
    width: 0;
    overflow: hidden;
    flex: none;
    display: inline-block;
    vertical-align: top;
}

.k-icon-wrapper-host {
    display: contents;
}

.k-icon-with-modifier {
    position: relative;
    margin: 0.25em;
}

.k-icon.k-icon-modifier {
    width: 1em;
    height: 1em;
    position: absolute;
    font-size: 0.5em;
    bottom: 0;
    right: 0;
    margin: 0 -0.5em -0.5em 0;
}

.k-i-none::before {
    content: "";
    display: none;
}

.k-icon-action {
    display: inline-flex;
    padding: 0.25rem;
    line-height: 1;
    align-items: center;
    vertical-align: middle;
    cursor: pointer;
}

.k-sprite {
    display: inline-block;
    width: 16px;
    height: 16px;
    overflow: hidden;
    background-repeat: no-repeat;
    font-size: 0;
    line-height: 0;
    text-align: center;
}

.k-image {
    display: inline-block;
}

.k-messagebox {
    margin: 0 0 1rem 0;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    border-width: 0 0 0 4px;
    border-style: solid;
    box-sizing: border-box;
    font-size: 1rem;
    line-height: 1.5;
}
.k-messagebox a {
    color: inherit;
    font-style: normal;
    text-decoration: underline;
}

.k-messagebox-primary {
    border-color: #c6f1c6;
    color: #1a6b1a;
    background-color: #d6f5d6;
}

.k-messagebox-secondary {
    border-color: #e4bff7;
    color: #530e76;
    background-color: #ecd1f9;
}

.k-messagebox-tertiary {
    border-color: #e4bff7;
    color: #530e76;
    background-color: #ecd1f9;
}

.k-messagebox-info {
    border-color: #bbf0fb;
    color: #07697d;
    background-color: #cff4fc;
}

.k-messagebox-success {
    border-color: #bfddcf;
    color: #0d462c;
    background-color: #d1e7dd;
}

.k-messagebox-warning {
    border-color: #ffeeba;
    color: #856404;
    background-color: #fff3cd;
}

.k-messagebox-error {
    border-color: #f5c6cb;
    color: #721c24;
    background-color: #f8d7da;
}

.k-messagebox-dark {
    border-color: #c1c2c3;
    color: #111315;
    background-color: #d3d3d4;
}

.k-messagebox-light {
    border-color: #fdfdfe;
    color: #818182;
    background-color: #fefefe;
}

.k-messagebox-inverse {
    border-color: #c1c2c3;
    color: #111315;
    background-color: #d3d3d4;
}

.k-drag-clue {
    border-radius: 0.375rem;
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    align-content: center;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    z-index: 20000;
    cursor: move;
}

.k-drag-status,
.k-drag-clue .k-drag-status {
    margin: 0;
    margin-right: 0.4ex;
}

.k-drop-hint {
    display: flex;
    gap: 4px;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    z-index: 1000;
    transform: translate(-50%, -50%);
}

.k-drop-hint-start,
.k-drop-hint-end {
    flex-shrink: 0;
    border-width: 4px;
    border-style: solid;
    border-color: transparent;
}

.k-drop-hint-line {
    flex-grow: 1;
    background-color: limegreen;
}

.k-drop-hint-h .k-drop-hint-start {
    border-left-width: 6.9282032304px;
    border-left-color: limegreen;
    border-right-width: 0;
}
.k-drop-hint-h .k-drop-hint-line {
    width: 20px;
    height: 1px;
}
.k-drop-hint-h .k-drop-hint-end {
    border-right-width: 6.9282032304px;
    border-right-color: limegreen;
    border-left-width: 0;
}

.k-drop-hint-v {
    flex-direction: column;
}
.k-drop-hint-v .k-drop-hint-start {
    border-top-width: 6.9282032304px;
    border-top-color: limegreen;
    border-bottom-width: 0;
}
.k-drop-hint-v .k-drop-hint-line {
    width: 1px;
    height: 20px;
}
.k-drop-hint-v .k-drop-hint-end {
    border-bottom-width: 6.9282032304px;
    border-bottom-color: limegreen;
    border-top-width: 0;
}

.k-reorder-cue {
    position: absolute;
}
.k-reorder-cue::before, .k-reorder-cue::after {
    content: "";
    width: 0;
    height: 0;
    border: 3px solid transparent;
    position: absolute;
    transform: translateX(-50%);
}
.k-reorder-cue::before {
    border-bottom-width: 0;
    border-top-color: currentColor;
    top: -4px;
}
.k-reorder-cue::after {
    border-top-width: 0;
    border-bottom-color: currentColor;
    bottom: -4px;
}

.k-drag-clue {
    border-color: #2ebd2e;
    color: black;
    background-color: limegreen;
}

.k-checkbox {
    margin: 0;
    padding: 0;
    line-height: initial;
    border-width: 1px;
    border-style: solid;
    outline: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    flex: none;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
    -webkit-appearance: none;
}

.k-checkbox:checked,
.k-checkbox.k-checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.k-checkbox:indeterminate,
.k-checkbox.k-indeterminate {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

.k-checkbox:disabled,
.k-checkbox.k-disabled {
    outline: none;
    cursor: default;
    opacity: 0.65;
    filter: grayscale(0.1);
    pointer-events: none;
    box-shadow: none;
}

.k-checkbox-wrap {
    flex: none;
    display: inline-flex;
    flex-flow: row nowrap;
    gap: 0;
    align-items: center;
    align-self: flex-start;
    vertical-align: middle;
    position: relative;
}
.k-checkbox-wrap::before {
    content: "​";
    width: 0px;
    overflow: hidden;
    flex: none;
    display: inline-block;
    vertical-align: top;
}

.k-checkbox-label {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: flex-start;
    gap: 0.25rem;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
}
.k-checkbox-label .k-ripple {
    visibility: hidden !important;
}

.k-checkbox + .k-label,
.k-checkbox-wrap + .k-label,
.k-checkbox + .k-checkbox-label,
.k-checkbox-wrap + .k-checkbox-label {
    display: inline;
    margin-inline-start: 0.25rem;
}

.k-checkbox-label:empty {
    display: none !important;
}

.k-checkbox-label.k-no-text {
    min-width: 1px;
}

.k-checkbox-list {
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: column nowrap;
    gap: 0;
    list-style: none;
}

.k-checkbox-item,
.k-checkbox-list-item {
    padding-block: 0.25rem;
    padding-inline: 0px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-content: center;
    gap: 0.25rem;
}
.k-checkbox-item .k-checkbox-label,
.k-checkbox-list-item .k-checkbox-label {
    margin: 0;
}

.k-checkbox-list-horizontal,
.k-checkbox-list.k-list-horizontal {
    display: flex;
    flex-flow: row wrap;
    gap: 1rem;
}

.k-ripple-container .k-checkbox::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 100%;
    z-index: -1;
    transition: opacity 100ms linear, transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
    transform: translate(-50%, -50%) scale(0);
    transform-origin: center center;
}
.k-ripple-container .k-checkbox:focus,
.k-ripple-container .k-checkbox.k-focus {
    box-shadow: none !important;
}
.k-ripple-container .k-checkbox:disabled::after,
.k-ripple-container .k-checkbox.k-disabled::after {
    display: none;
}

.k-checkbox-sm {
    width: 0.75rem;
    height: 0.75rem;
}
.k-checkbox-sm::before {
    font-size: 0.625rem;
}

.k-ripple-container .k-checkbox-sm::after {
    width: 300%;
    height: 300%;
}

.k-checkbox-md {
    width: 1rem;
    height: 1rem;
}
.k-checkbox-md::before {
    font-size: 0.875rem;
}

.k-ripple-container .k-checkbox-md::after {
    width: 300%;
    height: 300%;
}

.k-checkbox-lg {
    width: 1.25rem;
    height: 1.25rem;
}
.k-checkbox-lg::before {
    font-size: 1.125rem;
}

.k-ripple-container .k-checkbox-lg::after {
    width: 300%;
    height: 300%;
}

.k-checkbox.k-rounded-sm {
    border-radius: 0.125rem;
}

.k-checkbox.k-rounded-md {
    border-radius: 0.25rem;
}

.k-checkbox.k-rounded-lg {
    border-radius: 0.375rem;
}

.k-checkbox {
    border-color: #ced4da;
    background-color: #ffffff;
}

.k-checkbox:focus,
.k-checkbox.k-focus {
    border-color: #99e699;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}

.k-checkbox:indeterminate,
.k-checkbox.k-indeterminate {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
}

.k-checkbox:checked,
.k-checkbox.k-checked {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
}

.k-checkbox:checked:focus,
.k-checkbox.k-checked.k-focus {
    border-color: limegreen;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}

.k-checkbox.k-invalid {
    border-color: #dc3545;
}

.k-checkbox.k-invalid + .k-checkbox-label {
    color: #dc3545;
}

.k-checkbox-wrap .k-ripple-blob {
    color: limegreen;
    opacity: 0.25;
}

.k-ripple-container .k-checkbox::after {
    background: limegreen;
    opacity: 0.25;
}

.k-list-container {
    display: flex;
    flex-flow: column nowrap;
}
.k-list-container > .k-list {
    flex: 1;
    height: 100%;
}

.k-list {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    display: flex;
    flex-flow: column nowrap;
    outline: none;
    position: relative;
    overflow: hidden;
}
.k-list *,
.k-list *::before,
.k-list *::after {
    box-sizing: border-box;
}

.k-popup > .k-list {
    height: 100%;
    border-width: 0;
}

.k-list-group-sticky-header {
    border-width: 0;
    border-width: 0 0 1px;
    border-style: solid;
    font-weight: 700;
    white-space: nowrap;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    flex: none;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
}

.k-list-content {
    border-color: inherit;
    flex: 1 1 auto;
    overflow: hidden;
    overflow-y: auto;
    position: relative;
}

.k-list-ul {
    margin: 0;
    padding: 0;
    border-width: 0;
    border-color: inherit;
    height: auto;
    list-style: none;
}

.k-list-item, .k-list-optionlabel {
    border: 0;
    outline: none;
    cursor: pointer;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-content: center;
    gap: 0.5rem;
    position: relative;
    transition-property: color, background-color, outline-color, box-shadow;
    transition-duration: 200ms;
    transition-timing-function: ease;
}
.k-list-item.k-first::before, .k-first.k-list-optionlabel::before {
    content: "";
    border-width: 1px 0 0;
    border-style: solid;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.k-list-item-text::before,
.k-list-header-text::before,
.k-list-optionlabel::before {
    content: "​";
    width: 0px;
    overflow: hidden;
}

.k-list-optionlabel {
    column-gap: 0;
}

.k-list-group-item {
    border-width: 0;
    border-width: 1px 0 0;
    border-style: solid;
    font-weight: 700;
    cursor: default;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-content: center;
    gap: 0.5rem;
    position: relative;
}

.k-list-item-group-label {
    padding-block: 0;
    padding-inline: 0.5em;
    font-size: 0.75em;
    position: absolute;
    top: 0;
    inset-inline-end: 0;
}

.k-virtual-content,
.k-virtual-list .k-list-content {
    overflow-y: scroll;
}

.k-virtual-list .k-list-item, .k-virtual-list .k-list-optionlabel,
.k-virtual-list .k-list-group-item,
.k-virtual-content .k-list-item,
.k-virtual-content .k-list-optionlabel,
.k-virtual-content .k-list-group-item {
    position: absolute;
    width: 100%;
}

.k-virtual-list .k-list-item-text,
.k-virtual-list .k-list-header-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.k-virtual-list .k-list-optionlabel {
    position: relative;
}

.k-list-filter {
    display: block;
    position: relative;
    padding: 1rem;
    box-sizing: border-box;
    flex: none;
}

.k-list-sm {
    font-size: 0.875rem;
    line-height: 1.4285714286;
}
.k-list-sm .k-list-group-sticky-header {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}
.k-list-sm .k-list-item, .k-list-sm .k-list-optionlabel {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}
.k-list-sm .k-list-group-item {
    padding-block: 0.125rem;
    padding-inline: 1rem;
}

.k-list-md {
    font-size: 1rem;
    line-height: 1.5;
}
.k-list-md .k-list-group-sticky-header {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}
.k-list-md .k-list-item, .k-list-md .k-list-optionlabel {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}
.k-list-md .k-list-group-item {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}

.k-list-lg {
    font-size: 1rem;
    line-height: 1.5;
}
.k-list-lg .k-list-group-sticky-header {
    padding-block: 0.5rem;
    padding-inline: 1rem;
}
.k-list-lg .k-list-item, .k-list-lg .k-list-optionlabel {
    padding-block: 0.5rem;
    padding-inline: 1rem;
}
.k-list-lg .k-list-group-item {
    padding-block: 0.375rem;
    padding-inline: 1rem;
}

.k-no-data, .k-nodata {
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: lighter;
    text-align: center;
    white-space: normal;
}

.k-list {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-list-group-sticky-header {
    border-color: inherit;
}

.k-list-item:hover, .k-list-optionlabel:hover, .k-list-item.k-hover, .k-hover.k-list-optionlabel {
    color: #212529;
    background-color: #e9ecef;
}
.k-list-item:focus, .k-list-optionlabel:focus, .k-list-item.k-focus, .k-focus.k-list-optionlabel {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}
.k-list-item.k-selected, .k-selected.k-list-optionlabel {
    color: black;
    background-color: limegreen;
}
.k-list-item.k-selected:hover, .k-selected.k-list-optionlabel:hover, .k-list-item.k-selected.k-hover, .k-selected.k-hover.k-list-optionlabel {
    color: black;
    background-color: #2ebd2e;
}

.k-list-optionlabel,
.k-list-optionlabel.k-hover,
.k-list-optionlabel:hover {
    color: #6c757d;
}

.k-list-group-item {
    border-color: inherit;
}

.k-list-item-group-label {
    color: #ffffff;
    background-color: #212529;
}

.k-no-data, .k-nodata {
    color: #6c757d;
}

.k-listgroup {
    border-radius: 0.25rem;
    margin: 0;
    padding: 0;
    border-width: 1px;
    border-style: solid;
    font-size: 1rem;
    line-height: 1.5;
    list-style: none;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}
.k-listgroup > ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}
.k-listgroup .k-listgroup-item + .k-listgroup-item {
    border-top-width: 1px;
}

.k-listgroup-flush {
    border-radius: 0;
    border-left-width: 0;
    border-right-width: 0;
}

.k-listgroup-item {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    border-width: 0;
    border-style: solid;
    border-color: inherit;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
    position: relative;
}
.k-listgroup-item > .k-link {
    margin-block: -0.5rem;
    margin-inline: -1rem;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    color: inherit;
    text-decoration: none;
    outline: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 auto;
    position: relative;
}
.k-listgroup-item > .k-link > .k-select {
    padding: 0.5rem;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    position: absolute;
    top: 50%;
    inset-inline-end: 0;
    transform: translateY(-50%);
}

.k-listgroup-item-segmented {
    align-items: stretch;
}
.k-listgroup-item-segmented > .k-link {
    margin-right: 0;
}
.k-listgroup-item-segmented > .k-select {
    margin: -0.5rem -1rem -0.5rem 0;
    padding: 0.5rem;
    border-width: 0 0 0 1px;
    border-style: solid;
    border-color: inherit;
    cursor: pointer;
}

.k-listgroup-form-row {
    margin-block: -0.5rem;
    margin-inline: -1rem;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex: 1 1 auto;
    position: relative;
}
.k-listgroup-form-row .k-listgroup-form-field-label {
    width: 40%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.k-listgroup-form-row .k-listgroup-form-field-wrapper {
    width: 50%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    text-align: end;
    position: relative;
}
.k-listgroup-form-row .k-listgroup-form-field-wrapper select,
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=text],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=password],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=date],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=time],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=datetime-local],
.k-listgroup-form-row .k-listgroup-form-field-wrapper input[type=number],
.k-listgroup-form-row .k-listgroup-form-field-wrapper textarea {
    width: 100%;
    box-sizing: border-box;
    flex: 1 1 100%;
}
.k-listgroup-form-row .k-listgroup-form-field-wrapper textarea {
    min-height: 4em;
    resize: vertical;
}

.k-listgroup-item.k-listgroup-form-row {
    margin: 0;
}

[dir=rtl] .k-listgroup-item > .k-link > .k-select {
    right: auto;
    left: 0;
}
[dir=rtl] .k-listgroup-item-segmented > .k-link {
    margin-right: -1rem;
    margin-left: 0;
}
[dir=rtl] .k-listgroup-item-segmented > .k-select {
    margin-right: 0;
    margin-left: -1rem;
    border-right-width: 1px;
    border-left-width: 0;
}

.k-noflexbox .k-listgroup,
.k-noflexbox .k-listgroup > ul .k-listgroup-item,
.k-noflexbox .k-listgroup-item > .k-link {
    display: block;
}

.k-listgroup {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-overlay {
    width: 100%;
    height: 100%;
    opacity: 0.5;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001;
}

.k-overlay {
    background-color: #000000;
}

.k-overlay-primary {
    background-color: limegreen;
}

.k-overlay-secondary {
    background-color: #9f1ae2;
}

.k-overlay-tertiary {
    background-color: #9f1ae2;
}

.k-overlay-info {
    background-color: #0dcaf0;
}

.k-overlay-success {
    background-color: #198754;
}

.k-overlay-warning {
    background-color: #ffc107;
}

.k-overlay-error {
    background-color: #dc3545;
}

.k-overlay-dark {
    background-color: #212529;
}

.k-overlay-light {
    background-color: #f8f9fa;
}

.k-overlay-inverse {
    background-color: #212529;
}

.k-popup {
    border-radius: 0.375rem;
    margin: 0;
    padding: 0;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.k-popup .k-item {
    outline: none;
}

.k-animation-container {
    border-radius: 0 0 0.375rem 0.375rem;
}

.k-animation-container-shown {
    overflow: visible;
}

.k-popup > .k-colorpalette {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}

.k-popup.k-popup-transparent {
    border-width: 0;
    background-color: transparent;
    box-shadow: none;
}

.k-popup.k-popup-flush {
    padding: 0;
}

.k-popup > .k-widget,
.k-popup > .k-coloreditor {
    border-width: 0;
}

.k-shadow {
    box-shadow: var(--kendo-elevation-4, 0px 6px 13px rgba(0, 0, 0, 0.125));
}

.k-popup.k-column-menu {
    padding-top: 0;
    padding-bottom: 0;
}

.k-popup {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
    box-shadow: var(--kendo-elevation-4, 0px 6px 13px rgba(0, 0, 0, 0.125));
}

.k-animation-container {
    border-radius: 0 0 0.375rem 0.375rem;
}

.k-ripple-target {
    position: relative;
}

.k-ripple {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.k-ripple-blob {
    pointer-events: none;
    position: absolute;
    border-radius: 50%;
    padding: 0;
    transform: translate(-50%, -50%) scale(0);
    transition: opacity 100ms linear, transform 500ms cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0.1;
    background-color: currentColor;
}
.k-primary .k-ripple-blob {
    opacity: 0.2;
}

.k-ripple-focus::after {
    visibility: visible;
    animation: ripple 600ms ease-out;
}

@keyframes ripple {
    0% {
        transform: translate(-50%, -50%) scale(0);
    }
    20% {
        transform: translate(-50%, -50%) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1);
    }
}
.k-table {
    width: 100%;
    max-width: none;
    border-width: 1px;
    border-style: solid;
    text-align: start;
    border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
    outline: none;
}

.k-data-table {
    border-width: 1px;
    border-style: solid;
}
.k-data-table .k-table {
    table-layout: fixed;
}

.k-table-thead,
.k-table-tbody,
.k-table-tfoot,
.k-table-row,
.k-table-alt-row {
    border-color: inherit;
    text-align: inherit;
}

.k-table-th,
.k-table-td {
    border-width: 0 0 0px 1px;
    border-style: solid;
    border-color: inherit;
    box-sizing: border-box;
    font-weight: normal;
    text-align: inherit;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: table-cell;
    overflow: hidden;
    position: relative;
}
.k-table-th:first-child,
.k-table-td:first-child {
    border-left-width: 0;
}

.k-table-th {
    border-bottom-width: 1px;
}

.k-table-header {
    padding-inline-end: var(--kendo-scrollbar-width);
    border-width: 0 0 1px;
    border-style: solid;
    box-sizing: border-box;
}
.k-table-header .k-table {
    border-width: 0;
}

.k-table-header-wrap {
    margin-right: -1px;
    width: 100%;
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: inherit;
    overflow: hidden;
}

.k-table-header > .k-table,
.k-table-header-wrap > .k-table {
    margin-bottom: -1px;
}

.k-table-group-sticky-header {
    flex: none;
}
.k-table-group-sticky-header .k-table-th {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-content: center;
}

.k-table-list {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: none;
    border-width: 0;
    display: table;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    empty-cells: show;
    list-style: none;
    outline: none;
}
.k-table-list .k-table-row {
    position: relative;
}
.k-table-list .k-table-row,
.k-table-list .k-table-group-row {
    width: 100%;
    box-sizing: border-box;
    display: table-row;
}
.k-table-list .k-table-row.k-first {
    border-top: 1px solid currentColor;
}
.k-table-list .k-table-th,
.k-table-list .k-table-td {
    vertical-align: middle;
}
.k-table-list .k-table-group-row {
    position: sticky;
}
.k-table-list .k-table-group-row::before {
    content: "​";
    padding-inline: 0;
    width: 0;
    display: block;
    overflow: hidden;
}
.k-table-list .k-table-group-row .k-table-th {
    width: 100%;
    border-color: inherit;
    color: inherit;
    background-color: inherit;
    position: absolute;
    top: 0;
}
.k-table-list .k-table-spacer-td {
    padding: 0 !important;
    width: 0 !important;
    border-left-width: 0 !important;
    border-right-width: 0 !important;
}
.k-table-list .k-table-group-td {
    padding: 0 !important;
    width: 0 !important;
    border-left-width: 0 !important;
    border-right-width: 0 !important;
    overflow: visible;
}
.k-table-list .k-table-group-td > span {
    font-size: 0.75em;
    position: absolute;
    top: 0;
    right: 0;
}

.k-virtual-table .k-table-row,
.k-virtual-table .k-table-group-row {
    position: absolute;
    width: 100%;
}

.k-table-scroller {
    position: relative;
    overflow: auto;
}
.k-table-scroller > .k-table {
    border-width: 0;
}

.k-table-footer {
    padding-inline-end: var(--kendo-scrollbar-width);
    border-width: 1px 0 0;
    border-style: solid;
    box-sizing: border-box;
}
.k-table-footer .k-table {
    border-width: 0;
}

.k-table-footer-wrap {
    margin-right: -1px;
    width: 100%;
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: inherit;
    overflow: hidden;
}

.k-table-sm {
    font-size: 1rem;
    line-height: 1.5;
}

.k-table-sm .k-table-th,
.k-table-sm .k-table-td {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
}

.k-table-sm .k-table-list .k-table-group-td > span {
    padding-block: 0;
    padding-inline: 0.25rem;
}

.k-table-sm .k-table-list .k-table-group-row::before {
    padding-block: 0.25rem;
    padding-inline: 0;
}

.k-table-md {
    font-size: 1rem;
    line-height: 1.5;
}

.k-table-md .k-table-th,
.k-table-md .k-table-td {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}

.k-table-md .k-table-list .k-table-group-td > span {
    padding-block: 0;
    padding-inline: 0.25rem;
}

.k-table-md .k-table-list .k-table-group-row::before {
    padding-block: 0.5rem;
    padding-inline: 0;
}

.k-table-lg {
    font-size: 1rem;
    line-height: 1.5;
}

.k-table-lg .k-table-th,
.k-table-lg .k-table-td {
    padding-block: 0.625rem;
    padding-inline: 0.5rem;
}

.k-table-lg .k-table-list .k-table-group-td > span {
    padding-block: 0;
    padding-inline: 0.25rem;
}

.k-table-lg .k-table-list .k-table-group-row::before {
    padding-block: 0.625rem;
    padding-inline: 0;
}

.k-rtl.k-table .k-table-th,
.k-rtl.k-table .k-table-td,
.k-rtl .k-table .k-table-th,
.k-rtl .k-table .k-table-td,
[dir=rtl].k-table .k-table-th,
[dir=rtl].k-table .k-table-td,
[dir=rtl] .k-table .k-table-th,
[dir=rtl] .k-table .k-table-td {
    border-left-width: 0;
    border-right-width: 1px;
}
.k-rtl.k-table .k-table-th:first-child,
.k-rtl.k-table .k-table-td:first-child,
.k-rtl .k-table .k-table-th:first-child,
.k-rtl .k-table .k-table-td:first-child,
[dir=rtl].k-table .k-table-th:first-child,
[dir=rtl].k-table .k-table-td:first-child,
[dir=rtl] .k-table .k-table-th:first-child,
[dir=rtl] .k-table .k-table-td:first-child {
    border-right-width: 0;
}
.k-rtl.k-table .k-table-header-wrap,
.k-rtl.k-table .k-table-footer-wrap,
.k-rtl .k-table .k-table-header-wrap,
.k-rtl .k-table .k-table-footer-wrap,
[dir=rtl].k-table .k-table-header-wrap,
[dir=rtl].k-table .k-table-footer-wrap,
[dir=rtl] .k-table .k-table-header-wrap,
[dir=rtl] .k-table .k-table-footer-wrap {
    margin-right: 0;
    margin-left: -1px;
    border-left-width: 1px;
    border-right-width: 0;
}
.k-rtl .k-table-list .k-table-group-td > span,
[dir=rtl] .k-table-list .k-table-group-td > span {
    left: 0;
    right: auto;
}

.k-table,
.k-data-table {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-table-thead,
.k-table-header,
.k-table-group-sticky-header {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-table-tfoot,
.k-table-footer {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-table-group-row {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-table-group-td > span {
    color: #ffffff;
    background-color: #212529;
}

.k-table-alt-row {
    background-color: rgba(0, 0, 0, 0.04);
}

.k-table-tbody .k-table-row:hover,
.k-table-list .k-table-row:hover,
.k-table-tbody .k-table-row.k-hover,
.k-table-list .k-table-row.k-hover {
    background-color: rgba(0, 0, 0, 0.08);
}

.k-table-tbody .k-table-row.k-focus, .k-table-tbody .k-table-row:focus,
.k-table-list .k-table-row.k-focus,
.k-table-list .k-table-row:focus,
.k-table-tbody .k-table-td.k-focus,
.k-table-tbody .k-table-td:focus,
.k-table-list .k-table-td.k-focus,
.k-table-list .k-table-td:focus {
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.08);
}

.k-table-tbody .k-table-row.k-selected > .k-table-td,
.k-table-list .k-table-row.k-selected {
    color: #212529;
    background-color: rgba(50, 205, 50, 0.25);
}

.k-virtual-scroller {
    width: 100%;
    height: 100%;
    flex: 1 1 auto;
    overflow: auto;
    position: relative;
}

.k-virtual-scroller-wrap {
    position: relative;
    z-index: 1;
}

.k-virtual-scroller-content {
    position: absolute;
    width: 100%;
    top: 0;
    inset-inline-start: 0;
}

.k-virtual-scroller-size {
    position: relative;
    z-index: 0;
}

.k-avatar {
    border-width: 0;
    border-style: solid;
    box-sizing: border-box;
    vertical-align: middle;
    display: inline-flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    overflow: hidden;
}
.k-avatar *,
.k-avatar *::before,
.k-avatar *::after {
    box-sizing: border-box;
}

.k-avatar-text,
.k-avatar-initials {
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
}

.k-avatar-icon {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.k-avatar-image {
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.k-avatar-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: top;
}

.k-avatar-sm {
    width: 1rem;
    height: 1rem;
    flex-basis: 1rem;
}

.k-avatar-md {
    width: 2rem;
    height: 2rem;
    flex-basis: 2rem;
}

.k-avatar-lg {
    width: 4rem;
    height: 4rem;
    flex-basis: 4rem;
}

.k-avatar-bordered {
    border-width: 1px;
}

.k-avatar-solid-primary {
    border-color: limegreen;
    color: white;
    background-color: limegreen;
}

.k-avatar-solid-secondary {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}

.k-avatar-solid-tertiary {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}

.k-avatar-solid-info {
    border-color: #0dcaf0;
    color: white;
    background-color: #0dcaf0;
}

.k-avatar-solid-success {
    border-color: #198754;
    color: white;
    background-color: #198754;
}

.k-avatar-solid-warning {
    border-color: #ffc107;
    color: black;
    background-color: #ffc107;
}

.k-avatar-solid-error {
    border-color: #dc3545;
    color: white;
    background-color: #dc3545;
}

.k-avatar-solid-dark {
    border-color: #212529;
    color: white;
    background-color: #212529;
}

.k-avatar-solid-light {
    border-color: #f8f9fa;
    color: black;
    background-color: #f8f9fa;
}

.k-avatar-solid-inverse {
    border-color: #212529;
    color: white;
    background-color: #212529;
}

.k-avatar-outline {
    border-color: currentColor;
}

.k-avatar-outline-primary {
    color: limegreen;
}

.k-avatar-outline-secondary {
    color: #9f1ae2;
}

.k-avatar-outline-tertiary {
    color: #9f1ae2;
}

.k-avatar-outline-info {
    color: #0dcaf0;
}

.k-avatar-outline-success {
    color: #198754;
}

.k-avatar-outline-warning {
    color: #ffc107;
}

.k-avatar-outline-error {
    color: #dc3545;
}

.k-avatar-outline-dark {
    color: #212529;
}

.k-avatar-outline-light {
    color: #f8f9fa;
}

.k-avatar-outline-inverse {
    color: #212529;
}

.k-badge {
    padding: 0;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    box-sizing: border-box;
    color: inherit;
    background-color: transparent;
    font: inherit;
    text-align: center;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
}
.k-badge *,
.k-badge *::before,
.k-badge *::after {
    box-sizing: border-box;
}

.k-badge > * {
    color: inherit;
}

a.k-badge,
.k-badge > a {
    text-decoration: none;
}

a.k-badge:hover,
.k-badge > a:hover {
    text-decoration: underline;
}

.k-badge-icon {
    max-width: 1em;
    max-height: 1em;
    font-size: inherit;
}

.k-badge-icon.k-svg-icon svg {
    fill: currentColor;
}

.k-badge-sm {
    padding-block: 0.175em;
    padding-inline: 0.325em;
    font-size: 0.75em;
    line-height: 1;
    min-width: calc(1em + 0.35em + 2px);
}
.k-badge-sm:empty {
    padding: 0.175em;
    min-width: auto;
}

.k-badge-md {
    padding-block: 0.35em;
    padding-inline: 0.65em;
    font-size: 0.75em;
    line-height: 1;
    min-width: calc(1em + 0.7em + 2px);
}
.k-badge-md:empty {
    padding: 0.35em;
    min-width: auto;
}

.k-badge-lg {
    padding-block: 0.525em;
    padding-inline: 0.975em;
    font-size: 0.75em;
    line-height: 1;
    min-width: calc(1em + 1.05em + 2px);
}
.k-badge-lg:empty {
    padding: 0.525em;
    min-width: auto;
}

kendo-badge-container {
    display: inline-block;
}

.k-badge-container {
    position: relative;
    overflow: visible;
}

.k-badge-inside {
    position: absolute;
    z-index: 9999;
}
.k-badge-edge {
    position: absolute;
    z-index: 9999;
}
.k-badge-edge.k-top-start {
    transform: translate(-50%, -50%);
}
.k-badge-edge.k-top-end {
    transform: translate(50%, -50%);
}
.k-badge-edge.k-bottom-start {
    transform: translate(-50%, 50%);
}
.k-badge-edge.k-bottom-end {
    transform: translate(50%, 50%);
}

.k-rtl .k-badge-edge.k-top-start,
[dir=rtl].k-badge-edge.k-top-start,
[dir=rtl] .k-badge-edge.k-top-start {
    transform: translate(50%, -50%);
}
.k-rtl .k-badge-edge.k-top-end,
[dir=rtl].k-badge-edge.k-top-end,
[dir=rtl] .k-badge-edge.k-top-end {
    transform: translate(-50%, -50%);
}
.k-rtl .k-badge-edge.k-bottom-start,
[dir=rtl].k-badge-edge.k-bottom-start,
[dir=rtl] .k-badge-edge.k-bottom-start {
    transform: translate(50%, 50%);
}
.k-rtl .k-badge-edge.k-bottom-end,
[dir=rtl].k-badge-edge.k-bottom-end,
[dir=rtl] .k-badge-edge.k-bottom-end {
    transform: translate(-50%, 50%);
}

.k-badge-outside {
    position: absolute;
    z-index: 9999;
}
.k-badge-outside.k-top-start {
    transform: translate(-100%, -100%);
}
.k-badge-outside.k-top-end {
    transform: translate(100%, -100%);
}
.k-badge-outside.k-bottom-start {
    transform: translate(-100%, 100%);
}
.k-badge-outside.k-bottom-end {
    transform: translate(100%, 100%);
}

.k-rtl .k-badge-outside.k-top-start,
[dir=rtl].k-badge-outside.k-top-start,
[dir=rtl] .k-badge-outside.k-top-start {
    transform: translate(100%, -100%);
}
.k-rtl .k-badge-outside.k-top-end,
[dir=rtl].k-badge-outside.k-top-end,
[dir=rtl] .k-badge-outside.k-top-end {
    transform: translate(-100%, -100%);
}
.k-rtl .k-badge-outside.k-bottom-start,
[dir=rtl].k-badge-outside.k-bottom-start,
[dir=rtl] .k-badge-outside.k-bottom-start {
    transform: translate(100%, 100%);
}
.k-rtl .k-badge-outside.k-bottom-end,
[dir=rtl].k-badge-outside.k-bottom-end,
[dir=rtl] .k-badge-outside.k-bottom-end {
    transform: translate(-100%, 100%);
}

.k-badge-border-cutout {
    box-shadow: 0 0 0 2px #ffffff;
}

.k-badge-solid-primary {
    border-color: limegreen;
    color: white;
    background-color: limegreen;
}

.k-badge-solid-secondary {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}

.k-badge-solid-tertiary {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}

.k-badge-solid-info {
    border-color: #0dcaf0;
    color: white;
    background-color: #0dcaf0;
}

.k-badge-solid-success {
    border-color: #198754;
    color: white;
    background-color: #198754;
}

.k-badge-solid-warning {
    border-color: #ffc107;
    color: black;
    background-color: #ffc107;
}

.k-badge-solid-error {
    border-color: #dc3545;
    color: white;
    background-color: #dc3545;
}

.k-badge-solid-dark {
    border-color: #212529;
    color: white;
    background-color: #212529;
}

.k-badge-solid-light {
    border-color: #f8f9fa;
    color: black;
    background-color: #f8f9fa;
}

.k-badge-solid-inverse {
    border-color: #212529;
    color: white;
    background-color: #212529;
}

.k-badge-outline {
    border-color: currentColor;
    background-color: #ffffff;
}

.k-badge-outline-primary {
    color: limegreen;
}

.k-badge-outline-secondary {
    color: #9f1ae2;
}

.k-badge-outline-tertiary {
    color: #9f1ae2;
}

.k-badge-outline-info {
    color: #0dcaf0;
}

.k-badge-outline-success {
    color: #198754;
}

.k-badge-outline-warning {
    color: #ffc107;
}

.k-badge-outline-error {
    color: #dc3545;
}

.k-badge-outline-dark {
    color: #212529;
}

.k-badge-outline-light {
    color: #f8f9fa;
}

.k-badge-outline-inverse {
    color: #212529;
}

.k-chip {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    border-width: 1px;
    border-style: solid;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.25;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    user-select: none;
}
.k-chip *,
.k-chip *::before,
.k-chip *::after {
    box-sizing: border-box;
}
.k-chip .k-selected-icon-wrapper {
    display: none !important;
}

.k-chip-content {
    padding-block: 0.5em;
    padding-inline: 0;
    margin-block: -0.5em;
    margin-inline: 0;
    min-width: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    overflow: hidden;
    flex: 1 1 auto;
}
.k-chip-content .k-icon-wrapper-host {
    display: initial;
}

.k-chip-content:first-child {
    margin-inline-start: 0.25rem;
}

.k-chip-content:last-child {
    margin-inline-end: 0.25rem;
}

.k-chip-text,
.k-chip-label {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    flex: 1 1 auto;
}

.k-chip-avatar {
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    flex: none;
}

.k-chip-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.k-chip-actions {
    margin-block: -5em;
    margin-inline: 0;
    flex: none;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-self: center;
}

.k-chip-action {
    flex: none;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-self: center;
}

.k-remove-icon {
    font-size: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.k-chip-list {
    min-width: 0px;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
}

.k-chip-sm {
    padding-block: 0.125rem;
    padding-inline: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.25;
}
.k-chip-sm .k-chip-action {
    padding: 0.125rem;
}

.k-chip-avatar {
    width: 1em;
    height: 1em;
    flex-basis: 1em;
}

.k-chip-md {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    font-size: 1rem;
    line-height: 1.25;
}
.k-chip-md .k-chip-action {
    padding: 0.25rem;
}

.k-chip-avatar {
    width: 1em;
    height: 1em;
    flex-basis: 1em;
}

.k-chip-lg {
    padding-block: 0.375rem;
    padding-inline: 0.25rem;
    font-size: 1rem;
    line-height: 1.25;
}
.k-chip-lg .k-chip-action {
    padding: 0.375rem;
}

.k-chip-avatar {
    width: 1em;
    height: 1em;
    flex-basis: 1em;
}

.k-chip-list-sm {
    gap: 0.25rem;
}

.k-chip-list-md {
    gap: 0.25rem;
}

.k-chip-list-lg {
    gap: 0.25rem;
}

.k-chip-solid-base {
    border-color: #e4e7eb;
    color: #212529;
    background-color: #e4e7eb;
}
.k-chip-solid-base:focus, .k-chip-solid-base.k-focus {
    box-shadow: 0 0 0 2px rgba(228, 231, 235, 0.16);
}
.k-chip-solid-base:hover, .k-chip-solid-base.k-hover {
    background-color: #ced3db;
}
.k-chip-solid-base.k-selected {
    background-color: #c7cdd5;
}

.k-chip-solid-error {
    border-color: #e56874;
    color: #4d1318;
    background-color: #f8d7da;
}
.k-chip-solid-error:focus, .k-chip-solid-error.k-focus {
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.16);
}
.k-chip-solid-error:hover, .k-chip-solid-error.k-hover {
    background-color: #f3b8be;
}
.k-chip-solid-error.k-selected {
    background-color: #ee9aa2;
}

.k-chip-solid-info {
    border-color: #4ad7f4;
    color: #054754;
    background-color: #cff4fc;
}
.k-chip-solid-info:focus, .k-chip-solid-info.k-focus {
    box-shadow: 0 0 0 2px rgba(13, 202, 240, 0.16);
}
.k-chip-solid-info:hover, .k-chip-solid-info.k-hover {
    background-color: #aaecfa;
}
.k-chip-solid-info.k-selected {
    background-color: #86e5f8;
}

.k-chip-solid-warning {
    border-color: #ffd145;
    color: #594402;
    background-color: #fff3cd;
}
.k-chip-solid-warning:focus, .k-chip-solid-warning.k-focus {
    box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.16);
}
.k-chip-solid-warning:hover, .k-chip-solid-warning.k-hover {
    background-color: #ffe9a8;
}
.k-chip-solid-warning.k-selected {
    background-color: #ffe083;
}

.k-chip-solid-success {
    border-color: #53a57f;
    color: #092f1d;
    background-color: #d1e7dd;
}
.k-chip-solid-success:focus, .k-chip-solid-success.k-focus {
    box-shadow: 0 0 0 2px rgba(25, 135, 84, 0.16);
}
.k-chip-solid-success:hover, .k-chip-solid-success.k-hover {
    background-color: #afd5c3;
}
.k-chip-solid-success.k-selected {
    background-color: #8cc3aa;
}

.k-chip-outline-base {
    border-color: #212529;
    color: #212529;
    background-color: #ffffff;
}
.k-chip-outline-base:focus, .k-chip-outline-base.k-focus {
    box-shadow: 0 0 0 2px rgba(228, 231, 235, 0.16);
}
.k-chip-outline-base:hover, .k-chip-outline-base.k-hover {
    color: white;
    background-color: #212529;
}
.k-chip-outline-base.k-selected {
    color: white;
    background-color: #212529;
}

.k-chip-outline-error {
    border-color: #a52834;
    color: #a52834;
    background-color: #ffffff;
}
.k-chip-outline-error:focus, .k-chip-outline-error.k-focus {
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.16);
}
.k-chip-outline-error:hover, .k-chip-outline-error.k-hover {
    border-color: #a52834;
    color: white;
    background-color: #a52834;
}
.k-chip-outline-error.k-selected {
    border-color: #a52834;
    color: white;
    background-color: #a52834;
}

.k-chip-outline-info {
    border-color: #0a98b4;
    color: #0a98b4;
    background-color: #ffffff;
}
.k-chip-outline-info:focus, .k-chip-outline-info.k-focus {
    box-shadow: 0 0 0 2px rgba(13, 202, 240, 0.16);
}
.k-chip-outline-info:hover, .k-chip-outline-info.k-hover {
    border-color: #0a98b4;
    color: white;
    background-color: #0a98b4;
}
.k-chip-outline-info.k-selected {
    border-color: #0a98b4;
    color: white;
    background-color: #0a98b4;
}

.k-chip-outline-warning {
    border-color: #ffc107;
    color: #212529;
    background-color: #ffffff;
}
.k-chip-outline-warning:focus, .k-chip-outline-warning.k-focus {
    box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.16);
}
.k-chip-outline-warning:hover, .k-chip-outline-warning.k-hover {
    color: #332701;
    background-color: #ffc107;
}
.k-chip-outline-warning.k-selected {
    color: #332701;
    background-color: #ffc107;
}

.k-chip-outline-success {
    border-color: #13653f;
    color: #13653f;
    background-color: #ffffff;
}
.k-chip-outline-success:focus, .k-chip-outline-success.k-focus {
    box-shadow: 0 0 0 2px rgba(25, 135, 84, 0.16);
}
.k-chip-outline-success:hover, .k-chip-outline-success.k-hover {
    border-color: #13653f;
    color: white;
    background-color: #13653f;
}
.k-chip-outline-success.k-selected {
    border-color: #13653f;
    color: white;
    background-color: #13653f;
}

.k-chip-outline-info {
    border-color: #0dcaf0;
    color: #212529;
}
.k-chip-outline-info:hover, .k-chip-outline-info.k-hover, .k-chip-outline-info.k-selected {
    border-color: #0dcaf0;
    color: #212529;
    background-color: #0dcaf0;
}

.k-color-preview {
    width: 100%;
    height: 100%;
    border-width: 1px;
    border-radius: 0.375rem;
    box-sizing: border-box;
    border-style: solid;
    display: inline-flex;
    flex-flow: row nowrap;
    position: relative;
    overflow: hidden;
}
.k-color-preview *,
.k-color-preview *::before,
.k-color-preview *::after {
    box-sizing: border-box;
}

.k-coloreditor-current-color {
    cursor: pointer;
}

.k-icon-color-preview {
    border-width: 0;
    border-radius: 0;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    gap: 2px;
}
.k-icon-color-preview .k-color-preview-mask {
    width: calc(16px - 2px);
    height: 2px;
}

.k-color-preview-mask {
    width: 100%;
    height: 100%;
    position: relative;
}

.k-color-preview-mask::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAuSURBVHgBxYyxDQAwDMJIL+YT+DjtzFRliUfLcklqBCRT4eCTxbD6kdL2/LgYXqpvCbs3kBv/AAAAAElFTkSuQmCC");
    background-size: contain;
    background-position: 0 0;
}

.k-no-color .k-color-preview-mask::before {
    content: "";
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' version='1.1'%3e%3cline x1='0' x2='20' y1='0' y2='20' stroke='%23dc3545' stroke-width='1'/%3e%3c/svg%3e");
    background-size: 100% 100%;
    background-position: 0 0;
}

.k-color-preview {
    border-color: #dee2e6;
}
.k-color-preview:hover, .k-color-preview.k-hover {
    border-color: #d6d9dc;
}

.k-loader {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    line-height: 0;
}

.k-loader-canvas {
    display: flex;
    position: relative;
}

.k-loader-segment {
    border-radius: 50%;
    background-color: currentColor;
    position: absolute;
}

.k-loader-sm {
    padding: 0.125rem;
}
.k-loader-sm .k-loader-segment {
    width: 0.25rem;
    height: 0.25rem;
}

.k-loader-md {
    padding: 0.25rem;
}
.k-loader-md .k-loader-segment {
    width: 0.5rem;
    height: 0.5rem;
}

.k-loader-lg {
    padding: 0.5rem;
}
.k-loader-lg .k-loader-segment {
    width: 1rem;
    height: 1rem;
}

@keyframes pulsing-2-segment {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.5);
    }
    100% {
        transform: scale(1);
    }
}
.k-loader-pulsing-2 .k-loader-canvas {
    align-items: center;
}
.k-loader-pulsing-2 .k-loader-segment:nth-child(1) {
    left: 0;
    transform: scale(1.5);
    transform-origin: 0 50%;
    animation: pulsing-2-segment 1s ease infinite;
    animation-delay: -0.5s;
}
.k-loader-pulsing-2 .k-loader-segment:nth-child(2) {
    right: 0;
    transform-origin: 100% 50%;
    animation: pulsing-2-segment 1s ease infinite;
}
.k-loader-pulsing-2.k-loader-sm .k-loader-canvas {
    width: 0.75rem;
    height: 0.375rem;
}
.k-loader-pulsing-2.k-loader-md .k-loader-canvas {
    width: 1.5rem;
    height: 0.75rem;
}
.k-loader-pulsing-2.k-loader-lg .k-loader-canvas {
    width: 3rem;
    height: 1.5rem;
}

@keyframes spinner-3-segment {
    0% {
        top: 0;
        left: 50%;
    }
    33.3333% {
        top: 100%;
        left: 0;
    }
    66.6666% {
        top: 100%;
        left: 100%;
    }
    100% {
        top: 0;
        left: 50%;
    }
}
.k-loader-spinner-3 .k-loader-segment {
    transform: translate(-50%, -50%);
}
.k-loader-spinner-3 .k-loader-segment:nth-child(1) {
    top: 0;
    left: 50%;
    animation: spinner-3-segment 2s ease infinite;
}
.k-loader-spinner-3 .k-loader-segment:nth-child(2) {
    top: 100%;
    left: 0;
    animation: spinner-3-segment 2s ease infinite;
    animation-delay: -0.6666666667s;
}
.k-loader-spinner-3 .k-loader-segment:nth-child(3) {
    top: 100%;
    left: 100%;
    animation: spinner-3-segment 2s ease infinite;
    animation-delay: -1.3333333333s;
}
.k-loader-spinner-3.k-loader-sm .k-loader-canvas {
    margin: 0.125rem;
    width: calc(1rem - 0.25rem);
    height: calc(0.8660254038rem - 0.25rem);
}
.k-loader-spinner-3.k-loader-md .k-loader-canvas {
    margin: 0.25rem;
    width: calc(2rem - 0.5rem);
    height: calc(1.7320508076rem - 0.5rem);
}
.k-loader-spinner-3.k-loader-lg .k-loader-canvas {
    margin: 0.5rem;
    width: calc(4rem - 1rem);
    height: calc(3.4641016152rem - 1rem);
}

@keyframes spinner-4-segment-1 {
    0% {
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
    33.3% {
        top: 0;
        left: 0;
        transform: translateX(0) translateY(0);
    }
    66.6% {
        top: 0;
        left: 0;
        transform: translateX(0) translateY(0);
    }
    100% {
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
}
@keyframes spinner-4-segment-2 {
    0% {
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
    33.3% {
        top: 0;
        left: 100%;
        transform: translateX(-100%) translateY(0);
    }
    66.6% {
        top: 0;
        left: 100%;
        transform: translateX(-100%) translateY(0);
    }
    100% {
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
}
@keyframes spinner-4-segment-3 {
    0% {
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
    33.3% {
        top: 100%;
        left: 100%;
        transform: translateX(-100%) translateY(-100%);
    }
    66.6% {
        top: 100%;
        left: 100%;
        transform: translateX(-100%) translateY(-100%);
    }
    100% {
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
}
@keyframes spinner-4-segment-4 {
    0% {
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
    33.3% {
        top: 100%;
        left: 0;
        transform: translateX(0) translateY(-100%);
    }
    66.6% {
        top: 100%;
        left: 0;
        transform: translateX(0) translateY(-100%);
    }
    100% {
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
}
@keyframes spinner-4 {
    0% {
        transform: rotate(0);
    }
    33.3% {
        transform: rotate(0);
    }
    66.6% {
        transform: rotate(180deg);
    }
    100% {
        transform: rotate(180deg);
    }
}
.k-loader-spinner-4 .k-loader-canvas {
    animation: spinner-4 1.833s ease infinite;
}
.k-loader-spinner-4 .k-loader-segment {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
.k-loader-spinner-4 .k-loader-segment:nth-child(1) {
    animation: spinner-4-segment-1 1.833s ease infinite;
}
.k-loader-spinner-4 .k-loader-segment:nth-child(2) {
    animation: spinner-4-segment-2 1.833s ease infinite;
}
.k-loader-spinner-4 .k-loader-segment:nth-child(3) {
    animation: spinner-4-segment-3 1.833s ease infinite;
}
.k-loader-spinner-4 .k-loader-segment:nth-child(4) {
    animation: spinner-4-segment-4 1.833s ease infinite;
}
.k-loader-spinner-4.k-loader-sm .k-loader-canvas {
    width: 1rem;
    height: 1rem;
}
.k-loader-spinner-4.k-loader-md .k-loader-canvas {
    width: 2rem;
    height: 2rem;
}
.k-loader-spinner-4.k-loader-lg .k-loader-canvas {
    width: 4rem;
    height: 4rem;
}

.k-loader-container {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2001;
}
.k-loader-container .k-loader {
    padding: 0;
}

.k-loader-container,
.k-loader-container-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.k-loader-container-overlay {
    opacity: 0.5;
}

.k-loader-container-inner {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
}

.k-loader-container-panel {
    border-width: 1px;
    border-style: solid;
    border-radius: 0.375rem;
}

.k-loader-container-sm .k-loader-container-inner {
    padding: 1rem;
    gap: 0.25rem;
}
.k-loader-container-sm .k-loader-container-label {
    font-size: 0.875rem;
}

.k-loader-container-md .k-loader-container-inner {
    padding: 1.25rem;
    gap: 0.5rem;
}
.k-loader-container-md .k-loader-container-label {
    font-size: 1rem;
}

.k-loader-container-lg .k-loader-container-inner {
    padding: 1.5rem;
    gap: 0.75rem;
}
.k-loader-container-lg .k-loader-container-label {
    font-size: 1.25rem;
}

.k-loader-top .k-loader-container-inner {
    flex-direction: column;
    text-align: center;
}

.k-loader-end .k-loader-container-label {
    order: -1;
}

.k-loading-mask,
.k-loading-image,
.k-loading-color {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
}
.k-loading-mask *,
.k-loading-mask *::before,
.k-loading-mask *::after, .k-loading-mask::before, .k-loading-mask::after,
.k-loading-image *,
.k-loading-image *::before,
.k-loading-image *::after,
.k-loading-image::before,
.k-loading-image::after,
.k-loading-color *,
.k-loading-color *::before,
.k-loading-color *::after,
.k-loading-color::before,
.k-loading-color::after {
    box-sizing: border-box;
}

.k-loading-mask {
    z-index: 100;
}
.k-loading-mask.k-opaque .k-loading-color {
    opacity: 1;
}

.k-loading-text {
    text-indent: -4000px;
    text-align: center;
    position: absolute;
    color: currentColor;
}

.k-loading-image {
    z-index: 2;
    color: currentColor;
}

.k-loading-color {
    background-color: #ffffff;
    opacity: 0.3;
}

.k-i-loading::before,
.k-loading-image::before {
    border-color: currentColor;
    border-right-color: transparent !important;
}
.k-i-loading::after,
.k-loading-image::after {
    display: none !important;
}

.k-loading-image::before {
    border-width: 0.25rem;
}

.k-loader-primary {
    color: limegreen;
}

.k-loader-secondary {
    color: #212529;
}

.k-loader-tertiary {
    color: #9f1ae2;
}

.k-loader-info {
    color: #0dcaf0;
}

.k-loader-success {
    color: #198754;
}

.k-loader-warning {
    color: #ffc107;
}

.k-loader-error {
    color: #dc3545;
}

.k-loader-dark {
    color: #212529;
}

.k-loader-light {
    color: #f8f9fa;
}

.k-loader-inverse {
    color: #212529;
}

.k-loader-container-panel {
    background-color: #ffffff;
    border-color: #dee2e6;
}

.k-loader-container-inner .k-text-secondary,
.k-loader-container-inner .\!k-text-secondary {
    color: #212529 !important;
}

.k-skeleton, .k-placeholder-line {
    display: block;
}

.k-skeleton-text, .k-placeholder-line {
    border-radius: 0.375rem;
    transform: scale(1, 0.6);
}
.k-skeleton-text:empty::before, .k-placeholder-line:empty::before {
    content: "​";
}

.k-skeleton-rect {
    border-radius: 0;
}

.k-skeleton-circle {
    border-radius: 9999px;
}

@keyframes k-skeleton-wave {
    0% {
        transform: translateX(-100%);
    }
    60% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(100%);
    }
}
.k-skeleton-wave .k-skeleton, .k-skeleton-wave .k-placeholder-line, .k-skeleton-wave.k-skeleton, .k-skeleton-wave.k-placeholder-line {
    position: relative;
    overflow: hidden;
}
.k-skeleton-wave .k-skeleton::after, .k-skeleton-wave .k-placeholder-line::after, .k-skeleton-wave.k-skeleton::after, .k-skeleton-wave.k-placeholder-line::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
    animation: k-skeleton-wave 1.6s linear 0.5s infinite;
}

@keyframes k-skeleton-pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.4;
    }
    100% {
        opacity: 1;
    }
}
.k-skeleton-pulse .k-skeleton, .k-skeleton-pulse .k-placeholder-line, .k-skeleton-pulse.k-skeleton, .k-skeleton-pulse.k-placeholder-line {
    animation: k-skeleton-pulse 1.5s ease-in-out 0.5s infinite;
}

.k-skeleton, .k-placeholder-line {
    background-color: rgba(33, 37, 41, 0.2);
}

.k-skeleton-wave .k-skeleton::after, .k-skeleton-wave .k-placeholder-line::after, .k-skeleton-wave.k-skeleton::after, .k-skeleton-wave.k-placeholder-line::after {
    background-image: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.04), transparent);
}

.k-button {
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    color: inherit;
    background: none;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    vertical-align: middle;
    user-select: none;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
    position: relative;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.k-button *,
.k-button *::before,
.k-button *::after {
    box-sizing: border-box;
}
.k-button:disabled, .k-button.k-disabled {
    outline: none;
    cursor: default;
    opacity: 0.65;
    filter: grayscale(0.1);
    pointer-events: none;
    box-shadow: none;
}
.k-button::-moz-focus-inner {
    padding: 0;
    border: 0;
    outline: 0;
}
.k-button:hover, .k-button:focus {
    text-decoration: none;
    outline: 0;
}

.k-icon-button {
    gap: 0;
}
.k-icon-button .k-icon {
    display: inline-flex;
}

.k-button-icon {
    color: inherit;
    align-self: center;
    position: relative;
}

.k-button-sm {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
}

.k-button-sm.k-icon-button {
    padding: 0.25rem;
}
.k-button-sm.k-icon-button .k-button-icon {
    min-width: calc(0.875rem * 1.4285714286);
    min-height: calc(0.875rem * 1.4285714286);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.k-button-sm.k-icon-button .k-button-icon.k-svg-icon > svg, .k-button-sm.k-icon-button .k-button-icon.k-icon-md > svg {
    width: 16px;
    height: 16px;
}
.k-button-sm.k-icon-button .k-button-icon.k-icon-xs > svg {
    width: calc(16px * 0.75);
    height: calc(16px * 0.75);
}
.k-button-sm.k-icon-button .k-button-icon.k-icon-sm > svg {
    width: calc(16px * 0.875);
    height: calc(16px * 0.875);
}
.k-button-sm.k-icon-button .k-button-icon.k-icon-lg > svg {
    width: calc(16px * 1.25);
    height: calc(16px * 1.25);
}
.k-button-sm.k-icon-button .k-button-icon.k-icon-xl > svg {
    width: calc(16px * 1.5);
    height: calc(16px * 1.5);
}
.k-button-sm.k-icon-button .k-button-icon.k-icon-xxl > svg {
    width: calc(16px * 2);
    height: calc(16px * 2);
}
.k-button-sm.k-icon-button .k-button-icon.k-icon-xxxl > svg {
    width: calc(16px * 3);
    height: calc(16px * 3);
}

.k-button-md {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
}

.k-button-md.k-icon-button {
    padding: 0.375rem;
}
.k-button-md.k-icon-button .k-button-icon {
    min-width: calc(1rem * 1.5);
    min-height: calc(1rem * 1.5);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.k-button-md.k-icon-button .k-button-icon.k-svg-icon > svg, .k-button-md.k-icon-button .k-button-icon.k-icon-md > svg {
    width: 16px;
    height: 16px;
}
.k-button-md.k-icon-button .k-button-icon.k-icon-xs > svg {
    width: calc(16px * 0.75);
    height: calc(16px * 0.75);
}
.k-button-md.k-icon-button .k-button-icon.k-icon-sm > svg {
    width: calc(16px * 0.875);
    height: calc(16px * 0.875);
}
.k-button-md.k-icon-button .k-button-icon.k-icon-lg > svg {
    width: calc(16px * 1.25);
    height: calc(16px * 1.25);
}
.k-button-md.k-icon-button .k-button-icon.k-icon-xl > svg {
    width: calc(16px * 1.5);
    height: calc(16px * 1.5);
}
.k-button-md.k-icon-button .k-button-icon.k-icon-xxl > svg {
    width: calc(16px * 2);
    height: calc(16px * 2);
}
.k-button-md.k-icon-button .k-button-icon.k-icon-xxxl > svg {
    width: calc(16px * 3);
    height: calc(16px * 3);
}

.k-button-lg {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    font-size: 1rem;
    line-height: 1.5;
}

.k-button-lg.k-icon-button {
    padding: 0.5rem;
}
.k-button-lg.k-icon-button .k-button-icon {
    min-width: calc(1rem * 1.5);
    min-height: calc(1rem * 1.5);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.k-button-lg.k-icon-button .k-button-icon.k-svg-icon > svg, .k-button-lg.k-icon-button .k-button-icon.k-icon-md > svg {
    width: 16px;
    height: 16px;
}
.k-button-lg.k-icon-button .k-button-icon.k-icon-xs > svg {
    width: calc(16px * 0.75);
    height: calc(16px * 0.75);
}
.k-button-lg.k-icon-button .k-button-icon.k-icon-sm > svg {
    width: calc(16px * 0.875);
    height: calc(16px * 0.875);
}
.k-button-lg.k-icon-button .k-button-icon.k-icon-lg > svg {
    width: calc(16px * 1.25);
    height: calc(16px * 1.25);
}
.k-button-lg.k-icon-button .k-button-icon.k-icon-xl > svg {
    width: calc(16px * 1.5);
    height: calc(16px * 1.5);
}
.k-button-lg.k-icon-button .k-button-icon.k-icon-xxl > svg {
    width: calc(16px * 2);
    height: calc(16px * 2);
}
.k-button-lg.k-icon-button .k-button-icon.k-icon-xxxl > svg {
    width: calc(16px * 3);
    height: calc(16px * 3);
}

.k-button-square {
    aspect-ratio: 1;
}

.k-button-group {
    margin: 0;
    padding: 0;
    border-width: 0;
    box-sizing: border-box;
    list-style: none;
    outline: 0;
    display: inline-flex;
    flex-flow: row nowrap;
    vertical-align: middle;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-button-group > .k-button + .k-button {
    margin-inline-start: -1px;
}
.k-button-group > .k-button:hover,
.k-button-group > .k-button.k-hover,
.k-button-group > .k-button:focus,
.k-button-group > .k-button.k-focus,
.k-button-group > .k-button:active,
.k-button-group > .k-button.k-active,
.k-button-group > .k-button.k-selected {
    z-index: 2;
}
.k-button-group .k-button:not(:first-child):not(:last-child) {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
    border-start-start-radius: 0;
    border-end-start-radius: 0;
}
.k-button-group > .k-button:first-child:not(:only-child) {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
}
.k-button-group > .k-button:last-child:not(:only-child) {
    border-start-start-radius: 0;
    border-end-start-radius: 0;
}
.k-button-group:disabled, .k-button-group[disabled], .k-button-group.k-disabled {
    opacity: 1;
    filter: none;
}

.k-button-group-stretched {
    width: 100%;
}
.k-button-group-stretched > * {
    flex: 1 0 0%;
    overflow: hidden;
}

.k-button-flat {
    border-color: transparent !important;
    color: inherit;
    background: none !important;
    box-shadow: none !important;
}
.k-button-flat::before {
    display: block !important;
}
.k-button-flat::after {
    box-shadow: inset 0 0 0 2px currentColor;
    display: block !important;
}
.k-button-flat:focus::after, .k-button-flat.k-focus::after {
    opacity: 0.12;
}

.k-button-outline {
    border-color: currentColor;
    color: inherit;
    background: none;
}

.k-button-link {
    border-color: transparent;
    color: inherit;
    text-decoration: none;
    background: none;
}
.k-button-link:hover, .k-button-link.k-hover {
    text-decoration: underline;
}

.k-button-clear {
    border-color: transparent !important;
    color: inherit;
    background: none !important;
    box-shadow: none !important;
}

.k-button-overlay, .k-button::before {
    border-radius: inherit;
    content: "";
    background: currentColor;
    opacity: 0;
    display: none;
    pointer-events: none;
    position: absolute;
    left: -1px;
    right: -1px;
    top: -1px;
    bottom: -1px;
    z-index: 0;
    transition: opacity 0.2s ease-in-out;
}

.k-button:hover::before, .k-button.k-hover::before {
    opacity: 0.08;
}
.k-button.k-no-focus:not(:hover)::before, .k-button.k-no-focus:not(.k-hover)::before {
    opacity: 0;
}
.k-button:active::before, .k-button.k-active::before {
    opacity: 0.16;
}
.k-button.k-selected::before {
    opacity: 0.2;
}

.k-button::after {
    border-radius: inherit;
    content: "";
    opacity: 0;
    display: none;
    pointer-events: none;
    position: absolute;
    left: -1px;
    right: -1px;
    top: -1px;
    bottom: -1px;
    z-index: 0;
    transition: opacity 0.2s ease-in-out;
}

.k-button-solid-base {
    border-color: #e4e7eb;
    color: #212529;
    background-color: #e4e7eb;
}
.k-button-solid-base:hover, .k-button-solid-base.k-hover {
    border-color: #c7cdd5;
    background-color: #ced3db;
}
.k-button-solid-base:focus, .k-button-solid-base.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-button-solid-base:active, .k-button-solid-base.k-active {
    border-color: #bfc6d0;
    background-color: #c7cdd5;
}
.k-button-solid-base.k-selected {
    border-color: #269a26;
    color: black;
    background-color: #28a428;
}
.k-button-solid-primary {
    border-color: limegreen;
    color: white;
    background-color: limegreen;
}
.k-button-solid-primary:hover, .k-button-solid-primary.k-hover {
    border-color: #28a428;
    background-color: #2bae2b;
}
.k-button-solid-primary:focus, .k-button-solid-primary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(50, 205, 50, 0.5);
}
.k-button-solid-primary:active, .k-button-solid-primary.k-active {
    border-color: #269a26;
    background-color: #28a428;
}
.k-button-solid-primary.k-selected {
    border-color: #269a26;
    background-color: #28a428;
}
.k-button-solid-secondary {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-button-solid-secondary:hover, .k-button-solid-secondary.k-hover {
    border-color: #7f15b4;
    background-color: #8716c0;
}
.k-button-solid-secondary:focus, .k-button-solid-secondary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(159, 26, 226, 0.5);
}
.k-button-solid-secondary:active, .k-button-solid-secondary.k-active {
    border-color: #7713a9;
    background-color: #7f15b4;
}
.k-button-solid-secondary.k-selected {
    border-color: #7713a9;
    background-color: #7f15b4;
}
.k-button-solid-tertiary {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-button-solid-tertiary:hover, .k-button-solid-tertiary.k-hover {
    border-color: #7f15b4;
    background-color: #8716c0;
}
.k-button-solid-tertiary:focus, .k-button-solid-tertiary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(159, 26, 226, 0.5);
}
.k-button-solid-tertiary:active, .k-button-solid-tertiary.k-active {
    border-color: #7713a9;
    background-color: #7f15b4;
}
.k-button-solid-tertiary.k-selected {
    border-color: #7713a9;
    background-color: #7f15b4;
}
.k-button-solid-info {
    border-color: #0dcaf0;
    color: white;
    background-color: #0dcaf0;
}
.k-button-solid-info:hover, .k-button-solid-info.k-hover {
    border-color: #0aa1c0;
    background-color: #0babcc;
}
.k-button-solid-info:focus, .k-button-solid-info.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(13, 202, 240, 0.5);
}
.k-button-solid-info:active, .k-button-solid-info.k-active {
    border-color: #0a97b4;
    background-color: #0aa1c0;
}
.k-button-solid-info.k-selected {
    border-color: #0a97b4;
    background-color: #0aa1c0;
}
.k-button-solid-success {
    border-color: #198754;
    color: white;
    background-color: #198754;
}
.k-button-solid-success:hover, .k-button-solid-success.k-hover {
    border-color: #115c39;
    background-color: #136740;
}
.k-button-solid-success:focus, .k-button-solid-success.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(25, 135, 84, 0.5);
}
.k-button-solid-success:active, .k-button-solid-success.k-active {
    border-color: #0f5133;
    background-color: #115c39;
}
.k-button-solid-success.k-selected {
    border-color: #0f5133;
    background-color: #115c39;
}
.k-button-solid-warning {
    border-color: #ffc107;
    color: black;
    background-color: #ffc107;
}
.k-button-solid-warning:hover, .k-button-solid-warning.k-hover {
    border-color: #d39e00;
    background-color: #e0a800;
}
.k-button-solid-warning:focus, .k-button-solid-warning.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(255, 193, 7, 0.5);
}
.k-button-solid-warning:active, .k-button-solid-warning.k-active {
    border-color: #c69500;
    background-color: #d39e00;
}
.k-button-solid-warning.k-selected {
    border-color: #c69500;
    background-color: #d39e00;
}
.k-button-solid-error {
    border-color: #dc3545;
    color: white;
    background-color: #dc3545;
}
.k-button-solid-error:hover, .k-button-solid-error.k-hover {
    border-color: #bd2130;
    background-color: #c82333;
}
.k-button-solid-error:focus, .k-button-solid-error.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(220, 53, 69, 0.5);
}
.k-button-solid-error:active, .k-button-solid-error.k-active {
    border-color: #b21f2d;
    background-color: #bd2130;
}
.k-button-solid-error.k-selected {
    border-color: #b21f2d;
    background-color: #bd2130;
}
.k-button-solid-dark {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-solid-dark:hover, .k-button-solid-dark.k-hover {
    border-color: #0a0c0d;
    background-color: #101214;
}
.k-button-solid-dark:focus, .k-button-solid-dark.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(33, 37, 41, 0.5);
}
.k-button-solid-dark:active, .k-button-solid-dark.k-active {
    border-color: #050506;
    background-color: #0a0c0d;
}
.k-button-solid-dark.k-selected {
    border-color: #050506;
    background-color: #0a0c0d;
}
.k-button-solid-light {
    border-color: #f8f9fa;
    color: black;
    background-color: #f8f9fa;
}
.k-button-solid-light:hover, .k-button-solid-light.k-hover {
    border-color: #dae0e5;
    background-color: #e2e6ea;
}
.k-button-solid-light:focus, .k-button-solid-light.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(248, 249, 250, 0.5);
}
.k-button-solid-light:active, .k-button-solid-light.k-active {
    border-color: #d3d9df;
    background-color: #dae0e5;
}
.k-button-solid-light.k-selected {
    border-color: #d3d9df;
    background-color: #dae0e5;
}
.k-button-solid-inverse {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-solid-inverse:hover, .k-button-solid-inverse.k-hover {
    border-color: #0a0c0d;
    background-color: #101214;
}
.k-button-solid-inverse:focus, .k-button-solid-inverse.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(33, 37, 41, 0.5);
}
.k-button-solid-inverse:active, .k-button-solid-inverse.k-active {
    border-color: #050506;
    background-color: #0a0c0d;
}
.k-button-solid-inverse.k-selected {
    border-color: #050506;
    background-color: #0a0c0d;
}
.k-button-outline-primary {
    box-shadow: none;
    border-color: currentColor;
    color: limegreen;
    background-color: transparent;
}
.k-button-outline-primary:hover, .k-button-outline-primary.k-hover {
    border-color: limegreen;
    color: white;
    background-color: limegreen;
}
.k-button-outline-primary:focus, .k-button-outline-primary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(50, 205, 50, 0.5);
}
.k-button-outline-primary:active, .k-button-outline-primary.k-active {
    border-color: limegreen;
    color: white;
    background-color: limegreen;
}
.k-button-outline-primary.k-selected {
    border-color: limegreen;
    color: white;
    background-color: limegreen;
}
.k-button-outline-secondary {
    box-shadow: none;
    border-color: currentColor;
    color: #9f1ae2;
    background-color: transparent;
}
.k-button-outline-secondary:hover, .k-button-outline-secondary.k-hover {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-button-outline-secondary:focus, .k-button-outline-secondary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(159, 26, 226, 0.5);
}
.k-button-outline-secondary:active, .k-button-outline-secondary.k-active {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-button-outline-secondary.k-selected {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-button-outline-tertiary {
    box-shadow: none;
    border-color: currentColor;
    color: #9f1ae2;
    background-color: transparent;
}
.k-button-outline-tertiary:hover, .k-button-outline-tertiary.k-hover {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-button-outline-tertiary:focus, .k-button-outline-tertiary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(159, 26, 226, 0.5);
}
.k-button-outline-tertiary:active, .k-button-outline-tertiary.k-active {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-button-outline-tertiary.k-selected {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-button-outline-info {
    box-shadow: none;
    border-color: currentColor;
    color: #0dcaf0;
    background-color: transparent;
}
.k-button-outline-info:hover, .k-button-outline-info.k-hover {
    border-color: #0dcaf0;
    color: white;
    background-color: #0dcaf0;
}
.k-button-outline-info:focus, .k-button-outline-info.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(13, 202, 240, 0.5);
}
.k-button-outline-info:active, .k-button-outline-info.k-active {
    border-color: #0dcaf0;
    color: white;
    background-color: #0dcaf0;
}
.k-button-outline-info.k-selected {
    border-color: #0dcaf0;
    color: white;
    background-color: #0dcaf0;
}
.k-button-outline-success {
    box-shadow: none;
    border-color: currentColor;
    color: #198754;
    background-color: transparent;
}
.k-button-outline-success:hover, .k-button-outline-success.k-hover {
    border-color: #198754;
    color: white;
    background-color: #198754;
}
.k-button-outline-success:focus, .k-button-outline-success.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(25, 135, 84, 0.5);
}
.k-button-outline-success:active, .k-button-outline-success.k-active {
    border-color: #198754;
    color: white;
    background-color: #198754;
}
.k-button-outline-success.k-selected {
    border-color: #198754;
    color: white;
    background-color: #198754;
}
.k-button-outline-warning {
    box-shadow: none;
    border-color: currentColor;
    color: #ffc107;
    background-color: transparent;
}
.k-button-outline-warning:hover, .k-button-outline-warning.k-hover {
    border-color: #ffc107;
    color: black;
    background-color: #ffc107;
}
.k-button-outline-warning:focus, .k-button-outline-warning.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(255, 193, 7, 0.5);
}
.k-button-outline-warning:active, .k-button-outline-warning.k-active {
    border-color: #ffc107;
    color: black;
    background-color: #ffc107;
}
.k-button-outline-warning.k-selected {
    border-color: #ffc107;
    color: black;
    background-color: #ffc107;
}
.k-button-outline-error {
    box-shadow: none;
    border-color: currentColor;
    color: #dc3545;
    background-color: transparent;
}
.k-button-outline-error:hover, .k-button-outline-error.k-hover {
    border-color: #dc3545;
    color: white;
    background-color: #dc3545;
}
.k-button-outline-error:focus, .k-button-outline-error.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(220, 53, 69, 0.5);
}
.k-button-outline-error:active, .k-button-outline-error.k-active {
    border-color: #dc3545;
    color: white;
    background-color: #dc3545;
}
.k-button-outline-error.k-selected {
    border-color: #dc3545;
    color: white;
    background-color: #dc3545;
}
.k-button-outline-dark {
    box-shadow: none;
    border-color: currentColor;
    color: #212529;
    background-color: transparent;
}
.k-button-outline-dark:hover, .k-button-outline-dark.k-hover {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-outline-dark:focus, .k-button-outline-dark.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(33, 37, 41, 0.5);
}
.k-button-outline-dark:active, .k-button-outline-dark.k-active {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-outline-dark.k-selected {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-outline-light {
    box-shadow: none;
    border-color: currentColor;
    color: #f8f9fa;
    background-color: transparent;
}
.k-button-outline-light:hover, .k-button-outline-light.k-hover {
    border-color: #f8f9fa;
    color: black;
    background-color: #f8f9fa;
}
.k-button-outline-light:focus, .k-button-outline-light.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(248, 249, 250, 0.5);
}
.k-button-outline-light:active, .k-button-outline-light.k-active {
    border-color: #f8f9fa;
    color: black;
    background-color: #f8f9fa;
}
.k-button-outline-light.k-selected {
    border-color: #f8f9fa;
    color: black;
    background-color: #f8f9fa;
}
.k-button-outline-inverse {
    box-shadow: none;
    border-color: currentColor;
    color: #212529;
    background-color: transparent;
}
.k-button-outline-inverse:hover, .k-button-outline-inverse.k-hover {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-outline-inverse:focus, .k-button-outline-inverse.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(33, 37, 41, 0.5);
}
.k-button-outline-inverse:active, .k-button-outline-inverse.k-active {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-outline-inverse.k-selected {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-outline-base {
    box-shadow: none;
    border-color: currentColor;
    color: #212529;
    background-color: transparent;
}
.k-button-outline-base:hover, .k-button-outline-base.k-hover {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-outline-base:focus, .k-button-outline-base.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(33, 37, 41, 0.5);
}
.k-button-outline-base:active, .k-button-outline-base.k-active {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-outline-base.k-selected {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-button-flat-primary {
    color: limegreen;
}
.k-button-flat-secondary {
    color: #9f1ae2;
}
.k-button-flat-tertiary {
    color: #9f1ae2;
}
.k-button-flat-info {
    color: #0dcaf0;
}
.k-button-flat-success {
    color: #198754;
}
.k-button-flat-warning {
    color: #ffc107;
}
.k-button-flat-error {
    color: #dc3545;
}
.k-button-flat-dark {
    color: #212529;
}
.k-button-flat-light {
    color: #f8f9fa;
}
.k-button-flat-inverse {
    color: #212529;
}
.k-button-flat-base {
    color: inherit;
}
.k-button-link-primary {
    color: limegreen;
}
.k-button-link-primary:hover, .k-button-link-primary.k-hover {
    color: #2aac2a;
}
.k-button-link-primary:focus, .k-button-link-primary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(50, 205, 50, 0.5);
}
.k-button-link-primary:active, .k-button-link-primary.k-active {
    color: #2aac2a;
}
.k-button-link-primary.k-selected {
    color: #2aac2a;
}
.k-button-link-secondary {
    color: #9f1ae2;
}
.k-button-link-secondary:hover, .k-button-link-secondary.k-hover {
    color: #8616be;
}
.k-button-link-secondary:focus, .k-button-link-secondary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(159, 26, 226, 0.5);
}
.k-button-link-secondary:active, .k-button-link-secondary.k-active {
    color: #8616be;
}
.k-button-link-secondary.k-selected {
    color: #8616be;
}
.k-button-link-tertiary {
    color: #9f1ae2;
}
.k-button-link-tertiary:hover, .k-button-link-tertiary.k-hover {
    color: #8616be;
}
.k-button-link-tertiary:focus, .k-button-link-tertiary.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(159, 26, 226, 0.5);
}
.k-button-link-tertiary:active, .k-button-link-tertiary.k-active {
    color: #8616be;
}
.k-button-link-tertiary.k-selected {
    color: #8616be;
}
.k-button-link-info {
    color: #0dcaf0;
}
.k-button-link-info:hover, .k-button-link-info.k-hover {
    color: #0baaca;
}
.k-button-link-info:focus, .k-button-link-info.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(13, 202, 240, 0.5);
}
.k-button-link-info:active, .k-button-link-info.k-active {
    color: #0baaca;
}
.k-button-link-info.k-selected {
    color: #0baaca;
}
.k-button-link-success {
    color: #198754;
}
.k-button-link-success:hover, .k-button-link-success.k-hover {
    color: #157147;
}
.k-button-link-success:focus, .k-button-link-success.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(25, 135, 84, 0.5);
}
.k-button-link-success:active, .k-button-link-success.k-active {
    color: #157147;
}
.k-button-link-success.k-selected {
    color: #157147;
}
.k-button-link-warning {
    color: #ffc107;
}
.k-button-link-warning:hover, .k-button-link-warning.k-hover {
    color: #d6a206;
}
.k-button-link-warning:focus, .k-button-link-warning.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(255, 193, 7, 0.5);
}
.k-button-link-warning:active, .k-button-link-warning.k-active {
    color: #d6a206;
}
.k-button-link-warning.k-selected {
    color: #d6a206;
}
.k-button-link-error {
    color: #dc3545;
}
.k-button-link-error:hover, .k-button-link-error.k-hover {
    color: #b92d3a;
}
.k-button-link-error:focus, .k-button-link-error.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(220, 53, 69, 0.5);
}
.k-button-link-error:active, .k-button-link-error.k-active {
    color: #b92d3a;
}
.k-button-link-error.k-selected {
    color: #b92d3a;
}
.k-button-link-dark {
    color: #212529;
}
.k-button-link-dark:hover, .k-button-link-dark.k-hover {
    color: #1c1f22;
}
.k-button-link-dark:focus, .k-button-link-dark.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(33, 37, 41, 0.5);
}
.k-button-link-dark:active, .k-button-link-dark.k-active {
    color: #1c1f22;
}
.k-button-link-dark.k-selected {
    color: #1c1f22;
}
.k-button-link-light {
    color: #f8f9fa;
}
.k-button-link-light:hover, .k-button-link-light.k-hover {
    color: #d0d1d2;
}
.k-button-link-light:focus, .k-button-link-light.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(248, 249, 250, 0.5);
}
.k-button-link-light:active, .k-button-link-light.k-active {
    color: #d0d1d2;
}
.k-button-link-light.k-selected {
    color: #d0d1d2;
}
.k-button-link-inverse {
    color: #212529;
}
.k-button-link-inverse:hover, .k-button-link-inverse.k-hover {
    color: #1c1f22;
}
.k-button-link-inverse:focus, .k-button-link-inverse.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(33, 37, 41, 0.5);
}
.k-button-link-inverse:active, .k-button-link-inverse.k-active {
    color: #1c1f22;
}
.k-button-link-inverse.k-selected {
    color: #1c1f22;
}
.k-button-link-base {
    color: #212529;
}
.k-button-link-base:hover, .k-button-link-base.k-hover {
    color: #1c1f22;
}
.k-button-link-base:focus, .k-button-link-base.k-focus {
    box-shadow: 0 0 0px 0.25rem rgba(33, 37, 41, 0.5);
}
.k-button-link-base:active, .k-button-link-base.k-active {
    color: #1c1f22;
}
.k-button-link-base.k-selected {
    color: #1c1f22;
}
.k-button-clear-primary {
    color: limegreen;
}
.k-button-clear-primary:focus::after, .k-button-clear-primary.k-focus::after, .k-button-clear-primary:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-secondary {
    color: #9f1ae2;
}
.k-button-clear-secondary:focus::after, .k-button-clear-secondary.k-focus::after, .k-button-clear-secondary:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-tertiary {
    color: #9f1ae2;
}
.k-button-clear-tertiary:focus::after, .k-button-clear-tertiary.k-focus::after, .k-button-clear-tertiary:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-info {
    color: #0dcaf0;
}
.k-button-clear-info:focus::after, .k-button-clear-info.k-focus::after, .k-button-clear-info:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-success {
    color: #198754;
}
.k-button-clear-success:focus::after, .k-button-clear-success.k-focus::after, .k-button-clear-success:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-warning {
    color: #ffc107;
}
.k-button-clear-warning:focus::after, .k-button-clear-warning.k-focus::after, .k-button-clear-warning:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-error {
    color: #dc3545;
}
.k-button-clear-error:focus::after, .k-button-clear-error.k-focus::after, .k-button-clear-error:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-dark {
    color: #212529;
}
.k-button-clear-dark:focus::after, .k-button-clear-dark.k-focus::after, .k-button-clear-dark:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-light {
    color: #f8f9fa;
}
.k-button-clear-light:focus::after, .k-button-clear-light.k-focus::after, .k-button-clear-light:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-inverse {
    color: #212529;
}
.k-button-clear-inverse:focus::after, .k-button-clear-inverse.k-focus::after, .k-button-clear-inverse:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-button-clear-base {
    color: #212529;
}
.k-button-clear-base:focus::after, .k-button-clear-base.k-focus::after, .k-button-clear-base:active::after {
    background-color: currentColor;
    opacity: 0.1;
    display: block;
}
.k-menu-bar, .k-menu {
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    position: relative;
    cursor: default;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-menu-bar *, .k-menu *,
.k-menu-bar *::before,
.k-menu *::before,
.k-menu-bar *::after,
.k-menu *::after {
    box-sizing: border-box;
}

.k-menu-item {
    border-width: 0;
    outline: 0;
    display: flex;
    flex-flow: column nowrap;
    flex: none;
    position: relative;
    user-select: none;
}

.k-menu-item-content {
    display: block;
    height: auto;
    overflow: visible;
}
.k-menu-item-content .k-actions, .k-menu-item-content .k-form-buttons, .k-menu-item-content .k-edit-buttons,
.k-menu-item-content .k-action-buttons,
.k-menu-item-content .k-columnmenu-actions {
    margin-top: 0;
}

.k-menu-link {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    outline: 0;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    flex: 1 1 auto;
    gap: 0.5rem;
    align-items: center;
    position: relative;
    white-space: nowrap;
    cursor: pointer;
}

.k-menu-link-text {
    display: flex;
    flex-flow: row nowrap;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
}

.k-menu-expand-arrow {
    margin-inline-end: -0.5rem;
    display: inline-flex;
    flex-flow: row wrap;
    align-items: center;
    flex: none;
    position: relative;
}

.k-menu-horizontal {
    flex-direction: row;
}
.k-menu-horizontal > .k-menu-item + .k-menu-item {
    margin-inline-start: 0;
}
.k-menu-horizontal > .k-separator {
    margin-block: 0;
    margin-inline: 0.25rem;
    width: 0;
    height: auto;
    border-width: 0 0 0 1px;
    border-style: solid;
}

.k-menu-vertical {
    flex-direction: column;
}
.k-menu-vertical > .k-menu-item + .k-menu-item {
    margin-top: 0;
}
.k-menu-vertical > .k-menu-item > .k-menu-link {
    padding-block: 0.25rem;
    padding-inline: 1rem;
    padding-inline-end: calc(2rem + 16px);
}
.k-menu-vertical > .k-menu-item > .k-menu-link > .k-menu-expand-arrow {
    margin-inline-start: 1rem;
    margin-inline-end: calc(-1 * (calc(2rem + 16px) - 0.5rem));
}
.k-menu-vertical > .k-separator {
    margin-block: 0.25rem;
    margin-inline: 0;
    height: 0;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: #dee2e6;
    display: block;
}

.k-menu-popup {
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    overflow: auto;
    max-height: 80vh;
}
.k-menu-popup *,
.k-menu-popup *::before,
.k-menu-popup *::after {
    box-sizing: border-box;
}

.k-menu-group {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: column nowrap;
    position: absolute;
}
.k-menu-group .k-menu-item + .k-menu-item {
    margin-top: 0px;
}
.k-menu-group .k-separator {
    margin-block: 0.25rem;
    margin-inline: 0;
    height: 0;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: #dee2e6;
    display: block;
}

.k-menu-popup .k-menu-group {
    position: relative;
}

.k-menu-group-sm {
    font-size: 1rem;
    line-height: 1.5;
}
.k-menu-group-sm .k-menu-item {
    font-size: 1rem;
    line-height: 1.5;
}
.k-menu-group-sm .k-menu-link {
    padding-block: 0.125rem;
    padding-inline: 1rem;
    padding-inline-end: calc(2rem + 16px);
}
.k-menu-group-sm .k-menu-expand-arrow {
    margin-inline-start: 1rem;
    margin-inline-end: calc(-1 * (calc(2rem + 16px) - 0.5rem));
}

.k-menu-group-md {
    font-size: 1rem;
    line-height: 1.5;
}
.k-menu-group-md .k-menu-item {
    font-size: 1rem;
    line-height: 1.5;
}
.k-menu-group-md .k-menu-link {
    padding-block: 0.25rem;
    padding-inline: 1rem;
    padding-inline-end: calc(2rem + 16px);
}
.k-menu-group-md .k-menu-expand-arrow {
    margin-inline-start: 1rem;
    margin-inline-end: calc(-1 * (calc(2rem + 16px) - 0.5rem));
}

.k-menu-group-lg {
    font-size: 1.25rem;
    line-height: 1.5;
}
.k-menu-group-lg .k-menu-item {
    font-size: 1.25rem;
    line-height: 1.5;
}
.k-menu-group-lg .k-menu-link {
    padding-block: 0.375rem;
    padding-inline: 1rem;
    padding-inline-end: calc(2rem + 16px);
}
.k-menu-group-lg .k-menu-expand-arrow {
    margin-inline-start: 1rem;
    margin-inline-end: calc(-1 * (calc(2rem + 16px) - 0.5rem));
}

.k-popups-wrapper {
    position: relative;
    border: 0;
    margin: 0;
    padding: 0;
}

.k-context-menu {
    margin: 0;
    border-width: 1px;
    border-style: solid;
}
.k-animation-container .k-context-menu.k-menu-horizontal {
    display: flex !important;
    flex-wrap: nowrap;
}

.k-context-menu-popup {
    z-index: 12000;
}
.k-context-menu-popup .k-context-menu {
    border-width: 0;
}

.k-popup .k-context-menu,
.k-context-menu-popup .k-context-menu {
    border-width: 0;
}

.k-menu-scroll-wrapper {
    margin: 0;
    padding: 0;
    border: 0;
    position: relative;
}
.k-menu-scroll-wrapper .k-menu {
    overflow: hidden;
    flex-wrap: nowrap;
}
.k-menu-scroll-wrapper .k-menu-scroll-button {
    border-radius: 0;
    padding: 0;
    border-width: 0;
    border-color: inherit;
    color: inherit;
    background: inherit;
    position: absolute;
}
.k-menu-scroll-wrapper .k-menu-scroll-button.k-scroll-left {
    top: 0;
    inset-inline-start: 0;
    height: 100%;
    width: 16px;
    border-right-width: 1px;
}
.k-menu-scroll-wrapper .k-menu-scroll-button.k-scroll-right {
    top: 0;
    inset-inline-end: 0;
    height: 100%;
    width: 16px;
    border-left-width: 1px;
}
.k-menu-scroll-wrapper .k-menu-scroll-button.k-scroll-up {
    top: 0;
    inset-inline-start: 0;
    width: 100%;
    height: 16px;
    border-bottom-width: 1px;
}
.k-menu-scroll-wrapper .k-menu-scroll-button.k-scroll-down {
    bottom: 0;
    inset-inline-start: 0;
    width: 100%;
    height: 16px;
    border-top-width: 1px;
}

.k-menu.k-menu-horizontal:not(.k-context-menu) {
    padding-block: 0.5rem;
}

.k-menu.k-menu-vertical:not(.k-context-menu) {
    padding-block: 0.5rem;
    padding-inline: 0;
}

.k-menu-popup .k-menu-group,
.k-menu-popup .k-menu-vertical {
    padding: 0;
}

.k-context-menu-popup > .k-popup:not(.k-menu-popup) {
    padding: 0;
}
.k-context-menu-popup .k-context-menu {
    border-radius: 0.375rem;
}
.k-context-menu-popup .k-header {
    font-size: inherit;
    font-weight: inherit;
}

.k-menu:not(.k-context-menu) {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-menu:not(.k-context-menu) > .k-item {
    color: rgba(33, 37, 41, 0.5);
}
.k-menu:not(.k-context-menu) > .k-item:hover, .k-menu:not(.k-context-menu) > .k-item.k-hover {
    color: rgba(33, 37, 41, 0.7);
}
.k-menu:not(.k-context-menu) > .k-item:active, .k-menu:not(.k-context-menu) > .k-item.k-active {
    color: rgba(33, 37, 41, 0.9);
}
.k-menu:not(.k-context-menu) > .k-item:focus, .k-menu:not(.k-context-menu) > .k-item.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}

.k-menu-group,
.k-menu.k-context-menu {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-menu-group .k-item > .k-link:hover, .k-menu-group .k-item > .k-link.k-hover,
.k-menu.k-context-menu .k-item > .k-link:hover,
.k-menu.k-context-menu .k-item > .k-link.k-hover {
    color: #212529;
    background-color: #e9ecef;
}
.k-menu-group .k-item > .k-link:active, .k-menu-group .k-item > .k-link.k-active, .k-menu-group .k-item > .k-link.k-selected,
.k-menu.k-context-menu .k-item > .k-link:active,
.k-menu.k-context-menu .k-item > .k-link.k-active,
.k-menu.k-context-menu .k-item > .k-link.k-selected {
    color: black;
    background-color: limegreen;
}
.k-menu-group .k-item:focus > .k-link,
.k-menu-group .k-item.k-focus > .k-link,
.k-menu.k-context-menu .k-item:focus > .k-link,
.k-menu.k-context-menu .k-item.k-focus > .k-link {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}

.k-menu-scroll-wrapper .k-menu-scroll-button {
    border-color: #dee2e6;
    color: rgba(33, 37, 41, 0.5);
    background-color: #f8f9fa;
}
.k-menu-scroll-wrapper .k-menu-scroll-button:hover {
    color: rgba(33, 37, 41, 0.7);
}
.k-menu-scroll-wrapper .k-menu-scroll-button:hover::before {
    opacity: 0;
}

.k-toolbar {
    margin: 0;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-toolbar::before {
    content: "";
    height: calc(1.5em + 0.75rem + 2px);
}
.k-toolbar.k-toolbar-resizable {
    flex-wrap: nowrap;
}
.k-toolbar > * {
    flex-shrink: 0;
    display: inline-flex;
    align-content: center;
    vertical-align: middle;
}
.k-toolbar > * > label {
    align-self: center;
}
.k-toolbar .k-input,
.k-toolbar .k-picker {
    width: 10em;
}
.k-toolbar .k-color-picker, .k-toolbar .k-colorpicker {
    width: min-content;
}
.k-toolbar .k-toolbar-overflow-button {
    margin-inline-start: auto;
}
.k-toolbar .k-separator,
.k-toolbar .k-toolbar-separator {
    width: 0;
    height: calc(1.5 * 1em);
    border-width: 0 0 0 1px;
    border-style: solid;
    align-self: center;
}
.k-toolbar .k-toolbar-spacer {
    height: calc(1.5 * 1em);
    flex: 1 0 0%;
}
.k-toolbar .k-toolbar-item:focus,
.k-toolbar .k-toolbar-item.k-focus {
    text-decoration: none;
    outline: 0;
}

.k-toolbar-group {
    display: flex;
    flex-direction: inherit;
    flex-wrap: nowrap;
    gap: inherit;
}

.k-toolbar-renderer {
    display: inline-block;
    border-color: inherit;
}

.k-toolbar-sm {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    gap: 0.375rem;
}
.k-toolbar-sm::before {
    margin-inline-start: -0.375rem;
}
.k-toolbar-sm > * > label {
    margin-inline-end: 0.375rem;
}

.k-toolbar-md {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    gap: 0.5rem;
}
.k-toolbar-md::before {
    margin-inline-start: -0.5rem;
}
.k-toolbar-md > * > label {
    margin-inline-end: 0.5rem;
}

.k-toolbar-lg {
    padding-block: 0.625rem;
    padding-inline: 0.625rem;
    gap: 0.625rem;
}
.k-toolbar-lg::before {
    margin-inline-start: -0.625rem;
}
.k-toolbar-lg > * > label {
    margin-inline-end: 0.625rem;
}

.k-toolbar-sm::before {
    height: calc(1.4285714286em + 0.5rem + 2px);
}

.k-toolbar-md::before {
    height: calc(1.5em + 0.75rem + 2px);
}

.k-toolbar-lg::before {
    height: calc(1.5em + 1rem + 2px);
}

.k-floating-toolbar,
.editorToolbarWindow.k-window-content {
    padding-block: 0.5rem !important;
    padding-inline: 0.5rem !important;
    border-width: 1px;
    border-style: solid;
    display: flex;
    flex-flow: row nowrap;
    gap: 0.5rem;
    align-items: center;
}
.k-floating-toolbar .k-toolbar,
.editorToolbarWindow.k-window-content .k-toolbar {
    padding: 0;
    border-width: 0;
    flex-shrink: 1;
    color: inherit;
    background: none;
}

.k-editortoolbar-dragHandle {
    cursor: move;
    display: flex;
    align-items: center;
    align-self: stretch;
    flex-shrink: 0;
}

.k-overflow-container {
    font-size: 1rem;
    line-height: 1.5;
}
.k-overflow-container > .k-item {
    border-color: inherit;
}
.k-overflow-container .k-separator {
    margin: 0.25rem 0;
}
.k-overflow-container .k-overflow-tool-group {
    display: block;
}
.k-overflow-container .k-overflow-button {
    padding-block: 0.25rem;
    padding-inline: 1rem;
    width: 100%;
    height: auto;
    border-width: 0;
    border-radius: 0;
    aspect-ratio: auto;
    color: inherit;
    background-color: transparent;
    background-image: none;
    font: inherit;
    cursor: pointer;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-content: center;
    gap: 0.5rem;
    justify-content: flex-start;
    position: relative;
}
.k-overflow-container .k-button-group {
    box-shadow: none;
    display: flex;
    flex-flow: column nowrap;
}
.k-overflow-container .k-button-group .k-button {
    margin: 0;
}
.k-overflow-container .k-split-button {
    display: flex;
    flex-direction: column;
}
.k-overflow-container .k-overflow-hidden {
    display: none;
}

.k-toolbar.k-toolbar-flat {
    border-width: 1px 0;
    border-top-color: transparent !important;
    border-bottom-color: inherit;
    color: inherit;
    background: none !important;
    box-shadow: none;
}

.k-toolbar {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-toolbar .k-separator,
.k-toolbar .k-toolbar-separator {
    border-color: inherit;
}
.k-toolbar .k-toolbar-item:focus,
.k-toolbar .k-toolbar-item.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.k-floating-toolbar,
.editorToolbarWindow.k-window-content {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-overflow-container .k-button:hover, .k-overflow-container .k-button.k-hover {
    color: #212529;
    background: #e9ecef;
}
.k-overflow-container .k-button:focus, .k-overflow-container .k-button.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}
.k-overflow-container .k-button:active, .k-overflow-container .k-button.k-active {
    color: #212529;
    background: #e9ecef;
}
.k-overflow-container .k-button.k-selected {
    color: black;
    background: limegreen;
}
.k-overflow-container .k-button:disabled, .k-overflow-container .k-button.k-disabled {
    color: inherit;
}

.k-actions, .k-form-buttons, .k-edit-buttons,
.k-action-buttons,
.k-columnmenu-actions {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    box-sizing: border-box;
    border-width: 0px 0 0 0;
    border-style: solid;
    border-color: inherit;
    flex-shrink: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 0.5rem;
    overflow: hidden;
    clear: both;
}
.k-actions *, .k-form-buttons *, .k-edit-buttons *,
.k-action-buttons *,
.k-columnmenu-actions *,
.k-actions *::before,
.k-form-buttons *::before,
.k-edit-buttons *::before,
.k-action-buttons *::before,
.k-columnmenu-actions *::before,
.k-actions *::after,
.k-form-buttons *::after,
.k-edit-buttons *::after,
.k-action-buttons *::after,
.k-columnmenu-actions *::after {
    box-sizing: border-box;
}

.k-popup .k-actions, .k-popup .k-form-buttons, .k-popup .k-edit-buttons,
.k-popup .k-action-buttons,
.k-popup .k-columnmenu-actions {
    margin-top: 1rem;
}

.k-actions-start {
    justify-content: flex-start;
}

.k-actions-center {
    justify-content: center;
}

.k-actions-end {
    justify-content: flex-end;
}

.k-actions-stretched > * {
    flex: 1 0 0%;
}

.k-actions-horizontal {
    width: 100%;
    flex-flow: row nowrap;
}

.k-actions-vertical {
    flex-flow: column nowrap;
}

.k-form,
.k-form-inline {
    font-size: 1rem;
    line-height: 1.5;
}

.k-fieldset {
    margin: 30px;
    border-width: 1px 0 0;
    border-style: solid;
    padding: 25px 0 0;
}
.k-fieldset > legend {
    margin-left: 0;
    padding: 0 1rem 0 0;
    text-transform: uppercase;
}

kendo-label > .k-label {
    margin: 0;
}

.k-label-optional {
    margin-left: 6px;
    font-size: 0.75rem;
    font-style: italic;
    align-self: center;
}

.k-label-empty::before {
    content: "";
    display: inline-block;
}

.k-input-label {
    margin-right: 10px;
    z-index: 1;
}
.k-input-label:dir(rtl), .k-rtl .k-input-label, .k-input-label.k-rtl, [dir=rtl] .k-input-label, .k-input-label[dir=rtl] {
    margin-right: 0;
    margin-left: 10px;
}

.k-form {
    border: 0;
}
.k-form .k-form-field > .k-label,
.k-form .k-form-field > kendo-label,
.k-form .k-form-label {
    margin-bottom: 0.5rem;
    display: flex;
    flex-flow: row nowrap;
}
.k-form .k-label + .k-radio {
    margin-left: 0;
}
.k-form .k-form-fieldset {
    margin: 2rem 0 0;
    padding: 0px;
    border: 0;
}
.k-form .k-form-fieldset > *:not(.k-hidden):first-child, .k-form .k-form-fieldset > *.k-hidden + :not(.k-hidden) {
    margin-top: 0;
}
.k-form .k-form-legend {
    margin: 0 0 1rem;
    padding: 0px;
    border-width: 0 0 2px;
    border-style: solid;
    width: 100%;
    font-size: 0.875rem;
    text-transform: uppercase;
}
.k-form .k-form-group {
    padding: 0;
}
.k-form > *:not(.k-hidden):first-child, .k-form > *.k-hidden + :not(.k-hidden) {
    margin-top: 0;
}
.k-form .k-form-field,
.k-form .k-form-field-wrap {
    display: block;
}
.k-form .k-form-field-disabled .k-label,
.k-form .k-form-field-disabled .k-form-label {
    outline: none;
    cursor: default;
    opacity: 0.65;
    filter: grayscale(0.1);
    pointer-events: none;
    box-shadow: none;
}
.k-form .k-alert-error {
    font-size: 0.875rem;
    margin-top: 1rem;
}
.k-form .k-field-info {
    display: inline-block;
    font-size: 0.75rem;
    line-height: 1;
    margin-block: 0;
    margin-inline: 1rem;
}
.k-form .k-multiselect,
.k-form .k-floating-label-container,
.k-form .k-daterangepicker .k-dateinput,
.k-form .k-signature {
    display: inline-flex;
    width: 100%;
}

.k-form-buttons {
    padding: 0;
    overflow: visible;
}

.k-form-hint,
.k-form-error {
    margin-top: 4px;
    display: flex;
    font-size: 0.75rem;
    font-style: normal;
}

.k-text-start,
.k-buttons-start {
    justify-content: flex-start;
}

.k-text-end,
.k-buttons-end {
    justify-content: flex-end;
}

.k-form-separator {
    margin: 1rem 0 0;
    border-width: 1px 0 0;
    border-style: solid;
    display: block;
    flex: 0 0 auto;
}

.k-form-horizontal .k-form-field {
    display: flex;
}
.k-form-horizontal .k-form-field > .k-label,
.k-form-horizontal .k-form-field > kendo-label,
.k-form-horizontal .k-form-field > .k-form-label {
    margin-right: 10px;
    padding-top: 5px;
    width: 25%;
    text-align: end;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
}
.k-form-horizontal .k-form-field .k-label-optional {
    margin: 0;
    align-self: inherit;
}
.k-form-horizontal .k-form-field-wrap {
    max-width: calc(100% - 25% - 10px);
    flex: 1 1 auto;
}

.k-form [dir=rtl] .k-label-optional, .k-rtl .k-form .k-label-optional {
    margin-left: 0;
    margin-right: 6px;
}

.k-form-horizontal [dir=rtl].k-form-field > .k-label,
.k-form-horizontal [dir=rtl].k-form-field > kendo-label,
.k-form-horizontal [dir=rtl].k-form-field > .k-form-label,
.k-form-horizontal [dir=rtl] .k-form-field > .k-label,
.k-form-horizontal [dir=rtl] .k-form-field > kendo-label,
.k-form-horizontal [dir=rtl] .k-form-field > .k-form-label, .k-rtl .k-form-horizontal.k-form-field > .k-label,
.k-rtl .k-form-horizontal.k-form-field > kendo-label,
.k-rtl .k-form-horizontal.k-form-field > .k-form-label,
.k-rtl .k-form-horizontal .k-form-field > .k-label,
.k-rtl .k-form-horizontal .k-form-field > kendo-label,
.k-rtl .k-form-horizontal .k-form-field > .k-form-label {
    margin-right: 0;
    margin-left: 10px;
}

.k-form-sm .k-form-field,
.k-form-sm .k-form-buttons {
    margin-top: 1rem;
}

.k-form-md .k-form-field,
.k-form-md .k-form-buttons {
    margin-top: 1rem;
}

.k-form-lg .k-form-field,
.k-form-lg .k-form-buttons {
    margin-top: 1rem;
}

.k-form-inline {
    padding: 2rem;
}
.k-form-inline fieldset {
    border-width: 1px 0 0;
    border-style: solid;
    margin: 4rem 0;
    padding: 0;
}
.k-form-inline fieldset:first-child:first-of-type {
    margin-top: 0;
}
.k-form-inline fieldset:last-child:last-of-type {
    margin-bottom: 0;
}
.k-form-inline legend {
    font-size: 0.875rem;
    text-align: start;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    padding: 0 1rem 0 0;
    width: auto;
}
.k-form-inline .k-form-field {
    display: flex;
    align-items: flex-start;
    text-align: start;
    margin-bottom: 1.5rem;
}
.k-form-inline .k-form-field > span:not(.k-widget) {
    width: 25%;
    text-align: end;
    line-height: 1.5;
    padding: calc(0.5rem + 1px) 0;
    padding-right: 1.5rem;
    align-self: center;
}
.k-form-inline .k-form-field > input {
    align-self: center;
}
.k-form-inline .k-form-field > input:not(.k-checkbox):not(.k-radio) {
    flex: 1 1 auto;
}
.k-form-inline .k-form-field .k-alert-error {
    font-size: 0.875rem;
    margin-top: 1rem;
}
.k-form-inline .k-form-field .k-field-info {
    display: block;
    font-size: 0.75rem;
    line-height: 1;
    margin: 0;
}
.k-form-inline .k-form-field:last-child {
    margin-bottom: 0;
}

.k-edit-form-container {
    width: 400px;
    min-width: 400px;
    border-color: inherit;
    position: relative;
}

.k-popup-edit-form > .k-actions, .k-popup-edit-form > .k-edit-buttons,
.k-popup-edit-form > .k-action-buttons,
.k-popup-edit-form > .k-columnmenu-actions, .k-popup-edit-form > .k-form-buttons,
.k-edit-form-container .k-actions,
.k-edit-form-container .k-edit-buttons,
.k-edit-form-container .k-action-buttons,
.k-edit-form-container .k-columnmenu-actions,
.k-edit-form-container .k-form-buttons {
    margin: 1rem -1rem -1rem;
}

.k-edit-label {
    margin: 0 0 1rem 0;
    padding: calc(0.375rem + 1px) 0;
    width: 30%;
    line-height: 1.5;
    text-align: end;
    float: left;
    clear: both;
}

.k-edit-field {
    margin: 0 0 1rem 0;
    width: 65%;
    float: right;
    clear: right;
    position: relative;
}
.k-edit-field.k-no-editor {
    padding: calc(0.375rem + 1px) 0;
}

.k-edit-field > .k-widget {
    width: 100%;
    box-sizing: border-box;
}
.k-edit-field input[type=radio]:not(.k-radio),
.k-edit-field input[type=checkbox]:not(.k-checkbox) {
    margin-right: 0.4ex;
}
.k-edit-field .k-radio-label,
.k-edit-field .k-checkbox-label {
    margin-right: 1rem;
}
.k-edit-field > .k-reset > li + li {
    margin-top: 0.5rem;
}
.k-edit-field .k-reset .k-widget {
    margin: 0 0.4ex 0 1ex;
}

.k-form legend,
.k-form-inline legend {
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.5;
    text-transform: none;
}
.k-form .k-field-info,
.k-form-inline .k-field-info {
    opacity: 0.7;
}

.k-form legend {
    margin-bottom: 0.5rem;
}
.k-form .k-field-info {
    margin-block: 0;
    margin-inline: 0.5rem;
}

.k-form-inline legend {
    margin-bottom: 0;
}
.k-form-inline .k-form-field > span:not(.k-widget) {
    padding: calc(0.5rem - 1px) 0;
    padding-right: 1rem;
}

.k-edit-label {
    padding: calc(0.5rem - 1px) 0;
}

.k-form,
.k-form-inline {
    color: #212529;
}
.k-form .k-form-legend,
.k-form-inline .k-form-legend {
    border-color: #dee2e6;
}
.k-form .k-field-info,
.k-form-inline .k-field-info {
    color: #6c757d;
}
.k-form .k-alert-error,
.k-form-inline .k-alert-error {
    color: #dc3545;
}

.k-form-error,
.k-text-error,
.k-form-field-error .k-label {
    color: #dc3545;
}

.k-form-separator {
    border-color: #dee2e6;
}

.k-tooltip {
    border-radius: 0.375rem;
    margin: 0;
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    background-repeat: repeat-x;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 0.875rem;
    line-height: 1.5;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    position: absolute;
    z-index: 12000;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-tooltip *,
.k-tooltip *::before,
.k-tooltip *::after {
    box-sizing: border-box;
}

.k-tooltip-icon {
    margin-inline-end: 0.5rem;
    flex-shrink: 0;
}

.k-tooltip-title {
    margin-bottom: 0.25em;
    font-size: 1.09375rem;
    line-height: 1;
}

.k-tooltip-content {
    align-self: stretch;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
}

.k-tooltip-button {
    margin-inline-start: 0.5rem;
    flex-shrink: 0;
}
.k-tooltip-button .k-icon {
    color: inherit;
    vertical-align: top;
}

.k-callout {
    width: 0.8rem;
    height: 0.8rem;
    border-width: 0.4rem;
    border-style: solid;
    border-color: transparent;
    position: absolute;
    pointer-events: none;
}

.k-callout-n {
    margin-left: -0.4rem;
    border-bottom-color: currentColor;
    top: -0.8rem;
    left: 50%;
    pointer-events: none;
}

.k-callout-e {
    margin-top: -0.4rem;
    border-left-color: currentColor;
    top: 50%;
    right: -0.8rem;
    pointer-events: none;
}

.k-callout-s {
    margin-left: -0.4rem;
    border-top-color: currentColor;
    bottom: -0.8rem;
    left: 50%;
    pointer-events: none;
}

.k-callout-w {
    margin-top: -0.4rem;
    border-right-color: currentColor;
    top: 50%;
    left: -0.8rem;
    pointer-events: none;
}

.k-tooltip {
    border-color: #000000;
    color: white;
    background-color: #000000;
    box-shadow: var(--kendo-elevation-2, 0px 2px 7px rgba(0, 0, 0, 0.075));
}
.k-tooltip .k-callout {
    color: #000000;
}

.k-tooltip-inverse {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-tooltip-inverse .k-callout {
    color: #212529;
}

.k-tooltip-light {
    border-color: #f8f9fa;
    color: black;
    background-color: #f8f9fa;
}
.k-tooltip-light .k-callout {
    color: #f8f9fa;
}

.k-tooltip-dark {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-tooltip-dark .k-callout {
    color: #212529;
}

.k-tooltip-error {
    border-color: #dc3545;
    color: white;
    background-color: #dc3545;
}
.k-tooltip-error .k-callout {
    color: #dc3545;
}

.k-tooltip-warning {
    border-color: #ffc107;
    color: black;
    background-color: #ffc107;
}
.k-tooltip-warning .k-callout {
    color: #ffc107;
}

.k-tooltip-success {
    border-color: #198754;
    color: white;
    background-color: #198754;
}
.k-tooltip-success .k-callout {
    color: #198754;
}

.k-tooltip-info {
    border-color: #0dcaf0;
    color: white;
    background-color: #0dcaf0;
}
.k-tooltip-info .k-callout {
    color: #0dcaf0;
}

.k-tooltip-tertiary {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-tooltip-tertiary .k-callout {
    color: #9f1ae2;
}

.k-tooltip-secondary {
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}
.k-tooltip-secondary .k-callout {
    color: #9f1ae2;
}

.k-tooltip-primary {
    border-color: limegreen;
    color: white;
    background-color: limegreen;
}
.k-tooltip-primary .k-callout {
    color: limegreen;
}

.k-validator-tooltip {
    margin-top: calc(0.4rem + 0px);
    width: auto;
    white-space: normal;
    display: flex;
    align-items: center;
    z-index: 9999;
}

.k-grid .k-validator-tooltip {
    max-width: 300px;
}

.k-input,
.k-picker {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    font-weight: normal;
    text-align: start;
    box-shadow: none;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: stretch;
    vertical-align: middle;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-appearance: none;
}
.k-input *,
.k-input *::before,
.k-input *::after,
.k-picker *,
.k-picker *::before,
.k-picker *::after {
    box-sizing: border-box;
}
.k-input > .k-input,
.k-input > .k-picker,
.k-picker > .k-input,
.k-picker > .k-picker {
    border-width: 0 !important;
    color: inherit;
    background: none;
    font: inherit;
    outline: 0;
    box-shadow: none;
}
.k-input > *,
.k-picker > * {
    margin: 0;
}
.k-input::placeholder,
.k-picker::placeholder {
    color: #6c757d;
    opacity: 1;
    user-select: none;
}

input.k-input,
textarea.k-textarea {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
}
input.k-input:disabled, input.k-input[disabled],
textarea.k-textarea:disabled,
textarea.k-textarea[disabled] {
    outline: none;
    cursor: default;
    opacity: 0.65;
    filter: grayscale(0.1);
    pointer-events: none;
    box-shadow: none;
}
[disabled] input.k-input:disabled, .k-disabled input.k-input:disabled, [disabled] input.k-input[disabled], .k-disabled input.k-input[disabled],
[disabled] textarea.k-textarea:disabled,
.k-disabled textarea.k-textarea:disabled,
[disabled] textarea.k-textarea[disabled],
.k-disabled textarea.k-textarea[disabled] {
    opacity: 1;
    filter: grayscale(0);
}

textarea.k-textarea {
    overflow: auto;
}

.k-picker {
    cursor: pointer;
}

select.k-picker {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    appearance: auto;
}
select.k-picker:disabled, select.k-picker[disabled] {
    outline: none;
    cursor: default;
    opacity: 0.65;
    filter: grayscale(0.1);
    pointer-events: none;
    box-shadow: none;
}
[disabled] select.k-picker:disabled, .k-disabled select.k-picker:disabled, [disabled] select.k-picker[disabled], .k-disabled select.k-picker[disabled] {
    opacity: 1;
    filter: grayscale(0);
}

.k-input-inner {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    width: 100%;
    border: 0;
    outline: 0;
    color: inherit;
    background: none;
    font: inherit;
    flex: 1;
    position: relative;
    z-index: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-appearance: none;
}
.k-input-inner::placeholder {
    color: #6c757d;
    opacity: 1;
    user-select: none;
}
.k-input-inner:invalid {
    box-shadow: none;
}

span.k-input-inner {
    white-space: nowrap;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

textarea.k-input-inner {
    margin: 0;
}

.k-input-value-icon {
    flex: none;
}

.k-input-value-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.k-input-value-text::before {
    content: "​";
    width: 0px;
    overflow: hidden;
    flex: none;
    display: inline-block;
    vertical-align: top;
}

.k-input-values {
    min-width: 0px;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    cursor: text;
}

.k-input-values .k-chip-list {
    display: contents;
}

.k-icon-picker .k-input-inner {
    padding: 0.375rem;
    justify-content: center;
}

.k-input-prefix,
.k-input-suffix {
    border-color: inherit;
    display: flex;
    align-items: center;
    flex: none;
}
.k-input-prefix > *,
.k-input-suffix > * {
    flex-shrink: 0;
    border: none;
}
.k-input-prefix-vertical,
.k-input-suffix-vertical {
    flex-flow: column wrap;
}
.k-input-prefix-horizontal,
.k-input-suffix-horizontal {
    flex-flow: row wrap;
}

.k-input-separator {
    margin: 0;
    border-style: solid;
    border-color: inherit;
    border-width: 0 0 0 1px;
    height: 16px;
    align-self: center;
}
.k-input-separator-horizontal {
    height: auto;
    margin-inline: 0.375rem;
    align-self: stretch;
    border-width: 1px 0 0;
}
.k-input-separator-vertical {
    height: auto;
    margin-block: 0.375rem;
    align-self: stretch;
    border-width: 0 0 0 1px;
}

.k-input-icon,
.k-input-validation-icon,
.k-input-loading-icon {
    flex: none;
    align-self: center;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    box-sizing: content-box;
}

.k-input-loading-icon {
    width: 1em;
    height: 1em;
    font-size: 16px;
}

.k-input-icon.k-svg-icon > svg, .k-input-icon.k-icon-md > svg,
.k-input-validation-icon.k-svg-icon > svg,
.k-input-validation-icon.k-icon-md > svg,
.k-input-loading-icon.k-svg-icon > svg,
.k-input-loading-icon.k-icon-md > svg {
    width: 16px;
    height: 16px;
}
.k-input-icon.k-icon-xs > svg,
.k-input-validation-icon.k-icon-xs > svg,
.k-input-loading-icon.k-icon-xs > svg {
    width: calc(16px * 0.75);
    height: calc(16px * 0.75);
}
.k-input-icon.k-icon-sm > svg,
.k-input-validation-icon.k-icon-sm > svg,
.k-input-loading-icon.k-icon-sm > svg {
    width: calc(16px * 0.875);
    height: calc(16px * 0.875);
}
.k-input-icon.k-icon-lg > svg,
.k-input-validation-icon.k-icon-lg > svg,
.k-input-loading-icon.k-icon-lg > svg {
    width: calc(16px * 1.25);
    height: calc(16px * 1.25);
}
.k-input-icon.k-icon-xl > svg,
.k-input-validation-icon.k-icon-xl > svg,
.k-input-loading-icon.k-icon-xl > svg {
    width: calc(16px * 1.5);
    height: calc(16px * 1.5);
}
.k-input-icon.k-icon-xxl > svg,
.k-input-validation-icon.k-icon-xxl > svg,
.k-input-loading-icon.k-icon-xxl > svg {
    width: calc(16px * 2);
    height: calc(16px * 2);
}
.k-input-icon.k-icon-xxxl > svg,
.k-input-validation-icon.k-icon-xxxl > svg,
.k-input-loading-icon.k-icon-xxxl > svg {
    width: calc(16px * 3);
    height: calc(16px * 3);
}

.k-clear-value {
    outline: 0;
    flex: none;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0.5;
}

.k-clear-value:hover,
.k-clear-value.k-hover {
    opacity: 1;
}

.k-clear-value:focus-visible {
    outline: 1px dotted;
    outline-offset: -1px;
}

.k-input-button {
    width: auto;
    border-width: 0;
    border-inline-start-width: 1px;
    flex: none;
    aspect-ratio: auto;
    box-shadow: none;
}
.k-input-button > .k-button-icon {
    min-width: auto !important;
}
.k-input-button:focus {
    box-shadow: none;
}

.k-picker .k-input-button {
    color: inherit;
    background: none;
    border-color: transparent;
}

.k-input-spinner {
    width: auto;
    flex: none;
    display: flex;
    flex-flow: column nowrap;
}
.k-input-spinner .k-spinner-increase,
.k-input-spinner .k-spinner-decrease {
    border-width: 0;
    border-inline-start-width: 1px;
    flex: 1 1 50%;
    box-shadow: none;
    position: relative;
    aspect-ratio: auto;
}
.k-input-spinner .k-spinner-increase .k-button-icon,
.k-input-spinner .k-spinner-decrease .k-button-icon {
    margin-block: -1em;
    margin-inline: 0;
    min-width: auto !important;
    min-height: auto !important;
}
.k-input-spinner .k-spinner-increase .k-icon {
    bottom: auto;
}
.k-input-spinner .k-spinner-decrease .k-icon {
    top: auto;
}

.k-searchbar {
    flex: 1 1 auto;
    display: flex;
    flex-flow: row nowrap;
}

.k-picker-wrap,
.k-dropdown-wrap,
.k-dateinput-wrap,
.k-multiselect-wrap,
.k-numeric-wrap {
    width: 100%;
    border-width: 0;
    border-color: inherit;
    box-sizing: border-box;
    flex: 1 1 auto;
    display: flex;
    flex-flow: row nowrap;
    overflow: hidden;
    position: relative;
}

.k-input-flat,
.k-picker-flat {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-width: 1px 0;
    border-top-color: transparent !important;
    background-image: none !important;
}

.k-input-outline {
    background: none !important;
}

.k-input-sm,
.k-picker-sm {
    font-size: 0.875rem;
    line-height: 1.4285714286;
}
.k-input-sm .k-input-values,
.k-picker-sm .k-input-values {
    padding: 0.125rem;
    gap: 0.125rem;
}
.k-input-sm .k-input-values > .k-searchbar,
.k-input-sm .k-input-values > .k-input-inner,
.k-picker-sm .k-input-values > .k-searchbar,
.k-picker-sm .k-input-values > .k-input-inner {
    margin: -0.125rem;
}
.k-input-sm .k-input-inner,
.k-picker-sm .k-input-inner {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
}
.k-input-sm .k-input-button,
.k-input-sm .k-spinner-increase,
.k-input-sm .k-spinner-decrease,
.k-picker-sm .k-input-button,
.k-picker-sm .k-spinner-increase,
.k-picker-sm .k-spinner-decrease {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-input-sm .k-input-icon,
.k-input-sm .k-input-validation-icon,
.k-input-sm .k-input-loading-icon,
.k-input-sm .k-clear-value,
.k-input-sm .k-input-prefix > .k-icon,
.k-input-sm .k-input-prefix > .k-input-prefix-text,
.k-input-sm .k-input-suffix > .k-icon,
.k-input-sm .k-input-suffix > .k-input-suffix-text,
.k-picker-sm .k-input-icon,
.k-picker-sm .k-input-validation-icon,
.k-picker-sm .k-input-loading-icon,
.k-picker-sm .k-clear-value,
.k-picker-sm .k-input-prefix > .k-icon,
.k-picker-sm .k-input-prefix > .k-input-prefix-text,
.k-picker-sm .k-input-suffix > .k-icon,
.k-picker-sm .k-input-suffix > .k-input-suffix-text {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    box-sizing: content-box;
}
.k-input-sm .k-input-separator-horizontal,
.k-picker-sm .k-input-separator-horizontal {
    margin-inline: 0.25rem;
}
.k-input-sm .k-input-separator-vertical,
.k-picker-sm .k-input-separator-vertical {
    margin-block: 0.25rem;
}
.k-input-sm.k-icon-picker .k-input-inner,
.k-picker-sm.k-icon-picker .k-input-inner {
    width: calc(1.4285714286em);
    height: calc(1.4285714286em);
    padding: 0.25rem;
    box-sizing: content-box;
}

.k-dropdown-operator.k-picker-sm .k-input-button {
    padding: 0.25rem;
}

select.k-picker-sm {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
}

.k-input-md,
.k-picker-md {
    font-size: 1rem;
    line-height: 1.5;
}
.k-input-md .k-input-values,
.k-picker-md .k-input-values {
    padding: 0.1875rem;
    gap: 0.1875rem;
}
.k-input-md .k-input-values > .k-searchbar,
.k-input-md .k-input-values > .k-input-inner,
.k-picker-md .k-input-values > .k-searchbar,
.k-picker-md .k-input-values > .k-input-inner {
    margin: -0.1875rem;
}
.k-input-md .k-input-inner,
.k-picker-md .k-input-inner {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
}
.k-input-md .k-input-button,
.k-input-md .k-spinner-increase,
.k-input-md .k-spinner-decrease,
.k-picker-md .k-input-button,
.k-picker-md .k-spinner-increase,
.k-picker-md .k-spinner-decrease {
    padding-block: 0.375rem;
    padding-inline: 0.375rem;
}
.k-input-md .k-input-icon,
.k-input-md .k-input-validation-icon,
.k-input-md .k-input-loading-icon,
.k-input-md .k-clear-value,
.k-input-md .k-input-prefix > .k-icon,
.k-input-md .k-input-prefix > .k-input-prefix-text,
.k-input-md .k-input-suffix > .k-icon,
.k-input-md .k-input-suffix > .k-input-suffix-text,
.k-picker-md .k-input-icon,
.k-picker-md .k-input-validation-icon,
.k-picker-md .k-input-loading-icon,
.k-picker-md .k-clear-value,
.k-picker-md .k-input-prefix > .k-icon,
.k-picker-md .k-input-prefix > .k-input-prefix-text,
.k-picker-md .k-input-suffix > .k-icon,
.k-picker-md .k-input-suffix > .k-input-suffix-text {
    padding-block: 0.375rem;
    padding-inline: 0.375rem;
    box-sizing: content-box;
}
.k-input-md .k-input-separator-horizontal,
.k-picker-md .k-input-separator-horizontal {
    margin-inline: 0.375rem;
}
.k-input-md .k-input-separator-vertical,
.k-picker-md .k-input-separator-vertical {
    margin-block: 0.375rem;
}
.k-input-md.k-icon-picker .k-input-inner,
.k-picker-md.k-icon-picker .k-input-inner {
    width: calc(1.5em);
    height: calc(1.5em);
    padding: 0.375rem;
    box-sizing: content-box;
}

.k-dropdown-operator.k-picker-md .k-input-button {
    padding: 0.375rem;
}

select.k-picker-md {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
}

.k-input-lg,
.k-picker-lg {
    font-size: 1rem;
    line-height: 1.5;
}
.k-input-lg .k-input-values,
.k-picker-lg .k-input-values {
    padding: 0.25rem;
    gap: 0.25rem;
}
.k-input-lg .k-input-values > .k-searchbar,
.k-input-lg .k-input-values > .k-input-inner,
.k-picker-lg .k-input-values > .k-searchbar,
.k-picker-lg .k-input-values > .k-input-inner {
    margin: -0.25rem;
}
.k-input-lg .k-input-inner,
.k-picker-lg .k-input-inner {
    padding-block: 0.5rem;
    padding-inline: 1rem;
}
.k-input-lg .k-input-button,
.k-input-lg .k-spinner-increase,
.k-input-lg .k-spinner-decrease,
.k-picker-lg .k-input-button,
.k-picker-lg .k-spinner-increase,
.k-picker-lg .k-spinner-decrease {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-input-lg .k-input-icon,
.k-input-lg .k-input-validation-icon,
.k-input-lg .k-input-loading-icon,
.k-input-lg .k-clear-value,
.k-input-lg .k-input-prefix > .k-icon,
.k-input-lg .k-input-prefix > .k-input-prefix-text,
.k-input-lg .k-input-suffix > .k-icon,
.k-input-lg .k-input-suffix > .k-input-suffix-text,
.k-picker-lg .k-input-icon,
.k-picker-lg .k-input-validation-icon,
.k-picker-lg .k-input-loading-icon,
.k-picker-lg .k-clear-value,
.k-picker-lg .k-input-prefix > .k-icon,
.k-picker-lg .k-input-prefix > .k-input-prefix-text,
.k-picker-lg .k-input-suffix > .k-icon,
.k-picker-lg .k-input-suffix > .k-input-suffix-text {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    box-sizing: content-box;
}
.k-input-lg .k-input-separator-horizontal,
.k-picker-lg .k-input-separator-horizontal {
    margin-inline: 0.5rem;
}
.k-input-lg .k-input-separator-vertical,
.k-picker-lg .k-input-separator-vertical {
    margin-block: 0.5rem;
}
.k-input-lg.k-icon-picker .k-input-inner,
.k-picker-lg.k-icon-picker .k-input-inner {
    width: calc(1.5em);
    height: calc(1.5em);
    padding: 0.5rem;
    box-sizing: content-box;
}

.k-dropdown-operator.k-picker-lg .k-input-button {
    padding: 0.5rem;
}

select.k-picker-lg {
    padding-block: 0.5rem;
    padding-inline: 1rem;
}

.k-input > kendo-popup,
.k-picker > kendo-popup {
    position: fixed;
}

@keyframes autoFillStart {}
@keyframes autoFillEnd {}
.k-autofill:-webkit-autofill {
    animation-name: autoFillStart;
}

.k-autofill:not(:-webkit-autofill) {
    animation-name: autoFillEnd;
}

.k-input:-webkit-autofill {
    animation-name: autoFillStart;
}

.k-input:not(:-webkit-autofill) {
    animation-name: autoFillEnd;
}

.k-textbox {
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.k-input-solid {
    border-color: #ced4da;
    color: #212529;
    background-color: #fff;
}
.k-input-solid:focus, .k-input-solid.k-focus {
    border-color: #99e699;
    color: #212529;
    background-color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.k-input-solid:focus-within {
    border-color: #99e699;
    color: #212529;
    background-color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.k-input-solid.k-invalid, .k-input-solid.ng-invalid.ng-touched, .k-input-solid.ng-invalid.ng-dirty {
    border-color: #dc3545;
}
.k-input-solid.k-invalid .k-input-validation-icon, .k-input-solid.ng-invalid.ng-touched .k-input-validation-icon, .k-input-solid.ng-invalid.ng-dirty .k-input-validation-icon {
    color: #dc3545;
}
.k-input-solid.k-invalid:focus, .k-input-solid.k-invalid.k-focus, .k-input-solid.ng-invalid.ng-touched:focus, .k-input-solid.ng-invalid.ng-touched.k-focus, .k-input-solid.ng-invalid.ng-dirty:focus, .k-input-solid.ng-invalid.ng-dirty.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-input-solid.k-invalid:focus-within, .k-input-solid.ng-invalid.ng-touched:focus-within, .k-input-solid.ng-invalid.ng-dirty:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-input-solid .k-input-prefix {
    color: #6c757d;
}
.k-input-solid .k-input-suffix {
    color: #6c757d;
}
.k-input-solid .k-input-separator {
    border-color: #dee2e6;
}

.k-picker-solid {
    border-color: #e4e7eb;
    color: #212529;
    background-color: #e4e7eb;
}
.k-picker-solid:hover, .k-picker-solid.k-hover {
    border-color: #c7cdd5;
    background-color: #ced3db;
}
.k-picker-solid:focus, .k-picker-solid.k-focus {
    border-color: #bfc6d0;
    background-color: #c7cdd5;
    box-shadow: 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-picker-solid:focus-within {
    border-color: #bfc6d0;
    background-color: #c7cdd5;
    box-shadow: 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-picker-solid.k-invalid, .k-picker-solid.ng-invalid.ng-touched, .k-picker-solid.ng-invalid.ng-dirty {
    border-color: #dc3545;
}
.k-picker-solid.k-invalid .k-input-validation-icon, .k-picker-solid.ng-invalid.ng-touched .k-input-validation-icon, .k-picker-solid.ng-invalid.ng-dirty .k-input-validation-icon {
    color: #dc3545;
}
.k-picker-solid.k-invalid:focus, .k-picker-solid.k-invalid.k-focus, .k-picker-solid.ng-invalid.ng-touched:focus, .k-picker-solid.ng-invalid.ng-touched.k-focus, .k-picker-solid.ng-invalid.ng-dirty:focus, .k-picker-solid.ng-invalid.ng-dirty.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-picker-solid.k-invalid:focus-within, .k-picker-solid.ng-invalid.ng-touched:focus-within, .k-picker-solid.ng-invalid.ng-dirty:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.k-input-outline {
    border-color: rgba(33, 37, 41, 0.5);
    color: #212529;
}
.k-input-outline > .k-input-button {
    border-color: inherit;
}
.k-input-outline > .k-input-spinner {
    border-color: inherit;
}
.k-input-outline > .k-input-spinner > .k-spinner-increase, .k-input-outline > .k-input-spinner > .k-spinner-decrease {
    border-color: inherit;
}
.k-input-outline:focus, .k-input-outline.k-focus {
    border-color: #99e699;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.k-input-outline:focus-within {
    border-color: #99e699;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.k-input-outline.k-invalid, .k-input-outline.ng-invalid.ng-touched, .k-input-outline.ng-invalid.ng-dirty {
    border-color: #dc3545;
}
.k-input-outline.k-invalid .k-input-validation-icon, .k-input-outline.ng-invalid.ng-touched .k-input-validation-icon, .k-input-outline.ng-invalid.ng-dirty .k-input-validation-icon {
    color: #dc3545;
}
.k-input-outline.k-invalid:focus, .k-input-outline.k-invalid.k-focus, .k-input-outline.ng-invalid.ng-touched:focus, .k-input-outline.ng-invalid.ng-touched.k-focus, .k-input-outline.ng-invalid.ng-dirty:focus, .k-input-outline.ng-invalid.ng-dirty.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-input-outline.k-invalid:focus-within, .k-input-outline.ng-invalid.ng-touched:focus-within, .k-input-outline.ng-invalid.ng-dirty:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-input-outline .k-input-prefix {
    color: #6c757d;
}
.k-input-outline .k-input-suffix {
    color: #6c757d;
}
.k-input-outline .k-input-separator {
    border-color: #dee2e6;
}

.k-picker-outline {
    border-color: rgba(33, 37, 41, 0.5);
    color: #212529;
}
.k-picker-outline:hover, .k-picker-outline.k-hover {
    border-color: #212529;
    color: white;
    background-color: #212529;
}
.k-picker-outline:focus, .k-picker-outline.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-picker-outline:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-picker-outline.k-invalid, .k-picker-outline.ng-invalid.ng-touched, .k-picker-outline.ng-invalid.ng-dirty {
    border-color: #dc3545;
}
.k-picker-outline.k-invalid .k-input-validation-icon, .k-picker-outline.ng-invalid.ng-touched .k-input-validation-icon, .k-picker-outline.ng-invalid.ng-dirty .k-input-validation-icon {
    color: #dc3545;
}
.k-picker-outline.k-invalid:focus, .k-picker-outline.k-invalid.k-focus, .k-picker-outline.ng-invalid.ng-touched:focus, .k-picker-outline.ng-invalid.ng-touched.k-focus, .k-picker-outline.ng-invalid.ng-dirty:focus, .k-picker-outline.ng-invalid.ng-dirty.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-picker-outline.k-invalid:focus-within, .k-picker-outline.ng-invalid.ng-touched:focus-within, .k-picker-outline.ng-invalid.ng-dirty:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.k-input-flat {
    border-color: #ced4da;
    color: #212529;
}
.k-input-flat:focus, .k-input-flat.k-focus {
    border-color: #99e699;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.k-input-flat:focus-within {
    border-color: #99e699;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}
.k-input-flat.k-invalid, .k-input-flat.ng-invalid.ng-touched, .k-input-flat.ng-invalid.ng-dirty {
    border-color: #dc3545;
}
.k-input-flat.k-invalid .k-input-validation-icon, .k-input-flat.ng-invalid.ng-touched .k-input-validation-icon, .k-input-flat.ng-invalid.ng-dirty .k-input-validation-icon {
    color: #dc3545;
}
.k-input-flat.k-invalid:focus, .k-input-flat.k-invalid.k-focus, .k-input-flat.ng-invalid.ng-touched:focus, .k-input-flat.ng-invalid.ng-touched.k-focus, .k-input-flat.ng-invalid.ng-dirty:focus, .k-input-flat.ng-invalid.ng-dirty.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-input-flat.k-invalid:focus-within, .k-input-flat.ng-invalid.ng-touched:focus-within, .k-input-flat.ng-invalid.ng-dirty:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-input-flat .k-input-prefix {
    color: #6c757d;
}
.k-input-flat .k-input-suffix {
    color: #6c757d;
}
.k-input-flat .k-input-separator {
    border-color: #dee2e6;
}

.k-picker-flat {
    border-color: #e4e7eb;
    color: #212529;
}
.k-picker-flat:hover, .k-picker-flat.k-hover {
    background-color: rgba(33, 37, 41, 0.08);
}
.k-picker-flat:focus, .k-picker-flat.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-picker-flat:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-picker-flat.k-invalid, .k-picker-flat.ng-invalid.ng-touched, .k-picker-flat.ng-invalid.ng-dirty {
    border-color: #dc3545;
}
.k-picker-flat.k-invalid .k-input-validation-icon, .k-picker-flat.ng-invalid.ng-touched .k-input-validation-icon, .k-picker-flat.ng-invalid.ng-dirty .k-input-validation-icon {
    color: #dc3545;
}
.k-picker-flat.k-invalid:focus, .k-picker-flat.k-invalid.k-focus, .k-picker-flat.ng-invalid.ng-touched:focus, .k-picker-flat.ng-invalid.ng-touched.k-focus, .k-picker-flat.ng-invalid.ng-dirty:focus, .k-picker-flat.ng-invalid.ng-dirty.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.k-picker-flat.k-invalid:focus-within, .k-picker-flat.ng-invalid.ng-touched:focus-within, .k-picker-flat.ng-invalid.ng-dirty:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.k-floating-label-container {
    padding-top: calc(1.5 * 1rem);
    box-sizing: border-box;
    display: inline-flex;
    vertical-align: middle;
    position: relative;
    flex-direction: column;
    justify-content: stretch;
}
.k-floating-label-container *,
.k-floating-label-container *::before,
.k-floating-label-container *::after {
    box-sizing: border-box;
}
.k-floating-label-container > .k-label {
    max-width: 90%;
    font-size: 1rem;
    line-height: 1.5;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: absolute;
    top: var(--kendo-floating-label-offset-y, calc(calc(1.5 * 1rem) + 1px + 0.375rem));
    left: var(--kendo-floating-label-offset-x, calc(0.75rem + 1px));
    overflow: hidden;
    cursor: text;
    transform-origin: left center;
    transition: transform 0.2s ease-out, color 0.2s ease-out, top 0.2s ease-out, left 0.2s ease-out;
}
.k-floating-label-container > .k-widget {
    flex: 1 1 auto;
    width: auto;
}
.k-floating-label-container.k-empty > .k-label {
    top: var(--kendo-floating-label-offset-y, calc(calc(1.5 * 1rem) + 1px + 0.375rem));
    left: var(--kendo-floating-label-offset-x, calc(0.75rem + 1px));
    transform: scale(1);
    pointer-events: none;
}
.k-floating-label-container > .k-label, .k-floating-label-container.k-focus > .k-label {
    top: var(--kendo-floating-label-focus-offset-y, 0);
    left: var(--kendo-floating-label-focus-offset-x, 0);
    transform: scale(1);
}
.k-floating-label-container:focus-within > .k-label {
    top: var(--kendo-floating-label-focus-offset-y, 0);
    left: var(--kendo-floating-label-focus-offset-x, 0);
    transform: scale(1);
}
.k-floating-label-container.k-empty:not(.k-focus):not(:focus-within) ::placeholder {
    color: transparent;
}
[dir=rtl] .k-floating-label-container > .k-label, .k-rtl .k-floating-label-container > .k-label, .k-floating-label-container[dir=rtl] > .k-label {
    transform-origin: right center;
    transition: transform 0.2s ease-out, color 0.2s ease-out, top 0.2s ease-out, right 0.2s ease-out;
}
[dir=rtl] .k-floating-label-container.k-empty > .k-label, .k-rtl .k-floating-label-container.k-empty > .k-label, .k-floating-label-container[dir=rtl].k-empty > .k-label {
    left: auto;
    right: var(--kendo-floating-label-offset-x, calc(0.75rem + 1px));
}
[dir=rtl] .k-floating-label-container > .k-label, [dir=rtl] .k-floating-label-container.k-focus > .k-label, .k-rtl .k-floating-label-container > .k-label, .k-rtl .k-floating-label-container.k-focus > .k-label, .k-floating-label-container[dir=rtl] > .k-label, .k-floating-label-container[dir=rtl].k-focus > .k-label {
    left: auto;
    right: var(--kendo-floating-label-focus-offset-x, 0);
}
[dir=rtl] .k-floating-label-container:focus-within > .k-label, .k-rtl .k-floating-label-container:focus-within > .k-label, .k-floating-label-container[dir=rtl]:focus-within > .k-label {
    left: auto;
    right: var(--kendo-floating-label-focus-offset-x, 0);
}

.k-floating-label-container.k-invalid > .k-label, .k-floating-label-container.ng-invalid.ng-touched > .k-label, .k-floating-label-container.ng-invalid.ng-dirty > .k-label {
    color: #dc3545;
}

.k-split-button .k-split-button-arrow {
    padding-block: 0.375rem;
    padding-inline: 0.375rem;
    width: auto;
    aspect-ratio: auto;
    flex: none;
}
.k-split-button .k-split-button-arrow.k-button-sm {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-split-button .k-split-button-arrow.k-button-md {
    padding-block: 0.375rem;
    padding-inline: 0.375rem;
}
.k-split-button .k-split-button-arrow.k-button-lg {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-split-button .k-split-button-arrow .k-button-icon {
    min-width: 0;
}

.k-split-button:focus,
.k-split-button.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}

.k-menu-button,
.k-dropdown-button {
    aspect-ratio: auto;
    outline: 0;
    display: inline-flex;
    flex-flow: row nowrap;
    vertical-align: middle;
}
.k-menu-button > .k-button-arrow,
.k-dropdown-button > .k-button-arrow {
    margin-inline-start: -0.375rem;
    margin-inline-end: -0.75rem;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.k-menu-button.k-icon-button > .k-button-arrow,
.k-dropdown-button.k-icon-button > .k-button-arrow {
    margin-inline-start: 0;
    margin-inline-end: -0.375rem;
}

.k-textarea:has(.k-input-inner[style*=width]) {
    width: max-content;
}

.k-listbox {
    width: 10em;
    height: 200px;
    border-width: 0;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    vertical-align: top;
    background-color: transparent;
    display: inline-flex;
    gap: 0.5rem;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-listbox .k-listbox-actions {
    display: flex;
    gap: 1rem;
}
.k-listbox.k-listbox-actions-left, .k-listbox.k-listbox-actions-right {
    flex-direction: row;
}
.k-listbox.k-listbox-actions-left .k-listbox-actions, .k-listbox.k-listbox-actions-right .k-listbox-actions {
    flex-direction: column;
}
.k-listbox.k-listbox-actions-right {
    flex-direction: row-reverse;
}
.k-listbox.k-listbox-actions-top, .k-listbox.k-listbox-actions-bottom {
    flex-direction: column;
}
.k-listbox.k-listbox-actions-top .k-listbox-actions, .k-listbox.k-listbox-actions-bottom .k-listbox-actions {
    flex-direction: row;
}
.k-listbox.k-listbox-actions-bottom {
    flex-direction: column-reverse;
}
.k-listbox .k-list-scroller {
    width: 100%;
    min-height: 0;
    height: inherit;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    display: flex;
    flex-flow: column nowrap;
}
.k-listbox .k-list-scroller .k-list-scroller {
    border-width: 0;
}
.k-listbox .k-list-scroller .k-list {
    height: inherit;
    background: transparent;
}
.k-listbox .k-drop-hint {
    border-top-width: 1px;
    border-top-style: solid;
}
.k-listbox .k-ghost {
    opacity: 0.5;
}

.k-item {
    cursor: default;
}

.k-listbox .k-list-scroller {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-listbox .k-drop-hint {
    border-top-color: limegreen;
}

.k-progressbar {
    border-radius: 0.375rem;
    --kendo-progressbar-value: 0;
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 0.75rem;
    line-height: 1;
    display: inline-grid;
    vertical-align: middle;
    position: relative;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-progressbar *,
.k-progressbar *::before,
.k-progressbar *::after {
    box-sizing: border-box;
}
.k-progressbar > .k-progressbar-value {
    border-width: 0;
    border-style: solid;
    display: flex;
    overflow: hidden;
    grid-column: 1/-1;
    grid-row: 1/-1;
}
.k-progressbar > .k-progressbar-chunks {
    border-width: inherit;
    border-style: inherit;
    white-space: nowrap;
    display: flex;
    align-items: stretch;
    flex: 1;
    gap: 1px;
    grid-column: 1/-1;
    grid-row: 1/-1;
}
.k-progressbar .k-progressbar-chunk {
    display: block;
    border-width: 0;
    flex: 1;
}

.k-progress-status-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    grid-column: 1/-1;
    grid-row: 1/-1;
}
.k-progress-status-wrap.k-progress-start {
    justify-content: flex-start;
}
.k-progress-status-wrap.k-progress-center {
    justify-content: center;
}
.k-progress-status-wrap.k-progress-end {
    justify-content: flex-end;
}

.k-progress-status {
    padding-block: 0;
    padding-inline: 0.5rem;
    min-width: 10px;
    text-align: center;
    display: inline-block;
    white-space: nowrap;
}

.k-progressbar-horizontal {
    width: 100%;
    height: var(--kendo-progressbar-height, 1rem);
    grid-template-columns: 1fr;
    grid-template-rows: 100%;
}
.k-progressbar-horizontal .k-progress-status-wrap {
    flex-direction: row;
}
.k-progressbar-horizontal > .k-progressbar-value {
    width: calc(var(--kendo-progressbar-value, 0) * 1%);
    flex-direction: row;
}
.k-progressbar-horizontal > .k-progressbar-value > .k-progress-status-wrap {
    width: calc(100% * 100 / var(--kendo-progressbar-value, 1));
}
.k-progressbar-horizontal > .k-progressbar-chunks {
    flex-direction: row;
}
.k-progressbar-horizontal.k-progressbar-reverse > .k-progressbar-value {
    flex-direction: row-reverse;
    justify-self: flex-end;
}
.k-progressbar-horizontal.k-progressbar-reverse > .k-progressbar-chunks {
    flex-direction: row-reverse;
}

.k-progressbar-vertical {
    width: var(--kendo-progressbar-height, 1rem);
    height: 27em;
    grid-template-columns: 100%;
    grid-template-rows: 1fr;
}
.k-progressbar-vertical .k-progress-status-wrap {
    flex-direction: column-reverse;
}
.k-progressbar-vertical .k-progress-status {
    writing-mode: vertical-lr;
}
.k-progressbar-vertical > .k-progressbar-value {
    height: calc(var(--kendo-progressbar-value, 0) * 1%);
    flex-direction: column-reverse;
    align-self: flex-end;
    align-items: flex-end;
}
.k-progressbar-vertical > .k-progressbar-value > .k-progress-status-wrap {
    height: calc(100% * 100 / var(--kendo-progressbar-value, 1));
}
.k-progressbar-vertical > .k-progressbar-chunks {
    flex-direction: column-reverse;
}
.k-progressbar-vertical.k-progressbar-reverse {
    flex-direction: column;
}
.k-progressbar-vertical.k-progressbar-reverse > .k-progressbar-value {
    flex-direction: column;
    align-self: flex-start;
}
.k-progressbar-vertical.k-progressbar-reverse > .k-progressbar-chunks {
    flex-direction: column;
}

.k-progressbar-indeterminate .k-progress-status-wrap,
.k-progressbar-indeterminate .k-progressbar-value,
.k-progressbar-indeterminate .k-progressbar-chunk {
    display: none;
}

.telerik-blazor.k-progressbar-horizontal > .k-progressbar-value,
.telerik-blazor.k-progressbar-horizontal > .k-progressbar-value > .k-progress-status-wrap {
    transition: width 0.1s ease-in-out;
}

.k-rtl .k-progressbar,
.k-progressbar[dir=rtl] {
    direction: rtl;
}

.k-circular-progressbar {
    display: inline-block;
    text-align: start;
    position: relative;
}

.k-circular-progressbar-surface {
    height: 100%;
}
.k-circular-progressbar-surface > div {
    width: 100%;
    height: 100%;
}
.k-circular-progressbar-surface svg {
    width: 100%;
    height: 100%;
}

.k-circular-progressbar-scale {
    fill: none;
}

.k-circular-progressbar-arc {
    transform-box: fill-box;
    transform-origin: center center;
    transform: rotate(-90deg);
    stroke-linecap: round;
    fill: none;
}

.k-circular-progressbar-label {
    position: absolute;
    text-align: center;
    padding: 0;
    margin: 0;
}

@keyframes kendo-progressbar-indeterminate-animation {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 1rem 0;
    }
}
.k-progressbar {
    color: black;
    background-color: #e9ecef;
}
.k-progressbar .k-selected {
    color: black;
    background-color: limegreen;
}

.k-chunk-progressbar {
    background-color: transparent;
}

.k-progressbar-chunk {
    background-color: #e9ecef;
}
.k-progressbar-chunk .k-selected {
    background-color: limegreen;
}

.k-progressbar-indeterminate {
    color: black;
    background-color: #e9ecef;
    background-image: linear-gradient(45deg, #d6d9dc 25%, transparent 25%, transparent 50%, #d6d9dc 50%, #d6d9dc 75%, transparent 75%, transparent);
    background-size: 1rem 1rem;
    animation: kendo-progressbar-indeterminate-animation 1s linear infinite;
}

.k-circular-progressbar-scale {
    stroke: #e9ecef;
}

.k-circular-progressbar-arc {
    stroke: limegreen;
    transition: stroke 0.5s ease;
}

.k-radio {
    border-radius: 50%;
    margin: 0;
    padding: 0;
    line-height: initial;
    border-width: 1px;
    border-style: solid;
    outline: 0;
    box-sizing: border-box;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    flex: none;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
    -webkit-appearance: none;
}

.k-radio:checked,
.k-radio.k-checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='black'/%3e%3c/svg%3e");
}

.k-radio:disabled,
.k-radio.k-disabled {
    outline: none;
    cursor: default;
    opacity: 0.65;
    filter: grayscale(0.1);
    pointer-events: none;
    box-shadow: none;
}

.k-radio-wrap {
    flex: none;
    display: inline-flex;
    flex-flow: row nowrap;
    gap: 0;
    align-items: center;
    align-self: start;
    vertical-align: middle;
    position: relative;
}
.k-radio-wrap::before {
    content: "​";
    width: 0px;
    overflow: hidden;
    flex: none;
    display: inline-block;
    vertical-align: top;
}

.k-radio-label {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: flex-start;
    gap: 0.25rem;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
}
.k-radio-label .k-ripple {
    visibility: hidden !important;
}

.k-radio + .k-label,
.k-radio-wrap + .k-label,
.k-radio + .k-radio-label,
.k-radio-wrap + .k-radio-label {
    display: inline;
    margin-inline-start: 0.25rem;
}

.k-radio-label:empty {
    display: none !important;
}

.k-radio-label.k-no-text {
    min-width: 1px;
}

.k-radio-list {
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: column nowrap;
    gap: 0;
    list-style: none;
}

.k-radio-item,
.k-radio-list-item {
    padding-block: 0.25rem;
    padding-inline: 0px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-content: center;
    gap: 0.25rem;
}
.k-radio-item .k-radio-label,
.k-radio-list-item .k-radio-label {
    margin: 0;
}

.k-radio-list-horizontal,
.k-radio-list.k-list-horizontal {
    display: flex;
    flex-flow: row wrap;
    gap: 1rem;
}

.k-ripple-container .k-radio::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 100%;
    z-index: -1;
    transition: opacity 100ms linear, transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
    transform: translate(-50%, -50%) scale(0);
    transform-origin: center center;
}
.k-ripple-container .k-radio:focus,
.k-ripple-container .k-radio.k-focus {
    box-shadow: none !important;
}
.k-ripple-container .k-radio:disabled::after,
.k-ripple-container .k-radio.k-disabled::after {
    display: none;
}
.k-ripple-container .k-radio:disabled::after,
.k-ripple-container .k-radio.k-disabled::after {
    display: none;
}

.k-radio-sm {
    width: 0.75rem;
    height: 0.75rem;
}
.k-radio-sm::before {
    font-size: 0.625rem;
}

.k-ripple-container .k-radio-sm::after {
    width: 300%;
    height: 300%;
}

.k-radio-md {
    width: 1rem;
    height: 1rem;
}
.k-radio-md::before {
    font-size: 0.875rem;
}

.k-ripple-container .k-radio-md::after {
    width: 300%;
    height: 300%;
}

.k-radio-lg {
    width: 1.25rem;
    height: 1.25rem;
}
.k-radio-lg::before {
    font-size: 1.125rem;
}

.k-ripple-container .k-radio-lg::after {
    width: 300%;
    height: 300%;
}

.k-radio {
    border-color: #ced4da;
    background-color: #ffffff;
}

.k-radio:focus,
.k-radio.k-focus {
    border-color: #99e699;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}

.k-radio.k-invalid,
.k-radio.ng-invalid.ng-touched,
.k-radio.ng-invalid.ng-dirty {
    border-color: #dc3545;
}

.k-radio.k-invalid + .k-radio-label,
.k-radio.ng-invalid.ng-touched + .k-radio-label,
.k-radio.ng-invalid.ng-dirty + .k-radio-label {
    color: #dc3545;
}

.k-radio:checked,
.k-radio.k-checked {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
}

.k-radio:checked:focus,
.k-radio.k-checked.k-focus {
    border-color: limegreen;
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}

.k-ripple-container .k-radio::after {
    background: limegreen;
    opacity: 0.25;
}

.k-slider {
    border: 0;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    background: none;
    display: inline-flex;
    align-items: center;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-slider *,
.k-slider *::before,
.k-slider *::after {
    box-sizing: border-box;
}
.k-slider .k-label {
    width: auto;
    font-size: 0.92em;
    line-height: 1;
    white-space: nowrap;
    position: absolute;
}
.k-slider .k-tick,
.k-slider .k-slider-track {
    cursor: pointer;
}
.k-slider .k-tick {
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    margin: 0;
    padding: 0;
    position: relative;
}
.k-slider.k-disabled .k-tick,
.k-slider.k-disabled .k-slider-track,
.k-slider.k-disabled .k-draghandle {
    cursor: default;
}

.k-slider {
    width: min-content;
    height: min-content;
    gap: calc(14px / 2);
}
.k-slider .k-button {
    flex: none;
}
.k-slider .k-slider-track-wrap {
    flex: 1 1 auto;
    display: flex;
    flex-flow: inherit;
    position: relative;
    touch-action: none;
}
.k-slider .k-slider-track-wrap .k-slider-items {
    margin: 0;
    padding: 0;
    list-style: none;
    flex: 1 1 100%;
    display: flex;
    flex-flow: inherit;
    justify-content: space-between;
    user-select: none;
}
.k-slider .k-slider-track-wrap .k-tick {
    flex: 0 0 1px;
}
.k-slider .k-slider-track-wrap .k-tick-horizontal {
    width: 1px;
    min-height: 100%;
}
.k-slider .k-slider-track-wrap .k-tick-vertical {
    width: 100%;
    min-height: 1px;
}
.k-slider .k-slider-track-wrap .k-draghandle {
    position: absolute;
}
.k-slider-horizontal .k-slider-track-wrap {
    height: 26px;
}
.k-slider-horizontal .k-slider-track-wrap .k-slider-track {
    width: 100%;
}
.k-slider-horizontal .k-slider-track-wrap .k-draghandle {
    top: 50%;
    transform: translate(-50%, -50%);
}
.k-slider-horizontal .k-slider-track-wrap .k-draghandle:focus,
.k-slider-horizontal .k-slider-track-wrap .k-draghandle:active {
    transform: translate(-50%, -50%) scale(1);
}
.k-slider-horizontal .k-slider-track-wrap .k-slider-selection {
    width: calc((var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0)) * 1%);
    inset-inline-start: calc(var(--kendo-slider-start, 0) * 1%);
}
.k-slider-horizontal .k-slider-track-wrap .k-draghandle-start {
    inset-inline-start: calc(var(--kendo-slider-start, 0) * 1%);
}
.k-slider-horizontal .k-slider-track-wrap .k-draghandle-end {
    inset-inline-start: calc(var(--kendo-slider-end, 0) * 1%);
}
.k-slider-vertical .k-slider-track-wrap {
    width: 26px;
}
.k-slider-vertical .k-slider-track-wrap .k-slider-track {
    height: 100%;
}
.k-slider-vertical .k-slider-track-wrap .k-draghandle {
    left: 50%;
    transform: translate(-50%, 50%);
}
.k-slider-vertical .k-slider-track-wrap .k-draghandle:focus,
.k-slider-vertical .k-slider-track-wrap .k-draghandle:active {
    transform: translate(-50%, 50%) scale(1);
}
.k-slider-vertical .k-slider-track-wrap .k-slider-selection {
    bottom: calc(var(--kendo-slider-start, 0) * 1%);
    height: calc((var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0)) * 1%);
}
.k-slider-vertical .k-slider-track-wrap .k-draghandle-start {
    bottom: calc(var(--kendo-slider-start, 0) * 1%);
}
.k-slider-vertical .k-slider-track-wrap .k-draghandle-end {
    bottom: calc(var(--kendo-slider-end, 0) * 1%);
}

.k-slider-vertical {
    height: 200px;
    flex-flow: column-reverse nowrap;
}
.k-slider-vertical .k-tick {
    text-align: end;
    margin-left: 2px;
}
.k-slider-vertical .k-slider-topleft .k-tick {
    text-align: start;
}
.k-slider-vertical .k-tick {
    background-position: -94px center;
}
.k-slider-vertical .k-slider-topleft .k-tick {
    background-position: -124px center;
}
.k-slider-vertical .k-slider-bottomright .k-tick {
    background-position: -154px center;
}
.k-slider-vertical .k-tick-large {
    display: flex;
    align-items: center;
    background-position: -4px center;
}
.k-slider-vertical .k-slider-topleft .k-tick-large {
    background-position: -34px center;
}
.k-slider-vertical .k-slider-bottomright .k-tick-large {
    background-position: -64px center;
}
.k-slider-vertical .k-first {
    background-position: -94px 100%;
}
.k-slider-vertical .k-tick-large.k-first {
    background-position: -4px 100%;
}
.k-slider-vertical .k-slider-topleft .k-first {
    background-position: -124px 100%;
}
.k-slider-vertical .k-slider-topleft .k-tick-large.k-first {
    background-position: -34px 100%;
}
.k-slider-vertical .k-slider-bottomright .k-first {
    background-position: -154px 100%;
}
.k-slider-vertical .k-slider-bottomright .k-tick-large.k-first {
    background-position: -64px 100%;
}
.k-slider-vertical .k-last {
    background-position: -94px 0;
}
.k-slider-vertical .k-tick-large.k-last {
    background-position: -4px 0;
}
.k-slider-vertical .k-slider-topleft .k-last {
    background-position: -124px 0;
}
.k-slider-vertical .k-slider-topleft .k-tick-large.k-last {
    background-position: -34px 0;
}
.k-slider-vertical .k-slider-bottomright .k-last {
    background-position: -154px 0;
}
.k-slider-vertical .k-slider-bottomright .k-tick-large.k-last {
    background-position: -64px 0;
}
.k-slider-vertical .k-label {
    text-align: start;
    inset-inline-start: 120%;
    top: 50%;
    transform: translateY(-50%);
}
.k-slider-vertical .k-first .k-label {
    top: 100%;
}
.k-slider-vertical .k-last .k-label {
    top: 0;
}
.k-slider-vertical .k-slider-topleft .k-label {
    inset-inline-start: auto;
    inset-inline-end: 120%;
}

.k-slider-horizontal {
    width: 200px;
    flex-flow: row nowrap;
}
.k-slider-horizontal .k-tick {
    background-position: center -92px;
}
.k-slider-horizontal .k-slider-topleft .k-tick {
    background-position: center -122px;
}
.k-slider-horizontal .k-slider-bottomright .k-tick {
    background-position: center -152px;
}
.k-slider-horizontal .k-tick-large {
    background-position: center -2px;
}
.k-slider-horizontal .k-slider-topleft .k-tick-large {
    background-position: center -32px;
}
.k-slider-horizontal .k-slider-bottomright .k-tick-large {
    background-position: center -62px;
}
.k-slider-horizontal .k-first {
    background-position: 0 -92px;
}
.k-slider-horizontal .k-tick-large.k-first {
    background-position: 0 -2px;
}
.k-slider-horizontal .k-slider-topleft .k-first {
    background-position: 0 -122px;
}
.k-slider-horizontal .k-slider-topleft .k-tick-large.k-first {
    background-position: 0 -32px;
}
.k-slider-horizontal .k-slider-bottomright .k-first {
    background-position: 0 -152px;
}
.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-first {
    background-position: 0 -62px;
}
.k-slider-horizontal .k-last {
    background-position: 100% -92px;
}
.k-slider-horizontal .k-tick-large.k-last {
    background-position: 100% -2px;
}
.k-slider-horizontal .k-slider-topleft .k-last {
    background-position: 100% -122px;
}
.k-slider-horizontal .k-slider-topleft .k-tick-large.k-last {
    background-position: 100% -32px;
}
.k-slider-horizontal .k-slider-bottomright .k-last {
    background-position: 100% -152px;
}
.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-last {
    background-position: 100% -62px;
}
.k-slider-horizontal .k-label {
    inset-inline-start: 50%;
    bottom: -1.2em;
    transform: translateX(-50%);
}
.k-slider-horizontal .k-first .k-label {
    inset-inline-start: 0;
}
.k-slider-horizontal .k-last .k-label {
    inset-inline-start: 100%;
}
.k-slider-horizontal .k-slider-topleft .k-label {
    top: -1.2em;
}

.k-slider-track,
.k-slider-selection {
    margin: 0;
    padding: 0;
    position: absolute;
}
.k-slider-horizontal .k-slider-track,
.k-slider-horizontal .k-slider-selection {
    height: 4px;
    left: 0;
    margin-top: -2px;
    top: 50%;
}
.k-slider-vertical .k-slider-track,
.k-slider-vertical .k-slider-selection {
    bottom: 0;
    left: 50%;
    margin-left: -2px;
    width: 4px;
}

.k-draghandle {
    background-color: transparent;
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 1px;
    outline: 0;
    position: absolute;
    text-align: center;
    text-decoration: none;
    width: 14px;
    height: 14px;
}
.k-slider-transitions.k-slider-horizontal .k-draghandle {
    transition: inset-inline-start 0.3s ease-out, background-color 0.3s ease-out, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.k-slider-transitions.k-slider-vertical .k-draghandle {
    transition: bottom 0.3s ease-out, background-color 0.3s ease-out, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.k-draghandle.k-pressed {
    transition: none;
}

.k-slider-transitions.k-slider-horizontal .k-slider-selection {
    transition: width 0.3s ease-out;
}
.k-slider-transitions.k-slider-vertical .k-slider-selection {
    transition: height 0.3s ease-out;
}
.k-slider-selection.k-pressed {
    transition: none;
}

.k-slider.k-readonly .k-button,
.k-slider.k-readonly .k-slider-track,
.k-slider.k-readonly .k-tick,
.k-slider.k-readonly .k-draghandle {
    pointer-events: none;
}

.k-slider-tooltip .k-callout-n,
.k-slider-tooltip .k-callout-s {
    margin-inline-start: -0.2rem;
}
.k-slider-tooltip .k-callout-w,
.k-slider-tooltip .k-callout-e {
    margin-top: -0.2rem;
}

.k-slider-rtl.k-slider-horizontal .k-draghandle, .k-slider-horizontal.k-slider[dir=rtl] .k-draghandle,
[dir=rtl] .k-slider-horizontal.k-slider .k-draghandle,
.k-slider-horizontal.k-slider.k-rtl .k-draghandle,
.k-rtl .k-slider-horizontal.k-slider .k-draghandle {
    transform: translate(50%, -50%);
}
.k-slider-rtl.k-slider-horizontal .k-draghandle:focus, .k-slider-horizontal.k-slider[dir=rtl] .k-draghandle:focus,
[dir=rtl] .k-slider-horizontal.k-slider .k-draghandle:focus,
.k-slider-horizontal.k-slider.k-rtl .k-draghandle:focus,
.k-rtl .k-slider-horizontal.k-slider .k-draghandle:focus,
.k-slider-rtl.k-slider-horizontal .k-draghandle:active,
.k-slider-horizontal.k-slider[dir=rtl] .k-draghandle:active,
[dir=rtl] .k-slider-horizontal.k-slider .k-draghandle:active,
.k-slider-horizontal.k-slider.k-rtl .k-draghandle:active,
.k-rtl .k-slider-horizontal.k-slider .k-draghandle:active {
    transform: translate(50%, -50%) scale(1);
}
.k-slider-rtl.k-slider-horizontal .k-label, .k-slider-horizontal.k-slider[dir=rtl] .k-label,
[dir=rtl] .k-slider-horizontal.k-slider .k-label,
.k-slider-horizontal.k-slider.k-rtl .k-label,
.k-rtl .k-slider-horizontal.k-slider .k-label {
    transform: translateX(50%);
}

.k-slider kendo-resize-sensor {
    position: absolute;
}

.k-slider {
    color: #212529;
}
.k-slider .k-slider-track,
.k-slider .k-slider-selection {
    border-radius: 0.375rem;
}
.k-slider .k-slider-track {
    background-color: #e9ecef;
}
.k-slider .k-slider-selection {
    background-color: limegreen;
}
.k-slider .k-draghandle {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
    border-radius: 50%;
}
.k-slider .k-draghandle:hover {
    border-color: #28a428;
    color: black;
    background-color: #2bae2b;
}
.k-slider .k-draghandle:active, .k-slider .k-draghandle.k-pressed {
    border-color: #269a26;
    color: black;
    background-color: #28a428;
}
.k-slider .k-draghandle:focus, .k-slider .k-draghandle.k-focus {
    box-shadow: 0 0 0 3px rgba(50, 205, 50, 0.5);
}
.k-slider.k-focus .k-draghandle {
    box-shadow: 0 0 0 3px rgba(50, 205, 50, 0.5);
}
.k-slider-horizontal .k-tick {
    background-image: url(data:image/gif;base64,R0lGODlhAQC0AIABALi4uAAAACH5BAEAAAEALAAAAAABALQAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);
}

.k-slider-vertical .k-tick {
    background-image: url(data:image/gif;base64,R0lGODlhtAABAIABALi4uAAAACH5BAEAAAEALAAAAAC0AAEAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);
}

.k-calendar {
    inline-size: var(--INTERNAL--kendo-calendar-width, min-content);
    block-size: var(--INTERNAL--kendo-calendar-height, min-content);
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    flex-flow: column nowrap;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-calendar > .k-calendar {
    border: 0;
}

.k-calendar-table {
    margin-block: 0;
    margin-inline: auto;
    border-width: 0;
    border-color: inherit;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    text-align: center;
    outline: 0;
    display: table;
    position: relative;
    z-index: 1;
}

.k-calendar-caption,
.k-calendar-caption.k-calendar-th,
.k-calendar .k-meta-header,
.k-calendar .k-month-header {
    padding-block: 0.25rem;
    padding-inline: 0.75rem;
    height: 38px;
    box-sizing: border-box;
    text-transform: none;
    text-align: start;
    font-weight: bold;
    cursor: default;
}

.k-calendar-th,
.k-calendar-td {
    border-width: 0;
    padding: 0;
    text-align: center;
    border-style: solid;
    border-color: inherit;
    font-weight: normal;
    cursor: default;
}

.k-calendar-th {
    inline-size: var(--INTERNAL--kendo-calendar-cell-size, 38px);
    block-size: var(--INTERNAL--kendo-calendar-cell-size, 38px);
    font-size: 0.875rem;
    line-height: 2;
    text-transform: uppercase;
}

.k-calendar-td {
    border-radius: 0.375rem;
    inline-size: var(--INTERNAL--kendo-calendar-cell-size, min-content);
    block-size: var(--INTERNAL--kendo-calendar-cell-size, min-content);
    border-color: transparent;
}

.k-calendar .k-calendar-cell-inner, .k-calendar .k-link {
    border-radius: 0.375rem;
    padding-inline: var(--INTERNAL--kendo-calendar-cell-padding-x, 0.25rem);
    padding-block: var(--INTERNAL--kendo-calendar-cell-padding-y, 0.25rem);
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    white-space: normal;
    position: relative;
    overflow: hidden;
}

.k-calendar .k-header {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    position: relative;
    z-index: 2;
}

.k-calendar-header {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    min-width: 304px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
}
.k-calendar-header .k-title,
.k-calendar-header .k-calendar-title {
    font-weight: bold;
}
.k-calendar-header .k-calendar-nav {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.k-calendar-footer,
.k-calendar .k-footer {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    text-align: center;
    clear: both;
}

.k-calendar-view {
    margin: auto;
    padding-block: 0;
    padding-inline: 0.25rem;
    width: 304px;
    inline-size: var(--INTERNAL--kendo-calendar-view-width, 304px);
    min-height: 266px;
    box-sizing: content-box;
    gap: 1rem;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.k-month-calendar .k-calendar-td,
.k-calendar-monthview .k-calendar-td {
    width: 38px;
    height: 38px;
    inline-size: var(--INTERNAL--kendo-calendar-cell-size, 38px);
    block-size: var(--INTERNAL--kendo-calendar-cell-size, 38px);
}

.k-year-calendar .k-calendar-td,
.k-calendar-yearview .k-calendar-td {
    width: 76px;
    height: 76px;
    inline-size: var(--INTERNAL--kendo-calendar-cell-size, 76px);
    block-size: var(--INTERNAL--kendo-calendar-cell-size, 76px);
}

.k-decade-calendar .k-calendar-td,
.k-calendar-decadeview .k-calendar-td {
    width: 76px;
    height: 76px;
    inline-size: var(--INTERNAL--kendo-calendar-cell-size, 76px);
    block-size: var(--INTERNAL--kendo-calendar-cell-size, 76px);
}

.k-century-calendar .k-calendar-td,
.k-calendar-centuryview .k-calendar-td {
    width: 76px;
    height: 76px;
    inline-size: var(--INTERNAL--kendo-calendar-cell-size, 76px);
    block-size: var(--INTERNAL--kendo-calendar-cell-size, 76px);
}
.k-century-calendar .k-calendar-cell-inner, .k-century-calendar .k-link,
.k-calendar-centuryview .k-calendar-cell-inner,
.k-calendar-centuryview .k-link {
    text-align: start;
}

.k-popup .k-calendar {
    height: 100%;
}

.k-calendar-container,
.k-datetime-container {
    padding: 0;
}
.k-calendar-container .k-calendar,
.k-datetime-container .k-calendar {
    border-width: 0;
}

.k-calendar .k-content.k-scrollable,
.k-calendar .k-calendar-content.k-scrollable {
    box-sizing: content-box;
    overflow-x: hidden;
    overflow-y: auto;
    display: block;
    padding-right: 100px;
    padding-left: 100px;
    margin-left: -100px;
    margin-right: calc(-100px - var(--kendo-scrollbar-width, 17px));
}

.k-calendar .k-scrollable-placeholder {
    position: absolute;
    z-index: -1;
    width: 1px;
    top: 0;
    right: 0;
}

.k-calendar-sm {
    --INTERNAL--kendo-calendar-view-width: 272px;
    --INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-sm-cell-padding-x, 0.125rem );
    --INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-sm-cell-padding-y, 0.125rem );
    font-size: 1rem;
    line-height: 1.5;
}
.k-calendar-sm.k-month-calendar,
.k-calendar-sm .k-calendar-monthview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-month-cell-size, 34px );
}
.k-calendar-sm.k-year-calendar,
.k-calendar-sm .k-calendar-yearview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-year-cell-size, 68px );
}
.k-calendar-sm.k-decade-calendar,
.k-calendar-sm .k-calendar-decadeview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-decade-cell-size, 68px );
}
.k-calendar-sm.k-century-calendar,
.k-calendar-sm .k-calendar-centuryview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-sm-century-cell-size, 68px );
}

.k-calendar-md {
    --INTERNAL--kendo-calendar-view-width: 304px;
    --INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-md-cell-padding-x, 0.25rem );
    --INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-md-cell-padding-y, 0.25rem );
    font-size: 1rem;
    line-height: 1.5;
}
.k-calendar-md.k-month-calendar,
.k-calendar-md .k-calendar-monthview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-month-cell-size, 38px );
}
.k-calendar-md.k-year-calendar,
.k-calendar-md .k-calendar-yearview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-year-cell-size, 76px );
}
.k-calendar-md.k-decade-calendar,
.k-calendar-md .k-calendar-decadeview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-decade-cell-size, 76px );
}
.k-calendar-md.k-century-calendar,
.k-calendar-md .k-calendar-centuryview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-md-century-cell-size, 76px );
}

.k-calendar-lg {
    --INTERNAL--kendo-calendar-view-width: 336px;
    --INTERNAL--kendo-calendar-cell-padding-x: var( --kendo-calendar-lg-cell-padding-x, 0.25rem );
    --INTERNAL--kendo-calendar-cell-padding-y: var( --kendo-calendar-lg-cell-padding-y, 0.25rem );
    font-size: 1.25rem;
    line-height: 2;
}
.k-calendar-lg.k-month-calendar,
.k-calendar-lg .k-calendar-monthview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-month-cell-size, 42px );
}
.k-calendar-lg.k-year-calendar,
.k-calendar-lg .k-calendar-yearview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-year-cell-size, 84px );
}
.k-calendar-lg.k-decade-calendar,
.k-calendar-lg .k-calendar-decadeview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-decade-cell-size, 84px );
}
.k-calendar-lg.k-century-calendar,
.k-calendar-lg .k-calendar-centuryview {
    --INTERNAL--kendo-calendar-cell-size: var( --kendo-calendar-lg-century-cell-size, 84px );
}

.k-calendar-infinite {
    box-sizing: content-box;
    display: inline-flex;
    flex-flow: row nowrap;
}
.k-calendar-infinite .k-calendar-view {
    padding-block: 0px;
    padding-inline: 1rem;
    height: 342px;
    flex: 0 0 auto;
    display: flex;
    flex-flow: column nowrap;
    gap: 0;
    overflow: hidden;
}
.k-calendar-infinite .k-calendar-view .k-content.k-scrollable {
    position: relative;
}
.k-calendar-infinite .k-calendar-view::after {
    display: block;
    position: absolute;
    bottom: 0;
    content: "​";
    height: 0;
    line-height: 0;
    z-index: 1;
    width: 150%;
    left: -25%;
    box-shadow: 0 0 38px 19px #ffffff;
}
.k-calendar-infinite .k-calendar-header {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    width: auto;
    min-width: 0;
}
.k-calendar-infinite .k-calendar-weekdays {
    flex: 0 0 auto;
}

.k-calendar-navigation {
    width: 5em;
    text-align: center;
    flex: 0 0 auto;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.k-calendar-navigation::before, .k-calendar-navigation::after {
    display: block;
    position: absolute;
    content: "​";
    height: 0;
    line-height: 0;
    z-index: 1;
    width: 200%;
    left: -50%;
    box-shadow: 0 0 6em 3em #f8f9fa;
}
.k-calendar-navigation::before {
    top: 0;
}
.k-calendar-navigation::after {
    bottom: 0;
}
.k-calendar-navigation .k-content,
.k-calendar-navigation .k-calendar-content {
    background: transparent;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.k-calendar-navigation .k-content ul,
.k-calendar-navigation .k-calendar-content ul {
    width: 5em;
}
.k-calendar-navigation .k-content li,
.k-calendar-navigation .k-calendar-content li {
    height: 2em;
    line-height: 2em;
    cursor: pointer;
    padding-block: 0;
    padding-inline: 1em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: clip;
}
.k-calendar-navigation .k-calendar-navigation-marker {
    font-weight: bold;
}
.k-calendar-navigation .k-calendar-navigation-highlight {
    width: 100%;
    border-width: 1px 0;
    border-style: solid;
    height: 2em;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.k-calendar-range {
    width: auto;
}
.k-calendar-range .k-calendar-view {
    width: auto;
    white-space: nowrap;
}
.k-calendar-range .k-calendar-view::after {
    display: none;
}
.k-calendar-range .k-calendar-view:focus {
    outline: 0;
}
.k-calendar-range .k-range-start {
    border-color: inherit;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.k-calendar-range .k-range-end {
    border-color: inherit;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.k-calendar-range .k-range-mid {
    border-color: inherit;
    border-radius: 0;
}

.k-rtl .k-calendar .k-content.k-scrollable,
.k-rtl .k-calendar .k-calendar-content.k-scrollable,
[dir=rtl] .k-calendar .k-content.k-scrollable,
[dir=rtl] .k-calendar .k-calendar-content.k-scrollable,
.k-calendar.k-rtl .k-content.k-scrollable,
.k-calendar.k-rtl .k-calendar-content.k-scrollable,
.k-calendar[dir=rtl] .k-content.k-scrollable,
.k-calendar[dir=rtl] .k-calendar-content.k-scrollable {
    padding-right: 100px;
    padding-left: 100px;
    margin-left: calc(-100px - var(--kendo-scrollbar-width, 17px));
    margin-right: -100px;
}

.k-calendar {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-calendar .k-header {
    border-color: inherit;
    color: #212529;
    background-color: #f8f9fa;
    box-shadow: none;
}
.k-calendar .k-calendar-th,
.k-calendar .k-calendar-caption,
.k-calendar .k-meta-header,
.k-calendar .k-month-header {
    color: #6c757d;
}
.k-calendar .k-calendar-view .k-today .k-calendar-cell-inner, .k-calendar .k-calendar-view .k-today .k-link {
    box-shadow: inset 0 0 0 1px limegreen;
}
.k-calendar .k-calendar-view .k-today.k-focus .k-calendar-cell-inner, .k-calendar .k-calendar-view .k-today.k-focus .k-link {
    box-shadow: inset 0 0 0 1px limegreen, inset 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-calendar .k-other-month {
    color: #6c757d;
}
.k-calendar .k-alt {
    background-color: transparent;
    color: #6c757d;
}
.k-calendar .k-out-of-range {
    pointer-events: none;
}
.k-calendar .k-calendar-td:hover .k-calendar-cell-inner, .k-calendar .k-calendar-td:hover .k-link,
.k-calendar .k-calendar-td.k-hover .k-calendar-cell-inner,
.k-calendar .k-calendar-td.k-hover .k-link {
    border-color: #d6d9dc;
    color: #212529;
    background-color: #e9ecef;
}
.k-calendar .k-calendar-td.k-selected .k-calendar-cell-inner, .k-calendar .k-calendar-td.k-selected .k-link {
    border-color: #2ebd2e;
    color: black;
    background-color: limegreen;
}
.k-calendar .k-calendar-td.k-selected:hover .k-calendar-cell-inner, .k-calendar .k-calendar-td.k-selected:hover .k-link,
.k-calendar .k-calendar-td.k-selected.k-hover .k-calendar-cell-inner,
.k-calendar .k-calendar-td.k-selected.k-hover .k-link {
    border-color: #e4e5e6;
    color: black;
    background-color: #30c530;
}
.k-calendar .k-calendar-td:focus .k-calendar-cell-inner, .k-calendar .k-calendar-td:focus .k-link,
.k-calendar .k-calendar-td.k-focus .k-calendar-cell-inner,
.k-calendar .k-calendar-td.k-focus .k-link {
    box-shadow: inset 0 0 0 0.25rem rgba(228, 231, 235, 0.5);
}
.k-calendar .k-calendar-td.k-selected:focus .k-calendar-cell-inner, .k-calendar .k-calendar-td.k-selected:focus .k-link,
.k-calendar .k-calendar-td.k-selected.k-focus .k-calendar-cell-inner,
.k-calendar .k-calendar-td.k-selected.k-focus .k-link {
    box-shadow: inset 0 0 0 2px rgba(38, 154, 38, 0.5);
}
.k-calendar .k-calendar-navigation {
    color: #212529;
    background-color: #f8f9fa;
    box-shadow: inset -1px 0 #dee2e6;
}
.k-calendar .k-calendar-navigation li:hover,
.k-calendar .k-calendar-navigation li.k-hover {
    color: #28a428;
}
.k-calendar .k-calendar-navigation-highlight {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-calendar[dir=rtl] .k-calendar-navigation, .k-rtl .k-calendar .k-calendar-navigation {
    box-shadow: inset 1px 0 #dee2e6;
}
.k-calendar.k-invalid, .k-calendar.k-invalid:hover, .k-calendar.ng-invalid.ng-touched, .k-calendar.ng-invalid.ng-dirty {
    border-color: #dc3545;
}

.k-scheduler .k-calendar .k-other-month {
    color: #6c757d;
    background-color: transparent;
}

.k-calendar .k-range-start,
.k-calendar .k-range-end,
.k-calendar .k-range-mid {
    background-color: rgba(50, 205, 50, 0.25);
}
.k-calendar .k-range-start.k-range-end {
    background-image: none;
    background-color: transparent;
}
.k-calendar .k-range-start .k-calendar-cell-inner, .k-calendar .k-range-start .k-link,
.k-calendar .k-range-end .k-calendar-cell-inner,
.k-calendar .k-range-end .k-link {
    background-color: limegreen;
}
.k-calendar .k-range-start.k-active .k-calendar-cell-inner, .k-calendar .k-range-start.k-active .k-link,
.k-calendar .k-range-end.k-active .k-calendar-cell-inner,
.k-calendar .k-range-end.k-active .k-link {
    box-shadow: inset 0 0 2px 2px rgba(0, 0, 0, 0.2);
}
.k-calendar .k-range-split-start,
.k-calendar .k-range-split-end {
    position: relative;
}
.k-calendar .k-range-split-start::after,
.k-calendar .k-range-split-end::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 5px;
}
.k-calendar .k-range-split-start::after {
    left: -5px;
    right: auto;
    background-image: linear-gradient(to left, rgba(50, 205, 50, 0.25), transparent 100%);
}
.k-calendar .k-range-split-end::after {
    right: -5px;
    left: auto;
    background-image: linear-gradient(to right, rgba(50, 205, 50, 0.25), transparent 100%);
}

.k-timeselector {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-flow: column nowrap;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-popup > .k-timeselector {
    border-width: 0;
}

.k-time-header,
.k-time-selector-header {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
}
.k-time-header .k-title,
.k-time-header .k-time-selector-header-title,
.k-time-selector-header .k-title,
.k-time-selector-header .k-time-selector-header-title {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    font-weight: bold;
    display: inline-block;
}
.k-time-header .k-time-now,
.k-time-selector-header .k-time-now {
    border-width: 0;
    line-height: inherit;
    cursor: pointer;
}

.k-actions.k-time-fast-selection, .k-time-fast-selection.k-edit-buttons,
.k-time-fast-selection.k-action-buttons,
.k-time-fast-selection.k-columnmenu-actions, .k-time-fast-selection.k-form-buttons {
    margin-top: 0;
}

.k-time-list-container {
    display: flex;
    position: relative;
    flex: 1 1 auto;
    overflow: hidden;
}

.k-time-highlight,
.k-time-list-highlight {
    width: 100%;
    height: calc(1.5rem + 0.5rem);
    border-width: 1px 0px;
    border-style: solid;
    box-sizing: border-box;
    position: absolute;
    top: calc(50% + 0.65625rem);
    left: 0;
    right: 0;
    transform: translateY(-50%);
    z-index: 1;
}

.k-time-list-wrapper {
    min-width: 4em;
    height: 240px;
    box-sizing: content-box;
    display: inline-flex;
    flex-flow: column nowrap;
    align-items: stretch;
    overflow: hidden;
    position: relative;
    text-align: center;
    flex: 1 1 auto;
}
.k-time-list-wrapper .k-title {
    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
    text-transform: capitalize;
    display: block;
}
.k-time-list-wrapper.k-focus::before, .k-time-list-wrapper.k-focus::after {
    display: block;
    content: "​";
    position: absolute;
    width: 100%;
    left: 0;
    pointer-events: none;
    height: calc(50% - calc(1.5rem + 0.5rem)/2);
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
}
.k-time-list-wrapper.k-focus::before {
    top: 1.3125rem;
}
.k-time-list-wrapper.k-focus::after {
    bottom: 0;
}

.k-time-list {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    flex: 1;
    position: relative;
    z-index: 1;
    outline: 0;
    overflow: hidden;
}
.k-time-list::before, .k-time-list::after {
    display: block;
    position: absolute;
    content: "​";
    height: 0;
    line-height: 0;
    z-index: 1;
    width: 200%;
    left: -50%;
}
.k-time-list::before {
    top: 0;
}
.k-time-list::after {
    bottom: 0;
}

.k-time-container,
.k-time-list-content {
    position: relative;
    flex: 1 1 auto;
    display: block;
    overflow-x: hidden;
    overflow-y: scroll;
    padding-right: 100px;
    padding-left: 100px;
    margin-left: -100px;
    margin-right: calc(-100px - var(--kendo-scrollbar-width, 17px));
}
.k-time-container > ul,
.k-time-list-content > ul {
    height: auto;
    width: 4em;
    margin: auto;
}
.k-time-container .k-scrollable-placeholder,
.k-time-list-content .k-scrollable-placeholder {
    position: absolute;
    width: 1px;
    top: 0;
    right: 0;
}

.k-time-list-item,
.k-time-list .k-item {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}

.k-time-separator {
    width: 0;
    height: calc(1.5rem + 0.5rem);
    align-self: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 11;
    top: calc(0.65625rem);
}

.k-timeselector-sm {
    font-size: 0.875rem;
    line-height: 1.4285714286;
}
.k-timeselector-sm .k-time-highlight,
.k-timeselector-sm .k-time-list-highlight {
    height: calc(1.25rem + 0.5rem);
}
.k-timeselector-sm .k-time-separator {
    height: calc(1.25rem + 0.5rem);
}
.k-timeselector-sm .k-time-list-item,
.k-timeselector-sm .k-time-list .k-item {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}

.k-timeselector-md {
    font-size: 1rem;
    line-height: 1.5;
}
.k-timeselector-md .k-time-highlight,
.k-timeselector-md .k-time-list-highlight {
    height: calc(1.5rem + 0.5rem);
}
.k-timeselector-md .k-time-separator {
    height: calc(1.5rem + 0.5rem);
}
.k-timeselector-md .k-time-list-item,
.k-timeselector-md .k-time-list .k-item {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}

.k-timeselector-lg {
    font-size: 1rem;
    line-height: 1.5;
}
.k-timeselector-lg .k-time-highlight,
.k-timeselector-lg .k-time-list-highlight {
    height: calc(1.5rem + 1rem);
}
.k-timeselector-lg .k-time-separator {
    height: calc(1.5rem + 1rem);
}
.k-timeselector-lg .k-time-list-item,
.k-timeselector-lg .k-time-list .k-item {
    padding-block: 0.5rem;
    padding-inline: 1rem;
}

.k-rtl .k-time-container,
.k-rtl .k-time-list-content,
[dir=rtl] .k-time-container,
[dir=rtl] .k-time-list-content {
    padding-right: 100px;
    padding-left: 100px;
    margin-left: calc(-100px - var(--kendo-scrollbar-width, 17px));
    margin-right: -100px;
}

.k-timeselector {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-time-header .k-time-now,
.k-time-selector-header .k-time-now {
    color: limegreen;
}
.k-time-header .k-time-now:hover,
.k-time-selector-header .k-time-now:hover {
    color: #28a428;
}

.k-time-list-wrapper .k-title {
    color: #6c757d;
}
.k-time-list-wrapper.k-focus .k-title {
    color: #212529;
}
.k-time-list-wrapper.k-focus::before, .k-time-list-wrapper.k-focus::after {
    background-color: rgba(0, 0, 0, 0.02);
}

.k-time-list::before, .k-time-list::after {
    box-shadow: 0 0 3em 1.5em #ffffff;
}
.k-time-list .k-item:hover {
    color: limegreen;
}

.k-time-container {
    background: transparent;
}

.k-time-highlight {
    border-color: #dee2e6;
    background-color: #ffffff;
}

.k-captcha {
    width: 335px;
    box-sizing: border-box;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    display: flex;
    flex-flow: column nowrap;
    gap: 0.5rem;
}
.k-captcha *,
.k-captcha *::before,
.k-captcha *::after {
    box-sizing: border-box;
}

.k-captcha-image-wrap {
    position: relative;
    gap: 0.5rem;
}

.k-captcha-image-controls {
    position: relative;
    gap: 0.5rem;
}

.k-captcha-image {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.k-captcha-image > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.k-captcha-loading .k-captcha-image {
    height: auto;
}

.k-captcha-volume-control {
    height: 100%;
}

.k-captcha-validation-message {
    margin-top: 0.25rem;
    font-size: 0.875rem;
    font-style: italic;
}

.k-captcha {
    border-color: #ffffff;
    color: #ffffff;
    background-color: #ffffff;
}

.k-colorpalette {
    border-width: 0;
    box-sizing: border-box;
    outline: 0;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 0;
    display: inline-flex;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-colorpalette *,
.k-colorpalette *::before,
.k-colorpalette *::after {
    box-sizing: border-box;
}

.k-colorpalette-table {
    width: 100%;
    height: 100%;
    border-collapse: collapse;
    position: relative;
}

.k-colorpalette-tile {
    width: 1.5rem;
    height: 1.5rem;
    box-sizing: border-box;
    overflow: hidden;
    cursor: pointer;
}
.k-colorpalette-tile:hover, .k-colorpalette-tile.k-hover {
    position: relative;
    z-index: 101;
}
.k-colorpalette-tile:focus, .k-colorpalette-tile.k-focus, .k-colorpalette-tile.k-selected, .k-colorpalette-tile.k-selected:hover {
    position: relative;
    z-index: 100;
}

.k-colorpalette-tile:focus, .k-colorpalette-tile.k-focus {
    box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}
.k-colorpalette-tile:hover, .k-colorpalette-tile.k-hover {
    box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.8);
}
.k-colorpalette-tile.k-selected, .k-colorpalette-tile.k-selected:hover {
    box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px white;
}

.k-colorgradient {
    border-radius: 0.375rem;
    width: 328px;
    padding-block: 1rem;
    padding-inline: 1rem;
    border-style: solid;
    border-width: 1px;
    box-sizing: border-box;
    outline: 0;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-colorgradient *,
.k-colorgradient *::before,
.k-colorgradient *::after {
    box-sizing: border-box;
}

.k-colorgradient-canvas {
    gap: 0.75rem;
}
.k-colorgradient-canvas .k-hsv-rectangle {
    border-radius: 0.375rem;
    position: relative;
    flex: 1 1 auto;
    user-select: none;
}
.k-colorgradient-canvas .k-hsv-gradient {
    border-radius: 0.375rem;
    height: 180px;
}
.k-colorgradient-canvas .k-hsv-draghandle {
    margin-top: -7px;
    margin-left: -7px;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    cursor: pointer;
}
.k-colorgradient-canvas .k-hsv-controls {
    position: relative;
    flex-shrink: 0;
    gap: 0.75rem;
}

.k-colorgradient .k-draghandle {
    border-radius: 50%;
    width: 14px;
    height: 14px;
    border-width: 1px;
    border-style: solid;
    outline-width: 1px;
    outline-style: solid;
    box-sizing: border-box;
}

.k-colorgradient-slider.k-slider-vertical {
    width: 10px;
    height: 180px;
    flex: 0 0 10px;
}
.k-colorgradient-slider.k-slider-vertical .k-slider-track {
    width: 10px;
    border-radius: 10px;
    margin-left: -5px;
}
.k-colorgradient-slider.k-slider-horizontal {
    width: 100%;
    height: 10px;
    flex: 0 0 10px;
}
.k-colorgradient-slider.k-slider-horizontal .k-slider-track {
    height: 10px;
    border-radius: 10px;
    margin-top: -5px;
}
.k-colorgradient-slider.k-alpha-slider .k-slider-track::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 10px;
    position: relative;
    z-index: -1;
}
.k-colorgradient-slider .k-slider-track-wrap {
    z-index: 1;
}
.k-colorgradient-slider .k-slider-selection {
    display: none;
}
.k-colorgradient-slider .k-draghandle {
    border-width: 3px;
}

.k-colorgradient-inputs {
    gap: 0.5rem;
}
.k-colorgradient-inputs .k-colorgradient-input-label {
    text-transform: uppercase;
}
.k-colorgradient-inputs > .k-vstack, .k-colorgradient-inputs > .k-vbox {
    gap: 0.25rem;
}
.k-colorgradient-inputs .k-numerictextbox {
    width: 56px;
}
.k-colorgradient-inputs .k-input-inner {
    padding-inline-start: 2px;
    padding-inline-end: 2px;
    text-align: center;
    text-overflow: clip;
}

.k-colorgradient-color-contrast > div {
    display: flex;
    flex-flow: row nowrap;
    gap: 0.5rem;
}
.k-colorgradient-color-contrast .k-contrast-ratio {
    margin-bottom: 0.5rem;
}
.k-colorgradient-color-contrast .k-contrast-ratio-text {
    font-weight: 700;
}
.k-colorgradient-color-contrast .k-contrast-validation {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.k-colorgradient-color-contrast .k-contrast-validation .k-icon {
    vertical-align: middle;
}
.k-colorgradient-color-contrast .k-contrast-validation .k-icon + .k-icon,
.k-colorgradient-color-contrast .k-contrast-validation .k-icon-wrapper-host + .k-icon-wrapper-host .k-icon {
    margin-inline-start: -13px;
}

.k-color-contrast-svg {
    position: absolute;
    top: 0;
    left: 0;
    overflow: visible;
    pointer-events: none;
}

.k-colorgradient {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-colorgradient:focus,
.k-colorgradient.k-focus {
    border-color: #d6d9dc;
}

.k-colorgradient-canvas .k-hsv-gradient {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), black), linear-gradient(to right, white, rgba(255, 255, 255, 0));
}

.k-colorgradient .k-draghandle {
    border-color: rgba(255, 255, 255, 0.8);
    background-color: transparent;
    outline-color: #000000;
    box-shadow: rgba(0, 0, 0, 0.5);
}
.k-colorgradient .k-draghandle:focus, .k-colorgradient .k-draghandle.k-focus {
    border-color: #ffffff;
    background-color: transparent;
    outline-color: #000000;
    box-shadow: rgba(0, 0, 0, 0.5);
}
.k-colorgradient .k-draghandle:hover, .k-colorgradient .k-draghandle.k-hover, .k-colorgradient .k-draghandle.k-active, .k-colorgradient .k-draghandle:active {
    border-color: #ffffff;
    background-color: transparent;
    outline-color: #000000;
}

.k-colorgradient-slider.k-hue-slider.k-slider-horizontal .k-slider-track {
    background: linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);
}
.k-colorgradient-slider.k-hue-slider.k-slider-vertical .k-slider-track {
    background: linear-gradient(to top, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);
}

.k-colorgradient-slider.k-alpha-slider .k-slider-track::before {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAuSURBVHgBxYyxDQAwDMJIL+YT+DjtzFRliUfLcklqBCRT4eCTxbD6kdL2/LgYXqpvCbs3kBv/AAAAAElFTkSuQmCC) center repeat;
}

.k-colorgradient-input-label {
    color: #6c757d;
}

.k-rtl .k-colorgradient .k-hue-slider.k-slider-horizontal .k-slider-track,
[dir=rtl] .k-colorgradient .k-hue-slider.k-slider-horizontal .k-slider-track {
    background: linear-gradient(to left, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);
}

.k-coloreditor {
    border-radius: 0.375rem;
    min-width: 328px;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
}
.k-coloreditor *,
.k-coloreditor *::before,
.k-coloreditor *::after {
    box-sizing: border-box;
}

.k-coloreditor-header {
    padding: 1rem 1rem 0;
}

.k-coloreditor-header-actions {
    gap: 0.5rem;
}

.k-coloreditor-preview {
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    justify-content: center;
    gap: 0.25rem;
    position: relative;
    z-index: 1;
}

.k-coloreditor-preview .k-color-preview {
    width: 32px;
    height: 12px;
}

.k-coloreditor-views {
    min-width: calc(var(--kendo-color-preview-width, 1.5rem) * var(--kendo-color-preview-columns, 10));
    padding-block: 1rem;
    padding-inline: 1rem;
    gap: 1rem;
}
.k-coloreditor-views .k-colorgradient {
    padding: 0;
    width: auto;
    border-width: 0;
}
.k-coloreditor-views .k-colorgradient:focus,
.k-coloreditor-views .k-colorgradient.k-focus {
    outline: 2px dotted;
    outline-offset: 2px;
    border-radius: 0;
}
.k-coloreditor-views .k-colorpalette {
    align-self: center;
}
.k-coloreditor-views .k-colorpalette-tile {
    width: var(--kendo-color-preview-width, 1.5rem);
    height: var(--kendo-color-preview-height, 1.5rem);
}

.k-coloreditor-footer.k-actions, .k-coloreditor-footer.k-edit-buttons,
.k-coloreditor-footer.k-action-buttons,
.k-coloreditor-footer.k-columnmenu-actions, .k-coloreditor-footer.k-form-buttons {
    margin: 0;
}

.k-coloreditor {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-coloreditor:focus,
.k-coloreditor.k-focus {
    border-color: #d6d9dc;
}

.k-coloreditor .k-colorgradient:focus,
.k-coloreditor .k-colorgradient.k-focus {
    box-shadow: none;
    outline-color: rgba(0, 0, 0, 0.3);
}

.k-color-picker, .k-colorpicker {
    width: min-content;
}

.k-datetime-selector {
    display: flex;
    transition: transform 0.2s;
}

.k-datetime-wrap {
    width: calc(304px + 2rem);
    overflow: hidden;
}
.k-datetime-wrap .k-datetime-buttongroup {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-datetime-wrap .k-calendar,
.k-datetime-wrap .k-timeselector {
    width: 100%;
    border-width: 0;
}

.k-datetime-calendar-wrap,
.k-datetime-time-wrap {
    text-align: center;
    flex: 0 0 calc(304px + 2rem);
}

.k-date-tab .k-datetime-selector {
    transform: translateX(0);
}

.k-time-tab .k-datetime-selector {
    transform: translateX(-100%);
}

.k-time-tab .k-datetime-selector.k-rtl, .k-time-tab .k-datetime-selector[dir=rtl], .k-rtl .k-time-tab .k-datetime-selector, [dir=rtl] .k-time-tab .k-datetime-selector {
    transform: translateX(100%);
}

.k-daterange-picker, .k-daterangepicker {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-end;
    gap: 0.5rem;
}
.k-daterange-picker *, .k-daterangepicker *,
.k-daterange-picker *::before,
.k-daterangepicker *::before,
.k-daterange-picker *::after,
.k-daterangepicker *::after {
    box-sizing: border-box;
}
.k-daterange-picker .k-dateinput, .k-daterangepicker .k-dateinput {
    width: 10em;
}

.k-daterangepicker-wrap {
    display: inherit;
    flex-flow: inherit;
    align-items: inherit;
    gap: inherit;
}

.k-dropdowngrid-popup {
    overflow: hidden;
}

.k-dropdowngrid-popup > .k-data-table {
    border-width: 0;
}

.k-dropdown-operator {
    width: min-content;
    flex: none;
}
.k-dropdown-operator .k-input-button {
    border-width: 0;
    width: min-content;
}
.k-dropdown-operator .k-input-button .k-button-icon {
    width: auto;
    aspect-ratio: 1;
}
.k-dropdown-operator .k-input-inner {
    display: none;
}

.k-treeview {
    padding: 0;
    border-width: 0;
    background: none;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: block;
    cursor: default;
    overflow: auto;
    white-space: nowrap;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-treeview *,
.k-treeview *::before,
.k-treeview *::after {
    box-sizing: border-box;
}

.k-treeview-filter {
    padding: 0.5rem;
    display: block;
    position: relative;
    flex: none;
}

.k-treeview-group {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
    outline: 0;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-treeview-group.ng-animating {
    overflow: hidden;
}

.k-treeview-top,
.k-treeview-mid,
.k-treeview-bot {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-content: center;
}

.k-treeview-item {
    outline-style: none;
    margin: 0;
    padding: 0 0 0 24px;
    border-width: 0;
    display: block;
}

.k-treeview-toggle {
    margin-inline-start: -24px;
    flex: none;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    cursor: pointer;
}

.k-treeview-toggle .k-icon {
    padding: 0.25rem;
    box-sizing: content-box;
}

.k-treeview-loading {
    margin-right: 0.5rem;
}

.k-treeview .k-checkbox-wrap,
.k-treeview .k-checkbox-wrapper {
    align-self: center;
}

.k-treeview-leaf {
    border-radius: 0.25rem;
    padding-block: 0.25rem;
    padding-inline: 0.75rem;
    border: 0px solid transparent;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    align-content: center;
    vertical-align: middle;
    position: relative;
}
.k-treeview-leaf .k-icon,
.k-treeview-leaf .k-image,
.k-treeview-leaf .k-sprite {
    margin-right: 0.5rem;
}
.k-treeview-leaf.k-focus {
    z-index: 1;
}

.k-treeview .k-treeview-load-more-button {
    cursor: pointer;
}
.k-treeview .k-treeview-load-more-button:hover, .k-treeview .k-treeview-load-more-button.k-hover, .k-treeview .k-treeview-load-more-button:focus, .k-treeview .k-treeview-load-more-button.k-focus {
    text-decoration: underline;
}

.k-rtl .k-treeview .k-treeview-item,
[dir=rtl] .k-treeview .k-treeview-item,
.k-treeview.k-rtl .k-treeview-item,
.k-treeview[dir=rtl] .k-treeview-item {
    padding-left: 0;
    padding-right: 24px;
}
.k-rtl .k-treeview .k-treeview-loading,
[dir=rtl] .k-treeview .k-treeview-loading,
.k-treeview.k-rtl .k-treeview-loading,
.k-treeview[dir=rtl] .k-treeview-loading {
    margin-right: 0;
    margin-left: 0.5rem;
}
.k-rtl .k-treeview .k-treeview-leaf .k-icon,
.k-rtl .k-treeview .k-treeview-leaf .k-image,
.k-rtl .k-treeview .k-treeview-leaf .k-sprite,
.k-rtl .k-treeview .k-in .k-icon,
.k-rtl .k-treeview .k-in .k-image,
.k-rtl .k-treeview .k-in .k-sprite,
[dir=rtl] .k-treeview .k-treeview-leaf .k-icon,
[dir=rtl] .k-treeview .k-treeview-leaf .k-image,
[dir=rtl] .k-treeview .k-treeview-leaf .k-sprite,
[dir=rtl] .k-treeview .k-in .k-icon,
[dir=rtl] .k-treeview .k-in .k-image,
[dir=rtl] .k-treeview .k-in .k-sprite,
.k-treeview.k-rtl .k-treeview-leaf .k-icon,
.k-treeview.k-rtl .k-treeview-leaf .k-image,
.k-treeview.k-rtl .k-treeview-leaf .k-sprite,
.k-treeview.k-rtl .k-in .k-icon,
.k-treeview.k-rtl .k-in .k-image,
.k-treeview.k-rtl .k-in .k-sprite,
.k-treeview[dir=rtl] .k-treeview-leaf .k-icon,
.k-treeview[dir=rtl] .k-treeview-leaf .k-image,
.k-treeview[dir=rtl] .k-treeview-leaf .k-sprite,
.k-treeview[dir=rtl] .k-in .k-icon,
.k-treeview[dir=rtl] .k-in .k-image,
.k-treeview[dir=rtl] .k-in .k-sprite {
    margin-right: 0;
    margin-left: 0.5rem;
}

.k-treeview-sm {
    font-size: 0.875rem;
    line-height: 1.4285714286;
}
.k-treeview-sm .k-treeview-leaf {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
}
.k-treeview-sm .k-checkbox-wrap {
    padding-block: 0.125rem;
    padding-inline: 0.25rem;
}

.k-treeview-md {
    font-size: 1rem;
    line-height: 1.5;
}
.k-treeview-md .k-treeview-leaf {
    padding-block: 0.25rem;
    padding-inline: 0.75rem;
}
.k-treeview-md .k-checkbox-wrap {
    padding-inline: 0.25rem;
}

.k-treeview-lg {
    font-size: 1rem;
    line-height: 1.5;
}
.k-treeview-lg .k-treeview-leaf {
    padding-block: 0.5rem;
    padding-inline: 0.75rem;
}
.k-treeview-lg .k-checkbox-wrap {
    padding-inline: 0.25rem;
}

.k-treeview-leaf {
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.k-treeview {
    color: #212529;
}

.k-treeview-leaf:hover, .k-treeview-leaf.k-hover {
    border-color: #e9ecef;
    color: #212529;
    background-color: #e9ecef;
}
.k-treeview-leaf:focus, .k-treeview-leaf.k-focus {
    box-shadow: inset 0 0 0 2px rgba(33, 37, 41, 0.15);
}
.k-treeview-leaf.k-selected {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
}

.k-treeview .k-treeview-load-more-button {
    color: limegreen;
    background-color: transparent;
}
.k-treeview .k-treeview-load-more-button:hover, .k-treeview .k-treeview-load-more-button.k-hover {
    color: #28a428;
    background-color: transparent;
}
.k-treeview .k-treeview-load-more-button:focus, .k-treeview .k-treeview-load-more-button.k-focus {
    color: #28a428;
    background-color: transparent;
    box-shadow: inset 0 0 0 2px rgba(33, 37, 41, 0.15);
}

.k-popup-dropdowntree .k-treeview,
.k-dropdowntree-popup .k-treeview,
.k-multiselecttree-popup .k-treeview {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-popup-dropdowntree .k-check-all,
.k-dropdowntree-popup .k-check-all,
.k-multiselecttree-popup .k-check-all {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}

.k-multiselecttree .k-input-values {
    width: auto;
    max-width: 100%;
}
.k-multiselecttree .k-input-inner::before {
    content: "​";
    width: 0px;
    overflow: hidden;
    flex: none;
    display: inline-block;
    vertical-align: top;
}

.k-rating {
    margin: 0;
    padding: 0;
    border-width: 0;
    box-sizing: border-box;
    outline: 0;
    background: none;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: inline-flex;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-rating *,
.k-rating *::before,
.k-rating *::after {
    box-sizing: border-box;
}
.k-rating.k-readonly {
    pointer-events: none;
}

.k-rating-container {
    flex: 0 1 auto;
    position: relative;
    margin-block: 0;
    margin-inline: 0.5rem;
}
.k-rating-container .k-rating-item {
    display: inline-flex;
    position: relative;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    align-items: center;
    vertical-align: middle;
    margin: 0;
    outline: 0;
    overflow: hidden;
    transition: color 200ms ease-out 0s;
}
.k-rating-container .k-rating-item * {
    pointer-events: none;
}
.k-rating-container .k-rating-item .k-rating-precision-part,
.k-rating-container .k-rating-item .k-rating-precision-complement {
    display: inherit;
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    overflow: hidden;
}
.k-rating-container .k-rating-item .k-rating-precision-complement {
    direction: rtl;
}
.k-rating-container .k-rating-item svg {
    fill: currentColor;
}

.k-rating-label {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    line-height: 2;
    margin-block: 0.5rem;
    margin-inline: 1rem;
}

.k-rtl .k-rating-precision-part,
[dir=rtl] .k-rating-precision-part {
    left: auto;
    right: 0.5rem;
}
.k-rtl .k-rating-item .k-rating-precision-complement,
[dir=rtl] .k-rating-item .k-rating-precision-complement {
    direction: ltr;
}

.k-rating {
    color: #212529;
}
.k-rating:focus .k-rating-item > .k-icon, .k-rating.k-focus .k-rating-item > .k-icon {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}
.k-rating:focus .k-rating-item.k-selected > .k-icon, .k-rating.k-focus .k-rating-item.k-selected > .k-icon {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.k-rating-item {
    color: #6c757d;
}
.k-rating-item.k-selected {
    color: limegreen;
}
.k-rating-item.k-selected:focus, .k-rating-item.k-selected.k-focus {
    color: limegreen;
}
.k-rating-item:hover, .k-rating-item.k-hover {
    color: limegreen;
    cursor: pointer;
}

.k-switch {
    box-sizing: border-box;
    outline: 0;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    line-height: 1;
    position: relative;
    cursor: pointer;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-switch *,
.k-switch *::before,
.k-switch *::after {
    box-sizing: border-box;
}
.k-switch [type=checkbox] {
    display: none;
}
.k-switch[aria-readonly=true] {
    pointer-events: none;
}

.k-switch.k-readonly {
    pointer-events: none;
}

.k-switch-track {
    border-width: 1px;
    border-style: solid;
    outline: 0;
    display: flex;
    flex-flow: row nowrap;
    flex: 1 0 auto;
    position: relative;
    transition: background-color 200ms ease-in-out;
}

.k-switch-thumb-wrap {
    width: 0;
    height: 0;
    overflow: visible;
    position: absolute;
    transition: left 200ms ease-in-out;
    top: 50%;
}

.k-switch-thumb {
    display: block;
    position: absolute;
    transform: translate(-50%, -50%);
}

.k-switch-label-on,
.k-switch-label-off {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    overflow: hidden;
}

.k-switch-sm {
    width: 48px;
    height: 26px;
}
.k-switch-sm .k-switch-track {
    width: 48px;
    height: 26px;
}
.k-switch-sm .k-switch-thumb {
    width: 20px;
    height: 20px;
}
.k-switch-sm.k-switch-on .k-switch-thumb-wrap {
    left: calc(100% - 10px - 3px);
}
.k-switch-sm.k-switch-off .k-switch-thumb-wrap {
    left: calc(10px + 3px);
}

.k-switch-sm[dir=rtl] .k-switch-label-on,
[dir=rtl] .k-switch-sm .k-switch-label-on,
.k-rtl .k-switch-sm .k-switch-label-on {
    left: auto;
}
.k-switch-sm[dir=rtl] .k-switch-label-off,
[dir=rtl] .k-switch-sm .k-switch-label-off,
.k-rtl .k-switch-sm .k-switch-label-off {
    right: auto;
}
.k-switch-sm[dir=rtl].k-switch-on .k-switch-thumb-wrap,
[dir=rtl] .k-switch-sm.k-switch-on .k-switch-thumb-wrap,
.k-rtl .k-switch-sm.k-switch-on .k-switch-thumb-wrap {
    left: calc(10px + 3px);
}
.k-switch-sm[dir=rtl].k-switch-off .k-switch-thumb-wrap,
[dir=rtl] .k-switch-sm.k-switch-off .k-switch-thumb-wrap,
.k-rtl .k-switch-sm.k-switch-off .k-switch-thumb-wrap {
    left: calc(100% - 10px - 3px);
}

.k-switch-md {
    width: 56px;
    height: 30px;
}
.k-switch-md .k-switch-track {
    width: 56px;
    height: 30px;
}
.k-switch-md .k-switch-thumb {
    width: 24px;
    height: 24px;
}
.k-switch-md.k-switch-on .k-switch-thumb-wrap {
    left: calc(100% - 12px - 3px);
}
.k-switch-md.k-switch-off .k-switch-thumb-wrap {
    left: calc(12px + 3px);
}

.k-switch-md[dir=rtl] .k-switch-label-on,
[dir=rtl] .k-switch-md .k-switch-label-on,
.k-rtl .k-switch-md .k-switch-label-on {
    left: auto;
}
.k-switch-md[dir=rtl] .k-switch-label-off,
[dir=rtl] .k-switch-md .k-switch-label-off,
.k-rtl .k-switch-md .k-switch-label-off {
    right: auto;
}
.k-switch-md[dir=rtl].k-switch-on .k-switch-thumb-wrap,
[dir=rtl] .k-switch-md.k-switch-on .k-switch-thumb-wrap,
.k-rtl .k-switch-md.k-switch-on .k-switch-thumb-wrap {
    left: calc(12px + 3px);
}
.k-switch-md[dir=rtl].k-switch-off .k-switch-thumb-wrap,
[dir=rtl] .k-switch-md.k-switch-off .k-switch-thumb-wrap,
.k-rtl .k-switch-md.k-switch-off .k-switch-thumb-wrap {
    left: calc(100% - 12px - 3px);
}

.k-switch-lg {
    width: 64px;
    height: 34px;
}
.k-switch-lg .k-switch-track {
    width: 64px;
    height: 34px;
}
.k-switch-lg .k-switch-thumb {
    width: 28px;
    height: 28px;
}
.k-switch-lg.k-switch-on .k-switch-thumb-wrap {
    left: calc(100% - 14px - 3px);
}
.k-switch-lg.k-switch-off .k-switch-thumb-wrap {
    left: calc(14px + 3px);
}

.k-switch-lg[dir=rtl] .k-switch-label-on,
[dir=rtl] .k-switch-lg .k-switch-label-on,
.k-rtl .k-switch-lg .k-switch-label-on {
    left: auto;
}
.k-switch-lg[dir=rtl] .k-switch-label-off,
[dir=rtl] .k-switch-lg .k-switch-label-off,
.k-rtl .k-switch-lg .k-switch-label-off {
    right: auto;
}
.k-switch-lg[dir=rtl].k-switch-on .k-switch-thumb-wrap,
[dir=rtl] .k-switch-lg.k-switch-on .k-switch-thumb-wrap,
.k-rtl .k-switch-lg.k-switch-on .k-switch-thumb-wrap {
    left: calc(14px + 3px);
}
.k-switch-lg[dir=rtl].k-switch-off .k-switch-thumb-wrap,
[dir=rtl] .k-switch-lg.k-switch-off .k-switch-thumb-wrap,
.k-rtl .k-switch-lg.k-switch-off .k-switch-thumb-wrap {
    left: calc(100% - 14px - 3px);
}

.k-switch[dir=rtl] .k-switch-thumb,
[dir=rtl] .k-switch .k-switch-thumb,
.k-switch.k-rtl .k-switch-thumb,
.k-rtl .k-switch .k-switch-thumb {
    transform: translate(50%, -50%);
}

.k-switch.k-disabled {
    opacity: 1;
    filter: none;
}

.k-switch-off .k-switch-track {
    border-color: #adb5bd;
    background-color: #ffffff;
}
.k-switch-off .k-switch-thumb {
    background-color: #adb5bd;
}
.k-switch-off:focus .k-switch-track, .k-switch-off.k-focus .k-switch-track {
    border-color: #99e699;
    outline: 0.25rem solid rgba(50, 205, 50, 0.25);
}
.k-switch-off:disabled .k-switch-track, .k-switch-off.k-disabled .k-switch-track {
    background-color: #e9ecef;
}
.k-switch-off .k-switch-label-on {
    color: transparent;
}

.k-switch-on .k-switch-track {
    border-color: limegreen;
    background-color: limegreen;
}
.k-switch-on .k-switch-thumb {
    background-color: black;
}
.k-switch-on:focus .k-switch-track, .k-switch-on.k-focus .k-switch-track {
    outline: 0.25rem solid rgba(50, 205, 50, 0.25);
}
.k-switch-on:disabled .k-switch-track, .k-switch-on.k-disabled .k-switch-track {
    background-color: #99e699;
}
.k-switch-on .k-switch-label-off {
    color: transparent;
}

.k-external-dropzone {
    height: 220px;
    display: flex;
    flex-flow: row nowrap;
}

.k-dropzone-inner {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    flex: 1 1 auto;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    position: relative;
}
.k-dropzone-inner .k-dropzone-icon {
    margin-bottom: 1.5rem;
}
.k-dropzone-inner .k-dropzone-hint {
    margin-bottom: 0.5rem;
}
.k-dropzone-inner .k-dropzone-note {
    font-size: 0.75rem;
}

.k-dropzone-inner {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-dropzone-inner .k-icon,
.k-dropzone-inner .k-dropzone-icon {
    color: #afb1b2;
}
.k-dropzone-inner .k-dropzone-note {
    color: #6c757d;
}

.k-external-dropzone-hover .k-icon,
.k-external-dropzone-hover .k-dropzone-icon {
    color: limegreen;
}

.k-upload {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    position: relative;
    display: block;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-upload *,
.k-upload *::before,
.k-upload *::after {
    box-sizing: border-box;
}
.k-upload .k-upload-button {
    min-width: 7em;
}
.k-upload .k-dropzone,
.k-upload .k-upload-dropzone {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 0;
    text-align: end;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    background-color: transparent;
}
.k-upload .k-dropzone .k-dropzone-hint,
.k-upload .k-upload-dropzone .k-dropzone-hint {
    font-style: normal;
    font-weight: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
    flex: 1;
}
.k-upload .k-dropzone .k-upload-status,
.k-upload .k-upload-dropzone .k-upload-status {
    font-weight: normal;
    display: flex;
    align-items: center;
    position: relative;
}
.k-upload .k-dropzone .k-upload-status > .k-icon,
.k-upload .k-upload-dropzone .k-upload-status > .k-icon {
    margin-inline-end: 0.5rem;
}
.k-upload .k-dropzone .k-upload-status + .k-dropzone-hint,
.k-upload .k-upload-dropzone .k-upload-status + .k-dropzone-hint {
    display: none;
}
.k-upload .k-dropzone-active .k-upload-status {
    display: none;
}
.k-upload .k-dropzone-active .k-upload-status + .k-dropzone-hint {
    display: block;
}
.k-upload .k-upload-files {
    max-height: 300px;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: inherit;
    list-style: none;
}
.k-upload .k-upload-files .k-file-multiple,
.k-upload .k-upload-files .k-file-single {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.k-upload .k-upload-files .k-file-single {
    align-items: center;
}
.k-upload .k-upload-files .k-file-multiple {
    align-items: flex-start;
}
.k-upload .k-upload-files .k-file {
    padding: 1rem 1rem calc(1rem + 2px);
    border-width: 0 0 1px;
    border-style: solid;
    outline: none;
    display: flex;
    align-items: flex-start;
    position: relative;
}
.k-upload .k-upload-files .k-file:last-child {
    border-width: 0;
}
.k-upload .k-upload-files .k-filename {
    margin-left: 1rem;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
}
.k-upload .k-upload-files .k-upload-pct {
    margin-block: 0;
    margin-inline: 0.5rem;
    font-weight: normal;
    vertical-align: middle;
}
.k-upload .k-upload-files ~ .k-clear-selected,
.k-upload .k-upload-files ~ .k-upload-selected {
    margin-top: -0.5rem;
    border-width: 0;
}
.k-upload .k-upload-files ~ .k-upload-selected {
    border-left-width: 1px;
    border-left-style: solid;
    margin-left: -1px;
}
.k-upload .k-upload-files .k-file-name,
.k-upload .k-upload-files .k-file-size,
.k-upload .k-upload-files .k-file-validation-message,
.k-upload .k-upload-files .k-file-summary {
    display: block;
}
.k-upload .k-upload-files .k-file-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
}
.k-upload .k-upload-files .k-file-size,
.k-upload .k-upload-files .k-file-summary,
.k-upload .k-upload-files .k-file-validation-message {
    font-size: 11px;
    line-height: 1;
}
.k-upload .k-upload-files .k-file-icon-wrapper .k-file-state {
    position: absolute;
}
.k-upload .k-upload-files .k-file-state {
    visibility: hidden;
}
.k-upload .k-upload-files .k-file-info {
    min-height: calc(16px * 2);
    display: block;
    overflow: hidden;
    flex: 1 0 0;
}
.k-upload .k-multiple-files-wrapper,
.k-upload .k-file-single > .k-file-info {
    margin-inline-start: 1rem;
    min-height: calc(16px * 2);
    display: block;
    overflow: hidden;
    flex: 1 0 0;
}
.k-upload .k-multiple-files-wrapper .k-file-info {
    margin-bottom: 12px;
    display: block;
}
.k-upload .k-multiple-files-wrapper .k-file-summary {
    margin-top: -4px;
}
.k-upload .k-progressbar {
    --kendo-progressbar-height: 2px;
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0.5rem;
    width: auto;
}
.k-upload .k-actions, .k-upload .k-edit-buttons,
.k-upload .k-action-buttons,
.k-upload .k-columnmenu-actions, .k-upload .k-form-buttons {
    border-top-width: 1px;
}

.k-upload-button-wrap {
    position: relative;
    direction: ltr;
}
.k-upload-button-wrap input {
    font: 170px monospace !important;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}
.k-upload-button-wrap input[disabled],
.k-upload-button-wrap input.k-disabled {
    visibility: hidden;
}

.k-upload {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-upload .k-dropzone,
.k-upload .k-upload-dropzone {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-upload .k-dropzone.k-hover,
.k-upload .k-upload-dropzone.k-hover {
    background-color: #f4f5f6;
}
.k-upload .k-dropzone .k-dropzone-hint,
.k-upload .k-upload-dropzone .k-dropzone-hint {
    color: #6c757d;
}
.k-upload .k-upload-files,
.k-upload .k-file {
    border-color: #dee2e6;
}
.k-upload .k-file.k-focus {
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);
}
.k-upload .k-file .k-upload-action.k-focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.13);
}
.k-upload .k-upload-status {
    color: #6c757d;
}
.k-upload .k-file-progress .k-progressbar .k-selected {
    background-color: #0dcaf0;
}
.k-upload .k-file-success .k-file-validation-message {
    color: #198754;
}
.k-upload .k-file-success .k-progressbar .k-selected {
    background-color: #198754;
}
.k-upload .k-file-error .k-file-validation-message {
    color: #dc3545;
}
.k-upload .k-file-error .k-progressbar .k-selected {
    background-color: #dc3545;
}
.k-upload .k-file-icon-wrapper {
    color: #6c757d;
    border-color: #6c757d;
}
.k-upload .k-file-size,
.k-upload .k-file-validation-message,
.k-upload .k-file-summary {
    color: #6c757d;
}
.k-upload .k-multiple-files-wrapper .k-file-summary {
    color: #212529;
}
.k-upload.k-invalid, .k-upload.ng-invalid.ng-touched, .k-upload.ng-invalid.ng-dirty {
    border-color: #dc3545;
}

.k-appbar {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    list-style: none;
    display: flex;
    gap: 0.5rem;
    flex-flow: row wrap;
    align-items: center;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-appbar *,
.k-appbar *::before,
.k-appbar *::after {
    box-sizing: border-box;
}
.k-appbar > * {
    flex-shrink: 0;
}
.k-appbar .k-appbar-section {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
}
.k-appbar .k-appbar-spacer {
    flex: 1 0 auto;
}
.k-appbar .k-appbar-spacer-sized {
    flex-grow: 0;
}
.k-appbar .k-appbar-separator {
    margin: 0;
    width: 0;
    min-height: 1em;
    border-style: solid;
    border-width: 0 0 0 1px;
    display: inline-block;
}
.k-appbar .k-input,
.k-appbar .k-picker {
    width: 10em;
}
.k-appbar .k-color-picker, .k-appbar .k-colorpicker {
    width: min-content;
}

.k-appbar-static {
    position: static;
}

.k-appbar-sticky {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.k-appbar-fixed {
    width: 100%;
    position: fixed;
    z-index: 1;
}

.k-appbar-top {
    top: 0;
    bottom: auto;
}

.k-appbar-bottom {
    top: auto;
    bottom: 0;
}
.k-appbar-bottom.k-appbar-fixed {
    bottom: 0;
}

.k-appbar {
    box-shadow: var(--kendo-elevation-4, 0px 6px 13px rgba(0, 0, 0, 0.125));
}

.k-appbar-bottom {
    box-shadow: var(--kendo-elevation-4, 0px 6px 13px rgba(0, 0, 0, 0.125));
}

.k-appbar-primary {
    color: white;
    background-color: limegreen;
}

.k-appbar-secondary {
    color: white;
    background-color: #9f1ae2;
}

.k-appbar-tertiary {
    color: white;
    background-color: #9f1ae2;
}

.k-appbar-info {
    color: white;
    background-color: #0dcaf0;
}

.k-appbar-success {
    color: white;
    background-color: #198754;
}

.k-appbar-warning {
    color: black;
    background-color: #ffc107;
}

.k-appbar-error {
    color: white;
    background-color: #dc3545;
}

.k-appbar-dark {
    color: white;
    background-color: #212529;
}

.k-appbar-light {
    color: black;
    background-color: #f8f9fa;
}

.k-appbar-inverse {
    color: white;
    background-color: #212529;
}

.k-fab {
    padding: 0;
    border-width: 0;
    border-style: solid;
    border-color: transparent;
    box-sizing: border-box;
    color: inherit;
    background-color: transparent;
    font-size: 1rem;
    line-height: 1.5;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    text-align: center;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    outline: none;
}
.k-fab *,
.k-fab *::before,
.k-fab *::after {
    box-sizing: border-box;
}
.k-fab:focus {
    outline: none;
}

.k-fab-icon {
    padding-inline: 0.25rem;
    padding-block: 0.25rem;
    box-sizing: content-box;
}
.k-icon-wrapper-host:not(:only-child) .k-fab-icon, .k-fab-icon:not(:only-child) {
    margin-inline-end: 0.125rem;
    margin-inline-start: -0.125rem;
}

.k-fab-sm {
    padding: 0.5rem 0.5rem;
}

.k-fab-md {
    padding: 1rem 1rem;
}

.k-fab-lg {
    padding: 1.5rem 1.5rem;
}

.k-fab-items {
    margin: 0;
    padding-block: 1rem;
    padding-inline: 0px;
    display: flex;
}

.k-fab-items-bottom {
    flex-direction: column;
}

.k-fab-items-bottom .k-fab-item:last-child {
    margin-block-end: 0;
}

.k-fab-items-top {
    flex-direction: column-reverse;
}

.k-fab-items-top .k-fab-item:first-child {
    margin-block-end: 0;
}

.k-fab-item {
    list-style-type: none;
    margin-block-end: 0.5rem;
    outline: none;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    cursor: pointer;
}
.k-fab-item.k-text-right {
    flex-direction: row;
}
.k-fab-item.k-text-right .k-fab-item-text {
    margin-right: 0.5rem;
}
.k-fab-item.k-text-left {
    flex-direction: row-reverse;
}
.k-fab-item.k-text-left .k-fab-item-text {
    margin-left: 0.5rem;
}

.k-fab-item-text {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    border-width: 1px;
    border-radius: 4px;
    font-size: 0.75rem;
    line-height: 14px;
}

.k-fab-item-icon {
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
    border-width: 0;
    border-radius: 50%;
    box-sizing: content-box;
    outline: none;
}

.k-rtl .k-fab-popup .k-fab-item.k-text-left,
[dir=rtl] .k-fab-popup .k-fab-item.k-text-left {
    flex-direction: row;
}
.k-rtl .k-fab-popup .k-fab-item.k-text-right,
[dir=rtl] .k-fab-popup .k-fab-item.k-text-right {
    flex-direction: row-reverse;
}

.k-fab-solid-primary {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid limegreen;
    outline-offset: -1px;
    border-color: limegreen;
    color: black;
    background-color: limegreen;
}

.k-fab-solid-secondary {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #9f1ae2;
    outline-offset: -1px;
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}

.k-fab-solid-tertiary {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #9f1ae2;
    outline-offset: -1px;
    border-color: #9f1ae2;
    color: white;
    background-color: #9f1ae2;
}

.k-fab-solid-info {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #0dcaf0;
    outline-offset: -1px;
    border-color: #0dcaf0;
    color: black;
    background-color: #0dcaf0;
}

.k-fab-solid-success {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #198754;
    outline-offset: -1px;
    border-color: #198754;
    color: white;
    background-color: #198754;
}

.k-fab-solid-warning {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #ffc107;
    outline-offset: -1px;
    border-color: #ffc107;
    color: black;
    background-color: #ffc107;
}

.k-fab-solid-error {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #dc3545;
    outline-offset: -1px;
    border-color: #dc3545;
    color: white;
    background-color: #dc3545;
}

.k-fab-solid-dark {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #212529;
    outline-offset: -1px;
    border-color: #212529;
    color: white;
    background-color: #212529;
}

.k-fab-solid-light {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #f8f9fa;
    outline-offset: -1px;
    border-color: #f8f9fa;
    color: black;
    background-color: #f8f9fa;
}

.k-fab-solid-inverse {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #212529;
    outline-offset: -1px;
    border-color: #212529;
    color: white;
    background-color: #212529;
}

.k-fab-solid-primary:hover,
.k-fab-solid-primary.k-hover {
    border-color: #28a428;
    color: black;
    background-color: #2bae2b;
}

.k-fab-solid-secondary:hover,
.k-fab-solid-secondary.k-hover {
    border-color: #7f15b4;
    color: white;
    background-color: #8716c0;
}

.k-fab-solid-tertiary:hover,
.k-fab-solid-tertiary.k-hover {
    border-color: #7f15b4;
    color: white;
    background-color: #8716c0;
}

.k-fab-solid-info:hover,
.k-fab-solid-info.k-hover {
    border-color: #0aa1c0;
    color: black;
    background-color: #0babcc;
}

.k-fab-solid-success:hover,
.k-fab-solid-success.k-hover {
    border-color: #115c39;
    color: white;
    background-color: #136740;
}

.k-fab-solid-warning:hover,
.k-fab-solid-warning.k-hover {
    border-color: #d39e00;
    color: black;
    background-color: #e0a800;
}

.k-fab-solid-error:hover,
.k-fab-solid-error.k-hover {
    border-color: #bd2130;
    color: white;
    background-color: #c82333;
}

.k-fab-solid-dark:hover,
.k-fab-solid-dark.k-hover {
    border-color: #0a0c0d;
    color: white;
    background-color: #101214;
}

.k-fab-solid-light:hover,
.k-fab-solid-light.k-hover {
    border-color: #dae0e5;
    color: black;
    background-color: #e2e6ea;
}

.k-fab-solid-inverse:hover,
.k-fab-solid-inverse.k-hover {
    border-color: #0a0c0d;
    color: white;
    background-color: #101214;
}

.k-fab-solid-primary:focus,
.k-fab-solid-primary.k-focus {
    outline: 3px solid rgba(50, 205, 50, 0.5);
}

.k-fab-solid-secondary:focus,
.k-fab-solid-secondary.k-focus {
    outline: 3px solid rgba(159, 26, 226, 0.5);
}

.k-fab-solid-tertiary:focus,
.k-fab-solid-tertiary.k-focus {
    outline: 3px solid rgba(159, 26, 226, 0.5);
}

.k-fab-solid-info:focus,
.k-fab-solid-info.k-focus {
    outline: 3px solid rgba(13, 202, 240, 0.5);
}

.k-fab-solid-success:focus,
.k-fab-solid-success.k-focus {
    outline: 3px solid rgba(25, 135, 84, 0.5);
}

.k-fab-solid-warning:focus,
.k-fab-solid-warning.k-focus {
    outline: 3px solid rgba(255, 193, 7, 0.5);
}

.k-fab-solid-error:focus,
.k-fab-solid-error.k-focus {
    outline: 3px solid rgba(220, 53, 69, 0.5);
}

.k-fab-solid-dark:focus,
.k-fab-solid-dark.k-focus {
    outline: 3px solid rgba(33, 37, 41, 0.5);
}

.k-fab-solid-light:focus,
.k-fab-solid-light.k-focus {
    outline: 3px solid rgba(248, 249, 250, 0.5);
}

.k-fab-solid-inverse:focus,
.k-fab-solid-inverse.k-focus {
    outline: 3px solid rgba(33, 37, 41, 0.5);
}

.k-fab-solid-primary:active,
.k-fab-solid-primary.k-active,
.k-fab-solid-primary.k-selected {
    border-color: #269a26;
    color: black;
    background-color: #28a428;
}

.k-fab-solid-secondary:active,
.k-fab-solid-secondary.k-active,
.k-fab-solid-secondary.k-selected {
    border-color: #7713a9;
    color: white;
    background-color: #7f15b4;
}

.k-fab-solid-tertiary:active,
.k-fab-solid-tertiary.k-active,
.k-fab-solid-tertiary.k-selected {
    border-color: #7713a9;
    color: white;
    background-color: #7f15b4;
}

.k-fab-solid-info:active,
.k-fab-solid-info.k-active,
.k-fab-solid-info.k-selected {
    border-color: #0a97b4;
    color: black;
    background-color: #0aa1c0;
}

.k-fab-solid-success:active,
.k-fab-solid-success.k-active,
.k-fab-solid-success.k-selected {
    border-color: #0f5133;
    color: white;
    background-color: #115c39;
}

.k-fab-solid-warning:active,
.k-fab-solid-warning.k-active,
.k-fab-solid-warning.k-selected {
    border-color: #c69500;
    color: black;
    background-color: #d39e00;
}

.k-fab-solid-error:active,
.k-fab-solid-error.k-active,
.k-fab-solid-error.k-selected {
    border-color: #b21f2d;
    color: white;
    background-color: #bd2130;
}

.k-fab-solid-dark:active,
.k-fab-solid-dark.k-active,
.k-fab-solid-dark.k-selected {
    border-color: #050506;
    color: white;
    background-color: #0a0c0d;
}

.k-fab-solid-light:active,
.k-fab-solid-light.k-active,
.k-fab-solid-light.k-selected {
    border-color: #d3d9df;
    color: black;
    background-color: #dae0e5;
}

.k-fab-solid-inverse:active,
.k-fab-solid-inverse.k-active,
.k-fab-solid-inverse.k-selected {
    border-color: #050506;
    color: white;
    background-color: #0a0c0d;
}

.k-fab-solid-primary:disabled,
.k-fab-solid-primary.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #7cdf7c;
    color: #666666;
    opacity: 1;
}

.k-fab-solid-secondary:disabled,
.k-fab-solid-secondary.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #c26cec;
    color: white;
    opacity: 1;
}

.k-fab-solid-tertiary:disabled,
.k-fab-solid-tertiary.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #c26cec;
    color: white;
    opacity: 1;
}

.k-fab-solid-info:disabled,
.k-fab-solid-info.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #64ddf5;
    color: #666666;
    opacity: 1;
}

.k-fab-solid-success:disabled,
.k-fab-solid-success.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #6cb292;
    color: white;
    opacity: 1;
}

.k-fab-solid-warning:disabled,
.k-fab-solid-warning.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #ffd760;
    color: #666666;
    opacity: 1;
}

.k-fab-solid-error:disabled,
.k-fab-solid-error.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #e97e88;
    color: white;
    opacity: 1;
}

.k-fab-solid-dark:disabled,
.k-fab-solid-dark.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #717376;
    color: white;
    opacity: 1;
}

.k-fab-solid-light:disabled,
.k-fab-solid-light.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #fbfbfc;
    color: #666666;
    opacity: 1;
}

.k-fab-solid-inverse:disabled,
.k-fab-solid-inverse.k-disabled {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: #717376;
    color: white;
    opacity: 1;
}

.k-fab-item-text {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
}

.k-fab-item-icon {
    border-color: #e4e7eb;
    color: #212529;
    background-color: #e4e7eb;
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #e4e7eb;
    outline-offset: -1px;
}

.k-fab-item:hover .k-fab-item-icon,
.k-fab-item.k-hover .k-fab-item-icon {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    outline: 1px solid #c7cdd5;
    outline-offset: -1px;
    border-color: #c7cdd5;
    color: black;
    background-color: #ced3db;
}

.k-fab-item:focus .k-fab-item-text,
.k-fab-item.k-focus .k-fab-item-text,
.k-fab-item:focus .k-fab-item-icon,
.k-fab-item.k-focus .k-fab-item-icon {
    outline: 3px solid rgba(228, 231, 235, 0.5);
}

.k-fab-item:active .k-fab-item-icon,
.k-fab-item.k-active .k-fab-item-icon {
    outline: 1px solid #bfc6d0;
    outline-offset: -1px;
    border-color: #bfc6d0;
    color: black;
    background-color: #c7cdd5;
}

.k-fab-item:disabled,
.k-fab-item.k-disabled {
    opacity: 1;
}
.k-fab-item:disabled .k-fab-item-text,
.k-fab-item:disabled .k-fab-item-icon,
.k-fab-item.k-disabled .k-fab-item-text,
.k-fab-item.k-disabled .k-fab-item-icon {
    box-shadow: var(--kendo-elevation-5, 0px 8px 16px 0px rgba(0, 0, 0, 0.15));
    background-color: white;
    color: #afb1b2;
}

.k-fab-popup {
    box-shadow: none;
}

.k-actionsheet-container {
    width: 100%;
    height: 100%;
    max-width: clamp(100vw, 100%, 100%);
    max-height: clamp(100vh, 100%, 100%);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    overflow: hidden;
    transform: translateZ(0);
}
.k-actionsheet-container > .k-overlay {
    position: absolute;
    z-index: 1;
}
.k-actionsheet-container > .k-animation-container {
    width: 100%;
    height: 100%;
    border-radius: 0;
    overflow: hidden;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    pointer-events: none;
}
.k-actionsheet-container > .k-animation-container > .k-child-animation-container {
    position: absolute;
}
.k-actionsheet-container > .k-actionsheet {
    position: absolute;
    z-index: 2;
}
.k-actionsheet-container .k-actionsheet {
    pointer-events: all;
}

.k-actionsheet {
    width: var(--kendo-actionsheet-width, 360px);
    height: var(--kendo-actionsheet-height, 60vh);
    max-width: var(--kendo-actionsheet-max-width, 100%);
    max-height: var(--kendo-actionsheet-max-height, 60vh);
    border-width: 0;
    border-style: solid;
    border-color: transparent;
    box-sizing: border-box;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    overflow: hidden;
    position: relative;
}
.k-actionsheet *,
.k-actionsheet *::before,
.k-actionsheet *::after {
    box-sizing: border-box;
}

.k-actionsheet-titlebar, .k-actionsheet-jq .k-actionsheet-header {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    border-width: 0;
    border-style: solid;
    border-color: transparent;
    flex: none;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    gap: 1rem;
}

.k-actionsheet-titlebar-group {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    width: 100%;
}

.k-actionsheet-title {
    flex: 1;
}

.k-actionsheet-subtitle {
    font-size: 0.875rem;
    line-height: 1.25;
}

.k-actionsheet-actions {
    flex: none;
}

.k-actionsheet-content {
    flex: 1;
    overflow: auto;
    position: relative;
}

.k-actionsheet-footer {
    flex: none;
}

.k-actionsheet-items {
    margin: 0;
    padding: 0;
    list-style: none;
    flex: none;
}

.k-actionsheet-item {
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-flow: row nowrap;
    outline: none;
}

.k-actionsheet-action {
    margin: 0;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    min-height: 40px;
    box-sizing: border-box;
    color: inherit;
    text-decoration: none;
    outline: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    gap: 12px;
}

.k-actionsheet-item-text {
    display: flex;
    flex-flow: column nowrap;
}

.k-actionsheet-item-description {
    font-size: 0.875em;
}

.k-actionsheet .k-hr {
    margin: 0;
    flex: none;
}

.k-actionsheet-top {
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    border-width: 0px;
    border-top-width: 0;
    top: 0;
    inset-inline-start: 50%;
    transform: translateX(-50%);
}

.k-actionsheet-bottom {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-width: 0px;
    border-bottom-width: 0;
    bottom: 0;
    inset-inline-start: 50%;
    transform: translateX(-50%);
}

.k-actionsheet-left {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-width: 0px;
    border-left-width: 0;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.k-actionsheet-right {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-width: 0px;
    border-right-width: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.k-actionsheet-fullscreen {
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    height: 100%;
}

.k-animation-container > .k-actionsheet {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    transform: none;
}

.k-adaptive-actionsheet {
    max-width: 100%;
    width: 100%;
    font-size: 1.25rem;
    display: flex;
    flex-flow: column nowrap;
}
.k-adaptive-actionsheet .k-actionsheet-titlebar, .k-adaptive-actionsheet .k-actionsheet-jq .k-actionsheet-header, .k-actionsheet-jq .k-adaptive-actionsheet .k-actionsheet-header {
    padding-block: 1rem;
    padding-inline: 1rem;
    border-bottom-width: 1px;
}
.k-adaptive-actionsheet .k-actionsheet-content {
    padding-block: 0.5rem;
    padding-inline: 1rem;
}
.k-adaptive-actionsheet .k-actionsheet-footer {
    padding-block: 0.5rem;
    padding-inline: 1rem;
}
.k-adaptive-actionsheet .k-actionsheet-filter {
    width: min(100%, 360px - 2rem);
}
.k-adaptive-actionsheet .k-actionsheet-content,
.k-adaptive-actionsheet .k-actionsheet-footer {
    margin-inline: auto;
    width: min(100%, 360px);
}
.k-adaptive-actionsheet .k-list-container,
.k-adaptive-actionsheet .k-treeview {
    height: 100%;
}
.k-adaptive-actionsheet .k-list-filter {
    width: 100%;
    padding-inline: 0;
}
.k-adaptive-actionsheet .k-menu-group {
    height: 100%;
    overflow: auto;
    position: static;
}
.k-adaptive-actionsheet .k-calendar {
    margin-inline: auto;
    border-width: 0;
    display: flex;
}
.k-adaptive-actionsheet .k-timeselector {
    height: 100%;
    border-width: 0;
    overflow: hidden;
}
.k-adaptive-actionsheet .k-timeselector .k-time-part {
    display: contents;
}
.k-adaptive-actionsheet .k-timeselector .k-time-list-wrapper {
    height: 100%;
}
.k-adaptive-actionsheet .k-datetime-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column nowrap;
}
.k-adaptive-actionsheet .k-datetime-selector {
    flex: 1 1 auto;
}
.k-adaptive-actionsheet .k-datetime-calendar-wrap {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    flex: 0 0 100%;
}
.k-adaptive-actionsheet .k-datetime-time-wrap {
    width: 100%;
    position: absolute;
    top: 0;
    left: 100%;
    bottom: 0;
    flex: 0 0 100%;
}
.k-adaptive-actionsheet .k-scrollable-wrap {
    height: 100%;
    overflow-y: auto;
}
.k-adaptive-actionsheet .k-data-table {
    max-height: 100%;
    overflow: hidden;
    display: flex;
    flex-flow: column nowrap;
}

.k-actionsheet-jq.k-actionsheet {
    height: auto;
}
.k-actionsheet-jq .k-actionsheet-header {
    align-items: flex-start;
}
.k-actionsheet-jq .k-actionsheet-action {
    align-items: center;
}

.k-rtl .k-actionsheet-top,
.k-rtl .k-actionsheet-bottom,
[dir=rtl] .k-actionsheet-top,
[dir=rtl] .k-actionsheet-bottom {
    transform: translateX(50%);
}

.k-actionsheet {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
    box-shadow: var(--kendo-elevation-7, 0px 14px 36px 0px rgba(0, 0, 0, 0.168));
}

.k-actionsheet-subtitle {
    color: #6c757d;
}

.k-actionsheet-item:hover, .k-actionsheet-item.k-hover {
    background-color: #e9ecef;
}
.k-actionsheet-item:focus, .k-actionsheet-item.k-focus {
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);
}
.k-actionsheet-item-description {
    color: #6c757d;
}

.k-actionsheet .k-hr {
    border-color: #dee2e6;
}

.k-adaptive-actionsheet .k-actionsheet-titlebar, .k-adaptive-actionsheet .k-actionsheet-jq .k-actionsheet-header, .k-actionsheet-jq .k-adaptive-actionsheet .k-actionsheet-header {
    border-color: #dee2e6;
}

.k-window {
    border-radius: 0.375rem;
    padding: 0;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: inline-flex;
    flex-direction: column;
    position: absolute;
    z-index: 10002;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-window.k-window-maximized {
    max-width: 100vw;
    max-height: 100vh;
    box-shadow: none;
}

.k-window-sm {
    width: 300px;
}

.k-window-md {
    width: 800px;
}

.k-window-lg {
    width: 1200px;
}

.k-window-titlebar {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    padding-block: 1rem;
    padding-inline: 1rem;
    border-width: 0 0 1px;
    border-style: solid;
    white-space: nowrap;
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    align-items: center;
}
.k-window-minimized .k-window-titlebar {
    border-width: 0;
}

.k-window-title {
    padding-block: 0.5em;
    padding-inline: 0;
    margin-block: -0.5em;
    margin-inline: 0;
    font-size: 1.25rem;
    line-height: 1.5;
    text-overflow: ellipsis;
    overflow: hidden;
    cursor: default;
    flex: 1;
    display: flex;
    flex-flow: row nowrap;
}
.k-window-title::before {
    content: "​";
}

.k-window-titlebar-actions {
    margin-block: -5em;
    margin-inline: 0;
    margin-inline-end: calc(1rem - 1rem);
    line-height: 1;
    display: flex;
    gap: 0.5rem;
    flex-flow: row nowrap;
    flex-shrink: 0;
    align-items: center;
    vertical-align: top;
}

.k-window-titlebar-action {
    flex-shrink: 0;
    opacity: 0.5;
}

.k-window-titlebar-action:hover {
    opacity: 0.75;
}

.k-window-content,
.k-prompt-container {
    padding-block: 1rem;
    padding-inline: 1rem;
    border-width: 0;
    border-color: inherit;
    color: inherit;
    background: none;
    outline: 0;
    overflow: auto;
    position: relative;
    flex: 1 1 auto;
}

.k-window-content + .k-prompt-container {
    margin-top: -0.5rem;
}

.k-window-content:first-child {
    padding-top: clamp(1rem, 1rem, 1rem);
}

.k-window-content:last-child {
    padding-bottom: clamp(1rem, 1rem, 1rem);
}

.k-window-iframecontent {
    padding: 0;
    overflow: visible;
}
.k-window-iframecontent .k-content-frame {
    vertical-align: top;
    border: 0;
    width: 100%;
    height: 100%;
}

.k-window-actions {
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: inherit;
    flex: 0 0 auto;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    overflow: hidden;
}

.k-prompt-container > .k-textarea {
    width: 100%;
}

.k-window .k-resize-n {
    top: 0;
}
.k-window .k-resize-e {
    right: 0;
}
.k-window .k-resize-s {
    bottom: 0;
}
.k-window .k-resize-w {
    left: 0;
}

.k-window {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-window-titlebar {
    border-color: #dee2e6;
}

.k-window-primary .k-window-titlebar {
    color: white;
    background-color: limegreen;
}

.k-window-light .k-window-titlebar {
    color: black;
    background-color: #f8f9fa;
}

.k-window-dark .k-window-titlebar {
    color: white;
    background-color: #212529;
}

.k-dialog-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    outline: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10001;
}
.k-dialog-wrapper .k-dialog {
    position: relative;
}

.k-dialog {
    padding: 0;
    position: fixed;
    box-sizing: border-box;
}
.k-dialog.k-dialog-centered {
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
.k-dialog .k-multiselect {
    width: 100%;
}

.k-dialog-actions {
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: inherit;
    flex: 0 0 auto;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 0.5rem;
    overflow: hidden;
}

.k-dialog-primary .k-dialog-titlebar {
    color: white;
    background-color: limegreen;
}

.k-dialog-light .k-dialog-titlebar {
    color: black;
    background-color: #f8f9fa;
}

.k-dialog-dark .k-dialog-titlebar {
    color: white;
    background-color: #212529;
}

.k-drawer-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
}

kendo-drawer.k-drawer,
kendo-drawer .k-drawer-wrapper {
    transition: none;
}

.k-drawer {
    height: 100%;
    max-width: 100%;
    border-width: 0;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    transition: all 300ms ease-in-out;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-drawer *,
.k-drawer *::before,
.k-drawer *::after {
    box-sizing: border-box;
}
.k-drawer-mini .k-drawer.k-drawer-start, .k-drawer-expanded .k-drawer.k-drawer-start, .k-drawer-left.k-drawer-mini .k-drawer, .k-drawer-left.k-drawer-expanded .k-drawer {
    border-right-width: 1px;
}
.k-drawer-mini .k-drawer.k-drawer-end, .k-drawer-expanded .k-drawer.k-drawer-end, .k-drawer-right.k-drawer-mini .k-drawer, .k-drawer-right.k-drawer-expanded .k-drawer {
    border-left-width: 1px;
}
.k-drawer.k-drawer-start, .k-drawer-left .k-drawer {
    top: 0;
    left: 0;
}
.k-drawer.k-drawer-end, .k-drawer-right .k-drawer {
    top: 0;
    right: 0;
}

.k-drawer-content {
    flex: 1 1 auto;
    overflow: auto;
}

.k-drawer-overlay .k-drawer {
    max-width: 80vw;
    position: fixed;
    z-index: 10002;
    border: 0;
}
.k-drawer-overlay > .k-overlay {
    display: none;
}
.k-drawer-overlay.k-drawer-expanded > .k-overlay {
    display: block;
}

.k-drawer-push {
    display: flex;
    flex-direction: row;
}
.k-drawer-push .k-drawer {
    height: auto;
    position: relative;
    align-self: stretch;
}
.k-drawer-push .k-drawer.k-drawer-end, .k-drawer-push.k-drawer-right .k-drawer {
    order: 1;
}

.k-drawer-wrapper {
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    transition: all 300ms ease-in-out;
}
.k-drawer-wrapper::-webkit-scrollbar {
    width: 7px;
}
.k-drawer-wrapper::-webkit-scrollbar-thumb {
    border-radius: 20px;
}

.k-drawer-items,
.k-drawer-items ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.k-drawer-item {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    outline: 0;
    color: inherit;
    font-size: 16px;
    line-height: 2;
    display: flex;
    flex-flow: row nowrap;
    gap: 1rem;
    cursor: pointer;
}
.k-drawer-item > .k-drawer-link {
    margin-block: -0.5rem;
    margin-inline: -1rem;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    flex: 1 0 auto;
    gap: 1rem;
}
.k-drawer-item .k-icon {
    flex-shrink: 0;
    padding-inline: 0;
    padding-block: 0.5rem;
    box-sizing: content-box;
}
.k-drawer-item .k-icon.k-i-none {
    margin: 0;
}
.k-drawer-item .k-item-text {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.k-drawer-item .k-drawer-toggle {
    margin-inline-start: auto;
    cursor: pointer;
    display: flex;
}
.k-drawer-item.k-level-1 {
    padding-inline-start: 2rem;
}
.k-drawer-item.k-level-2 {
    padding-inline-start: 3rem;
}
.k-drawer-item.k-level-3 {
    padding-inline-start: 4rem;
}
.k-drawer-item.k-level-4 {
    padding-inline-start: 5rem;
}
.k-drawer-item.k-level-5 {
    padding-inline-start: 6rem;
}

.k-drawer-separator {
    padding: 0;
    height: 1px;
}

.k-drawer-mini .k-drawer-wrapper {
    width: calc(2 * 1rem + 16px);
}

.k-rtl.k-drawer-mini .k-drawer-start,
.k-rtl .k-drawer-mini .k-drawer-start,
.k-rtl .k-drawer-expanded .k-drawer-start, .k-rtl.k-drawer-expanded .k-drawer-start,
[dir=rtl].k-drawer-mini .k-drawer-start,
[dir=rtl] .k-drawer-mini .k-drawer-start,
[dir=rtl] .k-drawer-expanded .k-drawer-start,
[dir=rtl].k-drawer-expanded .k-drawer-start {
    border-left-width: 1px;
    border-right-width: 0;
}
.k-rtl.k-drawer-mini .k-drawer-end,
.k-rtl .k-drawer-mini .k-drawer-end, .k-rtl.k-drawer-expanded .k-drawer-end .k-drawer-expanded .k-drawer-end,
[dir=rtl].k-drawer-mini .k-drawer-end,
[dir=rtl] .k-drawer-mini .k-drawer-end,
[dir=rtl].k-drawer-expanded .k-drawer-end .k-drawer-expanded .k-drawer-end {
    border-left-width: 0;
    border-right-width: 1px;
}
.k-rtl.k-drawer-overlay .k-drawer-start,
.k-rtl .k-drawer-overlay .k-drawer-start,
[dir=rtl].k-drawer-overlay .k-drawer-start,
[dir=rtl] .k-drawer-overlay .k-drawer-start {
    left: auto;
    right: 0;
}
.k-rtl.k-drawer-overlay .k-drawer-end,
.k-rtl .k-drawer-overlay .k-drawer-end,
[dir=rtl].k-drawer-overlay .k-drawer-end,
[dir=rtl] .k-drawer-overlay .k-drawer-end {
    left: 0;
    right: auto;
}
.k-rtl .k-drawer-left.k-drawer-push .k-drawer,
[dir=rtl] .k-drawer-left.k-drawer-push .k-drawer {
    order: 1;
}
.k-rtl .k-drawer-right.k-drawer-push .k-drawer,
[dir=rtl] .k-drawer-right.k-drawer-push .k-drawer {
    order: 0;
}

.k-drawer {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-drawer-wrapper {
    scrollbar-color: rgba(156, 156, 156, 0.7) #dedede;
}
.k-drawer-wrapper::-webkit-scrollbar-track {
    background: #dedede;
}
.k-drawer-wrapper::-webkit-scrollbar-thumb {
    background: rgba(156, 156, 156, 0.7);
}
.k-drawer-wrapper::-webkit-scrollbar-thumb:hover {
    background: rgb(156, 156, 156);
}

.k-drawer-item:hover, .k-drawer-item.k-hover {
    color: #212529;
    background-color: #e9ecef;
}
.k-drawer-item:focus, .k-drawer-item.k-focus {
    background-color: #e9ecef;
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.15);
}
.k-drawer-item:focus:hover, .k-drawer-item:focus.k-hover, .k-drawer-item.k-focus:hover, .k-drawer-item.k-focus.k-hover {
    color: #212529;
    background-color: #e9ecef;
}
.k-drawer-item.k-selected {
    color: black;
    background-color: limegreen;
}
.k-drawer-item.k-selected:hover, .k-drawer-item.k-selected.k-hover {
    color: black;
    background-color: #2ebd2e;
}

.k-drawer-separator {
    background-color: #dee2e6;
}

.k-notification-group {
    max-height: 100%;
    display: inline-flex;
    flex-flow: column-reverse wrap;
    position: fixed;
    z-index: 1000;
    gap: 0.75rem 0;
}

.k-notification-container-animating {
    overflow: hidden;
}

.k-notification {
    border-radius: 0.375rem;
    padding-block: 1rem;
    padding-inline: 1rem;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 0.875rem;
    line-height: 1.5;
    cursor: default;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-notification *,
.k-notification *::before,
.k-notification *::after {
    box-sizing: border-box;
}
.k-notification > .k-notification-content {
    flex: 1 1 auto;
}

.k-notification-actions {
    flex: none;
    display: flex;
    gap: 0.5rem;
    flex-flow: row nowrap;
    align-items: center;
    align-self: center;
    cursor: pointer;
}

.k-notification-action {
    flex: none;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    align-self: center;
}

.k-notification {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
    box-shadow: var(--kendo-elevation-4, 0px 6px 13px rgba(0, 0, 0, 0.125));
}

.k-notification-inverse {
    border-color: #d3d3d4;
    color: #111315;
    background-color: #c1c2c3;
}

.k-notification-light {
    border-color: #fefefe;
    color: #818182;
    background-color: #fdfdfe;
}

.k-notification-dark {
    border-color: #d3d3d4;
    color: #111315;
    background-color: #c1c2c3;
}

.k-notification-error {
    border-color: #f8d7da;
    color: #721c24;
    background-color: #f5c6cb;
}

.k-notification-warning {
    border-color: #fff3cd;
    color: #856404;
    background-color: #ffeeba;
}

.k-notification-success {
    border-color: #d1e7dd;
    color: #0d462c;
    background-color: #bfddcf;
}

.k-notification-info {
    border-color: #cff4fc;
    color: #07697d;
    background-color: #bbf0fb;
}

.k-notification-tertiary {
    border-color: #ecd1f9;
    color: #530e76;
    background-color: #e4bff7;
}

.k-notification-secondary {
    border-color: #ecd1f9;
    color: #530e76;
    background-color: #e4bff7;
}

.k-notification-primary {
    border-color: #d6f5d6;
    color: #1a6b1a;
    background-color: #c6f1c6;
}

kendo-card,
kendo-card-header,
kendo-card-body,
kendo-card-actions,
kendo-card-footer {
    display: block;
}

.k-card {
    border-radius: 0.375rem;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-card *,
.k-card *::before,
.k-card *::after {
    box-sizing: border-box;
}
.k-card .k-card-avatar,
.k-card .k-avatar {
    margin-right: 1rem;
    width: 45px;
    height: 45px;
    flex-basis: 45px;
}

.k-card > .k-card-inner {
    border-radius: calc(0.375rem - 1px);
    display: flex;
    flex-direction: inherit;
    overflow: hidden;
    position: relative;
}

.k-card-horizontal {
    flex-flow: row nowrap;
}

.k-card-vertical {
    flex-flow: column nowrap;
}

.k-card-header {
    padding-block: 1rem;
    padding-inline: 1rem;
    border-width: 0 0 1px;
    border-style: solid;
    outline: 0;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.k-card-header .k-card-title,
.k-card-header .k-card-subtitle {
    margin-bottom: 0;
}
.k-card-header .k-card-title + .k-card-subtitle,
.k-card-header .k-card-subtitle + .k-card-subtitle {
    margin-top: 0.75rem;
}

.k-card-footer {
    padding-block: 1rem;
    padding-inline: 1rem;
    border-width: 1px 0 0;
    border-style: solid;
    outline: 0;
    flex-shrink: 0;
}

.k-card-body {
    padding-block: 1rem;
    padding-inline: 1rem;
    outline: 0;
    flex: 1 1 auto;
}
.k-card-body p {
    margin: 0 0 1rem;
}
.k-card-body > .k-last,
.k-card-body > :last-child {
    margin-bottom: 0;
}
.k-card-body > .k-card-actions {
    padding: 0;
}

.k-card-media {
    border: 0;
    max-width: 100%;
    flex-shrink: 0;
    overflow: hidden;
}
.k-card-horizontal .k-card-media {
    max-width: 100px;
    object-fit: cover;
}

.k-card-title {
    margin: 0 0 0.75rem;
    font-size: 1.25rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.2;
    font-weight: 600;
}

.k-card-subtitle {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-family: "Newsreader", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.2;
    font-weight: 600;
}

.k-card-separator {
    margin: 0;
    border-width: 0;
    border-style: solid;
    border-color: inherit;
    display: block;
    flex: 0 0 auto;
    align-self: stretch;
}

.k-card-separator.k-separator-horizontal,
.k-card-vertical > .k-card-separator {
    border-top-width: 1px;
}

.k-card-separator.k-separator-vertical,
.k-card-horizontal > .k-card-separator {
    border-left-width: 1px;
}

.k-card > .k-hr {
    margin: 0;
    flex: 0 0 auto;
    border-color: inherit;
}

.k-card-actions {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 0;
    border-style: solid;
    border-color: inherit;
    overflow: hidden;
    display: flex;
    flex-shrink: 0;
    flex-basis: auto;
    gap: 0.5rem;
}

.k-card-horizontal .k-actions-horizontal {
    width: auto;
}

.k-card-list {
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    gap: 1rem;
    flex: 0 0 auto;
}
.k-card-list .k-card {
    flex: 0 0 auto;
}

.k-card-deck {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    gap: 1rem;
    flex: 0 0 auto;
}
.k-card-deck .k-card {
    flex: 0 0 auto;
}

.k-card-deck-scrollwrap {
    padding-bottom: 3px;
    width: 100%;
    box-sizing: content-box;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.k-card-deck-scrollwrap > .k-button {
    border-radius: 0px;
    flex: 0 0 auto;
    position: absolute;
    z-index: 1;
}
.k-card-deck-scrollwrap > .k-button:first-child {
    left: -1px;
}
.k-card-deck-scrollwrap > .k-button:last-child {
    right: -1px;
}
.k-card-deck-scrollwrap > .k-card-deck {
    margin-bottom: -20px;
    padding-bottom: 20px;
    flex: 1 1 auto;
}

.k-card-group {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    flex: 0 0 auto;
}
.k-card-group .k-card {
    border-radius: 0;
    flex: 0 0 auto;
}
.k-card-group .k-card + .k-card {
    margin-inline-start: 1px;
}
.k-card-group .k-card.k-first {
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}
.k-card-group .k-card.k-last {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}
.k-card-group .k-card.k-only {
    border-radius: 0.375rem;
}

.k-card-with-callout {
    overflow: visible;
}

.k-card-callout {
    margin: 0;
    width: 1.3em;
    height: 1.3em;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    position: absolute;
}

.k-card-callout.k-callout-n {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}

.k-card-callout.k-callout-e {
    top: 50%;
    right: 0;
    transform: translate(50%, -50%) rotate(-45deg);
}

.k-card-callout.k-callout-s {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%) rotate(45deg);
}

.k-card-callout.k-callout-w {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%) rotate(45deg);
}

.k-card-flat {
    box-shadow: none;
}

.k-card {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-card .k-card-inner {
    background-color: inherit;
    border-color: inherit;
}
.k-card:focus, .k-card.k-focus {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}
.k-card.k-selected {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}

.k-card-actions {
    border-color: #dee2e6;
}

.k-card-header {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-card-footer {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-card-separator,
.k-card .k-separator {
    border-color: #dee2e6;
}

.k-card-subtitle {
    color: #6c757d;
}

.k-card-primary {
    background-color: #d6f5d6;
    color: #1a6b1a;
    border-color: #c6f1c6;
}
.k-card-primary .k-card-subtitle {
    color: inherit;
}

.k-card-secondary {
    background-color: #ecd1f9;
    color: #530e76;
    border-color: #e4bff7;
}
.k-card-secondary .k-card-subtitle {
    color: inherit;
}

.k-card-tertiary {
    background-color: #ecd1f9;
    color: #530e76;
    border-color: #e4bff7;
}
.k-card-tertiary .k-card-subtitle {
    color: inherit;
}

.k-card-info {
    background-color: #cff4fc;
    color: #07697d;
    border-color: #bbf0fb;
}
.k-card-info .k-card-subtitle {
    color: inherit;
}

.k-card-success {
    background-color: #d1e7dd;
    color: #0d462c;
    border-color: #bfddcf;
}
.k-card-success .k-card-subtitle {
    color: inherit;
}

.k-card-warning {
    background-color: #fff3cd;
    color: #856404;
    border-color: #ffeeba;
}
.k-card-warning .k-card-subtitle {
    color: inherit;
}

.k-card-error {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}
.k-card-error .k-card-subtitle {
    color: inherit;
}

.k-card-dark {
    background-color: #d3d3d4;
    color: #111315;
    border-color: #c1c2c3;
}
.k-card-dark .k-card-subtitle {
    color: inherit;
}

.k-card-light {
    background-color: #fefefe;
    color: #818182;
    border-color: #fdfdfe;
}
.k-card-light .k-card-subtitle {
    color: inherit;
}

.k-card-inverse {
    background-color: #d3d3d4;
    color: #111315;
    border-color: #c1c2c3;
}
.k-card-inverse .k-card-subtitle {
    color: inherit;
}

.k-card-wrap:focus > .k-card, .k-card-wrap.k-focus > .k-card, .k-card-wrap.k-selected > .k-card {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}

.k-card-callout {
    border-color: inherit;
    background-color: inherit;
    box-shadow: inherit;
}

.k-popover {
    border-radius: 0.375rem;
    padding: 0;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    display: flex;
    flex-flow: column nowrap;
    z-index: 12000;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-popover *,
.k-popover *::before,
.k-popover *::after {
    box-sizing: border-box;
}

.k-popover-inner {
    height: inherit;
    position: relative;
    border-radius: inherit;
    border-color: inherit;
}

.k-popover-header {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    padding-block: 1rem;
    padding-inline: 1rem;
    border-width: 0 0 1px;
    border-style: solid;
    border-color: inherit;
}

.k-popover-body {
    padding-block: 1rem;
    padding-inline: 1rem;
}

.k-popover-actions {
    border-width: 1px 0 0;
}

.k-popover-callout {
    margin: 0;
    width: 1.3em;
    height: 1.3em;
    border-width: 1px;
    border-style: solid;
    position: absolute;
}
.k-popover-callout.k-callout-n {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}
.k-popover-callout.k-callout-e {
    top: 50%;
    right: 0;
    transform: translate(50%, -50%) rotate(-45deg);
}
.k-popover-callout.k-callout-s {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%) rotate(45deg);
}
.k-popover-callout.k-callout-w {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%) rotate(45deg);
}

.k-popover {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-popover-inner {
    background-color: inherit;
    border-color: inherit;
}

.k-popover-callout {
    border-color: inherit;
    background-color: inherit;
    box-shadow: inherit;
}

.k-rpanel-left,
.k-rpanel-right {
    position: fixed;
    display: block;
    overflow: auto;
    min-width: 320px;
    height: 100%;
    top: 0;
}
.k-rpanel-left + *,
.k-rpanel-right + * {
    overflow: auto;
}
.k-rpanel-left.k-rpanel-expanded,
.k-rpanel-right.k-rpanel-expanded {
    transform: translateX(0) translateZ(0);
}

.k-rpanel-left {
    transform: translateX(-100%) translateZ(0);
    left: 0;
}

.k-rpanel-right {
    transform: translateX(100%) translateZ(0);
    right: 0;
}

.k-rpanel-top {
    position: static;
    max-height: 0;
}

.k-rpanel-top.k-rpanel-expanded {
    max-height: 568px;
    overflow: visible !important;
}

.k-rpanel-toggle {
    touch-action: manipulation;
}

.k-bottom-nav {
    padding-block: 0px;
    padding-inline: 0px;
    width: 100%;
    border-width: 0;
    border-style: solid;
    border-color: transparent;
    box-sizing: border-box;
    font-size: 1rem;
    line-height: normal;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    letter-spacing: 0.2px;
    display: flex;
    flex-flow: row nowrap;
    white-space: nowrap;
    gap: 0px;
    overflow: hidden;
    outline: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-bottom-nav *,
.k-bottom-nav *::before,
.k-bottom-nav *::after {
    box-sizing: border-box;
}

.k-bottom-nav-border {
    border-width: 1px 0px 0px 0px;
}

.k-bottom-nav-shadow {
    box-shadow: var(--kendo-elevation-4, 0px 6px 13px rgba(0, 0, 0, 0.125));
}

.k-bottom-nav-item {
    padding-block: 0;
    padding-inline: 0.5rem;
    min-width: 72px;
    min-height: calc(40px + 1rem - 0px);
    border-width: 0;
    box-sizing: border-box;
    font: inherit;
    display: inline-flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 0 0.25rem;
    text-decoration: none;
    cursor: pointer;
    color: inherit;
    background-color: inherit;
    border-color: inherit;
    outline: none;
}
.k-bottom-nav-item:focus {
    outline: none;
}
.k-bottom-nav-item:hover {
    color: inherit;
    text-decoration: none;
}
.k-bottom-nav-item > .k-bottom-nav-link {
    margin-block: 0;
    margin-inline: -0.5rem;
    padding-block: 0;
    padding-inline: 0.5rem;
    width: 100%;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    flex: 1 0 auto;
    align-items: center;
    justify-content: center;
    outline: 0;
}

.k-bottom-nav-item.k-disabled {
    background-color: initial;
}

.k-bottom-nav-item-text {
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.k-bottom-nav-item-flow-horizontal .k-bottom-nav-item {
    flex-flow: row nowrap;
}

.k-bottom-nav-item-flow-vertical .k-bottom-nav-item {
    flex-direction: column;
}

.k-bottom-nav.k-pos-fixed, .k-bottom-nav.k-fixed {
    bottom: 0;
    z-index: 1;
}

.k-bottom-nav-solid-primary, .k-bottom-nav-solid.k-bottom-nav-primary {
    color: #b7eeb7;
    background-color: limegreen;
}
.k-bottom-nav-solid-primary .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-primary .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-primary .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-primary .k-bottom-nav-item:focus {
    background-color: rgba(183, 238, 183, 0.2);
}
.k-bottom-nav-solid-primary .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-primary .k-bottom-nav-item.k-selected {
    color: white;
}

.k-bottom-nav-solid-secondary, .k-bottom-nav-solid.k-bottom-nav-secondary {
    color: #ddaff5;
    background-color: #9f1ae2;
}
.k-bottom-nav-solid-secondary .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-secondary .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-secondary .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-secondary .k-bottom-nav-item:focus {
    background-color: rgba(221, 175, 245, 0.2);
}
.k-bottom-nav-solid-secondary .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-secondary .k-bottom-nav-item.k-selected {
    color: white;
}

.k-bottom-nav-solid-tertiary, .k-bottom-nav-solid.k-bottom-nav-tertiary {
    color: #ddaff5;
    background-color: #9f1ae2;
}
.k-bottom-nav-solid-tertiary .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-tertiary .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-tertiary .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-tertiary .k-bottom-nav-item:focus {
    background-color: rgba(221, 175, 245, 0.2);
}
.k-bottom-nav-solid-tertiary .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-tertiary .k-bottom-nav-item.k-selected {
    color: white;
}

.k-bottom-nav-solid-info, .k-bottom-nav-solid.k-bottom-nav-info {
    color: #aaecfa;
    background-color: #0dcaf0;
}
.k-bottom-nav-solid-info .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-info .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-info .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-info .k-bottom-nav-item:focus {
    background-color: rgba(170, 236, 250, 0.2);
}
.k-bottom-nav-solid-info .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-info .k-bottom-nav-item.k-selected {
    color: white;
}

.k-bottom-nav-solid-success, .k-bottom-nav-solid.k-bottom-nav-success {
    color: #afd5c3;
    background-color: #198754;
}
.k-bottom-nav-solid-success .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-success .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-success .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-success .k-bottom-nav-item:focus {
    background-color: rgba(175, 213, 195, 0.2);
}
.k-bottom-nav-solid-success .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-success .k-bottom-nav-item.k-selected {
    color: white;
}

.k-bottom-nav-solid-warning, .k-bottom-nav-solid.k-bottom-nav-warning {
    color: #594402;
    background-color: #ffc107;
}
.k-bottom-nav-solid-warning .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-warning .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-warning .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-warning .k-bottom-nav-item:focus {
    background-color: rgba(89, 68, 2, 0.2);
}
.k-bottom-nav-solid-warning .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-warning .k-bottom-nav-item.k-selected {
    color: black;
}

.k-bottom-nav-solid-error, .k-bottom-nav-solid.k-bottom-nav-error {
    color: #f3b8be;
    background-color: #dc3545;
}
.k-bottom-nav-solid-error .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-error .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-error .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-error .k-bottom-nav-item:focus {
    background-color: rgba(243, 184, 190, 0.2);
}
.k-bottom-nav-solid-error .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-error .k-bottom-nav-item.k-selected {
    color: white;
}

.k-bottom-nav-solid-dark, .k-bottom-nav-solid.k-bottom-nav-dark {
    color: #b1b3b4;
    background-color: #212529;
}
.k-bottom-nav-solid-dark .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-dark .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-dark .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-dark .k-bottom-nav-item:focus {
    background-color: rgba(177, 179, 180, 0.2);
}
.k-bottom-nav-solid-dark .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-dark .k-bottom-nav-item.k-selected {
    color: white;
}

.k-bottom-nav-solid-light, .k-bottom-nav-solid.k-bottom-nav-light {
    color: #575758;
    background-color: #f8f9fa;
}
.k-bottom-nav-solid-light .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-light .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-light .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-light .k-bottom-nav-item:focus {
    background-color: rgba(87, 87, 88, 0.2);
}
.k-bottom-nav-solid-light .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-light .k-bottom-nav-item.k-selected {
    color: black;
}

.k-bottom-nav-solid-inverse, .k-bottom-nav-solid.k-bottom-nav-inverse {
    color: #b1b3b4;
    background-color: #212529;
}
.k-bottom-nav-solid-inverse .k-bottom-nav-item.k-focus, .k-bottom-nav-solid.k-bottom-nav-inverse .k-bottom-nav-item.k-focus,
.k-bottom-nav-solid-inverse .k-bottom-nav-item:focus,
.k-bottom-nav-solid.k-bottom-nav-inverse .k-bottom-nav-item:focus {
    background-color: rgba(177, 179, 180, 0.2);
}
.k-bottom-nav-solid-inverse .k-bottom-nav-item.k-selected, .k-bottom-nav-solid.k-bottom-nav-inverse .k-bottom-nav-item.k-selected {
    color: white;
}

.k-bottom-nav-flat-primary, .k-bottom-nav-flat.k-bottom-nav-primary {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-primary .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-primary .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-primary .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-primary .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-primary .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-primary .k-bottom-nav-item.k-selected {
    color: limegreen;
}

.k-bottom-nav-flat-secondary, .k-bottom-nav-flat.k-bottom-nav-secondary {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-secondary .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-secondary .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-secondary .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-secondary .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-secondary .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-secondary .k-bottom-nav-item.k-selected {
    color: #7914ac;
}

.k-bottom-nav-flat-tertiary, .k-bottom-nav-flat.k-bottom-nav-tertiary {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-tertiary .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-tertiary .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-tertiary .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-tertiary .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-tertiary .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-tertiary .k-bottom-nav-item.k-selected {
    color: #9f1ae2;
}

.k-bottom-nav-flat-info, .k-bottom-nav-flat.k-bottom-nav-info {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-info .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-info .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-info .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-info .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-info .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-info .k-bottom-nav-item.k-selected {
    color: #0dcaf0;
}

.k-bottom-nav-flat-success, .k-bottom-nav-flat.k-bottom-nav-success {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-success .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-success .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-success .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-success .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-success .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-success .k-bottom-nav-item.k-selected {
    color: #198754;
}

.k-bottom-nav-flat-warning, .k-bottom-nav-flat.k-bottom-nav-warning {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-warning .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-warning .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-warning .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-warning .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-warning .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-warning .k-bottom-nav-item.k-selected {
    color: #ffc107;
}

.k-bottom-nav-flat-error, .k-bottom-nav-flat.k-bottom-nav-error {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-error .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-error .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-error .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-error .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-error .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-error .k-bottom-nav-item.k-selected {
    color: #dc3545;
}

.k-bottom-nav-flat-dark, .k-bottom-nav-flat.k-bottom-nav-dark {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-dark .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-dark .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-dark .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-dark .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-dark .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-dark .k-bottom-nav-item.k-selected {
    color: #212529;
}

.k-bottom-nav-flat-light, .k-bottom-nav-flat.k-bottom-nav-light {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-light .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-light .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-light .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-light .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-light .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-light .k-bottom-nav-item.k-selected {
    color: #bcbdbe;
}

.k-bottom-nav-flat-inverse, .k-bottom-nav-flat.k-bottom-nav-inverse {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-bottom-nav-flat-inverse .k-bottom-nav-item.k-focus, .k-bottom-nav-flat.k-bottom-nav-inverse .k-bottom-nav-item.k-focus,
.k-bottom-nav-flat-inverse .k-bottom-nav-item:focus,
.k-bottom-nav-flat.k-bottom-nav-inverse .k-bottom-nav-item:focus {
    background-color: rgba(33, 37, 41, 0.05);
}
.k-bottom-nav-flat-inverse .k-bottom-nav-item.k-selected, .k-bottom-nav-flat.k-bottom-nav-inverse .k-bottom-nav-item.k-selected {
    color: #212529;
}

.k-breadcrumb {
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    display: flex;
    flex-direction: row;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-breadcrumb *,
.k-breadcrumb *::before,
.k-breadcrumb *::after {
    box-sizing: border-box;
}

.k-breadcrumb-container,
.k-breadcrumb-root-item-container {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: row nowrap;
    overflow: hidden;
}

.k-breadcrumb-root-item-container {
    align-items: flex-start;
    flex-shrink: 0;
}

.k-breadcrumb-item {
    vertical-align: middle;
    display: inline-flex;
    flex-direction: row;
    flex: none;
    align-items: center;
    overflow: hidden;
}

.k-breadcrumb-root-item {
    flex-shrink: 0;
}

.k-breadcrumb-link,
.k-breadcrumb-root-link {
    border-radius: 0.375rem;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    outline: none;
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    align-self: stretch;
    overflow: hidden;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.k-breadcrumb-link > .k-image,
.k-breadcrumb-icontext-link .k-icon {
    margin-inline-end: 0.5rem;
}

.k-breadcrumb-delimiter,
.k-breadcrumb-delimiter-icon {
    color: inherit;
    opacity: 0.65;
}

.k-breadcrumb-input-container {
    width: 100%;
}
.k-breadcrumb-input-container .k-breadcrumb-input-container {
    border-color: transparent;
}

.k-breadcrumb-sm {
    font-size: 0.875rem;
    line-height: 1.4285714286;
}
.k-breadcrumb-sm .k-breadcrumb-link,
.k-breadcrumb-sm .k-breadcrumb-root-link {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
}
.k-breadcrumb-sm .k-breadcrumb-icon-link {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}

.k-breadcrumb-md {
    font-size: 1rem;
    line-height: 1.5;
}
.k-breadcrumb-md .k-breadcrumb-link,
.k-breadcrumb-md .k-breadcrumb-root-link {
    padding-block: 0.5rem;
    padding-inline: 0.75rem;
}
.k-breadcrumb-md .k-breadcrumb-icon-link {
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
}

.k-breadcrumb-lg {
    font-size: 1rem;
    line-height: 1.5;
}
.k-breadcrumb-lg .k-breadcrumb-link,
.k-breadcrumb-lg .k-breadcrumb-root-link {
    padding-block: 0.625rem;
    padding-inline: 0.75rem;
}
.k-breadcrumb-lg .k-breadcrumb-icon-link {
    padding-block: 0.875rem;
    padding-inline: 0.875rem;
}

.k-breadcrumb-link,
.k-breadcrumb-root-link {
    text-decoration: underline;
}
.k-breadcrumb-current-item .k-disabled, .k-breadcrumb-last-item .k-disabled {
    opacity: 1;
    filter: none;
}

.k-breadcrumb {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-breadcrumb:focus, .k-breadcrumb.k-focus {
    box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.06);
}

.k-breadcrumb-link {
    color: limegreen;
}
.k-breadcrumb-link:hover, .k-breadcrumb-link.k-hover {
    color: #28a428;
}
.k-breadcrumb-link:focus, .k-breadcrumb-link.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.25);
}

.k-breadcrumb-root-link {
    color: limegreen;
}
.k-breadcrumb-root-link:hover, .k-breadcrumb-root-link.k-hover {
    color: #28a428;
}
.k-breadcrumb-root-link:focus, .k-breadcrumb-root-link.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.25);
}

.k-breadcrumb-current-item .k-breadcrumb-link, .k-breadcrumb-last-item .k-breadcrumb-link {
    color: #9f1ae2;
}

.k-pager {
    padding: 0;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    white-space: nowrap;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    cursor: default;
    flex: 0 0 auto;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-pager *,
.k-pager *::before,
.k-pager *::after {
    box-sizing: border-box;
}

.k-pager-info, .k-pager-sizes, .k-pager-input {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.k-pager-nav {
    color: inherit;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.k-pager-nav:hover {
    z-index: 2;
}
.k-disabled.k-pager-nav {
    color: inherit;
}

.k-pager-numbers-wrap {
    display: flex;
    flex-direction: row;
    position: relative;
}
.k-pager-numbers-wrap select.k-dropdown-list, .k-pager-numbers-wrap select.k-dropdown,
.k-pager-numbers-wrap select.k-dropdownlist {
    width: 5em;
}

.k-pager-numbers {
    display: flex;
    flex-direction: row;
}
.k-pager-numbers .k-selected {
    cursor: inherit;
    z-index: 2;
}

.k-pager-nav + .k-pager-nav,
.k-pager-nav + .k-pager-numbers-wrap,
.k-pager-numbers-wrap + .k-pager-nav {
    margin-left: -1px;
}
.k-rtl .k-pager-nav + .k-pager-nav, [dir=rtl] .k-pager-nav + .k-pager-nav,
.k-rtl .k-pager-nav + .k-pager-numbers-wrap,
[dir=rtl] .k-pager-nav + .k-pager-numbers-wrap,
.k-rtl .k-pager-numbers-wrap + .k-pager-nav,
[dir=rtl] .k-pager-numbers-wrap + .k-pager-nav {
    margin-left: 0;
    margin-right: -1px;
}

.k-pager-input {
    gap: 1ex;
}
.k-pager-input .k-textbox,
.k-pager-input .k-numerictextbox {
    margin-block: 0;
    width: 5em;
}

.k-pager-sizes {
    gap: 1ex;
}
.k-pager-sizes .k-input-inner,
.k-pager-sizes .k-input-value-text {
    text-overflow: clip;
}

.k-pager-info {
    text-align: end;
    justify-content: flex-end;
    flex: 1 1 0%;
    order: 9;
}

.k-pager-refresh {
    margin-inline-start: auto;
    color: inherit;
    order: 10;
}

.k-pager-sm {
    padding-inline: 0.25rem;
    padding-block: 0.25rem;
    gap: 0.875rem;
}
.k-pager-sm .k-pager-numbers-wrap .k-button {
    min-width: calc(1.4285714286em + 0.5rem + 2px);
}
.k-pager-sm .k-pager-numbers-wrap .k-pager-input,
.k-pager-sm .k-pager-numbers-wrap > select.k-dropdown-list,
.k-pager-sm .k-pager-numbers-wrap > select.k-dropdown,
.k-pager-sm .k-pager-numbers-wrap > select.k-dropdownlist {
    margin-inline-start: 0.875rem;
    margin-inline-end: 0.875rem;
}
.k-pager-sm .k-pager-sizes .k-dropdown-list, .k-pager-sm .k-pager-sizes .k-dropdown,
.k-pager-sm .k-pager-sizes .k-dropdownlist,
.k-pager-sm .k-pager-sizes > select {
    width: 5em;
}

.k-pager-md {
    padding-inline: 0.5rem;
    padding-block: 0.5rem;
    gap: 1rem;
}
.k-pager-md .k-pager-numbers-wrap .k-button {
    min-width: calc(1.5em + 0.75rem + 2px);
}
.k-pager-md .k-pager-numbers-wrap .k-pager-input,
.k-pager-md .k-pager-numbers-wrap > select.k-dropdown-list,
.k-pager-md .k-pager-numbers-wrap > select.k-dropdown,
.k-pager-md .k-pager-numbers-wrap > select.k-dropdownlist {
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
}
.k-pager-md .k-pager-sizes .k-dropdown-list, .k-pager-md .k-pager-sizes .k-dropdown,
.k-pager-md .k-pager-sizes .k-dropdownlist,
.k-pager-md .k-pager-sizes > select {
    width: 5em;
}

.k-pager-lg {
    padding-inline: 0.625rem;
    padding-block: 0.625rem;
    gap: 1.125rem;
}
.k-pager-lg .k-pager-numbers-wrap .k-button {
    min-width: calc(1.5em + 1rem + 2px);
}
.k-pager-lg .k-pager-numbers-wrap .k-pager-input,
.k-pager-lg .k-pager-numbers-wrap > select.k-dropdown-list,
.k-pager-lg .k-pager-numbers-wrap > select.k-dropdown,
.k-pager-lg .k-pager-numbers-wrap > select.k-dropdownlist {
    margin-inline-start: 1.125rem;
    margin-inline-end: 1.125rem;
}
.k-pager-lg .k-pager-sizes .k-dropdown-list, .k-pager-lg .k-pager-sizes .k-dropdown,
.k-pager-lg .k-pager-sizes .k-dropdownlist,
.k-pager-lg .k-pager-sizes > select {
    width: 6em;
}

.k-pager-nav {
    border-radius: 0;
}

.k-pager-first {
    border-radius: 0.25rem 0 0 0.25rem;
}

.k-pager-last {
    border-radius: 0 0.25rem 0.25rem 0;
}

.k-rtl .k-pager-first,
[dir=rtl] .k-pager-first {
    border-radius: 0 0.25rem 0.25rem 0;
}
.k-rtl .k-pager-last,
[dir=rtl] .k-pager-last {
    border-radius: 0.25rem 0 0 0.25rem;
}

.k-pager {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-pager:focus, .k-pager.k-focus {
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.08);
}

.k-stepper {
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-size: 1rem;
    line-height: 1.5;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    display: block;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    color: inherit;
    background: none;
}
.k-stepper *,
.k-stepper *::before,
.k-stepper *::after {
    box-sizing: border-box;
}
.k-stepper .k-step-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    position: relative;
    z-index: 1;
}
.k-stepper .k-step-link {
    outline: none;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.k-stepper .k-step-indicator {
    border-radius: 50%;
    margin: 3px;
    width: 28px;
    height: 28px;
    border-width: 1px;
    border-style: solid;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    position: relative;
    z-index: 1;
    overflow: visible;
    transition-property: color, background-color, border-color;
    transition-duration: 0.4s;
    transition-timing-function: ease-in-out;
}
.k-stepper .k-step-indicator::before {
    border-radius: 50%;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.k-stepper .k-step-indicator::after {
    border-radius: 100%;
    content: "";
    border-width: 1px;
    border-style: solid;
    border-color: inherit;
    pointer-events: none;
    display: none;
    position: absolute;
    top: calc(-1 * calc(1px + 3px));
    right: calc(-1 * calc(1px + 3px));
    bottom: calc(-1 * calc(1px + 3px));
    left: calc(-1 * calc(1px + 3px));
    z-index: 2;
}
.k-stepper .k-step.k-focus .k-step-indicator::after,
.k-stepper .k-step-link:focus .k-step-indicator::after {
    display: block;
}
.k-stepper .k-step-label {
    max-width: clamp(100%, 10em, 100%);
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.k-stepper .k-step-label:only-child {
    border-radius: 15px;
    padding-block: 5px;
    padding-inline: 12px;
    border-width: 0;
}
.k-stepper .k-step-label .k-step-text {
    max-width: calc(10em - (16px + 0.5rem));
    flex-grow: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.k-stepper .k-step-label .k-icon {
    margin-left: 0.5rem;
}
.k-stepper .k-step-current .k-step-label {
    font-weight: bold;
}
.k-stepper .k-step-label-optional {
    flex-basis: 100%;
    font-size: 0.875rem;
}
.k-stepper .k-step-disabled,
.k-stepper .k-step.k-disabled {
    opacity: 1;
    pointer-events: none;
}
.k-stepper .k-step-disabled .k-step-link,
.k-stepper .k-step.k-disabled .k-step-link {
    cursor: default;
}
.k-stepper .k-step-disabled .k-step-label-optional,
.k-stepper .k-step.k-disabled .k-step-label-optional {
    color: inherit;
}
.k-stepper .k-progressbar {
    pointer-events: none;
    z-index: 0;
    overflow: visible;
}
.k-stepper .k-progressbar-horizontal {
    grid-row: 1/-1;
}
.k-stepper .k-progressbar-vertical {
    position: absolute;
}

.k-step-list-horizontal {
    flex-direction: row;
    grid-row: 1;
}
.k-step-list-horizontal .k-step {
    flex: 1 0 auto;
    text-align: center;
}
.k-step-list-horizontal .k-step-link {
    margin: auto;
    max-width: 10em;
    flex-direction: column;
}
.k-step-list-horizontal .k-step-label {
    text-align: center;
}
.k-step-list-horizontal .k-step-indicator + .k-step-label {
    margin-top: calc(8px - 3px);
}
.k-step-list-horizontal ~ .k-progressbar {
    width: 100%;
    height: 2px;
    top: calc((28px + 2 * 2px) / 2 + 2px / 2);
}

.k-step-list-vertical {
    flex-direction: column;
}
.k-step-list-vertical .k-step {
    min-height: calc(28px + 2 * 1px + 2 * 2px + 20px);
}
.k-step-list-vertical .k-step-label {
    justify-content: flex-start;
}
.k-step-list-vertical .k-step-indicator + .k-step-label {
    margin-left: 12px;
}
.k-step-list-vertical ~ .k-progressbar {
    width: 2px;
    height: 100%;
    min-height: 20px;
    left: calc((28px + 2 * 1px + 2 * 2px) / 2);
}
.k-step-list-vertical .k-step-content {
    height: 0;
    overflow: hidden;
    transition: height 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}
.k-step-list-vertical .k-step-current .k-step-content {
    height: auto;
    overflow: visible;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-left: 30px;
    padding-block: 20px;
    padding-inline: 10px;
}

.k-rtl .k-stepper,
.k-stepper[dir=rtl] {
    direction: rtl;
}
.k-rtl .k-stepper .k-step-label .k-icon,
.k-stepper[dir=rtl] .k-step-label .k-icon {
    margin-left: 0;
    margin-right: 0.5rem;
}
.k-rtl .k-stepper .k-step-list-vertical .k-step-indicator + .k-step-label,
.k-stepper[dir=rtl] .k-step-list-vertical .k-step-indicator + .k-step-label {
    margin-left: 0;
    margin-right: 12px;
}
.k-rtl .k-stepper .k-step-list-vertical ~ .k-progressbar,
.k-stepper[dir=rtl] .k-step-list-vertical ~ .k-progressbar {
    left: auto;
    right: calc((28px + 2 * 1px + 2 * 2px) / 2);
}

.k-stepper {
    color: #212529;
}
.k-stepper .k-step:hover .k-step-indicator, .k-stepper .k-step.k-hover .k-step-indicator, .k-stepper .k-step.k-step-hover .k-step-indicator {
    background-color: #ebebeb;
}
.k-stepper .k-step.k-focus .k-step-label:only-child,
.k-stepper .k-step .k-step-link:focus .k-step-label:only-child {
    box-shadow: inset 0 0 0 2px #dee2e6;
}
.k-stepper .k-step.k-step-disabled .k-step-indicator, .k-stepper .k-step.k-disabled .k-step-indicator, .k-stepper .k-step:disabled .k-step-indicator {
    color: #adb5bd;
}
.k-stepper .k-step.k-step-disabled .k-step-label, .k-stepper .k-step.k-disabled .k-step-label, .k-stepper .k-step:disabled .k-step-label {
    color: #adb5bd;
}
.k-stepper .k-step-indicator {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-stepper .k-step-indicator::after {
    box-shadow: inset 0 0 0 2px #ffffff;
}
.k-stepper .k-step-label:only-child {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-stepper .k-step-done .k-step-indicator {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
}
.k-stepper .k-step-done:hover .k-step-indicator, .k-stepper .k-step-done.k-hover .k-step-indicator, .k-stepper .k-step-done.k-step-hover .k-step-indicator {
    background-color: #2ebd2e;
}
.k-stepper .k-step-done.k-step-disabled .k-step-indicator, .k-stepper .k-step-done.k-disabled .k-step-indicator, .k-stepper .k-step-done:disabled .k-step-indicator {
    border-color: #84e184;
    color: black;
    background-color: #84e184;
}
.k-stepper .k-step-current .k-step-indicator {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
}
.k-stepper .k-step-current:hover .k-step-indicator, .k-stepper .k-step-current.k-hover .k-step-indicator, .k-stepper .k-step-current.k-step-hover .k-step-indicator {
    background-color: #2ebd2e;
}
.k-stepper .k-step-current.k-step-disabled .k-step-indicator, .k-stepper .k-step-current.k-disabled .k-step-indicator, .k-stepper .k-step-current:disabled .k-step-indicator {
    border-color: #84e184;
    color: black;
    background-color: #84e184;
}
.k-stepper .k-step-success .k-step-label .k-icon {
    color: #198754;
}
.k-stepper .k-step-error .k-step-label {
    color: #dc3545;
}
.k-stepper .k-step-error:hover .k-step-label, .k-stepper .k-step-error.k-hover .k-step-label, .k-stepper .k-step-error.k-step-hover .k-step-label {
    color: #dc3545;
}
.k-stepper .k-step-label-optional {
    color: #6c757d;
}
.k-tabstrip-wrapper {
    padding-block: 0px;
    padding-inline: 0px;
    box-sizing: border-box;
    border-width: 0px;
    border-style: solid;
    display: flex;
    flex-direction: column;
    position: relative;
}

.k-tabstrip {
    border-width: 0;
    border-color: transparent;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    color: inherit;
    background-color: transparent;
    display: flex;
    flex-flow: column nowrap;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-tabstrip-wrapper > .k-tabstrip {
    flex: 1 1 auto;
}

.k-tabstrip-items-wrapper {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: inherit;
    position: relative;
}

.k-tabstrip-items {
    box-sizing: border-box;
    outline: 0;
    display: flex;
    flex-direction: inherit;
    flex-wrap: wrap;
    flex: 1 1 auto;
    gap: 0;
}
.k-tabstrip-items *,
.k-tabstrip-items *::before,
.k-tabstrip-items *::after {
    box-sizing: border-box;
}
.k-tabstrip-items .k-item {
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    position: relative;
    flex-shrink: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-items: stretch;
    outline: 0;
}
.k-tabstrip-items .k-tab-on-top {
    z-index: 1;
}
.k-tabstrip-items .k-link {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    vertical-align: middle;
    flex: 1 1 auto;
    flex-direction: row;
    align-content: center;
    align-items: center;
}
.k-tabstrip-content,
.k-tabstrip > .k-content {
    margin: 0 !important;
    padding-block: 1rem;
    padding-inline: 1rem;
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    border-color: inherit;
    display: none;
    overflow: auto;
    flex: 1 1 auto;
    position: relative;
}
.k-tabstrip-content.k-active,
.k-tabstrip > .k-content.k-active {
    display: block;
}
.k-tabstrip-content:focus, .k-tabstrip-content.k-focus,
.k-tabstrip > .k-content:focus,
.k-tabstrip > .k-content.k-focus {
    outline-width: 1px;
    outline-style: dotted;
    outline-offset: -1px;
}

.k-tabstrip-items .k-loading {
    width: 20%;
    height: 0;
    border: 0;
    border-top: 1px solid transparent;
    border-color: inherit;
    background: none;
    position: absolute;
    top: 0;
    left: 0;
    transition: width 0.2s linear;
    display: none;
}
.k-tabstrip-items .k-loading.k-complete {
    width: 100%;
    border-top-width: 0;
}

.k-tabstrip-scrollable > .k-tabstrip-items-wrapper > .k-tabstrip-items {
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow: hidden;
}
.k-tabstrip-scrollable > .k-tabstrip-items-wrapper > .k-button {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    width: auto;
    height: auto;
    flex: none;
    align-self: stretch;
    aspect-ratio: auto;
}
.k-tabstrip-scrollable > .k-tabstrip-items-wrapper > .k-button .k-button-icon {
    min-width: auto;
    min-height: auto;
}

.k-tabstrip-horizontal, .k-tabstrip-bottom > .k-tabstrip-items-wrapper, .k-tabstrip-top > .k-tabstrip-items-wrapper {
    flex-direction: row;
}

.k-tabstrip-vertical, .k-tabstrip-right > .k-tabstrip-items-wrapper, .k-tabstrip-left > .k-tabstrip-items-wrapper {
    flex-direction: column;
}

.k-tabstrip-top > .k-tabstrip-items-wrapper {
    border-bottom-width: 1px;
}
.k-tabstrip-top > .k-tabstrip-items-wrapper .k-item {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    border-bottom-width: 0;
}
.k-tabstrip-top > .k-tabstrip-items-wrapper .k-item:active,
.k-tabstrip-top > .k-tabstrip-items-wrapper .k-item.k-active {
    margin-bottom: -1px;
    border-bottom-width: 1px;
    border-bottom-color: transparent !important;
}
.k-tabstrip-top > .k-content,
.k-tabstrip-top > .k-tabstrip-content {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    border-top-width: 0 !important;
}

.k-tabstrip-bottom > .k-tabstrip-items-wrapper {
    border-top-width: 1px;
}
.k-tabstrip-bottom > .k-tabstrip-items-wrapper .k-item {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    border-top-width: 0;
}
.k-tabstrip-bottom > .k-tabstrip-items-wrapper .k-item:active,
.k-tabstrip-bottom > .k-tabstrip-items-wrapper .k-item.k-active {
    margin-top: -1px;
    border-top-width: 1px;
    border-top-color: transparent !important;
}
.k-tabstrip-bottom > .k-content,
.k-tabstrip-bottom > .k-tabstrip-content {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    border-bottom-width: 0 !important;
}

.k-tabstrip-left {
    flex-direction: row;
}
.k-tabstrip-left > .k-tabstrip-items-wrapper {
    border-right-width: 1px;
}
.k-tabstrip-left > .k-tabstrip-items-wrapper .k-item {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    border-right-width: 0;
}
.k-tabstrip-left > .k-tabstrip-items-wrapper .k-item:active,
.k-tabstrip-left > .k-tabstrip-items-wrapper .k-item.k-active {
    margin-right: -1px;
    border-right-width: 1px;
    border-right-color: transparent !important;
}
.k-tabstrip-left > .k-content,
.k-tabstrip-left > .k-tabstrip-content {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    border-left-width: 0 !important;
}

.k-tabstrip-right {
    flex-direction: row-reverse;
}
.k-tabstrip-right > .k-tabstrip-items-wrapper {
    border-left-width: 1px;
}
.k-tabstrip-right > .k-tabstrip-items-wrapper .k-item {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    border-left-width: 0;
}
.k-tabstrip-right > .k-tabstrip-items-wrapper .k-item:active,
.k-tabstrip-right > .k-tabstrip-items-wrapper .k-item.k-active {
    margin-left: -1px;
    border-left-width: 1px;
    border-left-color: transparent !important;
}
.k-tabstrip-right > .k-content,
.k-tabstrip-right > .k-tabstrip-content {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    border-right-width: 0;
}

.k-tabstrip-items-start {
    justify-content: flex-start;
}

.k-tabstrip-items-center {
    justify-content: center;
}

.k-tabstrip-items-end {
    justify-content: flex-end;
}

.k-tabstrip-items-justify {
    justify-content: space-between;
}

.k-tabstrip-items-stretched > * {
    flex: 1 0 0;
}

.k-rtl .k-tabstrip.k-tabstrip-left > .k-tabstrip-items-wrapper, .k-rtl .k-tabstrip.k-tabstrip-right > .k-tabstrip-items-wrapper,
.k-tabstrip[dir=rtl].k-tabstrip-left > .k-tabstrip-items-wrapper,
.k-tabstrip[dir=rtl].k-tabstrip-right > .k-tabstrip-items-wrapper {
    order: 1;
}
.k-rtl .k-tabstrip.k-tabstrip-left > .k-content, .k-rtl .k-tabstrip.k-tabstrip-right > .k-content,
.k-tabstrip[dir=rtl].k-tabstrip-left > .k-content,
.k-tabstrip[dir=rtl].k-tabstrip-right > .k-content {
    order: 0;
}
.k-rtl .k-tabstrip.k-tabstrip-left > .k-tabstrip-content, .k-rtl .k-tabstrip.k-tabstrip-right > .k-tabstrip-content,
.k-tabstrip[dir=rtl].k-tabstrip-left > .k-tabstrip-content,
.k-tabstrip[dir=rtl].k-tabstrip-right > .k-tabstrip-content {
    order: 0;
}

.k-tabstrip-items-wrapper {
    border-color: #dee2e6;
    color: #212529;
}
.k-tabstrip-items-wrapper .k-item {
    color: limegreen;
}
.k-tabstrip-items-wrapper .k-item:hover, .k-tabstrip-items-wrapper .k-item.k-hover {
    border-color: #e9ecef;
    color: #28a428;
}
.k-tabstrip-items-wrapper .k-item:active, .k-tabstrip-items-wrapper .k-item.k-active, .k-tabstrip-items-wrapper .k-item.k-selected {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-tabstrip-items-wrapper .k-item:focus, .k-tabstrip-items-wrapper .k-item.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}
.k-tabstrip-items-wrapper .k-item.k-tabstrip-dragging {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}
.k-tabstrip-content,
.k-tabstrip > .k-content {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-tabstrip-content:focus, .k-tabstrip-content.k-focus,
.k-tabstrip > .k-content:focus,
.k-tabstrip > .k-content.k-focus {
    outline-color: #212529;
}

.k-wizard {
    padding-block: 1.25rem;
    padding-inline: 1.25rem;
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-size: 1rem;
    line-height: 1.5;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    position: relative;
    color: inherit;
    background: none;
    display: flex;
    align-items: stretch;
    overflow: hidden;
}
.k-wizard .k-wizard-steps {
    box-sizing: border-box;
    display: flex;
    overflow: hidden;
}
.k-wizard .k-wizard-step {
    box-sizing: border-box;
    padding: calc(0.5rem + 2px);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
}
.k-wizard .k-wizard-step:focus, .k-wizard .k-wizard-step.k-focus {
    outline-width: 1px;
    outline-style: dotted;
    outline-offset: -1px;
}
.k-wizard .k-wizard-content {
    box-sizing: border-box;
    overflow-y: auto;
}
.k-wizard .k-wizard-buttons {
    margin-top: 2rem;
    box-sizing: border-box;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.k-wizard .k-wizard-buttons .k-button {
    margin-right: 10px;
}
.k-wizard .k-wizard-buttons .k-wizard-pager {
    vertical-align: middle;
}
.k-wizard .k-wizard-buttons-right .k-button:last-of-type {
    margin-right: 0;
}
.k-wizard .k-stepper .k-step-list-vertical .k-step {
    flex: 1 0 auto;
}
.k-wizard .k-stepper .k-step-indicator {
    flex-shrink: 0;
}

.k-wizard-horizontal {
    flex-direction: column;
}
.k-wizard-horizontal .k-wizard-steps {
    margin-top: 2rem;
}
.k-wizard-horizontal .k-wizard-steps,
.k-wizard-horizontal .k-wizard-content {
    flex: 1 1 auto;
}

.k-wizard-vertical .k-wizard-steps {
    margin-left: 2rem;
    flex: 1 0 0%;
}
.k-wizard-vertical .k-wizard-content {
    flex: 1 1 0%;
}

.k-wizard-left {
    flex-direction: row-reverse;
}
.k-wizard-left .k-wizard-steps {
    margin-right: 2rem;
    margin-left: 0;
}

.k-wizard-step:focus, .k-wizard-step.k-focus {
    outline-color: #656565;
}

.k-expander {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    overflow: hidden;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-expander *,
.k-expander *::before,
.k-expander *::after {
    box-sizing: border-box;
}
.k-rtl .k-expander .k-expander-indicator, .k-expander.k-rtl .k-expander-indicator, .k-expander[dir=rtl] .k-expander-indicator {
    margin-left: 0;
    margin-right: 0.75rem;
}

.k-expander-header {
    padding-block: 1rem;
    padding-inline: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.k-expander-spacer {
    flex: 1 1 auto;
}

.k-expander-title {
    text-transform: uppercase;
    font-weight: 500;
}

.k-expander-indicator {
    margin-left: 0.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.k-expander-content {
    padding-block: 1.5rem;
    padding-inline: 1.5rem;
}

.k-expander + .k-expander.k-expanded,
.k-expander.k-expanded + .k-expander {
    margin-top: 0.75rem;
}

.k-expander:not(.k-expanded) + .k-expander:not(.k-expanded) {
    border-top-width: 0;
}

.k-expander {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-expander.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}

.k-expander-header {
    color: #212529;
    background-color: transparent;
    outline: none;
}
.k-expander-header:hover, .k-expander-header.k-hover {
    background-color: rgba(0, 0, 0, 0.04);
}
.k-expander-header.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}

.k-expander-title {
    color: limegreen;
}

.k-expander-sub-title {
    color: #6c757d;
}

.k-panelbar {
    margin: 0;
    padding: 0;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    list-style: none;
    display: block;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-panelbar *,
.k-panelbar *::before,
.k-panelbar *::after {
    box-sizing: border-box;
}
.k-panelbar > .k-item,
.k-panelbar > .k-panelbar-header {
    border-width: 0;
    border-style: solid;
    border-color: inherit;
    display: block;
}
.k-panelbar > .k-item > .k-link,
.k-panelbar > .k-panelbar-header > .k-link {
    padding-block: 1rem;
    padding-inline: 1.5rem;
    color: inherit;
    background: none;
    text-decoration: none;
    font-weight: 500;
    display: flex;
    flex-flow: row nowrap;
    gap: 0.5rem;
    align-items: center;
    align-content: center;
    position: relative;
    user-select: none;
    cursor: default;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.k-panelbar > .k-item + .k-item,
.k-panelbar > .k-panelbar-header + .k-panelbar-header {
    border-top-width: 1px;
}
.k-panelbar .k-group,
.k-panelbar .k-panelbar-group {
    margin: 0;
    padding: 0;
    border-width: 0;
    border-color: inherit;
    color: inherit;
    background-color: transparent;
    list-style: none;
}
.k-panelbar .k-group > .k-item,
.k-panelbar .k-panelbar-group > .k-panelbar-item {
    display: block;
}
.k-panelbar .k-group > .k-item > .k-link,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link {
    padding-block: 0.75rem;
    padding-inline: 1.5rem;
    color: inherit;
    text-decoration: none;
    display: flex;
    flex-flow: row nowrap;
    gap: 0.5rem;
    align-items: center;
    align-content: center;
    position: relative;
    user-select: none;
    cursor: default;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.k-panelbar .k-group > .k-item.k-level-1 .k-link,
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-1 .k-link {
    padding-left: 1.5rem;
}
.k-panelbar .k-group > .k-item.k-level-2 .k-link,
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-2 .k-link {
    padding-left: 3rem;
}
.k-panelbar .k-group > .k-item.k-level-3 .k-link,
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-3 .k-link {
    padding-left: 4.5rem;
}
.k-panelbar .k-group > .k-item.k-level-4 .k-link,
.k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-4 .k-link {
    padding-left: 6rem;
}
.k-panelbar .k-panelbar-item {
    outline-style: none;
}
.k-panelbar .k-panelbar-content {
    display: flow-root;
}
.k-panelbar .k-panelbar-expand,
.k-panelbar .k-panelbar-collapse,
.k-panelbar .k-panelbar-toggle {
    margin-inline-start: auto;
}
.k-panelbar .k-group .k-panelbar-expand,
.k-panelbar .k-group .k-panelbar-collapse,
.k-panelbar .k-panelbar-group .k-panelbar-toggle {
    margin-inline-end: calc(1.5rem - 1.5rem);
}
.k-rtl .k-panelbar .k-group > .k-item.k-level-1 .k-link,
.k-rtl .k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-1 .k-link, .k-panelbar.k-rtl .k-group > .k-item.k-level-1 .k-link,
.k-panelbar.k-rtl .k-panelbar-group > .k-panelbar-item.k-level-1 .k-link, .k-panelbar[dir=rtl] .k-group > .k-item.k-level-1 .k-link,
.k-panelbar[dir=rtl] .k-panelbar-group > .k-panelbar-item.k-level-1 .k-link {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.k-rtl .k-panelbar .k-group > .k-item.k-level-2 .k-link,
.k-rtl .k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-2 .k-link, .k-panelbar.k-rtl .k-group > .k-item.k-level-2 .k-link,
.k-panelbar.k-rtl .k-panelbar-group > .k-panelbar-item.k-level-2 .k-link, .k-panelbar[dir=rtl] .k-group > .k-item.k-level-2 .k-link,
.k-panelbar[dir=rtl] .k-panelbar-group > .k-panelbar-item.k-level-2 .k-link {
    padding-left: 1.5rem;
    padding-right: 3rem;
}
.k-rtl .k-panelbar .k-group > .k-item.k-level-3 .k-link,
.k-rtl .k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-3 .k-link, .k-panelbar.k-rtl .k-group > .k-item.k-level-3 .k-link,
.k-panelbar.k-rtl .k-panelbar-group > .k-panelbar-item.k-level-3 .k-link, .k-panelbar[dir=rtl] .k-group > .k-item.k-level-3 .k-link,
.k-panelbar[dir=rtl] .k-panelbar-group > .k-panelbar-item.k-level-3 .k-link {
    padding-left: 1.5rem;
    padding-right: 4.5rem;
}
.k-rtl .k-panelbar .k-group > .k-item.k-level-4 .k-link,
.k-rtl .k-panelbar .k-panelbar-group > .k-panelbar-item.k-level-4 .k-link, .k-panelbar.k-rtl .k-group > .k-item.k-level-4 .k-link,
.k-panelbar.k-rtl .k-panelbar-group > .k-panelbar-item.k-level-4 .k-link, .k-panelbar[dir=rtl] .k-group > .k-item.k-level-4 .k-link,
.k-panelbar[dir=rtl] .k-panelbar-group > .k-panelbar-item.k-level-4 .k-link {
    padding-left: 1.5rem;
    padding-right: 6rem;
}

.k-panelbar {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-panelbar > .k-item > .k-link,
.k-panelbar > .k-panelbar-header > .k-link {
    color: limegreen;
    background-color: #ffffff;
}
.k-panelbar > .k-item > .k-link .k-icon,
.k-panelbar > .k-item > .k-link .k-panelbar-item-icon,
.k-panelbar > .k-panelbar-header > .k-link .k-icon,
.k-panelbar > .k-panelbar-header > .k-link .k-panelbar-item-icon {
    color: #212529;
}
.k-panelbar > .k-item > .k-link:hover,
.k-panelbar > .k-item > .k-link.k-hover,
.k-panelbar > .k-panelbar-header > .k-link:hover,
.k-panelbar > .k-panelbar-header > .k-link.k-hover {
    background-color: whitesmoke;
}
.k-panelbar > .k-item > .k-link:focus,
.k-panelbar > .k-item > .k-link.k-focus,
.k-panelbar > .k-panelbar-header > .k-link:focus,
.k-panelbar > .k-panelbar-header > .k-link.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}
.k-panelbar > .k-item > .k-link.k-selected,
.k-panelbar > .k-panelbar-header > .k-link.k-selected {
    color: black;
    background-color: limegreen;
}
.k-panelbar > .k-item > .k-link.k-selected .k-icon,
.k-panelbar > .k-item > .k-link.k-selected .k-panelbar-item-icon,
.k-panelbar > .k-panelbar-header > .k-link.k-selected .k-icon,
.k-panelbar > .k-panelbar-header > .k-link.k-selected .k-panelbar-item-icon {
    color: inherit;
}
.k-panelbar > .k-item > .k-link.k-selected:hover,
.k-panelbar > .k-item > .k-link.k-selected.k-hover,
.k-panelbar > .k-panelbar-header > .k-link.k-selected:hover,
.k-panelbar > .k-panelbar-header > .k-link.k-selected.k-hover {
    background-color: #2ebd2e;
}
.k-panelbar .k-group > .k-item > .k-link:hover,
.k-panelbar .k-group > .k-item > .k-link.k-hover,
.k-panelbar .k-group > .k-panelbar-item > .k-link:hover,
.k-panelbar .k-group > .k-panelbar-item > .k-link.k-hover,
.k-panelbar .k-panelbar-group > .k-item > .k-link:hover,
.k-panelbar .k-panelbar-group > .k-item > .k-link.k-hover,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link:hover,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-hover {
    background-color: #ebebeb;
}
.k-panelbar .k-group > .k-item > .k-link:focus,
.k-panelbar .k-group > .k-item > .k-link.k-focus,
.k-panelbar .k-group > .k-panelbar-item > .k-link:focus,
.k-panelbar .k-group > .k-panelbar-item > .k-link.k-focus,
.k-panelbar .k-panelbar-group > .k-item > .k-link:focus,
.k-panelbar .k-panelbar-group > .k-item > .k-link.k-focus,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link:focus,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}
.k-panelbar .k-group > .k-item > .k-link.k-selected,
.k-panelbar .k-group > .k-panelbar-item > .k-link.k-selected,
.k-panelbar .k-panelbar-group > .k-item > .k-link.k-selected,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected {
    color: black;
    background-color: limegreen;
}
.k-panelbar .k-group > .k-item > .k-link.k-selected:hover,
.k-panelbar .k-group > .k-item > .k-link.k-selected.k-hover,
.k-panelbar .k-group > .k-panelbar-item > .k-link.k-selected:hover,
.k-panelbar .k-group > .k-panelbar-item > .k-link.k-selected.k-hover,
.k-panelbar .k-panelbar-group > .k-item > .k-link.k-selected:hover,
.k-panelbar .k-panelbar-group > .k-item > .k-link.k-selected.k-hover,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected:hover,
.k-panelbar .k-panelbar-group > .k-panelbar-item > .k-link.k-selected.k-hover {
    background-color: #2ebd2e;
}
.k-splitter {
    height: 300px;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: block;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-splitter .k-pane {
    overflow: hidden;
    box-sizing: border-box;
}
.k-splitter .k-scrollable {
    overflow: auto;
}
.k-splitter .k-splitter-resizing {
    overflow: hidden;
}
.k-pane > .k-splitter {
    border-width: 0;
    overflow: hidden;
}
.k-splitter .k-pane-loading {
    position: static;
    top: 50%;
    left: 50%;
}

.k-ghost-splitbar,
.k-splitbar {
    border-style: solid;
    outline: 0;
    position: absolute;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.k-ghost-splitbar .k-collapse-prev,
.k-ghost-splitbar .k-collapse-next,
.k-splitbar .k-collapse-prev,
.k-splitbar .k-collapse-next {
    cursor: pointer;
    padding: 0.125rem;
}

.k-splitbar-draggable-horizontal {
    cursor: col-resize;
}

.k-splitbar-draggable-vertical {
    cursor: row-resize;
}

.k-ghost-splitbar-horizontal,
.k-splitbar-horizontal {
    width: 0.75rem;
    border-width: 0;
    background-repeat: repeat-y;
    flex-direction: column;
    top: 0;
}

.k-ghost-splitbar-vertical,
.k-splitbar-vertical {
    height: 0.75rem;
    border-width: 0;
    background-repeat: repeat-x;
    flex-direction: row;
    left: 0;
}

.k-splitbar-static-horizontal {
    width: 1px;
}

.k-splitbar-static-vertical {
    height: 1px;
}

.k-splitbar-draggable-horizontal .k-resize-handle {
    width: 2px;
    height: 20px;
    position: static;
    z-index: 1;
}

.k-splitbar .k-resize-handle {
    display: none;
    background-color: currentColor;
}

.k-splitbar-draggable-horizontal .k-resize-handle,
.k-splitbar-draggable-vertical .k-resize-handle {
    display: block;
}

.k-splitbar-horizontal .k-collapse-prev {
    margin-bottom: 7px;
}

.k-splitbar-horizontal .k-collapse-next {
    margin-top: 7px;
}

.k-splitbar-vertical .k-collapse-prev {
    margin-right: 7px;
}

.k-splitbar-vertical .k-collapse-next {
    margin-left: 7px;
}

.k-splitbar-draggable-vertical .k-resize-handle {
    width: 20px;
    height: 2px;
    position: static;
    z-index: 1;
}

.k-pane > .k-splitter-overlay {
    opacity: 0;
    position: absolute;
}

.k-splitter-flex {
    display: flex;
    width: 100%;
    height: auto;
}
.k-splitter-flex .k-pane {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    min-height: 0;
    max-height: 100%;
    height: 100%;
}
.k-splitter-flex .k-pane-static {
    flex-grow: 0;
    flex-shrink: 0;
}
.k-splitter-flex .k-pane-flex {
    display: flex;
}
.k-splitter-flex .k-splitbar {
    position: static;
    flex: 0 0 auto;
}
.k-splitter-flex .k-pane.k-hidden, .k-splitter-flex .k-pane[hidden],
.k-splitter-flex .k-pane-flex.k-hidden,
.k-splitter-flex .k-pane-flex[hidden] {
    flex: 0 1 0% !important;
    overflow: hidden !important;
    display: block !important;
}
.k-splitter-flex.k-splitter-horizontal {
    flex-direction: row;
}
.k-splitter-flex.k-splitter-vertical {
    flex-direction: column;
}

.k-splitter {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-splitbar {
    color: #212529;
    background-color: #f8f9fa;
}

.k-splitbar:hover,
.k-splitbar.k-hover,
.k-splitbar-horizontal-hover,
.k-splitbar-vertical-hover {
    color: #212529;
    background-color: #eeeff0;
}

.k-splitbar:focus,
.k-splitbar.k-focus {
    color: black;
    background: limegreen;
}

.k-ghost-splitbar {
    background-color: #eeeff0;
}

.k-tilelayout {
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    display: grid;
    position: relative;
    padding: 1rem 1rem;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-tilelayout .k-card {
    box-shadow: none;
    border-width: 1px;
}

.k-tilelayout-item {
    position: relative;
    z-index: 0;
}

.k-layout-item-hint {
    border-radius: 0.375rem;
    border-width: 1px;
    border-style: solid;
    position: relative;
}
.k-layout-item-hint.k-layout-item-hint-resize {
    z-index: 3;
}

.k-tilelayout-item-header.k-card-header {
    z-index: 0;
}

.k-tilelayout-item-body {
    min-height: 0;
}

.k-tilelayout {
    background-color: #f8f9fa;
}

.k-tilelayout-item:focus,
.k-tilelayout-item.k-focus {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}

.k-layout-item-hint {
    border-color: #dee2e6;
    background-color: rgba(255, 255, 255, 0.2);
}

.k-dock-manager {
    width: 100%;
    height: 100%;
    border-width: 1px;
    border-style: solid;
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    overflow: auto;
    box-sizing: border-box;
}

.k-dock-manager-toolbar {
    border-width: 0 1px 0 0;
    border-color: inherit;
    flex-shrink: 0;
    writing-mode: vertical-lr;
    box-shadow: none;
}
.k-dock-manager-toolbar::before {
    height: 0;
}
.k-dock-manager-toolbar .k-separator-horizontal {
    width: calc(1.5 * 1em);
    height: 0;
    border-width: 1px 0 0;
}

.k-dock-manager-pane-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-grow: 1;
    overflow: hidden;
}

.k-dock-manager-splitter,
.k-dock-manager-unpinned-container {
    height: 100%;
    border-width: 0;
    align-items: stretch;
}
.k-dock-manager-splitter > .k-pane,
.k-dock-manager-unpinned-container > .k-pane {
    height: auto;
    flex-direction: column;
    border-color: inherit;
}
.k-dock-manager-splitter .k-pane-header,
.k-dock-manager-unpinned-container .k-pane-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    border-block-end-width: 1px;
    border-block-end-style: solid;
    border-color: inherit;
}
.k-dock-manager-splitter .k-pane-title,
.k-dock-manager-unpinned-container .k-pane-title {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.25rem;
    line-height: 1.25;
    font-weight: 500;
    flex: 1 1 auto;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.k-dock-manager-splitter .k-pane-scrollable,
.k-dock-manager-unpinned-container .k-pane-scrollable {
    height: 100%;
    display: flex;
    flex-direction: column;
    border-color: inherit;
}
.k-dock-manager-splitter .k-pane-content,
.k-dock-manager-unpinned-container .k-pane-content {
    height: 100%;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    overflow: auto;
    flex: 1;
}
.k-dock-manager-splitter .k-pane-actions,
.k-dock-manager-unpinned-container .k-pane-actions {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}
.k-dock-manager-splitter .k-pane-tabbed,
.k-dock-manager-unpinned-container .k-pane-tabbed {
    padding-block-start: 0.875rem;
    padding-block-end: 0.5rem;
    padding-inline: 0.5rem;
}
.k-dock-manager-splitter .k-splitbar,
.k-dock-manager-unpinned-container .k-splitbar {
    border-width: 0 1px;
    border-style: solid;
    border-color: inherit;
}
.k-dock-manager-splitter .k-splitbar-vertical,
.k-dock-manager-unpinned-container .k-splitbar-vertical {
    border-width: 1px 0;
}

.k-dock-manager-unpinned-container {
    width: 300px;
    position: absolute;
    display: flex;
    height: 100%;
    border-color: inherit;
    z-index: 20;
}
.k-dock-manager-unpinned-container .k-pane {
    display: inline-flex;
    flex-direction: column;
    position: relative;
    flex: 1 1 auto;
}
.k-dock-manager-unpinned-container .k-splitbar {
    height: 100%;
    position: relative;
    flex: none;
}

.k-docking-preview {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    border-width: 1px;
    border-style: dashed;
    border-radius: 0.25rem;
    z-index: 10;
}

.k-dock-navigator-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    z-index: 10001;
    pointer-events: none;
}

.k-dock-navigator {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: repeat(3, auto);
    justify-content: center;
    position: absolute;
}

.k-dock-indicator {
    padding: 0.375rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    position: relative;
    pointer-events: all;
    outline-width: 1px;
    outline-style: solid;
}
.k-dock-indicator.k-dock-indicator-middle {
    filter: none;
}

.k-dock-indicator-top {
    grid-area: 1/2/auto;
}

.k-dock-indicator-right {
    grid-area: 2/3/auto;
}

.k-dock-indicator-bottom {
    grid-area: 3/2/auto;
}

.k-dock-indicator-left {
    grid-area: 2/1/auto;
}

.k-dock-indicator-middle {
    grid-area: 2/2/auto;
}

.k-dock-manager {
    border-color: #e4e5e6;
}

.k-dock-manager-splitter .k-pane-header,
.k-dock-manager-unpinned-container .k-pane-header {
    background-color: #ffffff;
}

.k-dock-manager-unpinned-container {
    background-color: #ffffff;
    box-shadow: 4px 0px 5px 0px rgba(0, 0, 0, 0.04), 2px 0px 4px 0px rgba(0, 0, 0, 0.03);
}

.k-docking-preview {
    background-color: rgba(50, 205, 50, 0.16);
    border-color: limegreen;
}

.k-dock-indicator {
    color: limegreen;
    background-color: #ffffff;
    outline-color: limegreen;
    filter: drop-shadow(0px 1px 18px rgba(0, 0, 0, 0.12)) drop-shadow(0px 6px 10px rgba(0, 0, 0, 0.14)) drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.2));
}
.k-dock-indicator:hover, .k-dock-indicator.k-hover {
    background-color: limegreen;
    color: #ffffff;
}

.k-pane-wrapper {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: block;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-pane-wrapper .k-pane {
    width: 100%;
    height: 100%;
    user-select: none;
    box-sizing: border-box;
    font-family: sans-serif;
    overflow-x: hidden;
}
.k-pane-wrapper .k-view {
    top: 0;
    left: 0;
    position: relative;
    border: 0;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    align-content: stretch;
    vertical-align: top;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-pane-wrapper .k-content {
    min-height: 1px;
    flex: 1;
    align-items: stretch;
    display: block;
    width: auto;
    overflow: hidden;
    position: relative;
}

.k-pane-wrapper > div.k-pane {
    box-shadow: none;
    font-weight: normal;
}
.k-pane-wrapper .k-popup-edit-form .k-content,
.k-pane-wrapper .k-grid-edit-form .k-content,
.k-pane-wrapper .k-grid-header-menu .k-content,
.k-pane-wrapper .k-grid-filter-menu .k-content {
    overflow-y: auto;
}
.k-pane-wrapper .k-popup-edit-form .k-content > .k-scroll-container,
.k-pane-wrapper .k-grid-edit-form .k-content > .k-scroll-container,
.k-pane-wrapper .k-grid-header-menu .k-content > .k-scroll-container,
.k-pane-wrapper .k-grid-filter-menu .k-content > .k-scroll-container {
    position: absolute;
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
}
.k-pane-wrapper .k-grid-edit-form .k-popup-edit-form,
.k-pane-wrapper .k-grid-edit-form .k-edit-form-container {
    width: auto;
    min-width: auto;
}

.k-grid.k-grid-mobile {
    border-width: 0;
}

.k-grid-mobile .k-resize-handle-inner::before {
    content: "\e01e";
    position: absolute;
    font: 16px/1 "WebComponentsIcons";
    top: calc(50% - 1px);
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0.2em;
}
.k-grid-mobile .k-header a {
    user-select: none;
}

.k-pane-wrapper .k-scheduler-edit-form .k-recur-view {
    padding: 0;
    flex-direction: column;
    align-items: stretch;
}
.k-pane-wrapper .k-scheduler-edit-form .k-recur-view > .k-listgroup-form-row {
    margin: 0;
}
.k-pane-wrapper .k-scheduler-edit-form .k-recur-items-wrap {
    width: 100%;
    margin-block: -1px;
    margin-inline: 0;
}
.k-pane-wrapper .k-scheduler-edit-form .k-scheduler-recur-end-wrap {
    white-space: nowrap;
}

.k-scheduler.k-scheduler-mobile {
    border-width: 0;
}

.k-scheduler-mobile th {
    font-weight: normal;
}
.k-scheduler-mobile .k-event:hover .k-resize-handle {
    visibility: hidden;
}
.k-scheduler-mobile .k-scheduler-toolbar {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-scheduler-mobile .k-scheduler-toolbar > * {
    margin: 0;
}
.k-scheduler-mobile .k-scheduler-toolbar::before {
    display: none;
}
.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-navigation {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin: 0;
}
.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-navigation .k-nav-current {
    line-height: 1;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: space-evenly;
    gap: 0;
}
.k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-views-wrapper .k-views-dropdown {
    display: inline-block;
}
.k-scheduler-mobile .k-scheduler-footer {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    display: flex;
    justify-content: space-between;
}
.k-scheduler-mobile .k-scheduler-footer > * {
    margin: 0;
}
.k-scheduler-mobile .k-scheduler-footer::before {
    display: none;
}
.k-scheduler-mobile .k-scheduler-monthview .k-hidden {
    height: 40px;
}
.k-scheduler-mobile .k-scheduler-monthview .k-scheduler-table td {
    height: 40px;
    vertical-align: top;
    text-align: center;
}
.k-scheduler-mobile .k-scheduler-monthview .k-events-container {
    position: absolute;
    text-align: center;
    height: 6px;
    line-height: 6px;
}
.k-scheduler-mobile .k-scheduler-monthview .k-event {
    position: static;
    padding: 4px;
    border-radius: 50%;
    display: inline-block;
    width: 4px;
    height: 4px;
    min-height: 0;
    margin: 1px;
}
.k-scheduler-mobile .k-scheduler-dayview .k-mobile-header.k-mobile-horizontal-header .k-scheduler-times table tr:first-child {
    display: none;
}
.k-scheduler-mobile .k-scheduler-dayview .k-mobile-header .k-scheduler-header .k-scheduler-date-group {
    display: none;
}
.k-scheduler-mobile .k-scheduler-header-wrap > div {
    overflow: visible;
}
.k-scheduler-mobile .k-scheduler-agendaview .k-mobile-header {
    display: none;
}
.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table {
    table-layout: auto;
}
.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table .k-scheduler-groupcolumn {
    width: 1%;
}
.k-scheduler-mobile .k-scheduler-agendaview .k-scheduler-table td {
    white-space: normal;
}
.k-scheduler-mobile .k-mobile-header .k-scheduler-table td,
.k-scheduler-mobile .k-mobile-header .k-scheduler-table th {
    height: 1.5em;
}
.k-scheduler-mobile .k-time-text,
.k-scheduler-mobile .k-time-period {
    display: block;
    line-height: 1;
}
.k-scheduler-mobile .k-time-period {
    font-size: 0.7em;
}
.k-scheduler-mobile .k-scheduler-table td,
.k-scheduler-mobile .k-scheduler-table th {
    height: 2em;
    vertical-align: middle;
}
.k-scheduler-mobile .k-scheduler-datecolumn-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.k-scheduler-mobile .k-task {
    display: flex;
    align-items: center;
    gap: 0.5em;
}
.k-scheduler-mobile .k-task .k-scheduler-mark {
    border-radius: 50%;
    margin: 0;
}
.k-scheduler-mobile .k-task .k-scheduler-task-text {
    flex: 1 1 0%;
}
.k-scheduler-mobile .k-scheduler-times .k-scheduler-group-cell,
.k-scheduler-mobile .k-scheduler-times .k-scheduler-groupcolumn,
.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-group-cell,
.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-groupcolumn {
    vertical-align: top;
}
.k-scheduler-mobile .k-scheduler-times .k-scheduler-group-cell .k-scheduler-group-text,
.k-scheduler-mobile .k-scheduler-times .k-scheduler-groupcolumn .k-scheduler-group-text,
.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-group-cell .k-scheduler-group-text,
.k-scheduler-mobile .k-scheduler-agenda .k-scheduler-groupcolumn .k-scheduler-group-text {
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    white-space: nowrap;
}
.k-scheduler-mobile .k-scrollbar-h tr + tr .k-scheduler-times {
    border-bottom-width: 0;
}

.k-pane-wrapper .k-appbar {
    padding: 0.25rem;
}
.k-pane-wrapper .k-list-title,
.k-pane-wrapper .k-filter-help-text {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    display: block;
}
.k-pane-wrapper .k-listgroup-title {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    font-weight: bold;
    text-transform: uppercase;
}
.k-pane-wrapper .k-listgroup .k-listgroup-item {
    border-color: inherit;
}
.k-pane-wrapper .k-listgroup + .k-listgroup {
    margin-top: 1rem;
}
.k-pane-wrapper .k-column-menu {
    padding: 0.5rem;
    display: flex;
    flex-flow: column nowrap;
    gap: 0.5rem;
}
.k-pane-wrapper .k-column-menu .k-filter-item .k-filterable * {
    pointer-events: none;
}
.k-pane-wrapper .k-column-menu .k-list-title,
.k-pane-wrapper .k-column-menu .k-listgroup-title {
    padding: 0;
}
.k-pane-wrapper .k-column-menu .k-listgroup {
    margin-inline: -0.5rem;
}
.k-pane-wrapper .k-filter-menu {
    padding: 0.5rem;
    display: flex;
    flex-flow: column nowrap;
    gap: 0.5rem;
}
.k-pane-wrapper .k-filter-menu .k-list-title {
    padding: 0;
}
.k-pane-wrapper .k-filter-menu .k-list-filter {
    padding: 0;
    display: flex;
    flex-flow: column nowrap;
    gap: inherit;
}
.k-pane-wrapper .k-filter-menu .k-filter-tools {
    display: flex;
    flex-flow: row nowrap;
    gap: inherit;
}
.k-pane-wrapper .k-filter-menu .k-listgroup {
    margin-inline: -0.5rem;
}
.k-pane-wrapper .k-popup-edit-form .k-recur-editor-wrap {
    display: flex;
}
.k-pane-wrapper .k-popup-edit-form .k-mobiletimezoneeditor {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    flex: 1 1 auto;
}
.k-pane-wrapper .k-multicheck-wrap.k-listgroup {
    overflow-y: auto;
}
.k-pane-wrapper .k-pager-wrap.k-pager-sm,
.k-pane-wrapper .k-pager.k-pager-sm {
    justify-content: center;
}
.k-pane-wrapper .k-pager-wrap.k-pager-sm .k-pager-refresh,
.k-pane-wrapper .k-pager.k-pager-sm .k-pager-refresh {
    display: none;
}
.k-rtl .k-pane-wrapper .k-scheduler-mobile .k-scheduler-toolbar > ul > li, .k-pane-wrapper[dir=rtl] .k-scheduler-mobile .k-scheduler-toolbar > ul > li, [dir=rtl] .k-pane-wrapper .k-scheduler-mobile .k-scheduler-toolbar > ul > li {
    border: 0;
}
.k-rtl .k-pane-wrapper .k-scheduler-mobile .k-task .k-i-reload, .k-pane-wrapper[dir=rtl] .k-scheduler-mobile .k-task .k-i-reload, [dir=rtl] .k-pane-wrapper .k-scheduler-mobile .k-task .k-i-reload {
    margin-left: 0.5em;
    margin-right: 0;
}

.k-pane-wrapper,
.k-view {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-pane-wrapper .k-pane > .k-view > .k-content {
    background-position: 50% 50%;
    background-color: #fafafa;
}
.k-pane-wrapper .k-pane .k-grid-mobile .k-column-active + th.k-header {
    border-left-color: #212529;
}
.k-pane-wrapper .k-pane .k-grid-mobile .k-resize-handle-inner::before {
    background-color: #f8f9fa;
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-nav-current {
    color: limegreen;
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-times,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-groupcolumn,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-mobile-scheduler-agendadate {
    color: inherit;
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-time-period,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-mobile-scheduler-agendaweekday {
    color: #6c757d;
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-times,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header-wrap,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-datecolumn,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-groupcolumn,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-group-cell,
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-header-all-day {
    background-color: #fafafa;
}
.k-pane-wrapper .k-pane .k-scheduler-mobile .k-scheduler-toolbar .k-scheduler-tools > li {
    display: inline-block;
    background-color: inherit;
}
.k-pane-wrapper .k-pane .k-grid-edit-form .k-item,
.k-pane-wrapper .k-pane .k-grid-edit-form .k-link,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-item,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-link,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-item,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-link,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-item,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-link {
    color: #212529;
}
.k-pane-wrapper .k-pane .k-grid-edit-form .k-clear,
.k-pane-wrapper .k-pane .k-grid-edit-form .k-select-all,
.k-pane-wrapper .k-pane .k-grid-edit-form .k-scheduler-delete,
.k-pane-wrapper .k-pane .k-grid-edit-form .k-scheduler-resetSeries,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-clear,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-select-all,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-scheduler-delete,
.k-pane-wrapper .k-pane .k-grid-header-menu .k-scheduler-resetSeries,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-clear,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-select-all,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-scheduler-delete,
.k-pane-wrapper .k-pane .k-grid-filter-menu .k-scheduler-resetSeries,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-clear,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-select-all,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-scheduler-delete,
.k-pane-wrapper .k-pane .k-scheduler-edit-form .k-scheduler-resetSeries {
    color: limegreen;
}
.k-pane-wrapper .k-pane .k-column-menu .k-listgroup-item.k-selected {
    color: limegreen;
    background: none;
}
.k-pane-wrapper .k-pane .k-column-menu .k-listgroup-item.k-selected .k-link {
    color: inherit;
}

.k-grid {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-grid.k-grid-display-block {
    display: block;
}
.k-grid .k-grid-container {
    display: flex;
    flex: 1 1 auto;
    overflow: hidden;
    position: relative;
}
.k-grid .k-grid-aria-root {
    border-color: inherit;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    overflow: hidden;
}
.k-grid .k-table {
    margin: 0;
    width: 100%;
    max-width: none;
    border-width: 0;
    border-color: inherit;
    border-collapse: separate;
    border-spacing: 0;
    box-sizing: content-box;
    empty-cells: show;
    outline: 0;
}
.k-grid .k-grid-header .k-table,
.k-grid .k-grid-content .k-table,
.k-grid .k-grid-content-locked .k-table,
.k-grid .k-grid-footer .k-table {
    table-layout: fixed;
}
.k-grid .k-table-thead,
.k-grid .k-table-tbody,
.k-grid .k-table-tfoot {
    text-align: start;
    border-color: inherit;
}
.k-grid .k-table-row {
    border-color: inherit;
}
.k-grid .k-table-th,
.k-grid td,
.k-grid .k-table-td {
    border-width: 0;
    border-inline-start-width: 1px;
    border-style: solid;
    border-color: inherit;
    outline: 0;
    font-weight: inherit;
    text-align: inherit;
    position: static;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: content-box;
}
.k-grid .k-table-th:first-child,
.k-grid td:first-child,
.k-grid .k-table-td:first-child {
    border-inline-start-width: 0;
}
.k-grid .k-table-th:focus,
.k-grid td:focus,
.k-grid .k-table-td:focus {
    outline: none;
}
.k-grid .k-table-th > .k-radio,
.k-grid .k-table-th > .k-radio-wrap,
.k-grid .k-table-th > .k-checkbox,
.k-grid .k-table-th > .k-checkbox-wrap,
.k-grid td > .k-radio,
.k-grid td > .k-radio-wrap,
.k-grid td > .k-checkbox,
.k-grid td > .k-checkbox-wrap,
.k-grid .k-table-td > .k-radio,
.k-grid .k-table-td > .k-radio-wrap,
.k-grid .k-table-td > .k-checkbox,
.k-grid .k-table-td > .k-checkbox-wrap {
    vertical-align: top;
}
.k-grid .k-table-th {
    border-block-end-width: 1px;
    white-space: nowrap;
}
.k-grid td,
.k-grid .k-table-td {
    border-block-end-width: 0px;
    white-space: unset;
    vertical-align: middle;
}
.k-grid a {
    color: inherit;
    text-decoration: none;
}
.k-grid a:hover {
    text-decoration: none;
}
.k-grid .k-grid-header-wrap {
    box-sizing: content-box;
}
.k-grid .k-grid-header {
    border-bottom-width: 1px;
}
.k-grid .k-grid-header .k-table {
    margin-bottom: -1px;
}
.k-grid .k-grid-header.k-grid-draggable-header {
    user-select: none;
    touch-action: none;
}
.k-grid .k-grid-header .k-table-th {
    position: relative;
    vertical-align: bottom;
    cursor: default;
}
.k-grid .k-grid-header .k-table-th:first-child {
    border-inline-start-width: 0;
}
.k-grid .k-grid-header .k-table-th.k-first {
    border-inline-start-width: 1px;
}
.k-grid .k-grid-header .k-table-th > .k-link {
    line-height: inherit;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    outline: 0;
}
.k-grid .k-grid-header .k-table-th > .k-link:focus {
    text-decoration: none;
}
.k-grid .k-grid-header .k-grid-filter,
.k-grid .k-grid-header .k-header-column-menu,
.k-grid .k-grid-header .k-grid-header-menu {
    box-sizing: border-box;
    outline: 0;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    position: absolute;
    inset-inline-end: 0.5rem;
    z-index: 1;
}
.k-grid .k-grid-header .k-grid-filter:hover,
.k-grid .k-grid-header .k-header-column-menu:hover,
.k-grid .k-grid-header .k-grid-header-menu:hover {
    cursor: pointer;
}
.k-grid .k-grid-header .k-cell-inner > .k-link > .k-sort-icon {
    vertical-align: text-top;
    margin-inline-start: calc(1rem - 1px);
}
.k-grid .k-grid-header .k-cell-inner > .k-link > .k-sort-icon .k-icon {
    display: flex;
}
.k-grid .k-grid-header .k-sort-order {
    display: inline-block;
    vertical-align: top;
    height: 16px;
    font-size: 12px;
    margin-top: 2px;
    margin-inline-start: -2px;
}
.k-grid .k-grid-header .k-filterable > .k-cell-inner .k-link {
    padding-inline-end: 0;
}
.k-grid .k-cell-inner {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: inherit;
    overflow: hidden;
}
.k-grid .k-cell-inner > .k-link {
    width: auto;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: inherit;
    flex: 1;
    overflow: hidden;
}
.k-grid .k-cell-inner > .k-link > .k-sort-icon {
    margin-inline-start: 0;
    display: inline-block;
    flex-shrink: 0;
}
.k-grid .k-cell-inner .k-sort-order {
    flex-shrink: 0;
    line-height: normal;
}
.k-grid .k-cell-inner .k-grid-filter,
.k-grid .k-cell-inner .k-header-column-menu,
.k-grid .k-cell-inner .k-grid-header-menu {
    position: static;
    margin-inline-end: 0.5rem;
}
.k-grid .k-group-col,
.k-grid .k-hierarchy-col {
    padding: 0;
    width: 32px;
}
.k-grid .k-grouping-row p {
    margin: 0;
    display: flex;
    align-items: center;
    align-content: center;
}
.k-grid .k-grouping-row td,
.k-grid .k-grouping-row .k-table-td {
    overflow: visible;
}
.k-grid .k-grouping-row + .k-table-row td,
.k-grid .k-grouping-row + .k-table-row .k-table-td {
    border-top-width: 1px;
}
.k-grid .k-grouping-row .k-group-cell,
.k-grid .k-grouping-row + .k-table-row .k-group-cell {
    border-top-width: 0;
    text-overflow: clip;
}
.k-grid .k-grouping-row .k-icon {
    margin-inline-start: calc(8px - 0.5rem);
    margin-inline-end: 8px;
    text-decoration: none;
}
.k-grid .k-table .k-group-footer td,
.k-grid .k-table .k-group-footer .k-table-td {
    border-style: solid;
    border-width: 1px 0;
}
.k-grid .k-group-footer .k-group-cell + td,
.k-grid .k-group-footer .k-group-cell + .k-table-td {
    border-inline-start-width: 1px;
}
.k-grid .k-hierarchy-cell,
.k-grid .k-drag-cell {
    text-align: center;
    overflow: visible;
}
.k-grid .k-hierarchy-cell > .k-font-icon,
.k-grid .k-drag-cell > .k-font-icon {
    padding-block: 0.5rem;
    padding-inline: 0;
    width: 100%;
    height: 100%;
    display: inline-block;
    outline: 0;
}
.k-grid .k-hierarchy-cell + .k-grid-content-sticky {
    border-inline-start-width: 1px;
}
.k-grid .k-detail-row .k-detail-cell {
    border-inline-start-width: 0;
}
.k-grid .k-dirty-cell {
    position: relative;
}
.k-grid .k-dirty-cell.k-edit-cell {
    position: static;
}
.k-grid .k-dirty-cell.k-grid-content-sticky {
    position: sticky;
}
.k-grid .k-dirty {
    border-width: 5px;
    border-color: transparent;
    border-block-start-color: currentColor;
    border-inline-start-color: currentColor;
    inset-inline-start: 0;
    inset-inline-end: auto;
}
.k-grid .k-grid-content-locked + .k-grid-content {
    box-sizing: content-box;
}
.k-grid .k-grid-content-expander {
    position: absolute;
    visibility: hidden;
    height: 1px;
    bottom: 1px;
}
.k-grid .k-grid-filter,
.k-grid .k-header-column-menu,
.k-grid .k-grid-header-menu,
.k-grid .k-hierarchy-cell .k-icon {
    border-width: 0;
}
.k-grid .k-drag-col {
    padding: 0;
    width: 48px;
}
.k-grid .k-drag-cell {
    cursor: move;
}

.k-grid-toolbar {
    border-width: 0 0 1px;
    flex-shrink: 0;
}

.k-grid-toolbar-bottom {
    border-width: 1px 0 0;
}

.k-grouping-header {
    border-width: 0 0 1px;
    border-style: solid;
    border-color: inherit;
    white-space: normal;
    display: flex;
    align-items: center;
    position: relative;
    flex-wrap: wrap;
}
.k-grouping-header::before {
    content: "";
    height: calc(1.25em + 0.5rem + 2px);
    display: inline-block;
    vertical-align: middle;
}
.k-grouping-header .k-chip-list {
    flex-grow: 0;
    display: contents;
}
.k-grouping-header > .k-grouping-drop-container {
    flex-grow: 1;
    padding-block: 0.5rem;
    margin-block: -0.5rem;
    display: inline-flex;
    align-self: stretch;
    align-items: center;
}

.k-grouping-dropclue {
    width: 12px;
    position: absolute;
    top: 3px;
    box-sizing: content-box;
}
.k-grouping-dropclue::before, .k-grouping-dropclue::after {
    display: inline-block;
    content: "";
    position: absolute;
}
.k-grouping-dropclue::before {
    border-width: 6px;
    border-style: solid;
    border-left-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    top: 0;
}
.k-grouping-dropclue::after {
    width: 2px;
    height: calc(100% - 6px);
    top: 6px;
    inset-inline-start: calc(6px - 1px);
}

.k-grid-header-wrap,
.k-grid-footer-wrap {
    margin-inline-end: -1px;
    width: 100%;
    border-width: 0;
    border-inline-end-width: 1px;
    border-style: solid;
    border-color: inherit;
    position: relative;
    overflow: hidden;
}

.k-grid-header-locked + .k-grid-header-wrap.k-auto-scrollable {
    margin-inline-end: 0;
}

.k-grid-header,
.k-grid-footer {
    padding-inline-start: 0;
    padding-inline-end: var(--kendo-scrollbar-width, 17px);
    border-width: 0;
    border-style: solid;
    border-color: inherit;
    flex: 0 0 auto;
}

div.k-grid-header,
div.k-grid-footer {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.k-column-resizer {
    width: 0.5em;
    height: 1000%;
    display: block;
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    cursor: col-resize;
}

.k-row-resizer {
    display: block;
    height: 0.125rem;
    width: 100%;
    background: none;
}

.k-grid-footer {
    border-top-width: 1px;
}
.k-grid-footer td,
.k-grid-footer .k-table-td {
    height: calc(1.5 * 1em);
}

.k-grid-footer td,
.k-group-footer td,
.k-grouping-row td,
.k-grid-footer .k-table-td,
.k-group-footer .k-table-td,
.k-grouping-row .k-table-td {
    font-weight: bold;
}

.k-grid-filter-popup {
    min-width: 250px;
    max-width: 320px;
}

.k-grid-column-menu-standalone a.k-grid-filter {
    position: initial;
    display: inline-block;
    margin-block: -4px;
    margin-inline: 0;
    padding-block: 4px;
    padding-inline: 8px;
}

.k-filter-row {
    line-height: 1.5;
}
.k-filter-row td,
.k-filter-row .k-table-td,
.k-filter-row .k-table-th {
    border-width: 0;
    border-block-end-width: 1px;
    border-inline-start-width: 1px;
    white-space: nowrap;
}
.k-filter-row td:first-child,
.k-filter-row .k-table-td:first-child {
    border-inline-start-width: 0;
}
.k-filter-row .k-multiselect {
    height: auto;
}

.k-filtercell {
    width: auto;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
.k-filtercell > span,
.k-filtercell .k-filtercell-wrapper {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    flex: 1 1 auto;
}
.k-filtercell > span > .k-button,
.k-filtercell .k-filtercell-wrapper > .k-button {
    flex: none;
}

.k-grid-content,
.k-grid-content-locked {
    border-color: inherit;
    outline: 0;
}
.k-grid-content .k-table-row:last-child > td,
.k-grid-content .k-table-row:last-child > .k-table-td,
.k-grid-content-locked .k-table-row:last-child > td,
.k-grid-content-locked .k-table-row:last-child > .k-table-td {
    border-bottom-width: 0;
}

.k-grid-content {
    width: 100%;
    min-height: 0;
    overflow: auto;
    overflow-x: auto;
    overflow-y: scroll;
    position: relative;
    flex: 1;
}

.k-virtual-scrollable-wrap {
    height: 100%;
    overflow-y: hidden;
    position: relative;
}

.k-grid .k-edit-cell,
.k-grid .k-command-cell,
.k-grid .k-grid-edit-row td,
.k-grid .k-grid-edit-row .k-table-td {
    text-overflow: clip;
}

.k-grid .k-edit-cell > input:not([type=checkbox]):not([type=radio]),
.k-grid .k-edit-cell > select,
.k-grid .k-edit-cell > .k-widget:not(.k-switch),
.k-grid .k-grid-edit-row td > input:not([type=checkbox]):not([type=radio]),
.k-grid .k-grid-edit-row td > select,
.k-grid .k-grid-edit-row td > .k-widget:not(.k-switch),
.k-grid .k-grid-edit-row .k-table-td > input:not([type=checkbox]):not([type=radio]),
.k-grid .k-grid-edit-row .k-table-td > select,
.k-grid .k-grid-edit-row .k-table-td > .k-widget:not(.k-switch) {
    width: 100%;
    vertical-align: middle;
    box-sizing: border-box;
}
.k-grid .k-edit-cell > .k-radio,
.k-grid .k-edit-cell > .k-checkbox,
.k-grid .k-edit-cell > .k-radio-wrap,
.k-grid .k-edit-cell > .k-checkbox-wrap,
.k-grid .k-grid-edit-row td > .k-radio,
.k-grid .k-grid-edit-row td > .k-checkbox,
.k-grid .k-grid-edit-row td > .k-radio-wrap,
.k-grid .k-grid-edit-row td > .k-checkbox-wrap,
.k-grid .k-grid-edit-row .k-table-td > .k-radio,
.k-grid .k-grid-edit-row .k-table-td > .k-checkbox,
.k-grid .k-grid-edit-row .k-table-td > .k-radio-wrap,
.k-grid .k-grid-edit-row .k-table-td > .k-checkbox-wrap {
    vertical-align: middle;
}

.k-grid .k-command-cell > .k-button {
    margin-inline-end: 0.5rem;
    vertical-align: middle;
}
.k-grid .k-command-cell > .k-button:last-child {
    margin-inline-end: unset;
}

.k-grid > .k-resize-handle,
.k-grid-header .k-resize-handle {
    height: 25px;
    cursor: col-resize;
    position: absolute;
    z-index: 2;
}

.k-selection-aggregates {
    border-width: 1px 0 0;
    border-style: solid;
    line-height: 1.5;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.k-selection-aggregates-item-value {
    font-weight: 700;
}

.k-grid-pager {
    border-width: 1px 0 0;
    border-color: inherit;
    font-size: inherit;
}

.k-grid-pager-top {
    border-width: 0 0 1px;
}

.k-grid-virtual .k-grid-content .k-grid-table-wrap {
    float: left;
    width: 100%;
}
.k-grid-virtual .k-grid-content .k-grid-table {
    position: relative;
    float: left;
    z-index: 1;
}
.k-grid-virtual .k-grid-content > .k-height-container {
    position: relative;
    float: left;
}
.k-grid-virtual .k-grid-content::after {
    content: "";
    display: block;
    clear: both;
}

.k-width-container {
    position: absolute;
    visibility: hidden;
}

.k-width-container div {
    height: 1px;
}

.k-grid-add-row td,
.k-grid-add-row .k-table-td {
    border-bottom-style: solid;
    border-bottom-width: 1px;
}

.k-grid-lockedcolumns {
    white-space: nowrap;
}

.k-grid-content,
.k-grid-content-locked {
    white-space: normal;
}

.k-grid-content-locked,
.k-grid-footer-locked,
.k-grid-header-locked {
    flex: 0 0 auto;
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
    position: relative;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    box-sizing: content-box;
}
.k-grid-content-locked + .k-grid-content.k-auto-scrollable,
.k-grid-footer-locked + .k-grid-content.k-auto-scrollable,
.k-grid-header-locked + .k-grid-content.k-auto-scrollable {
    display: inline-block;
}
.k-grid-content-locked .k-table,
.k-grid-footer-locked .k-table,
.k-grid-header-locked .k-table {
    border-width: 0;
}

.k-grid-content,
.k-grid-footer-wrap,
.k-grid-header-wrap {
    flex: 1 1 auto;
    display: inline-block;
    vertical-align: top;
}
.k-grid-content.k-auto-scrollable,
.k-grid-footer-wrap.k-auto-scrollable,
.k-grid-header-wrap.k-auto-scrollable {
    display: block;
}

.k-grid-header-locked > .k-grid-header-table,
.k-grid-header-wrap > .k-grid-header-table {
    margin-bottom: -1px;
}

.k-grid-header .k-table-th.k-grid-header-sticky,
.k-grid-header .k-filter-row .k-grid-header-sticky,
.k-grid .k-grid-content-sticky,
.k-grid .k-grid-row-sticky,
.k-grid .k-grid-footer-sticky {
    position: sticky;
    z-index: 2;
}
.k-grid-header .k-table-th.k-grid-header-sticky.k-edit-cell,
.k-grid-header .k-filter-row .k-grid-header-sticky.k-edit-cell,
.k-grid .k-grid-content-sticky.k-edit-cell,
.k-grid .k-grid-row-sticky.k-edit-cell,
.k-grid .k-grid-footer-sticky.k-edit-cell {
    overflow: visible;
    z-index: 3;
}

.k-master-row .k-grid-content-sticky::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

kendo-grid .k-table-row.k-grid-row-sticky {
    border: 0;
    position: static;
    z-index: auto;
}
kendo-grid .k-grid-row-sticky td,
kendo-grid .k-grid-row-sticky .k-table-td {
    border-bottom-width: 1px;
    border-top-width: 1px;
    position: sticky;
    top: inherit;
    bottom: inherit;
    z-index: 2;
}
kendo-grid .k-grid-row-sticky td.k-grid-content-sticky,
kendo-grid .k-grid-row-sticky.k-table-alt-row td.k-grid-content-sticky,
kendo-grid .k-grid-row-sticky .k-table-td.k-grid-content-sticky,
kendo-grid .k-grid-row-sticky.k-table-alt-row .k-table-td.k-grid-content-sticky {
    z-index: 3;
}
kendo-grid .k-grid-header-locked .k-table-th.k-grid-header-sticky:last-child,
kendo-grid .k-grid-content-locked .k-table-row .k-grid-content-sticky:last-child {
    border-inline-end: 0;
}
kendo-grid .k-grid-header .k-grid-column-menu,
kendo-grid .k-grid-header .k-grid-header-menu {
    z-index: 1;
}

.k-grid-content-sticky.k-grid-row-sticky {
    z-index: 3;
}

.k-grid .k-table .k-grid-header-sticky,
.k-grid .k-table .k-grid-content-sticky,
.k-grid .k-table .k-grid-footer-sticky {
    border-inline-end-width: 1px;
}
.k-grid .k-table .k-grid-header-sticky:not([style*="display: none"]) + td, .k-grid .k-table .k-grid-header-sticky:not([style*="display: none"]) + .k-table-td, .k-grid .k-table .k-grid-header-sticky:not([style*="display: none"]) + .k-table-th,
.k-grid .k-table .k-grid-content-sticky:not([style*="display: none"]) + td,
.k-grid .k-table .k-grid-content-sticky:not([style*="display: none"]) + .k-table-td,
.k-grid .k-table .k-grid-content-sticky:not([style*="display: none"]) + .k-table-th,
.k-grid .k-table .k-grid-footer-sticky:not([style*="display: none"]) + td,
.k-grid .k-table .k-grid-footer-sticky:not([style*="display: none"]) + .k-table-td,
.k-grid .k-table .k-grid-footer-sticky:not([style*="display: none"]) + .k-table-th {
    border-inline-start-width: 0;
}

.k-grid .k-grid-row-sticky {
    border-bottom-width: 1px;
    border-top-width: 1px;
}

.k-grid-header-sticky.k-table-th.k-grid-no-left-border.k-first {
    border-inline-start-width: 0;
}

.k-grid.k-grid-no-scrollbar .k-grid-header-wrap,
.k-grid.k-grid-no-scrollbar .k-grid-footer-wrap {
    margin: 0;
    border-width: 0;
}
.k-grid.k-grid-no-scrollbar .k-grid-header,
.k-grid.k-grid-no-scrollbar .k-grid-footer {
    padding: 0;
}
.k-grid.k-grid-no-scrollbar .k-grid-content {
    overflow-y: auto;
}

.k-grid-norecords {
    text-align: center;
}

div.k-grid-norecords {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.k-grid-norecords-template {
    box-sizing: border-box;
    margin-block: 0;
    margin-inline: auto;
    width: 20em;
    height: 4em;
    border: 1px solid;
    line-height: 4em;
}

.k-column-title {
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
    overflow: hidden;
}

.k-grid .k-grid-sm .k-table-th,
.k-grid-sm .k-table-th {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-grid .k-grid-sm td,
.k-grid .k-grid-sm .k-table-td,
.k-grid-sm td,
.k-grid-sm .k-table-td {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-grid .k-grid-sm .k-grouping-header,
.k-grid-sm .k-grouping-header {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    gap: 0.25rem;
}
.k-grid .k-grid-sm .k-grouping-header::before,
.k-grid-sm .k-grouping-header::before {
    margin-inline-start: -0.25rem;
}
.k-grid .k-grid-sm .k-grid-header .k-table-th > .k-link,
.k-grid-sm .k-grid-header .k-table-th > .k-link {
    margin-block: -0.25rem;
    margin-inline: -0.25rem;
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-grid .k-grid-sm .k-grid-header .k-grid-filter,
.k-grid .k-grid-sm .k-grid-header .k-header-column-menu,
.k-grid .k-grid-sm .k-grid-header .k-grid-header-menu,
.k-grid-sm .k-grid-header .k-grid-filter,
.k-grid-sm .k-grid-header .k-header-column-menu,
.k-grid-sm .k-grid-header .k-grid-header-menu {
    padding: 0.25rem;
    width: calc(1.4285714286em + 0.5rem + 2px);
    height: calc(1.4285714286em + 0.5rem + 2px);
    bottom: calc(0.25rem + calc(1.5 * 1em)/2 - calc(1.5em + 0.75rem)/2);
}
.k-grid .k-grid-sm .k-table-th > .k-cell-inner,
.k-grid-sm .k-table-th > .k-cell-inner {
    margin-block: -0.25rem;
    margin-inline: -0.25rem;
}
.k-grid .k-grid-sm .k-table-th > .k-cell-inner > .k-link,
.k-grid-sm .k-table-th > .k-cell-inner > .k-link {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-grid .k-grid-sm .k-grouping-row .k-icon,
.k-grid-sm .k-grouping-row .k-icon {
    margin-inline-start: calc(8px - 0.25rem);
}
.k-grid .k-grid-sm .k-grouping-dropclue,
.k-grid-sm .k-grouping-dropclue {
    height: calc(calc(1.25em + 0.25rem + 2px) + 6px);
}
.k-grid .k-grid-sm .k-hierarchy-cell,
.k-grid .k-grid-sm .k-drag-cell,
.k-grid-sm .k-hierarchy-cell,
.k-grid-sm .k-drag-cell {
    padding: 0;
}
.k-grid .k-grid-sm .k-hierarchy-cell > .k-icon,
.k-grid .k-grid-sm .k-drag-cell > .k-icon,
.k-grid-sm .k-hierarchy-cell > .k-icon,
.k-grid-sm .k-drag-cell > .k-icon {
    padding-block: 0.25rem;
    padding-inline: 0;
}
.k-grid .k-grid-sm .k-edit-cell,
.k-grid .k-grid-sm .k-command-cell,
.k-grid .k-grid-sm .k-grid-edit-row td,
.k-grid .k-grid-sm .k-grid-edit-row .k-table-td,
.k-grid-sm .k-edit-cell,
.k-grid-sm .k-command-cell,
.k-grid-sm .k-grid-edit-row td,
.k-grid-sm .k-grid-edit-row .k-table-td {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-grid .k-grid-sm .k-filter-row td,
.k-grid .k-grid-sm .k-filter-row .k-table-td,
.k-grid .k-grid-sm .k-filter-row .k-table-th,
.k-grid-sm .k-filter-row td,
.k-grid-sm .k-filter-row .k-table-td,
.k-grid-sm .k-filter-row .k-table-th {
    padding-block: 0.375rem;
    padding-inline: 0.375rem;
}
.k-grid .k-grid-sm .k-filtercell > span,
.k-grid .k-grid-sm .k-filtercell .k-filtercell-wrapper,
.k-grid-sm .k-filtercell > span,
.k-grid-sm .k-filtercell .k-filtercell-wrapper {
    gap: 0.125rem;
}
.k-grid .k-grid-sm .k-selection-aggregates,
.k-grid-sm .k-selection-aggregates {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}
.k-grid .k-grid-sm .k-resizer-wrap,
.k-grid-sm .k-resizer-wrap {
    display: block;
    width: 100%;
    padding-block-start: calc(0.25rem - 0.125rem);
    padding-block-end: 0.25rem;
    position: absolute;
    background: none;
    cursor: row-resize;
    z-index: 2;
}

.k-grid .k-grid-md .k-table-th,
.k-grid-md .k-table-th {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-grid .k-grid-md td,
.k-grid .k-grid-md .k-table-td,
.k-grid-md td,
.k-grid-md .k-table-td {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-grid .k-grid-md .k-grouping-header,
.k-grid-md .k-grouping-header {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    gap: 0.5rem;
}
.k-grid .k-grid-md .k-grouping-header::before,
.k-grid-md .k-grouping-header::before {
    margin-inline-start: -0.5rem;
}
.k-grid .k-grid-md .k-grid-header .k-table-th > .k-link,
.k-grid-md .k-grid-header .k-table-th > .k-link {
    margin-block: -0.5rem;
    margin-inline: -0.5rem;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-grid .k-grid-md .k-grid-header .k-grid-filter,
.k-grid .k-grid-md .k-grid-header .k-header-column-menu,
.k-grid .k-grid-md .k-grid-header .k-grid-header-menu,
.k-grid-md .k-grid-header .k-grid-filter,
.k-grid-md .k-grid-header .k-header-column-menu,
.k-grid-md .k-grid-header .k-grid-header-menu {
    padding: 0.375rem;
    width: calc(1.5em + 0.75rem + 2px);
    height: calc(1.5em + 0.75rem + 2px);
    bottom: calc(0.5rem + calc(1.5 * 1em)/2 - calc(1.5em + 0.75rem)/2);
}
.k-grid .k-grid-md .k-table-th > .k-cell-inner,
.k-grid-md .k-table-th > .k-cell-inner {
    margin-block: -0.5rem;
    margin-inline: -0.5rem;
}
.k-grid .k-grid-md .k-table-th > .k-cell-inner > .k-link,
.k-grid-md .k-table-th > .k-cell-inner > .k-link {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-grid .k-grid-md .k-grouping-row .k-icon,
.k-grid-md .k-grouping-row .k-icon {
    margin-inline-start: calc(8px - 0.5rem);
}
.k-grid .k-grid-md .k-grouping-dropclue,
.k-grid-md .k-grouping-dropclue {
    height: calc(calc(1.25em + 0.5rem + 2px) + 6px);
}
.k-grid .k-grid-md .k-hierarchy-cell,
.k-grid .k-grid-md .k-drag-cell,
.k-grid-md .k-hierarchy-cell,
.k-grid-md .k-drag-cell {
    padding: 0;
}
.k-grid .k-grid-md .k-hierarchy-cell > .k-icon,
.k-grid .k-grid-md .k-drag-cell > .k-icon,
.k-grid-md .k-hierarchy-cell > .k-icon,
.k-grid-md .k-drag-cell > .k-icon {
    padding-block: 0.5rem;
    padding-inline: 0;
}
.k-grid .k-grid-md .k-edit-cell,
.k-grid .k-grid-md .k-command-cell,
.k-grid .k-grid-md .k-grid-edit-row td,
.k-grid .k-grid-md .k-grid-edit-row .k-table-td,
.k-grid-md .k-edit-cell,
.k-grid-md .k-command-cell,
.k-grid-md .k-grid-edit-row td,
.k-grid-md .k-grid-edit-row .k-table-td {
    padding-block: 5px;
    padding-inline: 0.5rem;
}
.k-grid .k-grid-md .k-filter-row td,
.k-grid .k-grid-md .k-filter-row .k-table-td,
.k-grid .k-grid-md .k-filter-row .k-table-th,
.k-grid-md .k-filter-row td,
.k-grid-md .k-filter-row .k-table-td,
.k-grid-md .k-filter-row .k-table-th {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-grid .k-grid-md .k-filtercell > span,
.k-grid .k-grid-md .k-filtercell .k-filtercell-wrapper,
.k-grid-md .k-filtercell > span,
.k-grid-md .k-filtercell .k-filtercell-wrapper {
    gap: 0.25rem;
}
.k-grid .k-grid-md .k-selection-aggregates,
.k-grid-md .k-selection-aggregates {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.k-grid .k-grid-md .k-resizer-wrap,
.k-grid-md .k-resizer-wrap {
    display: block;
    width: 100%;
    padding-block-start: calc(5px - 0.125rem);
    padding-block-end: 5px;
    position: absolute;
    background: none;
    cursor: row-resize;
    z-index: 2;
}

.k-loading-pdf-mask {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 100;
}
.k-loading-pdf-mask > .k-i-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 64px;
}
.k-loading-pdf-mask .k-loading-pdf-progress {
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.k-pdf-export .k-loading-pdf-mask {
    display: none;
}

.k-grid-pdf-export-element {
    position: absolute;
    left: -10000px;
    top: -10000px;
}
.k-grid-pdf-export-element .k-filter-row {
    display: none;
}

.k-pdf-export-shadow .k-grid {
    float: left;
    width: auto !important;
}
.k-pdf-export-shadow .k-grid,
.k-pdf-export-shadow .k-grid-content,
.k-pdf-export-shadow .k-grid-content-locked {
    height: auto !important;
    overflow: visible;
}
.k-pdf-export-shadow .k-grid-header-locked + .k-grid-header-wrap, .k-pdf-export-shadow .k-grid-header-locked + .k-grid-content, .k-pdf-export-shadow .k-grid-header-locked + .k-grid-footer-wrap {
    width: auto !important;
}
.k-pdf-export-shadow .k-grid-header,
.k-pdf-export-shadow .k-grid[data-role=grid] .k-grid-footer {
    padding: 0 !important;
}

.k-filter-menu-popup {
    min-width: 250px;
    max-width: 320px;
}

.k-filter-menu {
    box-sizing: border-box;
}

.k-filter-menu-container {
    padding: 0.5rem;
    box-sizing: border-box;
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    gap: 0.5rem;
}
.k-filter-menu-container .k-filter-and {
    width: min-content;
    align-self: start;
}
.k-filter-menu-container .k-actions, .k-filter-menu-container .k-edit-buttons,
.k-filter-menu-container .k-action-buttons,
.k-filter-menu-container .k-columnmenu-actions, .k-filter-menu-container .k-form-buttons {
    margin: 0;
    padding: 0;
}
.k-filter-menu-container kendo-numeric-filter-menu,
.k-filter-menu-container kendo-grid-string-filter-menu,
.k-filter-menu-container kendo-grid-date-filter-menu,
.k-filter-menu-container kendo-grid-numeric-filter-menu,
.k-filter-menu-container kendo-grid-filter-menu-input-wrapper,
.k-filter-menu-container kendo-treelist-string-filter-menu,
.k-filter-menu-container kendo-treelist-date-filter-menu,
.k-filter-menu-container kendo-treelist-numeric-filter-menu,
.k-filter-menu-container kendo-treelist-filter-menu-input-wrapper {
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    gap: 0.5rem;
}

.k-filter-menu.k-popup .k-filter-menu-container,
.k-grid-filter-popup.k-popup .k-filter-menu-container {
    min-width: 250px;
    max-width: 320px;
}

.k-popup .k-multicheck-wrap {
    margin: 0;
    padding: 0;
    max-height: 300px;
    white-space: nowrap;
    overflow: auto;
    list-style: none;
}
.k-popup .k-multicheck-wrap .k-item,
.k-popup .k-multicheck-wrap .k-check-all-wrap {
    padding-block: 0.25rem;
    padding-inline: 1rem;
    display: flex;
    flex-flow: row nowrap;
}

.k-filter-selected-items {
    font-weight: bold;
    line-height: normal;
    white-space: nowrap;
}

.k-autofitting {
    width: auto !important;
    table-layout: auto !important;
}
.k-autofitting .k-table-th,
.k-autofitting td,
.k-autofitting .k-table-td {
    white-space: nowrap !important;
}
.k-autofitting .k-detail-row {
    display: none !important;
}

.k-column-menu-popup,
.k-grid-columnmenu-popup {
    min-width: 250px;
    box-sizing: border-box;
}
.k-column-menu-popup.k-popup,
.k-grid-columnmenu-popup.k-popup {
    max-width: 320px;
}
.k-column-menu-popup .k-actions, .k-column-menu-popup .k-edit-buttons,
.k-column-menu-popup .k-action-buttons,
.k-column-menu-popup .k-columnmenu-actions, .k-column-menu-popup .k-form-buttons,
.k-grid-columnmenu-popup .k-actions,
.k-grid-columnmenu-popup .k-edit-buttons,
.k-grid-columnmenu-popup .k-action-buttons,
.k-grid-columnmenu-popup .k-columnmenu-actions,
.k-grid-columnmenu-popup .k-form-buttons {
    margin: 0;
}

.k-column-menu {
    box-sizing: border-box;
}
.k-column-menu .k-menu:not(.k-context-menu) {
    font-weight: 400;
}
.k-column-menu .k-expander {
    border: 0;
    background: inherit;
}
.k-column-menu .k-expander .k-columnmenu-item {
    display: flex;
    align-items: center;
}

.k-column-menu-tabbed {
    border-radius: 0.25rem 0.25rem 0 0;
}
.k-column-menu-tabbed .k-tabstrip-items {
    margin: -1px -1px 0;
}
.k-column-menu-tabbed .k-tabstrip-items .k-item {
    flex: 1;
}
.k-column-menu-tabbed .k-tabstrip-items .k-link {
    justify-content: center;
}
.k-column-menu-tabbed .k-tabstrip-content {
    padding-inline: 0;
    padding-block: 0.5rem;
    border-width: 0;
}

.k-column-list {
    padding: 0;
    margin: 0;
    list-style: none;
    max-height: 200px;
    overflow-x: hidden;
    overflow-y: auto;
}

.k-column-chooser-title,
.k-column-list-item {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}

.k-column-list-item {
    margin: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    position: relative;
}
.k-column-list-item .k-checkbox-label {
    margin: 0;
}
.k-column-list-item:focus {
    outline: none;
}

.k-columns-items-wrap {
    padding-block: 0.5rem;
    padding-inline: 0;
}

.k-columnmenu-item {
    padding-block: 0.25rem;
    padding-inline: 1rem;
    outline: 0;
    cursor: pointer;
}
.k-columnmenu-item > .k-icon,
.k-columnmenu-item > .k-expander-indicator {
    margin-inline-end: 0.5rem;
}

.k-columnmenu-item-wrapper + .k-columnmenu-item-wrapper {
    border-top: 1px solid;
    border-top-color: #dee2e6;
}

.k-columnmenu-item-content {
    overflow: hidden;
}

.k-column-menu-group-header {
    padding-block: 0.25rem;
    padding-inline: 1rem;
    display: flex;
    flex: 0 0 auto;
    position: relative;
    user-select: none;
}

.k-column-menu-group-header-text {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: bold;
    text-transform: uppercase;
    flex: 1 1 auto;
}

.k-rtl .k-grid-virtual .k-grid-content .k-grid-table-wrap,
.k-rtl .k-grid-virtual .k-grid-content .k-grid-table,
.k-rtl .k-grid-virtual .k-grid-content > .k-height-container,
[dir=rtl] .k-grid-virtual .k-grid-content .k-grid-table-wrap,
[dir=rtl] .k-grid-virtual .k-grid-content .k-grid-table,
[dir=rtl] .k-grid-virtual .k-grid-content > .k-height-container,
.k-rtl.k-grid-virtual .k-grid-content .k-grid-table-wrap,
.k-rtl.k-grid-virtual .k-grid-content .k-grid-table,
.k-rtl.k-grid-virtual .k-grid-content > .k-height-container,
[dir=rtl].k-grid-virtual .k-grid-content .k-grid-table-wrap,
[dir=rtl].k-grid-virtual .k-grid-content .k-grid-table,
[dir=rtl].k-grid-virtual .k-grid-content > .k-height-container {
    float: right;
}

.k-grid {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-grid .k-table {
    background-color: inherit;
}
.k-grid td,
.k-grid .k-table-td,
.k-grid .k-grid-content,
.k-grid .k-grid-header-locked,
.k-grid .k-grid-content-locked {
    border-color: #dee2e6;
}
.k-grid .k-table-alt-row {
    background-color: rgba(0, 0, 0, 0.04);
}
.k-grid tbody > tr:not(.k-detail-row):hover,
.k-grid .k-table-tbody > .k-table-row:not(.k-detail-row).k-hover {
    background-color: rgba(0, 0, 0, 0.08);
}
.k-grid .k-table-th.k-selected,
.k-grid td.k-selected,
.k-grid .k-table-td.k-selected,
.k-grid .k-table-row.k-selected > td,
.k-grid .k-table-row.k-selected > .k-table-td {
    color: #212529;
    background-color: rgba(50, 205, 50, 0.25);
}
.k-grid .k-table-th:focus, .k-grid .k-table-th.k-focus,
.k-grid td:focus,
.k-grid td.k-focus,
.k-grid .k-table-td:focus,
.k-grid .k-table-td.k-focus,
.k-grid .k-master-row > td:focus,
.k-grid .k-master-row > td.k-focus,
.k-grid .k-grouping-row > td:focus,
.k-grid .k-grouping-row > td.k-focus,
.k-grid .k-detail-row > td:focus,
.k-grid .k-detail-row > td.k-focus,
.k-grid .k-group-footer > td:focus,
.k-grid .k-group-footer > td.k-focus,
.k-grid .k-master-row > .k-table-td:focus,
.k-grid .k-master-row > .k-table-td.k-focus,
.k-grid .k-grouping-row > .k-table-td:focus,
.k-grid .k-grouping-row > .k-table-td.k-focus,
.k-grid .k-detail-row > .k-table-td:focus,
.k-grid .k-detail-row > .k-table-td.k-focus,
.k-grid .k-group-footer > .k-table-td:focus,
.k-grid .k-group-footer > .k-table-td.k-focus,
.k-grid .k-grid-pager:focus,
.k-grid .k-grid-pager.k-focus {
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.08);
}
.k-grid col.k-sorted,
.k-grid .k-table-th.k-sorted {
    background-color: rgba(0, 0, 0, 0.02);
}
.k-grid .k-grid-header-locked,
.k-grid .k-grid-content-locked,
.k-grid .k-grid-header-locked .k-header,
.k-grid .k-grid-content-locked td,
.k-grid .k-grid-content-locked .k-table-td {
    border-color: rgba(33, 37, 41, 0.5);
}
.k-grid .k-grid-header-locked .k-header {
    border-bottom-color: #dee2e6;
}
.k-grid .k-grid-content-locked .k-group-footer td,
.k-grid .k-grid-content-locked .k-group-footer .k-table-td,
.k-grid .k-grid-content-locked .k-group-cell {
    border-color: #dee2e6;
}
.k-grid .k-grid-content-locked .k-grouping-row + .k-table-row td,
.k-grid .k-grid-content-locked .k-grouping-row + .k-table-row .k-table-td {
    border-top-color: #dee2e6;
}
.k-grid .k-grid-content-locked .k-selected td,
.k-grid .k-grid-content-locked .k-selected .k-table-td {
    background-color: #ccf3cc;
}
.k-grid .k-grid-content-locked .k-selected.k-table-alt-row td,
.k-grid .k-grid-content-locked .k-selected.k-table-alt-row .k-table-td {
    background-color: #c5ebc5;
}
.k-grid .k-grid-content-locked .k-selected:hover td,
.k-grid .k-grid-content-locked .k-selected.k-hover td,
.k-grid .k-grid-content-locked .k-selected:hover .k-table-td,
.k-grid .k-grid-content-locked .k-selected.k-hover .k-table-td {
    background-color: #c1e5c1;
}

.k-grid-toolbar {
    border-color: inherit;
}

.k-grouping-header {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-grid-header {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-grid-header .k-sort-icon,
.k-grid-header .k-sort-order {
    color: limegreen;
}
.k-grid-header .k-grid-filter:focus, .k-grid-header .k-grid-filter.k-focus,
.k-grid-header .k-header-column-menu:focus,
.k-grid-header .k-header-column-menu.k-focus,
.k-grid-header .k-grid-header-menu:focus,
.k-grid-header .k-grid-header-menu.k-focus,
.k-grid-header .k-hierarchy-cell .k-icon:focus,
.k-grid-header .k-hierarchy-cell .k-icon.k-focus {
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.1);
}
.k-grid-header .k-grid-filter.k-active,
.k-grid-header .k-header-column-menu.k-active,
.k-grid-header .k-grid-header-menu.k-active,
.k-grid-header .k-hierarchy-cell .k-icon.k-active {
    color: black;
    background-color: limegreen;
}
.k-grid-header .k-grid-header-sticky,
.k-grid-header .k-grid-header-sticky.k-sorted {
    color: #212529;
    background-color: #f8f9fa;
    border-right-color: rgba(33, 37, 41, 0.5);
    border-left-color: rgba(33, 37, 41, 0.5);
}

.k-selection-aggregates {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-master-row .k-grid-content-sticky {
    border-color: rgba(33, 37, 41, 0.5);
    color: #212529;
    background-color: #ffffff;
    border-top-color: #dee2e6;
}
.k-master-row .k-grid-row-sticky {
    border-top-color: rgba(33, 37, 41, 0.5);
    border-bottom-color: rgba(33, 37, 41, 0.5);
    background-color: #ffffff;
}
.k-master-row.k-table-alt-row .k-grid-content-sticky,
.k-master-row.k-table-alt-row .k-grid-row-sticky {
    background-color: whitesmoke;
}
.k-master-row.k-table-row.k-selected td.k-grid-content-sticky, .k-master-row.k-table-row.k-selected .k-table-td.k-grid-row-sticky, .k-master-row.k-table-row td.k-grid-content-sticky.k-selected, .k-master-row.k-table-row .k-table-td.k-grid-content-sticky.k-selected {
    background-color: #ccf3cc;
}
.k-master-row.k-selected.k-table-alt-row td.k-grid-content-sticky, .k-master-row.k-selected.k-table-alt-row .k-table-td.k-grid-row-sticky, .k-master-row.k-table-alt-row td.k-grid-content-sticky.k-selected, .k-master-row.k-table-alt-row .k-table-td.k-grid-content-sticky.k-selected {
    background-color: #c5ebc5;
}
.k-master-row:hover .k-grid-content-sticky, .k-master-row.k-hover .k-grid-content-sticky, .k-master-row:hover .k-grid-row-sticky, .k-master-row.k-hover .k-grid-row-sticky {
    background-color: #ebebeb;
}
.k-master-row.k-selected:hover td.k-grid-content-sticky, .k-master-row.k-selected.k-hover .k-table-td.k-grid-content-sticky, .k-master-row.k-selected:hover td.k-grid-row-sticky, .k-master-row.k-selected.k-hover .k-table-td.k-grid-row-sticky, .k-master-row:hover td.k-grid-content-sticky.k-selected, .k-master-row.k-hover td.k-grid-content-sticky.k-selected, .k-master-row:hover .k-table-td.k-grid-content-sticky.k-selected, .k-master-row.k-hover .k-table-td.k-grid-content-sticky.k-selected {
    background-color: #c1e5c1;
}

kendo-grid.k-grid .k-grid-content-sticky {
    border-top-color: #dee2e6;
    border-left-color: rgba(33, 37, 41, 0.5);
    border-right-color: rgba(33, 37, 41, 0.5);
    background-color: #ffffff;
}
kendo-grid.k-grid .k-grid-content-sticky:hover, kendo-grid.k-grid .k-grid-content-sticky.k-hover {
    background-color: #ebebeb;
}
kendo-grid.k-grid .k-grid-row-sticky td,
kendo-grid.k-grid .k-grid-row-sticky .k-table-td {
    border-top-color: rgba(33, 37, 41, 0.5);
    border-bottom-color: rgba(33, 37, 41, 0.5);
    background-color: #ffffff;
}
kendo-grid.k-grid .k-grid-row-sticky td:hover td, kendo-grid.k-grid .k-grid-row-sticky td.k-hover td, kendo-grid.k-grid .k-grid-row-sticky td:hover .k-table-td, kendo-grid.k-grid .k-grid-row-sticky td.k-hover .k-table-td,
kendo-grid.k-grid .k-grid-row-sticky .k-table-td:hover td,
kendo-grid.k-grid .k-grid-row-sticky .k-table-td.k-hover td,
kendo-grid.k-grid .k-grid-row-sticky .k-table-td:hover .k-table-td,
kendo-grid.k-grid .k-grid-row-sticky .k-table-td.k-hover .k-table-td {
    background-color: #ebebeb;
}
kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,
kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,
kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td {
    background-color: whitesmoke;
}
kendo-grid.k-grid .k-table-row.k-selected .k-grid-content-sticky,
kendo-grid.k-grid .k-selected.k-grid-row-sticky td,
kendo-grid.k-grid .k-grid-row-sticky td.k-selected,
kendo-grid.k-grid .k-selected.k-grid-row-sticky .k-table-td,
kendo-grid.k-grid .k-grid-row-sticky .k-table-td.k-selected,
kendo-grid.k-grid .k-selected.k-grid-content-sticky {
    background-color: #ccf3cc;
}
kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row .k-grid-content-sticky,
kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky td,
kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky .k-table-td,
kendo-grid.k-grid .k-table-alt-row .k-selected.k-grid-content-sticky {
    background-color: #c5ebc5;
}
kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky,
kendo-grid.k-grid .k-table-row.k-hover .k-grid-content-sticky,
kendo-grid.k-grid .k-grid-row-sticky:hover td,
kendo-grid.k-grid .k-grid-row-sticky.k-hover td,
kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row:hover td,
kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row.k-hover td,
kendo-grid.k-grid .k-grid-row-sticky:hover .k-table-td,
kendo-grid.k-grid .k-grid-row-sticky.k-hover .k-table-td,
kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row:hover .k-table-td,
kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row.k-hover .k-table-td,
kendo-grid.k-grid .k-table-alt-row:hover .k-grid-content-sticky,
kendo-grid.k-grid .k-table-alt-row.k-hover .k-grid-content-sticky {
    background-color: #ebebeb;
}
kendo-grid.k-grid .k-table-row.k-selected:hover .k-grid-content-sticky,
kendo-grid.k-grid .k-table-row.k-selected.k-hover .k-grid-content-sticky,
kendo-grid.k-grid .k-selected.k-grid-row-sticky:hover td,
kendo-grid.k-grid .k-selected.k-grid-row-sticky.k-hover td,
kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky:hover td,
kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky.k-hover td,
kendo-grid.k-grid .k-selected.k-grid-row-sticky:hover .k-table-td,
kendo-grid.k-grid .k-selected.k-grid-row-sticky.k-hover .k-table-td,
kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky:hover .k-table-td,
kendo-grid.k-grid .k-selected.k-table-alt-row.k-grid-row-sticky.k-hover .k-table-td,
kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row:hover .k-grid-content-sticky,
kendo-grid.k-grid .k-table-row.k-selected.k-table-alt-row.k-hover .k-grid-content-sticky,
kendo-grid.k-grid .k-grid-row-sticky:hover td.k-selected,
kendo-grid.k-grid .k-grid-row-sticky.k-hover td.k-selected,
kendo-grid.k-grid .k-grid-row-sticky:hover .k-table-td.k-selected,
kendo-grid.k-grid .k-grid-row-sticky.k-hover .k-table-td.k-selected,
kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky.k-selected,
kendo-grid.k-grid .k-table-row.k-hover .k-grid-content-sticky.k-selected {
    background-color: #c1e5c1;
}

.k-grouping-row .k-grid-content-sticky {
    background-color: #f8f9fa;
}
.k-grouping-row:hover .k-grid-content-sticky, .k-grouping-row.k-hover .k-grid-content-sticky {
    background-color: #ebebeb;
}

.k-group-footer td,
.k-group-footer .k-table-td,
.k-group-footer .k-grid-footer-sticky {
    background-color: #f8f9fa;
}
.k-group-footer:hover .k-grid-footer-sticky, .k-group-footer.k-hover .k-grid-footer-sticky {
    background-color: #f8f9fa;
}

.k-grid-footer {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-grid-footer .k-grid-footer-locked {
    border-color: inherit;
}
.k-grid-footer .k-grid-footer-sticky {
    border-color: rgba(33, 37, 41, 0.5);
    background-color: #f8f9fa;
}

.k-grouping-row,
.k-group-cell {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-column-list-item:hover,
.k-columnmenu-item:hover {
    color: #212529;
    background-color: #e9ecef;
}

.k-column-list-item:focus,
.k-column-list-item.k-focus,
.k-columnmenu-item:focus,
.k-columnmenu-item.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}

.k-column-list-wrapper {
    border-color: inherit;
}

.k-columnmenu-item.k-selected {
    color: black;
    background-color: limegreen;
}

.k-column-menu .k-menu:not(.k-context-menu) {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-column-menu .k-menu:not(.k-context-menu) .k-item:hover, .k-column-menu .k-menu:not(.k-context-menu) .k-item.k-hover {
    color: #212529;
    background-color: #e9ecef;
}
.k-column-menu .k-menu:not(.k-context-menu) .k-item.k-selected {
    color: black;
    background-color: limegreen;
}
.k-column-menu .k-menu:not(.k-context-menu) .k-item:focus, .k-column-menu .k-menu:not(.k-context-menu) .k-item.k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}

.k-column-menu-tabbed {
    background-color: #f8f9fa;
}

.k-column-menu-group-header-text {
    border-color: #dee2e6;
    color: #212529;
}

.k-check-all-wrap {
    border-color: #dee2e6;
}

.k-grid-norecords-template {
    background-color: #ffffff;
    border-color: #dee2e6;
}

.k-resizer-wrap.k-hover .k-row-resizer {
    background-color: rgba(0, 0, 0, 0.12);
}
.k-resizer-wrap.k-active .k-row-resizer {
    background-color: limegreen;
}

.k-listview {
    margin: 0;
    padding: 0;
    border-width: 0;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    flex-flow: column nowrap;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
}

.k-listview-bordered {
    border-width: 1px;
}

.k-listview-header {
    border-width: 0;
    border-style: solid;
    border-color: inherit;
}

.k-listview-bordered > .k-listview-header {
    border-bottom-width: 1px;
}

.k-listview-content {
    margin: 0;
    padding: 0;
    outline: 0;
    flex-grow: 1;
    position: relative;
    overflow: auto;
}
.k-listview-content::after {
    height: 0;
    clear: both;
    display: block;
}

.k-listview-content.k-d-flex::after, .k-listview-content.k-d-flex-row::after, .k-listview-content.k-d-flex-col::after,
.k-listview-content.k-d-grid::after {
    display: none;
}

.k-listview-content-padding-rectangle {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}

.k-listview-content-padding-square {
    padding: 0.25rem;
}

.k-listview-item {
    padding: 0;
    border-width: 0;
    outline: 0;
    border-style: solid;
    box-sizing: border-box;
    flex-shrink: 0;
}

.k-listview-item-padding-rectangle {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}

.k-listview-item-padding-rectangle .k-listview-link {
    margin-block: -0.25rem;
    margin-inline: -0.25rem;
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
}

.k-listview-item-padding-square {
    padding: 0.25rem;
}

.k-listview-item-padding-square .k-listview-link {
    margin: -0.25rem;
    padding: 0.25rem;
}

.k-listview-footer {
    border-width: 0;
    border-style: solid;
    border-color: inherit;
}

.k-listview-bordered > .k-listview-footer {
    border-top-width: 1px;
}

.k-listview-pager {
    border-width: 0;
    border-color: inherit;
}

.k-listview-bordered > .k-listview-pager-top {
    border-block-end-width: var(--kendo-listview-border-width, 1px);
}

.k-listview-bordered > .k-listview-pager-bottom {
    border-block-start-width: var(--kendo-listview-border-width, 1px);
}

.k-listview-borders-all .k-listview-item {
    border-width: 1px;
}

.k-listview-borders-horizontal .k-listview-item {
    border-top-width: 1px;
}
.k-listview-borders-horizontal .k-listview-item:first-child {
    border-top-width: 0;
}

.k-listview-borders-vertical .k-listview-item {
    border-left-width: 1px;
}
.k-listview-borders-vertical .k-listview-item:first-child {
    border-left-width: 0;
}

.k-listview {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-listview-content > .k-focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}
.k-listview-content > .k-selected {
    background-color: rgba(50, 205, 50, 0.25);
}

.k-listview-item {
    border-color: #dee2e6;
}

.k-spreadsheet {
    width: 800px;
    height: 600px;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    cursor: default;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-spreadsheet .k-vertical-align-center {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.k-spreadsheet .k-vertical-align-bottom {
    position: relative;
    top: 100%;
    transform: translateY(-100%);
}

.k-spreadsheet-toolbar {
    border-width: 0;
}

.k-spreadsheet-action-bar {
    border-width: 0 0 1px;
    border-style: solid;
    border-color: inherit;
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    font-size: 1rem;
    font-family: Arial, Verdana, sans-serif;
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

.k-spreadsheet-name-editor {
    width: 10em;
}

.k-spreadsheet-formula-bar {
    min-width: 0px;
    border-color: inherit;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 1;
    gap: 0.5rem;
}
.k-spreadsheet-formula-bar > .k-icon {
    padding-block: 0;
    padding-inline: 0.5rem;
    box-sizing: content-box;
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: inherit;
    flex-shrink: 0;
}
.k-spreadsheet-formula-bar .k-tooltip,
.k-spreadsheet-formula-bar .k-group-header,
.k-spreadsheet-formula-bar .k-list-scroller {
    display: none;
}
.k-spreadsheet-formula-bar .k-spreadsheet-formula-input {
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    line-height: 1.5;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.k-spreadsheet-formula-bar .k-spreadsheet-formula-input.k-spreadsheet-array-formula::before {
    content: "{";
    font-weight: 700;
}
.k-spreadsheet-formula-bar .k-spreadsheet-formula-input.k-spreadsheet-array-formula::after {
    content: "}";
    font-weight: 700;
}

.k-spreadsheet-formula-input {
    outline: 0;
    white-space: pre;
    flex: 1;
    box-sizing: border-box;
}
.k-spreadsheet-formula-input > .k-syntax-func.k-syntax-at-point,
.k-spreadsheet-formula-input > .k-syntax-bool.k-syntax-at-point,
.k-spreadsheet-formula-input > .k-syntax-ref.k-syntax-at-point,
.k-spreadsheet-formula-input > .k-syntax-str.k-syntax-at-point,
.k-spreadsheet-formula-input > .k-syntax-num.k-syntax-at-point {
    text-decoration: underline;
}
.k-spreadsheet-formula-input > .k-series-a,
.k-spreadsheet-formula-input > .k-series-b,
.k-spreadsheet-formula-input > .k-series-c,
.k-spreadsheet-formula-input > .k-series-d {
    background-color: transparent;
}

.k-spreadsheet-formula-list {
    min-width: 100px;
}
.k-spreadsheet-formula-list .k-item {
    padding-block: 0.25rem;
    padding-inline: 1rem;
}

.k-syntax-func,
.k-syntax-startexp {
    font-weight: bold;
}

.k-spreadsheet-cell-editor {
    padding-block: 0px;
    padding-inline: 0.25rem;
    line-height: 20px;
    display: none;
    overflow: hidden;
    position: absolute;
    z-index: 100;
}

.k-spreadsheet-sheets-bar {
    padding-block-end: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: inherit;
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
}

.k-spreadsheet-sheets {
    flex: 1 1 auto;
    overflow: hidden;
}

.k-spreadsheet-sheets .k-tabstrip-items-wrapper {
    border-width: 0;
}

.k-spreadsheet-sheets-bar-add {
    align-self: center;
}
.k-spreadsheet-sheets-bar-add:not(:hover) {
    border-color: transparent;
    color: inherit;
    background: none;
}

.k-spreadsheet-sheets-items {
    flex: 1;
    overflow: hidden;
}
.k-spreadsheet-sheets-items .k-tabstrip-items-wrapper {
    margin: 0;
    border-width: 0;
}
.k-spreadsheet-sheets-items .k-item .k-link {
    display: inline-block;
}
.k-spreadsheet-sheets-items .k-item .k-spreadsheet-sheets-remove {
    margin-right: 0.5rem;
    margin-left: -0.5rem;
    padding: 0;
    line-height: 1;
    display: inline-flex;
    flex-direction: row;
    vertical-align: middle;
    align-self: center;
}

.k-spreadsheet-view {
    height: auto !important;
    border-color: inherit;
    font-size: 1rem;
    font-family: Arial, Verdana, sans-serif;
    flex: 1;
    position: relative;
    overflow: hidden;
}
.k-spreadsheet-view .k-disabled {
    pointer-events: auto;
}

.k-spreadsheet-fixed-container {
    width: calc(100% - var(--kendo-scrollbar-width, 17px));
    height: calc(100% - var(--kendo-scrollbar-width, 17px));
    border-color: inherit;
    box-sizing: border-box;
    user-select: none;
    position: absolute;
    z-index: 2;
    overflow: hidden;
}

.k-spreadsheet-overflow {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    border-color: inherit;
}

.k-spreadsheet-pane {
    padding: 0 1px 0 0;
    border-width: 2px 0 0 2px;
    border-style: solid;
    border-color: inherit;
    box-sizing: border-box;
    position: absolute;
    overflow: hidden;
}
.k-spreadsheet-pane.k-top {
    border-top-width: 0;
}
.k-spreadsheet-pane.k-left {
    border-left-width: 0;
}

.k-spreadsheet-top-corner {
    border-width: 0 1px 1px 0;
    border-style: solid;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10000;
}
.k-spreadsheet-top-corner::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    right: 0;
    border: 6px solid transparent;
    border-right-color: inherit;
    border-bottom-color: inherit;
}

.k-spreadsheet-scroller {
    width: 100%;
    height: 100%;
    overflow: scroll;
    position: absolute;
    z-index: 1;
}
@media (hover: none), (pointer: coarse) {
    .k-spreadsheet-scroller {
        z-index: 3;
    }
}

.k-spreadsheet-haxis,
.k-spreadsheet-vaxis {
    border: 0 solid;
    border-color: inherit;
    position: absolute;
}

.k-spreadsheet-haxis {
    border-width: 1px 0 0;
    left: 0;
}

.k-spreadsheet-vaxis {
    border-width: 0 0 0 1px;
    top: 0;
}

.k-spreadsheet-row-header,
.k-spreadsheet-column-header {
    text-align: center;
    z-index: 100;
}
.k-spreadsheet-row-header > div,
.k-spreadsheet-column-header > div {
    position: relative;
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: inherit;
}
.k-spreadsheet-row-header > div::after,
.k-spreadsheet-column-header > div::after {
    content: "";
    border-width: 0;
    border-style: solid;
    border-color: inherit;
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.k-spreadsheet-row-header {
    position: relative;
}

.k-spreadsheet-column-header {
    position: absolute;
}

.k-spreadsheet-row-header > div {
    border-top-width: 1px;
}
.k-spreadsheet-row-header > div:first-child {
    border-top-width: 0;
}

.k-spreadsheet-row-header > .k-selection-partial::after,
.k-spreadsheet-row-header > .k-selection-full::after {
    border-right-width: 2px;
    display: block;
}

.k-spreadsheet-column-header > div {
    border-left-width: 1px;
}
.k-spreadsheet-column-header > div:first-child {
    border-left-width: 0;
}

.k-spreadsheet-column-header > .k-selection-partial::after,
.k-spreadsheet-column-header > .k-selection-full::after {
    border-bottom-width: 2px;
    display: block;
}

.k-spreadsheet-data {
    border-color: inherit;
    cursor: cell;
    position: relative;
}

.k-spreadsheet-cell {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    box-sizing: border-box;
    position: absolute;
    line-height: normal;
    white-space: pre;
    overflow: hidden;
}

.k-spreadsheet-merged-cells-wrapper {
    position: relative;
}

.k-spreadsheet-disabled-mask {
    position: absolute;
}

.k-spreadsheet .k-selection-wrapper {
    position: relative;
    cursor: cell;
}

.k-spreadsheet .k-spreadsheet-selection {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    position: absolute;
}

.k-spreadsheet .k-spreadsheet-selection-highlight {
    border-width: 2px;
    border-style: dashed;
    box-sizing: border-box;
    position: absolute;
}

.k-spreadsheet .k-spreadsheet-editor-button {
    position: absolute;
    padding: 0;
    z-index: 60;
}

.k-spreadsheet-active-cell {
    outline-color: transparent !important;
    z-index: 10;
}

.k-spreadsheet .k-auto-fill-wrapper {
    position: relative;
}

.k-spreadsheet .k-auto-fill,
.k-spreadsheet .k-auto-fill-punch,
.k-spreadsheet .k-auto-fill-br-hint {
    box-sizing: border-box;
    position: absolute;
}

.k-spreadsheet .k-auto-fill {
    border-width: 1px;
    border-style: solid;
    cursor: crosshair;
}

.k-spreadsheet .k-single-selection::after {
    content: "";
    margin-bottom: -4px;
    margin-right: -4px;
    width: 6px;
    height: 6px;
    border-width: 1px;
    border-style: solid;
    border-radius: 50%;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 300;
    cursor: crosshair;
}

.k-spreadsheet .k-selection-full::after,
.k-spreadsheet .k-selection-partial::after {
    display: none;
}

.k-spreadsheet .k-autofill-wrapper {
    position: relative;
    cursor: cell;
}

.k-spreadsheet-vborder {
    position: absolute;
    border-left-style: solid;
    border-left-width: 1px;
}

.k-spreadsheet-hborder {
    position: absolute;
    border-top-style: solid;
    border-top-width: 1px;
}

.k-spreadsheet-has-comment::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    inset-inline-start: auto;
    border-width: 3px;
    border-style: solid;
}

.k-spreadsheet-cell .k-dirty {
    inset-inline-start: 0;
    inset-inline-end: auto;
}

.k-spreadsheet .k-filter-wrapper {
    position: relative;
    z-index: 50;
}

.k-spreadsheet .k-filter-range {
    border-width: 2px;
    border-style: solid;
    position: absolute;
    box-sizing: border-box;
}

.k-spreadsheet-filter {
    border-radius: 0.375rem;
    padding: 0.5rem;
    line-height: 1;
    position: absolute;
    cursor: pointer;
}
.k-spreadsheet-filter .k-icon {
    vertical-align: middle;
}

.k-spreadsheet-filter-menu {
    width: 280px;
}
.k-spreadsheet-filter-menu .k-animation-container {
    position: relative;
}
.k-spreadsheet-filter-menu > .k-menu,
.k-spreadsheet-filter-menu > .k-menu.k-menu-vertical {
    border-width: 0;
}
.k-spreadsheet-filter-menu > .k-menu .k-item,
.k-spreadsheet-filter-menu > .k-menu.k-menu-vertical .k-item {
    color: inherit;
}
.k-spreadsheet-filter-menu > .k-menu .k-link,
.k-spreadsheet-filter-menu > .k-menu.k-menu-vertical .k-link {
    padding-left: calc(16px + 1rem);
}
.k-spreadsheet-filter-menu > .k-menu .k-icon,
.k-spreadsheet-filter-menu > .k-menu.k-menu-vertical .k-icon {
    margin-left: calc(-1 * (16px + 0.5rem));
    margin-right: 0.5rem;
}
.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper {
    height: 200px;
    border-width: 1px;
    border-style: solid;
    overflow-y: scroll;
    overflow-x: auto;
}
.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper .k-treeview {
    padding: 0.5rem;
    overflow: visible;
}
.k-spreadsheet-filter-menu .k-details,
.k-spreadsheet-filter-menu .k-expander {
    padding: 0;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: inherit;
}
.k-spreadsheet-filter-menu .k-expander {
    border: 0;
    background: inherit;
}
.k-spreadsheet-filter-menu .k-details-summary,
.k-spreadsheet-filter-menu .k-columnmenu-item {
    padding-block: 0.25rem;
    padding-inline: 1rem;
    display: flex;
    align-items: center;
    cursor: pointer;
}
.k-spreadsheet-filter-menu .k-details-summary > .k-icon,
.k-spreadsheet-filter-menu .k-details-summary > .k-expander-indicator,
.k-spreadsheet-filter-menu .k-columnmenu-item > .k-icon,
.k-spreadsheet-filter-menu .k-columnmenu-item > .k-expander-indicator {
    margin-right: 0.5rem;
}
.k-spreadsheet-filter-menu .k-details-content,
.k-spreadsheet-filter-menu .k-columnmenu-item-content {
    padding: 0.5rem;
    display: flex;
    flex-flow: column nowrap;
    gap: 0.5rem;
}
.k-spreadsheet-filter-menu .k-details-content .k-filter-and,
.k-spreadsheet-filter-menu .k-columnmenu-item-content .k-filter-and {
    width: min-content;
    align-self: flex-start;
}
.k-spreadsheet-filter-menu .k-actions, .k-spreadsheet-filter-menu .k-edit-buttons,
.k-spreadsheet-filter-menu .k-action-buttons,
.k-spreadsheet-filter-menu .k-columnmenu-actions, .k-spreadsheet-filter-menu .k-form-buttons {
    margin: 0;
    padding: 0;
}

.k-spreadsheet-popup {
    padding: 0;
}
.k-spreadsheet-popup .k-separator {
    display: block;
}
.k-spreadsheet-popup .k-reset-color,
.k-spreadsheet-popup .k-custom-color {
    border-radius: 0;
    width: 100%;
    border-width: 0;
    box-sizing: border-box;
    display: flex;
}
.k-spreadsheet-popup .k-reset-color {
    border-bottom-width: 1px;
}
.k-spreadsheet-popup .k-custom-color {
    border-top-width: 1px;
}
.k-spreadsheet-popup .k-spreadsheet-border-type-palette {
    padding: 0.5rem;
    display: grid;
    grid-template-columns: repeat(5, max-content);
    gap: 0.5rem;
}

.k-spreadsheet-clipboard,
.k-spreadsheet-clipboard-paste {
    margin: 0;
    padding: 0;
    width: 1px;
    height: 1px;
    border: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}

.k-spreadsheet-window .k-external-dropzone {
    margin-block-end: 1rem;
}

.k-spreadsheet-window .k-edit-form-container {
    width: auto;
    min-width: 0;
}

.k-spreadsheet-format-cells .k-spreadsheet-preview {
    margin-top: 0.5rem;
    text-align: center;
}
.k-spreadsheet-format-cells .k-list-scroller {
    margin-top: 0.5rem;
    height: 210px;
    border-width: 1px;
    border-style: solid;
    border-color: inherit;
}

.k-export-config {
    clear: both;
    position: relative;
}
.k-export-config::after {
    content: "";
    clear: both;
    display: block;
}
.k-export-config .k-edit-field {
    margin-left: 5%;
    width: 45%;
    float: left;
}
.k-export-config .k-page-orientation {
    position: absolute;
    right: 0;
    top: 0.5rem;
}
.k-export-config .k-page-orientation .k-font-icon {
    font-size: 6em;
}
.k-export-config .k-page-orientation .k-svg-icon {
    width: 6em;
    height: 6em;
}

.k-spreadsheet-insert-comment textarea {
    height: auto;
}

.k-spreadsheet-insert-image-dialog {
    border-radius: 0.375rem;
    border-style: dashed;
    border-width: 2px;
}
.k-spreadsheet-insert-image-dialog label {
    display: flex;
    justify-content: center;
    min-width: 100%;
    width: 355px;
    height: 230px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcwAAAGQCAYAAAAjl1AKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphMGVmMzZmZi04YmI1LTRlN2YtOTcwMS04OTU5ZTg1N2ZhY2MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDNDOTBDNUQ2OUJGMTFFOTkwMzY4RTI3NjZBQTdENkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDNDOTBDNUM2OUJGMTFFOTkwMzY4RTI3NjZBQTdENkMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjMmZmZjM0Mi05NjEyLTQwM2YtYWZhYS01MTE1ZjQ2NThmMWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphYjlhMmUwMy1kNmIwLTY3NGMtODc4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);
    background-size: auto 70%;
    background-position: 50% 30%;
    background-repeat: no-repeat;
}
.k-spreadsheet-insert-image-dialog label div {
    display: flex;
    align-self: flex-end;
    margin-bottom: 30px;
    pointer-events: none;
}
.k-spreadsheet-insert-image-dialog label input {
    display: none;
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image {
    background-size: auto 90%;
    background-position: 50% 50%;
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover div, .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover div {
    margin: 0;
    align-self: center;
    opacity: 1;
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image div {
    opacity: 0;
}

.k-spreadsheet-drawing {
    position: absolute;
    box-sizing: border-box;
    z-index: 101;
}
.k-spreadsheet-drawing.k-spreadsheet-active-drawing {
    outline-style: solid;
    outline-width: 2px;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    cursor: move;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle {
    width: 6px;
    height: 6px;
    border-style: solid;
    border-width: 1px;
    border-radius: 0.5rem;
    position: absolute;
    transform: translate(-50%, -50%);
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.N {
    left: 50%;
    top: 0;
    cursor: ns-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.NE {
    left: 100%;
    top: 0;
    cursor: nesw-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.E {
    left: 100%;
    top: 50%;
    cursor: ew-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.SE {
    left: 100%;
    top: 100%;
    cursor: nwse-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.S {
    left: 50%;
    top: 100%;
    cursor: ns-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.SW {
    left: 0;
    top: 100%;
    cursor: nesw-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.W {
    left: 0;
    top: 50%;
    cursor: ew-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle.NW {
    left: 0;
    top: 0;
    cursor: nwse-resize;
}
.k-spreadsheet-drawing .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover, .k-spreadsheet-drawing .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover {
    border-radius: 0.375rem;
}

.k-spreadsheet-legacy .k-spreadsheet,
.k-spreadsheet-legacy .k-spreadsheet-action-bar,
.k-spreadsheet-legacy .k-spreadsheet-view {
    font-size: 12px;
}
.k-spreadsheet-legacy .k-spreadsheet-cell {
    padding: 1px;
}
.k-spreadsheet-legacy .k-spreadsheet-filter {
    padding: 0px;
}
.k-spreadsheet-legacy .k-filter-range {
    border-width: 1px;
}
.k-spreadsheet-legacy .k-spreadsheet .k-spreadsheet-selection-highlight {
    border-width: 1px;
    border-style: solid;
}

.k-spreadsheet .k-tabstrip-wrapper {
    border-width: 0 0 1px;
    border-style: solid;
    border-color: inherit;
    position: relative;
}

.k-spreadsheet-quick-access-toolbar {
    padding: 0.5rem;
    display: inline-flex;
    flex-direction: row;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
}

.k-spreadsheet-tabstrip {
    padding-top: 0.5rem;
    position: relative;
    z-index: 1;
}

.k-spreadsheet-tabstrip .k-tabstrip-items-wrapper {
    margin: 0;
}

.k-spreadsheet-tabstrip .k-loading {
    display: none;
}

.k-spreadsheet-tabstrip .k-content,
.k-spreadsheet-tabstrip .k-tabstrip-content {
    border-radius: 0;
    padding: 0;
    border-width: 0;
    overflow: hidden;
}

.k-spreadsheet-menu {
    padding-inline: 0.5rem;
}

.k-spreadsheet-filter-menu > .k-menu,
.k-spreadsheet-filter-menu > .k-menu:not(.k-context-menu) {
    background: none;
    color: inherit;
    font-weight: inherit;
    font-size: inherit;
}

.k-spreadsheet-filter {
    padding: 0.25rem;
}

.k-spreadsheet {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-spreadsheet-header {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-spreadsheet-top-corner,
.k-spreadsheet-row-header,
.k-spreadsheet-column-header {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-spreadsheet-cell-editor {
    color: #212529;
    background-color: #ffffff;
}

.k-spreadsheet-merged-cell {
    background-color: #ffffff;
}

.k-spreadsheet-disabled-mask {
    background-color: #ffffff;
}

.k-spreadsheet .k-selection-full,
.k-spreadsheet .k-selection-partial {
    background-color: rgba(50, 205, 50, 0.25);
}

.k-spreadsheet-selection {
    border-color: limegreen;
    background-color: rgba(50, 205, 50, 0.25);
    box-shadow: inset 0 0 0 1px limegreen;
}

.k-spreadsheet-selection-highlight {
    border-color: limegreen;
}

.k-spreadsheet .k-single-selection::after {
    border-color: #ffffff;
    background-color: limegreen;
}

.k-spreadsheet-active-cell {
    background-color: #ffffff;
    box-shadow: inset 0 0 0 1px limegreen;
}

.k-spreadsheet .k-auto-fill {
    border-color: limegreen;
    background-color: rgba(50, 205, 50, 0.25);
    box-shadow: inset 0 0 0 1px limegreen;
}

.k-spreadsheet .k-auto-fill-punch {
    background-color: rgba(255, 255, 255, 0.5);
}

.k-spreadsheet .k-resize-handle,
.k-spreadsheet .k-resize-hint-handle,
.k-spreadsheet .k-resize-hint-marker {
    background-color: limegreen;
}

.k-spreadsheet-has-comment::after {
    border-block-color: limegreen transparent;
    border-inline-color: transparent limegreen;
}

.k-spreadsheet-cell .k-dirty {
    border-block-color: #dc3545 transparent;
    border-inline-color: #dc3545 transparent;
}

.k-spreadsheet .k-filter-range {
    border-color: limegreen;
}

.k-spreadsheet-filter {
    border-color: #e4e7eb;
    color: #212529;
    background-color: #e4e7eb;
    box-shadow: inset 0 0 0 1px #e4e7eb;
}
.k-spreadsheet-filter:hover {
    border-color: #c7cdd5;
    background-color: #ced3db;
}
.k-spreadsheet-filter.k-active {
    border-color: #bfc6d0;
    background-color: #c7cdd5;
}

.k-spreadsheet-filter-menu > .k-menu .k-item:hover,
.k-spreadsheet-filter-menu > .k-menu .k-item.k-hover,
.k-spreadsheet-filter-menu > .k-menu:not(.k-context-menu) .k-item:hover,
.k-spreadsheet-filter-menu > .k-menu:not(.k-context-menu) .k-item.k-hover {
    color: #212529;
    background-color: #e9ecef;
}
.k-spreadsheet-filter-menu .k-spreadsheet-value-treeview-wrapper {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-spreadsheet-insert-image-dialog {
    border-color: #dee2e6;
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover, .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover {
    box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.5);
}
.k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image:hover div, .k-spreadsheet-insert-image-dialog .k-spreadsheet-has-image.k-hover div {
    color: #ffffff;
}

.k-spreadsheet-drawing.k-spreadsheet-active-drawing {
    outline-color: limegreen;
}
.k-spreadsheet-drawing .k-spreadsheet-drawing-handle {
    border-color: limegreen;
    background-color: limegreen;
}

.k-spreadsheet-drawing-anchor-cell {
    background: rgba(50, 205, 50, 0.25);
}

.k-syntax-ref {
    color: #ff8822;
}

.k-syntax-num {
    color: #0099ff;
}

.k-syntax-str {
    color: #38b714;
}

.k-syntax-error {
    color: red;
}

.k-syntax-bool {
    color: #a9169c;
}

.k-syntax-paren-match {
    background-color: #caf200;
}

.k-pivotgrid {
    border-width: 1px;
    border-style: solid;
    box-sizing: content-box;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    text-align: start;
    vertical-align: top;
    display: grid;
    grid-template-columns: 300px auto;
    grid-template-rows: 75px auto;
    position: relative;
}
.k-pivotgrid table {
    margin: 0;
    width: 100%;
    max-width: none;
    border-width: 0;
    border-color: inherit;
    border-collapse: separate;
    border-spacing: 0;
    outline: 0;
    text-align: inherit;
    empty-cells: show;
}
.k-pivotgrid thead,
.k-pivotgrid tbody,
.k-pivotgrid th,
.k-pivotgrid tr,
.k-pivotgrid td {
    border-color: inherit;
    text-align: inherit;
}

.k-pivotgrid-table {
    table-layout: fixed;
}
.k-pivotgrid-table th {
    font-weight: 400;
    text-transform: initial;
}
.k-pivotgrid-table .k-pivotgrid-header-root {
    font-weight: 600;
    text-transform: uppercase;
}

.k-pivotgrid-empty-cell {
    border-right-style: solid;
    border-right-width: 1px;
    border-bottom-style: solid;
    border-bottom-width: 1px;
}
.k-pivotgrid-empty-cell:focus {
    outline: none;
}

.k-pivotgrid-column-headers {
    overflow: hidden;
}

.k-pivotgrid-column-headers .k-pivotgrid-table {
    padding-inline-start: 0;
    padding-inline-end: var(--kendo-scrollbar-width, 17px);
}

.k-pivotgrid-column-headers .k-pivotgrid-cell {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-left-style: solid;
    border-left-width: 1px;
}
.k-pivotgrid-column-headers .k-pivotgrid-cell:first-child {
    border-left-width: 0;
}
.k-pivotgrid-column-headers .k-pivotgrid-cell.k-first {
    border-left-width: 1px;
}

.k-pivotgrid-row-headers {
    overflow: hidden;
}

.k-pivotgrid-row-headers .k-pivotgrid-table {
    padding-bottom: var(--kendo-scrollbar-width, 17px);
}

.k-pivotgrid-row-headers .k-pivotgrid-cell {
    border-right-style: solid;
    border-right-width: 1px;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    white-space: nowrap;
}

.k-pivotgrid-values {
    border-color: inherit;
    overflow: scroll;
}

.k-pivotgrid-values .k-pivotgrid-cell {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-left-style: solid;
    border-left-width: 1px;
}
.k-pivotgrid-values .k-pivotgrid-cell:first-child {
    border-left-width: 0;
}

.k-pivotgrid-cell {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: top;
    overflow: hidden;
}
.k-pivotgrid-cell:focus {
    outline: none;
}

.k-pivotgrid-cell .k-icon {
    cursor: pointer;
    padding-inline-end: 4px;
}

.k-pivotgrid-total {
    font-weight: 600;
}

.k-column-menu .k-treeview {
    padding-block: 0px;
    padding-inline: 1.5rem;
    overflow: auto;
}

.k-pivotgrid-configurator {
    display: flex;
}

.k-pivotgrid-configurator-panel {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 2;
}

.k-pivotgrid-configurator-button {
    padding-block: 0.25rem;
    padding-inline: 0.25rem;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    cursor: pointer;
    user-select: none;
}
.k-flex-row .k-pivotgrid-configurator-button, .k-d-flex-row .k-pivotgrid-configurator-button, .k-flex-row-reverse .k-pivotgrid-configurator-button {
    display: flex;
    align-items: center;
}
.k-flex-row .k-pivotgrid-configurator-button span, .k-d-flex-row .k-pivotgrid-configurator-button span, .k-flex-row-reverse .k-pivotgrid-configurator-button span {
    writing-mode: vertical-rl;
}
.k-flex-row .k-pivotgrid-configurator-button .k-icon, .k-d-flex-row .k-pivotgrid-configurator-button .k-icon, .k-flex-row-reverse .k-pivotgrid-configurator-button .k-icon {
    vertical-align: baseline;
}
.k-flex-row-reverse .k-pivotgrid-configurator-button > span {
    transform: rotate(-180deg);
}
.k-flex-col .k-pivotgrid-configurator-button, .k-d-flex-col .k-pivotgrid-configurator-button, .k-flex-column .k-pivotgrid-configurator-button, .k-flex-col-reverse .k-pivotgrid-configurator-button, .k-flex-column-reverse .k-pivotgrid-configurator-button {
    text-align: center;
}

.k-pivotgrid-configurator-overlay {
    position: absolute;
    overflow: hidden;
    z-index: 2;
}
.k-flex-row .k-pivotgrid-configurator-overlay, .k-d-flex-row .k-pivotgrid-configurator-overlay {
    right: calc(1.5em + 0.5rem + 2px);
}
.k-flex-row-reverse .k-pivotgrid-configurator-overlay {
    left: calc(1.5em + 0.5rem + 2px);
}
.k-flex-col .k-pivotgrid-configurator-overlay, .k-d-flex-col .k-pivotgrid-configurator-overlay, .k-flex-column .k-pivotgrid-configurator-overlay {
    bottom: calc(1.5em + 0.5rem + 2px);
}
.k-flex-col-reverse .k-pivotgrid-configurator-overlay, .k-flex-column-reverse .k-pivotgrid-configurator-overlay {
    top: calc(1.5em + 0.5rem + 2px);
}

.k-pivotgrid-configurator-header {
    padding-block: 0.75rem;
    padding-inline: 1rem;
    font-size: 18px;
    font-weight: 500;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.k-pivotgrid-configurator-header-text {
    word-break: normal;
    overflow-wrap: anywhere;
}

.k-pivotgrid-configurator-content {
    padding-block: 0.25rem;
    padding-inline: 1rem;
    flex: 1 1 auto;
    overflow: auto;
}
.k-pivotgrid-configurator-content .k-form .k-label {
    font-size: 16px;
    font-weight: 500;
    align-items: flex-start;
}
.k-pivotgrid-configurator-content .k-form .k-dropdown-list, .k-pivotgrid-configurator-content .k-form .k-dropdown,
.k-pivotgrid-configurator-content .k-form .k-dropdownlist {
    max-width: 90px;
}
.k-pivotgrid-configurator-content .k-form .k-textbox {
    flex-basis: 50%;
}
.k-pivotgrid-configurator-content .k-row-fields,
.k-pivotgrid-configurator-content .k-column-fields,
.k-pivotgrid-configurator-content .k-filter-fields {
    margin-top: 0.5rem;
    flex-wrap: wrap;
}
.k-pivotgrid-configurator-content .k-value-fields {
    margin-block: 0.5rem;
    margin-inline: 0px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.k-pivotgrid-configurator-content .k-select-all .k-checkbox {
    margin-inline-end: 0.25rem;
}
.k-pivotgrid-configurator-content .k-fields-list-wrapper {
    max-height: 200px;
    border-width: 1px;
    border-style: solid;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
}
.k-pivotgrid-configurator-content .k-settings-description {
    margin-top: 1rem;
    text-align: center;
}
.k-pivotgrid-configurator-content .k-treeview {
    padding-block: 0px;
    padding-inline: 1.5rem;
    overflow: auto;
}

.k-calculated-field {
    padding-block: 1rem;
    padding-inline: 1rem;
    border-width: 1px;
    border-radius: 0.375rem;
    border-style: solid;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.k-calculated-field-header {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.k-calculated-field-header .k-textbox {
    min-width: 200px;
}

.k-calculated-field-header-text {
    margin-right: 5px;
    word-break: normal;
    overflow-wrap: anywhere;
}

.k-calculated-field-header-actions {
    flex-shrink: 0;
    align-self: flex-start;
}

.k-calculated-field-content .k-textbox {
    width: 100%;
}

.k-calculated-field-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.k-calculated-field-actions .k-icon {
    margin-right: 0.5rem;
}
.k-calculated-field-actions .k-dropdown-list, .k-calculated-field-actions .k-dropdown,
.k-calculated-field-actions .k-dropdownlist {
    max-width: 100px;
}

.k-filter-menu .k-calculated-item {
    border-bottom-width: 1px;
    border-bottom-style: solid;
}

.k-pivotgrid-configurator-vertical {
    min-width: 320px;
}

.k-flex-row .k-pivotgrid-configurator-vertical.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel, .k-d-flex-row .k-pivotgrid-configurator-vertical.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel, .k-flex-row-reverse .k-pivotgrid-configurator-vertical.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel {
    border-right-width: 0;
    border-left-width: 0;
}

.k-pivotgrid-configurator-horizontal {
    width: 100%;
    height: 420px;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form {
    display: flex;
    flex-direction: row;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper {
    padding-left: 1rem;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper > *:first-child {
    margin-top: 0;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:first-child {
    padding-left: 0;
    flex: 1 1 30%;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:nth-child(2) {
    flex: 1 1 30%;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-form-field-wrapper:last-child {
    border-left-width: 1px;
    border-left-style: solid;
    flex: 1 1 40%;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-row-fields,
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-column-fields,
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-filter-fields {
    max-height: 100px;
    overflow-x: hidden;
    overflow-y: auto;
}
.k-pivotgrid-configurator-horizontal .k-pivotgrid-configurator-content .k-value-fields {
    max-height: 250px;
    flex-flow: row wrap;
    overflow-x: hidden;
    overflow-y: auto;
}
.k-flex-col .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel, .k-d-flex-col .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel, .k-flex-column .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel, .k-flex-col-reverse .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel, .k-flex-column-reverse .k-pivotgrid-configurator-horizontal.k-pivotgrid-configurator-push .k-pivotgrid-configurator-panel {
    border-top-width: 0;
    border-bottom-width: 0;
}

.k-pdf-export-shadow .k-pivotgrid {
    height: auto !important;
}
.k-pdf-export-shadow .k-pivotgrid-values {
    height: auto;
    overflow: visible;
}
.k-pdf-export-shadow .k-pivotgrid-column-headers .k-pivotgrid-table {
    padding-inline-end: 0;
}

.k-pivot {
    border-width: 1px;
    border-style: solid;
    position: relative;
}
.k-pivot .k-grid td {
    white-space: nowrap;
}
.k-pivot .k-grid-content {
    flex: 1 1 auto;
}

.k-pivot-toolbar {
    border-width: 0 0 1px;
    border-style: solid;
    align-items: flex-start;
    flex-wrap: wrap;
    box-shadow: none;
}
.k-pivot-toolbar > * {
    max-width: 100%;
}
.k-pivot-toolbar::before {
    display: none;
}

.k-pivot-layout {
    border-spacing: 0;
    table-layout: auto;
}
.k-pivot-layout .k-grid-footer,
.k-pivot-layout .k-grid .k-table-alt-row {
    font-weight: bold;
}

.k-pivot-layout > tbody,
.k-pivot .k-table-td,
.k-pivot td {
    vertical-align: top;
}

.k-pivot-layout > tbody > tr > td {
    padding: 0;
}

.k-pivot-rowheaders > .k-grid,
.k-pivot-table > .k-grid {
    border-width: 0;
    color: inherit;
    background: none;
}

.k-pivot-rowheaders > .k-grid td:first-child,
.k-pivot-table .k-grid-header .k-header.k-first {
    border-left-width: 1px;
}

.k-pivot-rowheaders > .k-grid td.k-first {
    border-left-width: 0;
}

.k-pivot-rowheaders > .k-grid {
    overflow: hidden;
}

.k-pivot-table {
    border-left-width: 1px;
    border-left-style: solid;
}

.k-pivot-table .k-grid-header-wrap {
    margin-right: -1px;
}

.k-pivot-table .k-grid-header-wrap > table {
    height: 100%;
}

.k-pivot .k-grid-header .k-header {
    vertical-align: top;
}

.k-pivot .k-grid tr .k-grid-footer {
    border-bottom-width: 0;
}
.k-pivot .k-grid tr:last-child:not(.k-grid-footer) td:not(.k-grid-footer) {
    border-bottom-width: 1px;
}

.k-pivot-layout .k-grid td {
    border-bottom-width: 1px;
}

.k-pivot-layout .k-grid-footer > td {
    border-top-width: 0;
}

.k-pivot-filter-window .k-treeview {
    max-height: 600px;
}

.k-pivotgrid-wrapper {
    box-sizing: border-box;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    gap: 0.5rem;
}
.k-pivotgrid-wrapper > .k-pivotgrid-configurator-panel {
    max-width: 320px;
    flex: none;
}
.k-pivotgrid-wrapper > .k-pivot {
    flex: 1;
}

.k-pivotgrid-configurator-panel.kendo-jquery {
    box-sizing: border-box;
    display: inline-flex;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator {
    height: 100%;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator-content {
    padding: 1rem;
    max-height: 100%;
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem;
    overflow-x: hidden;
    overflow-y: auto;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-targets {
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-pivotgrid-configurator-section {
    display: flex;
    flex-flow: column nowrap;
    gap: 0.5rem;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields {
    margin: 0;
    padding: 0.25rem;
    max-height: 200px;
    border-width: 1px;
    border-style: solid;
    display: flex;
    flex-flow: row wrap;
    gap: 0.25rem;
    overflow-x: hidden;
    overflow-y: auto;
}
.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields > * {
    margin: 0;
}

.k-pivotgrid-toggle {
    margin-block: -0.25rem;
    padding: 0.25rem;
    box-sizing: content-box;
    cursor: pointer;
}

.k-pivotgrid {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-pivotgrid-column-headers,
.k-pivotgrid-row-headers,
.k-pivotgrid-empty-cell {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-pivotgrid-empty-cell {
    border-color: #babec1;
}

.k-pivotgrid-row-headers .k-pivotgrid-row .k-pivotgrid-cell:last-child {
    border-right-color: #babec1;
}

.k-pivotgrid-column-headers .k-pivotgrid-column-total:nth-last-of-type(2) .k-pivotgrid-cell:not(.k-pivotgrid-expanded),
.k-pivotgrid-column-headers .k-pivotgrid-row:last-child {
    border-bottom-color: #babec1;
}

.k-pivotgrid-header-total,
.k-pivotgrid-total {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ebebeb;
}

.k-pivotgrid-row-headers tbody > .k-pivotgrid-row:hover,
.k-pivotgrid-row-headers tbody > .k-pivotgrid-row.k-hover,
.k-pivotgrid-column-headers tbody > .k-pivotgrid-row:hover,
.k-pivotgrid-column-headers tbody > .k-pivotgrid-row.k-hover,
.k-pivotgrid-values tbody > .k-pivotgrid-row:hover,
.k-pivotgrid-values tbody > .k-pivotgrid-row.k-hover {
    background-color: #ededed;
}

.k-pivotgrid-cell:focus,
.k-pivotgrid-cell.k-focus,
.k-pivotgrid-empty-cell:focus,
.k-pivotgrid-empty-cell.k-focus,
.k-master-row > .k-pivotgrid-cell:focus,
.k-grouping-row > .k-pivotgrid-cell:focus,
.k-detail-row > .k-pivotgrid-cell:focus,
.k-group-footer > .k-pivotgrid-cell:focus {
    box-shadow: inset 0 0 0 3px rgba(33, 37, 41, 0.15);
}

.k-pivotgrid-cell.k-selected,
.k-pivotgrid-row.k-selected > .k-pivotgrid-cell {
    background-color: rgba(50, 205, 50, 0.25);
}

.k-pivotgrid-configurator-button,
.k-pivotgrid-configurator-panel {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-pivotgrid-configurator-header {
    color: #212529;
}

.k-pivotgrid-configurator-content .k-fields-list-wrapper {
    border-color: #dee2e6;
}

.k-calculated-field {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-calculated-field-header {
    color: #212529;
}

.k-filter-menu .k-calculated-item {
    border-color: #dee2e6;
}

.k-pivotgrid-configurator-content .k-form-field-wrapper {
    border-color: #dee2e6;
}

.k-flex-row .k-pivotgrid-configurator-overlay, .k-d-flex-row .k-pivotgrid-configurator-overlay {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}
.k-flex-row-reverse .k-pivotgrid-configurator-overlay {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}
.k-flex-col .k-pivotgrid-configurator-overlay, .k-d-flex-col .k-pivotgrid-configurator-overlay, .k-flex-column .k-pivotgrid-configurator-overlay {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}
.k-flex-col-reverse .k-pivotgrid-configurator-overlay, .k-flex-column-reverse .k-pivotgrid-configurator-overlay {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}

.k-pivot {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-pivot-table {
    border-color: #dee2e6;
}

.k-pivot-rowheaders {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-pivot-toolbar {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-pivot-toolbar .k-empty {
    color: #6c757d;
}

.k-pivot .k-alt {
    background-color: #f8f9fa;
}

.k-pivot-toolbar,
.k-pivot-table,
.k-pivot-rowheaders > .k-grid td:first-child,
.k-pivot-table .k-grid-header .k-header.k-first {
    border-color: #dee2e6;
}

.k-header.k-alt {
    background-color: #eeeff0;
}

.k-pivot-layout .k-grid-footer {
    color: #212529;
    background-color: #f8f9fa;
}

.k-i-kpi-trend-increase,
.k-i-kpi-trend-decrease,
.k-i-kpi-trend-equal {
    color: inherit;
}

.k-i-kpi-status-hold {
    color: #ffc107;
}

.k-i-kpi-status-deny {
    color: #dc3545;
}

.k-i-kpi-status-open {
    color: #198754;
}

.k-pivotgrid-configurator-panel.kendo-jquery .k-column-fields {
    border-color: #dee2e6;
}

.k-treelist.k-grid-display-block.k-grid-lockedcolumns {
    display: block;
}
.k-treelist .k-status {
    padding-block: 0.4em;
    padding-inline: 0.6em;
    line-height: 1.6em;
}
.k-treelist .k-status .k-loading {
    vertical-align: baseline;
    margin-right: 5px;
    display: none;
}
.k-treelist tr.k-hidden {
    display: none;
}
.k-treelist .k-treelist-dragging,
.k-treelist .k-treelist-dragging .k-hover {
    cursor: default;
}
.k-treelist .k-drop-hint {
    transform: translate(0, -50%);
}
.k-treelist .k-table-row.k-footer td,
.k-treelist .k-table-row.k-footer-template td,
.k-treelist .k-table-row.k-footer .k-table-td,
.k-treelist .k-table-row.k-footer-template .k-table-td {
    border-width: 1px 0;
    border-style: solid;
    font-weight: bold;
}
.k-treelist .k-table-row.k-footer + .k-table-row.k-footer td,
.k-treelist .k-table-row.k-footer + .k-table-row.k-footer .k-table-td {
    border-top-width: 0;
}

.k-treelist-scrollable > .k-table,
.k-treelist-scrollable .k-grid-header .k-table-row,
.k-treelist-scrollable .k-grid-header .k-table-th {
    background-color: inherit;
}
.k-treelist-scrollable .k-grid-toolbar {
    position: sticky;
    z-index: 3;
    top: 0;
    left: 0;
}
.k-treelist-scrollable .k-grid-header .k-table-th {
    position: sticky;
    z-index: 1;
}
.k-treelist-scrollable .k-grid-header .k-table-th.k-grid-header-sticky {
    z-index: 3;
}
.k-treelist-scrollable thead.k-grid-header {
    padding-right: 0;
}
.k-treelist-scrollable .k-table-row.k-group-footer + .k-table-row.k-group-footer td {
    border-top-width: 0;
}
.k-treelist-scrollable[dir=rtl] thead.k-grid-header, .k-rtl .k-treelist-scrollable thead.k-grid-header {
    padding-left: 0;
}

.k-drag-separator {
    display: inline-block;
    border-right: 1px solid;
    height: 1em;
    vertical-align: top;
    margin-block: 0;
    margin-inline: 0.5em;
}

.k-treelist-toggle {
    margin-block: -0.25rem;
    padding: 0.25rem;
    box-sizing: content-box;
    cursor: pointer;
}

.k-treelist tr.k-footer td,
.k-treelist tr.k-footer-template td {
    font-weight: normal;
}

.k-treelist-scrollable .k-group-footer td {
    font-weight: normal;
}

.k-treelist tr.k-footer,
.k-treelist tr.k-footer-template {
    background-color: #f8f9fa;
}

.k-treelist tr.k-footer:hover,
.k-treelist tr.k-footer-template:hover {
    background-color: #f8f9fa;
}

.k-treelist-scrollable .k-group-footer td,
.k-treelist-scrollable .k-grouping-row td,
.k-treelist-scrollable tbody .k-group-cell {
    background-color: #f8f9fa;
}

.k-filter {
    box-sizing: border-box;
    border-width: 0;
    display: inline-block;
    background-color: transparent;
}
.k-filter *,
.k-filter *::before,
.k-filter *::after {
    box-sizing: border-box;
}
.k-filter ul {
    padding: 0;
}
.k-filter ul li {
    list-style-type: none;
}
.k-filter .k-filter-container,
.k-filter .k-filter-preview {
    margin-block-end: 2.1em;
}
.k-filter .k-filter-lines,
.k-filter .k-filter-item {
    padding-inline-start: 1rem;
}
.k-filter .k-filter-toolbar {
    display: inline-flex;
    position: relative;
    padding-block: 0.5rem;
    padding-inline: 0;
}
.k-filter .k-filter-toolbar::before {
    content: "";
    position: absolute;
    width: 1rem;
    height: 1px;
    inset-block-start: 50%;
    inset-inline-start: -1rem;
}
.k-filter .k-filter-toolbar .k-toolbar {
    border-style: solid;
}
.k-filter .k-filter-operator .k-dropdown-list, .k-filter .k-filter-operator .k-dropdown,
.k-filter .k-filter-operator .k-dropdownlist {
    width: 15em;
}
.k-filter .k-filter-item {
    position: relative;
}
.k-filter .k-filter-item::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    inset-block-start: -0.5rem;
    inset-inline-start: 0;
}
.k-filter .k-filter-lines .k-filter-item:last-child > .k-filter-toolbar::after,
.k-filter .k-filter-lines .k-filter-item:last-child > * > .k-filter-toolbar::after {
    content: "";
    position: absolute;
    width: 1px;
    inset-block-start: calc(-0.5rem - 1px);
    inset-block-end: 50%;
    inset-inline-start: -1rem;
}
.k-filter .k-filter-group-main::before,
.k-filter .k-filter-group-main > .k-filter-toolbar::before,
.k-filter .k-filter-group-main > .k-filter-toolbar::after,
.k-filter .k-filter-group-main > * > .k-filter-toolbar::before,
.k-filter .k-filter-group-main > * > .k-filter-toolbar::after,
.k-filter .k-filter-lines .k-filter-item:last-child::before {
    display: none;
}

.k-filter {
    color: #212529;
}
.k-filter .k-filter-preview-field {
    color: limegreen;
}
.k-filter .k-filter-preview-operator {
    color: #6c757d;
}
.k-filter .k-filter-item::before,
.k-filter .k-filter-toolbar::before,
.k-filter .k-filter-lines .k-filter-item:last-child > .k-filter-toolbar::after,
.k-filter .k-filter-lines .k-filter-item:last-child > * > .k-filter-toolbar::after {
    background-color: #dee2e6;
}
.k-filter .k-toolbar:focus,
.k-filter .k-toolbar.k-focus {
    box-shadow: 0 0 0 0.25rem rgba(50, 205, 50, 0.25);
}

.k-filemanager {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-flow: column nowrap;
}

.k-filemanager-header {
    border-color: inherit;
}

.k-filemanager-toolbar {
    border-width: 0;
    border-bottom-width: 1px;
    border-color: inherit;
    flex-shrink: 0;
    z-index: 1;
}

.k-filemanager-content-container {
    border-color: inherit;
    box-sizing: border-box;
    flex: 1 1 0%;
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    overflow: hidden;
}

.k-filemanager-splitter {
    border-width: 0;
}

.k-filemanager-navigation {
    padding-block: 1rem;
    padding-inline: 1rem;
    width: 20%;
    border-width: 0;
    border-right-width: 1px;
    border-style: solid;
    border-color: inherit;
    box-sizing: border-box;
    flex-shrink: 0;
    overflow: auto;
}

.k-filemanager-treeview {
    overflow: visible;
}

.k-filemanager-content {
    border-color: inherit;
    flex: 1 1 0%;
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    overflow: hidden;
}

.k-filemanager-view {
    overflow: auto;
}

.k-filemanager-breadcrumb {
    border-width: 0;
    border-bottom-width: 1px;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    flex-shrink: 0;
}

.k-filemanager-listview {
    border-width: 0;
    flex: 1 1 0%;
}
.k-filemanager-listview .k-listview-item {
    padding-block: 1rem;
    padding-inline: 1rem;
    width: 120px;
    height: 120px;
    text-align: center;
}
.k-filemanager-listview .k-file-preview {
    display: flex;
    flex-direction: row;
    justify-content: center;
}
.k-filemanager-listview .k-file-name {
    margin-top: 0.5rem;
    display: block;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.k-filemanager-listview .k-file-edit-input input {
    width: 100%;
}

.k-filemanager-grid {
    border-width: 0;
    flex: 1 1 0%;
}
.k-filemanager-grid .k-file-preview {
    margin-right: 0.5rem;
    display: inline-flex;
    flex-direction: row;
    vertical-align: middle;
}
.k-filemanager-grid .k-file-name {
    display: inline-flex;
    flex-direction: row;
    vertical-align: middle;
}

.k-filemanager-preview {
    padding: 3rem 1rem 1rem;
    width: 20%;
    min-height: calc(4rem + calc(16px * 3) * 2 + 3rem);
    border-width: 0;
    border-left-width: 1px;
    border-style: solid;
    border-color: inherit;
    box-sizing: border-box;
    text-align: center;
    overflow-y: auto;
    flex-shrink: 0;
}
.k-filemanager-preview .k-file-preview {
    display: flex;
    flex-direction: row;
    justify-content: center;
}
.k-filemanager-preview .k-file-name {
    margin-top: 1rem;
    display: block;
}
.k-filemanager-preview .k-single-file-selected {
    font-weight: bold;
}
.k-filemanager-preview .k-multiple-files-selected {
    font-weight: bold;
}
.k-filemanager-preview .k-file-meta {
    margin: 1rem 0 0;
    box-sizing: border-box;
    text-align: start;
    display: flex;
    flex-flow: row wrap;
    grid-column-gap: 0.25rem;
}
.k-filemanager-preview .k-file-meta-label {
    display: inline-block;
}
.k-filemanager-preview .k-file-meta-value {
    margin: 0;
}
.k-filemanager-preview .k-file-type {
    text-transform: capitalize;
}
.k-filemanager-preview .k-line-break {
    margin: 1rem 0 0;
    width: 100%;
    flex: 1 1 100%;
    flex-flow: row nowrap;
}

.k-filemanager .k-splitbar {
    flex-shrink: 0;
    display: inline-flex;
    position: relative;
    border-width: 0 1px;
    border-style: solid;
    border-color: inherit;
}

.k-filemanager-upload-dialog .k-upload-files {
    max-height: 200px;
    overflow-y: auto;
}

.k-filemanager-drag-hint {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.k-filemanager {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-filemanager-breadcrumb {
    background-color: #f8f9fa;
}

.k-filemanager-listview .k-listview-item .k-file-icon {
    color: #686b6d;
}
.k-filemanager-listview .k-listview-item.k-selected .k-file-icon {
    border-color: transparent;
    color: inherit;
    background-color: transparent;
}

.k-filemanager-preview .k-file-icon {
    color: #686b6d;
}

.k-taskboard {
    box-sizing: border-box;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    position: relative;
}
.k-taskboard *,
.k-taskboard *::before,
.k-taskboard *::after {
    box-sizing: border-box;
}

.k-taskboard-toolbar {
    padding-block: 1rem;
    padding-inline: 1rem;
    border-width: 0;
    box-shadow: none;
    background: none;
}

.k-taskboard-content {
    padding: 0 1rem 1rem;
    display: flex;
    position: relative;
    flex: 1 1 auto;
    overflow-x: auto;
}

.k-taskboard-columns-container {
    outline: none;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    gap: 1rem;
    overflow-x: visible;
}

.k-taskboard-column {
    width: 320px;
    border-width: 1px;
    border-radius: 0.25rem;
    border-style: solid;
    outline: none;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    overflow: hidden;
}

.k-taskboard-column-header {
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
    font-weight: 500;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.25rem;
}

.k-taskboard-column-header-actions {
    display: inline-flex;
    flex-shrink: 0;
    align-self: flex-start;
    gap: 0.5rem;
}

.k-taskboard-column-cards-container {
    margin-bottom: 0.75rem;
    padding-block: 0px;
    padding-inline: 0.75rem;
    outline: none;
    overflow: auto;
    flex: 1 1 auto;
}

.k-taskboard-column-cards {
    padding-block: 0.25rem;
    padding-inline: 0px;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.75rem 0;
}

.k-taskboard-column-new .k-taskboard-column-header,
.k-taskboard-column-edit .k-taskboard-column-header {
    font-weight: inherit;
}
.k-taskboard-column-new .k-taskboard-column-header-text,
.k-taskboard-column-edit .k-taskboard-column-header-text {
    flex: 1 1 100%;
}

.k-taskboard-pane {
    width: 320px;
    border-width: 1px;
    border-style: solid;
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: 2;
}

.k-taskboard-pane-header {
    padding-block: 0.75rem;
    padding-inline: 1rem;
    font-weight: 500;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.k-taskboard-pane-header-text {
    word-break: normal;
    overflow-wrap: anywhere;
}

.k-taskboard-pane-header-actions {
    flex-shrink: 0;
    align-self: flex-start;
}

.k-taskboard-pane-content {
    padding-block: 0px;
    padding-inline: 1rem;
    overflow: auto;
    flex: 1 1 auto;
}

.k-taskboard-pane-actions {
    padding-block: 0.75rem;
    padding-inline: 1rem;
}

.k-taskboard-pane-start {
    right: auto;
    left: 0;
}

.k-taskboard-card {
    border-radius: 0.375rem;
    border-width: 1px;
}
.k-taskboard-card.k-taskboard-card-category {
    border-inline-start-width: 4px;
}
.k-taskboard-card .k-card-header .k-card-body,
.k-taskboard-card .k-card-footer {
    padding-block: 1rem;
    padding-inline: 1rem;
}
.k-taskboard-card .k-card-header {
    align-items: center;
}
.k-taskboard-card .k-card-title {
    font-size: inherit;
    font-weight: inherit;
    word-break: normal;
    overflow-wrap: anywhere;
}
.k-taskboard-card .k-card-title:focus, .k-taskboard-card .k-card-title.k-focus, .k-taskboard-card .k-card-title:hover, .k-taskboard-card .k-card-title.k-hover {
    text-decoration: underline;
}
.k-taskboard-card .k-card-header-actions {
    align-self: flex-start;
}

.k-taskboard-drag-placeholder {
    border-radius: 0.375rem;
    border-width: 1px;
    border-style: solid;
    position: relative;
}

.k-taskboard-column {
    border-color: transparent;
    background-color: #f8f9fa;
}

.k-taskboard-column:focus,
.k-taskboard-column.k-focus {
    border-color: #b6b7b8;
}

.k-taskboard-column-header {
    color: #212529;
}

.k-taskboard-pane {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-taskboard-pane-header {
    color: #212529;
}

.k-taskboard-card {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-taskboard-card .k-card-title {
    color: limegreen;
}
.k-taskboard-card .k-card-title:focus, .k-taskboard-card .k-card-title.k-focus {
    color: #2aac2a;
}
.k-taskboard-card .k-card-title:hover, .k-taskboard-card .k-card-title.k-hover {
    color: #2aac2a;
}
.k-taskboard-card:focus, .k-taskboard-card.k-focus {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
    border-color: #b6b9bd;
}
.k-taskboard-card:hover, .k-taskboard-card.k-hover {
    border-color: #c8cbcf;
}
.k-taskboard-card.k-selected {
    border-color: #c1f0c1;
    box-shadow: none;
}
.k-taskboard-card.k-disabled {
    outline: none;
    cursor: default;
    opacity: 0.65;
    filter: grayscale(0.1);
    pointer-events: none;
    box-shadow: none;
}

.k-taskboard-drag-placeholder {
    border-color: #dee2e6;
    background-color: rgba(0, 0, 0, 0.1);
}

.k-editor {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-flow: column nowrap;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-editor.k-readonly .k-editor-content {
    pointer-events: auto;
}
.k-editor.k-readonly .k-editor-content.k-focus {
    outline-width: 1px;
    outline-style: dashed;
}

.k-editor-inline {
    border-radius: 0.375rem;
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    border: 1px solid transparent;
    word-wrap: break-word;
    overflow: auto;
    background: none;
}

.k-editor-resizable {
    resize: both;
    overflow: auto;
}

.k-editor-resize-handles-wrapper {
    position: absolute;
    visibility: hidden;
}

.k-editor-resize-handle {
    width: 8px;
    height: 8px;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    position: absolute;
    visibility: visible;
    z-index: 100;
}
.k-editor-resize-handle.northwest {
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    cursor: nw-resize;
}
.k-editor-resize-handle.north {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: n-resize;
}
.k-editor-resize-handle.northeast {
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    cursor: ne-resize;
}
.k-editor-resize-handle.southwest {
    left: 0;
    bottom: 0;
    transform: translate(-50%, 50%);
    cursor: sw-resize;
}
.k-editor-resize-handle.south {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    cursor: s-resize;
}
.k-editor-resize-handle.southeast {
    right: 0;
    bottom: 0;
    transform: translate(50%, 50%);
    cursor: se-resize;
}
.k-editor-resize-handle.west {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
    cursor: w-resize;
}
.k-editor-resize-handle.east {
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
    cursor: e-resize;
}

.ProseMirror-selectednode {
    outline-width: 2px;
    outline-style: solid;
}

.ProseMirror-hideselection {
    caret-color: transparent;
}
.ProseMirror-hideselection *::selection,
.ProseMirror-hideselection *::-moz-selection {
    background: transparent;
}

.k-editor-toolbar {
    border-width: 0 0 1px 0;
    flex-shrink: 0;
}
.k-editor-toolbar .k-editor-export .k-icon {
    margin-right: 0.25em;
}
.k-editor-toolbar .k-editor-export .k-icon,
.k-editor-toolbar .k-editor-export .k-export-tool-text {
    vertical-align: middle;
}

.k-editor-content {
    flex: 1 1 auto;
    overflow-y: auto;
}
.k-editor-content > .k-iframe {
    width: 100%;
    height: 100%;
    border-width: 0;
    display: block;
}
.k-editor-content > .ProseMirror {
    padding: 1rem;
    width: 100%;
    height: 100%;
    position: relative;
    box-sizing: border-box;
    outline: none;
    white-space: pre-wrap;
    overflow: auto;
}
.k-editor-content > .ProseMirror table {
    white-space: pre-wrap;
}
.k-editor-content > .ProseMirror .k-placeholder::before {
    content: attr(data-placeholder);
    height: 0;
    color: #6c757d;
    float: left;
    opacity: 1;
    cursor: text;
    user-select: none;
}
.k-editor-content > .ProseMirror[contenteditable=false] {
    cursor: unset !important;
}
.k-editor-content > .ProseMirror[contenteditable=false] .k-editor-resize-handles-wrapper,
.k-editor-content > .ProseMirror[contenteditable=false] .k-editor-resize-handle,
.k-editor-content > .ProseMirror[contenteditable=false] .row-resize-handle,
.k-editor-content > .ProseMirror[contenteditable=false] .column-resize-handle {
    display: none;
}
.k-editor-content > .ProseMirror[contenteditable=false] img,
.k-editor-content > .ProseMirror[contenteditable=false] table {
    pointer-events: none;
}
.k-editor-content > .ProseMirror[contenteditable=false] .ProseMirror-selectednode {
    outline: none;
}
.k-editor-content p {
    margin: 0 0 1rem;
}
.k-editor-content td p,
.k-editor-content th p,
.k-editor-content li p {
    margin: 0;
}
.k-editor-content table {
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    overflow: hidden;
}
.k-editor-content td,
.k-editor-content th {
    min-width: 1em;
    border: 1px solid;
    padding-block: 3px;
    padding-inline: 5px;
    vertical-align: top;
    box-sizing: border-box;
    position: relative;
}
.k-editor-content th {
    font-weight: bold;
    text-align: start;
}
.k-editor-content td {
    text-align: start;
}
.k-editor-content .selectedCell::after {
    z-index: 2;
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    pointer-events: none;
}

.k-edit-form-content {
    flex: 1 1 auto;
    overflow: auto;
    margin-block: -1rem;
    margin-inline: -1rem;
    padding-block: 1rem;
    padding-inline: 1rem;
}

.k-ct-popup {
    box-sizing: border-box;
    width: 190px;
    padding: 5px;
}
.k-ct-popup .k-button {
    width: 100%;
}
.k-ct-popup .k-ct-cell {
    margin: 1px;
    width: 20px;
    height: 20px;
    box-sizing: border-box;
    border: 1px solid;
    border-color: inherit;
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
    opacity: 0.7;
    pointer-events: all;
}

.k-editor .k-resize-handle {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 13px 13px;
    border-color: transparent;
    border-bottom-color: inherit;
    cursor: se-resize;
}
.k-editor .k-resize-handle .k-i-arrow-45-down-right,
.k-editor .k-resize-handle .k-i-caret-br {
    display: none;
}

.k-editor-find-replace .k-content {
    position: relative;
}
.k-editor-find-replace .k-actions, .k-editor-find-replace .k-edit-buttons,
.k-editor-find-replace .k-action-buttons,
.k-editor-find-replace .k-columnmenu-actions, .k-editor-find-replace .k-form-buttons {
    padding: 0;
}
.k-editor-find-replace .k-search-options {
    display: flex;
    flex-direction: column;
    padding: 10px 0 40px;
}
.k-editor-find-replace .k-matches-container {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.k-textarea.k-editor-textarea {
    width: 100%;
    height: 100%;
    resize: none;
}

.k-filebrowser {
    max-width: 100%;
}
.k-filebrowser .k-floatwrap {
    display: flex;
}
.k-filebrowser .k-floatwrap::after {
    display: none;
}
.k-filebrowser .k-breadcrumbs {
    flex: 1;
}
.k-filebrowser .k-search-wrap {
    margin: 0 0 0 1rem;
    width: 150px;
    display: flex;
    align-items: center;
}
.k-filebrowser .k-search-wrap .k-input {
    flex: 1;
    width: 100px;
}
.k-filebrowser .k-search-wrap .k-icon {
    margin: 0;
    position: static;
}
.k-filebrowser .k-filebrowser-toolbar {
    margin: 1rem 0 0 0;
}
.k-filebrowser .k-upload {
    padding: 0;
    border-width: 0;
    background: none;
}
.k-filebrowser .k-upload .k-upload-button {
    margin: 0;
}
.k-filebrowser .k-upload .k-upload-status {
    display: none;
}
.k-filebrowser .k-upload-files {
    display: none;
}
.k-filebrowser .k-tiles {
    display: flex;
    flex-flow: row wrap;
    height: 390px;
    max-height: 50vh;
    margin: 0 0 1rem 0;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    border-top-width: 0;
    overflow: auto;
}
.k-filebrowser .k-tile {
    width: 33%;
    height: 90px;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    border-radius: 0.375rem;
}
.k-filebrowser .k-tile .k-i-file,
.k-filebrowser .k-tile .k-i-folder {
    font-size: 4em;
}
.k-filebrowser .k-tile input {
    width: 100px;
}
.k-filebrowser .k-tile strong {
    display: block;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
}
.k-filebrowser .k-tile-empty {
    display: block;
    margin: auto;
}
.k-filebrowser .k-tile-empty.k-selected {
    color: inherit;
    border-width: 0;
    background-image: none;
    background-color: transparent;
}
.k-filebrowser .k-tile-empty strong {
    opacity: 0.5;
    font-size: 3em;
    font-weight: 400;
}
.k-filebrowser .k-thumb {
    float: left;
    margin-right: 0.5rem;
}
.k-filebrowser .k-breadcrumbs-wrap {
    position: absolute;
    left: 0.75rem;
    top: 0.375rem;
}
.k-filebrowser .k-breadcrumbs-wrap .k-icon {
    position: static;
    margin-top: 0;
}

.k-editor-table-wizard-window .k-tabstrip-wrapper {
    display: flex;
    flex: 1 1 auto;
    overflow: auto;
}
.k-editor-table-wizard-window .k-tabstrip-wrapper .k-tabstrip.k-root-tabs {
    flex: 1 1 auto;
    margin-bottom: 0;
}
.k-editor-table-wizard-window .k-edit-field > .k-checkbox {
    position: relative;
}

.k-editor-inline .k-table {
    width: 100%;
    border-spacing: 0;
    margin: 0 0 1em;
}
.k-editor-inline .k-table, .k-editor-inline .k-table td {
    outline: 0;
    border-width: 1px;
    border-style: dotted;
}
.k-editor-inline .k-table td {
    min-width: 1px;
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
}
.k-editor-inline .k-element-resize-handle-wrapper {
    position: absolute;
    width: 5px;
    height: 5px;
    border-width: 1px;
    border-style: solid;
    z-index: 100;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle {
    width: 100%;
    height: 100%;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-east {
    cursor: e-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-north {
    cursor: n-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northeast {
    cursor: ne-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northwest {
    cursor: nw-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-south {
    cursor: s-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southeast {
    cursor: se-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southwest {
    cursor: sw-resize;
}
.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-west {
    cursor: w-resize;
}
.k-editor-inline .k-column-resize-handle-wrapper {
    position: absolute;
    height: 10px;
    width: 10px;
    cursor: col-resize;
    z-index: 2;
}
.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle {
    width: 100%;
    height: 100%;
}
.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker {
    width: 2px;
    height: 100%;
    margin-block: 0;
    margin-inline: auto;
    display: none;
    opacity: 0.8;
}
.k-editor-inline .k-row-resize-handle-wrapper {
    position: absolute;
    z-index: 2;
    cursor: row-resize;
    width: 10px;
    height: 10px;
}
.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-handle {
    display: table;
    width: 100%;
    height: 100%;
}
.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker-wrapper {
    display: table-cell;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}
.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker {
    display: none;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 2px;
    opacity: 0.8;
}

.k-editor {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-editor.k-readonly .k-editor-content.k-focus {
    outline-color: #212529;
}

.k-editor-inline .k-table, .k-editor-inline .k-table td {
    border-color: #cccccc;
}
.k-editor-inline .k-element-resize-handle-wrapper {
    background-color: #ffffff;
    border-color: #000000;
}
.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker {
    background-color: #00b0ff;
}
.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker {
    background-color: #00b0ff;
}
.k-editor-inline:hover, .k-editor-inline.k-hover, .k-editor-inline.k-active {
    border-color: #dee2e6;
}

.k-editor-resize-handle {
    background-color: #ffffff;
    border-color: #000000;
}

.ProseMirror-selectednode {
    outline-color: #88ccff;
}

.k-ct-popup .k-selected {
    border-color: #2ebd2e;
    color: black;
    background-color: limegreen;
    background-image: none;
}

.k-editor-content .k-text-selected, .k-editor-content::selection {
    color: black;
    background-color: limegreen;
}
.k-editor-content .k-text-highlighted {
    background-color: #d6f5d6;
}
.k-editor-content td,
.k-editor-content th {
    border-color: #dddddd;
}
.k-editor-content .selectedCell::after {
    background-color: rgba(200, 200, 255, 0.4);
}

.k-imageeditor {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-imageeditor *,
.k-imageeditor *::before,
.k-imageeditor *::after {
    box-sizing: border-box;
}

.k-imageeditor-toolbar {
    border-width: 0;
    border-bottom-width: 1px;
}

.k-imageeditor-content {
    border-width: 0;
    border-style: solid;
    border-color: inherit;
    display: flex;
    flex-flow: row nowrap;
}

.k-imageeditor-canvas-container {
    flex: 1 1 100%;
    display: flex;
    flex-flow: row nowrap;
    overflow: auto;
}

.k-imageeditor-canvas {
    margin: auto;
    display: flex;
    flex-direction: column;
    position: relative;
}

.k-imageeditor-action-pane {
    padding-block: 2rem;
    padding-inline: 1rem;
    width: calc(240px + 1px);
    border-width: 0;
    border-left-width: 1px;
    border-style: solid;
    border-color: inherit;
    box-sizing: border-box;
    flex: none;
    overflow-y: auto;
}
.k-imageeditor-action-pane .k-input-inner,
.k-imageeditor-action-pane .k-input-value-text {
    text-overflow: clip;
}

.k-imageeditor-crop-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.k-imageeditor-crop {
    width: 100%;
    height: 100%;
    border-width: 1px;
    border-style: dashed;
    box-sizing: border-box;
    position: absolute;
}
.k-imageeditor-crop .k-resize-handle {
    margin-block: 1px;
    margin-inline: 1px;
    border-style: solid;
    border-width: 0 2px 2px 0;
}
.k-imageeditor-crop .k-resize-sw,
.k-imageeditor-crop .k-resize-se,
.k-imageeditor-crop .k-resize-nw,
.k-imageeditor-crop .k-resize-ne {
    width: 15px;
    height: 15px;
}
.k-imageeditor-crop .k-resize-n,
.k-imageeditor-crop .k-resize-s {
    left: calc(50% - (7.5px));
    width: 15px;
    height: 0;
}
.k-imageeditor-crop .k-resize-w,
.k-imageeditor-crop .k-resize-e {
    top: calc(50% - (7.5px));
    width: 0;
    height: 15px;
}
.k-imageeditor-crop .k-resize-ne {
    transform: rotate(-90deg);
}
.k-imageeditor-crop .k-resize-nw {
    transform: rotate(-180deg);
}
.k-imageeditor-crop .k-resize-sw {
    transform: rotate(90deg);
}
.k-imageeditor-crop .k-resize-n {
    top: 0;
}
.k-imageeditor-crop .k-resize-s {
    bottom: 0;
}
.k-imageeditor-crop .k-resize-w {
    left: 0;
}
.k-imageeditor-crop .k-resize-e {
    right: 0;
}

.k-imageeditor {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-imageeditor-content {
    background-color: #c6c6c6;
}

.k-imageeditor-canvas {
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.09) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.09) 75%, rgba(0, 0, 0, 0.09)), linear-gradient(45deg, rgba(0, 0, 0, 0.09) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.09) 75%, rgba(0, 0, 0, 0.09)), white;
    background-repeat: repeat, repeat;
    background-position: 0px 0px, calc(10px / 2) calc(10px / 2);
    transform-origin: 0 0 0;
    background-origin: padding-box, padding-box;
    background-size: 10px 10px, 10px 10px;
    box-shadow: none;
    text-shadow: none;
    transition: none;
    transform: scaleX(1) scaleY(1) scaleZ(1);
}

.k-imageeditor-action-pane {
    background-color: #ffffff;
}

.k-imageeditor-crop {
    border-color: white;
}

.k-imageeditor-crop-overlay {
    background-color: rgba(0, 0, 0, 0.3);
}

.k-gantt {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-flow: column nowrap;
    position: relative;
    white-space: nowrap;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-gantt .k-table-td {
    white-space: nowrap;
}
.k-gantt td {
    overflow: hidden;
    white-space: nowrap;
    vertical-align: top;
}
.k-gantt .k-grid-header tr {
    height: calc(calc(1.5 * 1em) + 1rem + 1px);
}
.k-gantt .k-grid-header .k-header {
    position: static;
}
.k-gantt .k-treelist .k-grid-header .k-header {
    position: relative;
}
.k-gantt .k-grid-content tr {
    height: calc(calc(1.5 * 1em) + 1rem + 0px);
}
.k-gantt.k-gantt-planned .k-grid-content tr {
    height: calc(calc(1.5 * 1em) * 1.7 + 1rem + 0px);
}
.k-gantt .k-gantt-layout {
    white-space: normal;
    vertical-align: top;
    display: inline-block;
}
.k-gantt .k-splitbar {
    position: relative;
    display: inline-flex;
}
.k-gantt .k-gantt-splitter {
    border-width: 0;
}
.k-gantt .k-treelist-scrollable {
    width: 100%;
    border-width: 0;
    overflow: auto;
}
.k-gantt .k-treelist-scrollable .k-grid-header .k-header {
    position: sticky;
}
.k-gantt .k-treelist-scrollable .k-grid-header th,
.k-gantt .k-treelist-scrollable .k-grid-content-sticky {
    z-index: 4;
}
.k-gantt .k-treelist-scrollable .k-grid-header th.k-grid-header-sticky {
    z-index: 5;
}
.k-gantt .k-treelist-scrollable .k-grid-header tr:first-child th:last-child,
.k-gantt .k-treelist-scrollable tbody td:last-child {
    padding: 0;
    vertical-align: top;
}
.k-gantt .k-treelist-scrollable .k-grid-header th:last-child .k-header {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 0 0 1px 1px;
    white-space: nowrap;
}
.k-gantt .k-treelist-scrollable tr.k-selected > td:last-child {
    background: transparent;
}
.k-gantt .k-treelist-scrollable .k-task {
    display: inline-flex;
    flex-flow: row nowrap;
    white-space: nowrap;
    z-index: 3;
}
.k-gantt .k-treelist-scrollable .k-task:hover .k-task-start, .k-gantt .k-treelist-scrollable .k-task:hover .k-task-end {
    display: block;
}
.k-gantt .k-treelist-scrollable .k-task:hover .k-task-draghandle {
    visibility: visible;
}
.k-gantt .k-treelist-scrollable .k-task-content {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    display: block;
    line-height: normal;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.k-gantt .k-treelist-scrollable .k-task-actions {
    flex-shrink: 0;
}
.k-gantt .k-treelist-scrollable .k-task-milestone {
    border: 0;
    transform: none;
    background: none;
}
.k-gantt .k-treelist-scrollable .k-task-milestone .k-task-milestone-content {
    width: 100%;
    height: 100%;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    transform: rotate(45deg);
}
.k-gantt .k-treelist-scrollable .k-task-summary {
    height: 15px;
    clip-path: polygon(-20px 0, calc(100% + 20px) 0, calc(100% + 20px) 100%, 100% 100%, calc(100% - 8px) calc(100% - 5px), 8px calc(100% - 5px), 0 100%, -20px 100%);
}
.k-gantt .k-treelist-scrollable .k-task-summary-complete {
    width: 100%;
    height: 15px;
}
.k-gantt .k-treelist-scrollable .k-task-start {
    transform: translateX(-140%) translateY(-50%);
}
.k-gantt .k-treelist-scrollable .k-task-end {
    transform: translateX(140%) translateY(-50%);
}
.k-gantt .k-treelist-scrollable .k-master-row:hover .k-task-dot {
    display: block;
}
.k-gantt .k-treelist-scrollable .k-gantt-columns {
    background: transparent;
    pointer-events: none;
    table-layout: fixed;
}
.k-gantt .k-gantt-dependencies-svg {
    position: absolute;
    top: 0;
    left: 0;
    overflow: visible;
    pointer-events: none;
    z-index: 2;
}
.k-gantt .k-gantt-dependencies-svg polyline {
    stroke-width: 2px;
}

.k-gantt-header {
    border-width: 0 0 1px;
    flex-shrink: 0;
    z-index: 6;
}

.k-gantt-footer {
    border-width: 1px 0 0;
    flex-shrink: 0;
}

.k-gantt-toggle {
    display: none;
}

.k-gantt-views-wrapper {
    margin-left: auto;
}
.k-gantt-views-wrapper .k-views-dropdown {
    width: auto;
    font-size: inherit;
    display: none;
    cursor: pointer;
}

@media (max-width: 480px) {
    .k-gantt-toolbar .k-gantt-toggle {
        display: inline-flex;
    }
    .k-gantt-toolbar .k-gantt-pdf,
    .k-gantt-toolbar .k-gantt-create {
        padding: 0.375rem;
        width: calc(1.5em + 0.75rem + 2px);
        height: calc(1.5em + 0.75rem + 2px);
    }
    .k-gantt-toolbar .k-gantt-pdf .k-button-text,
    .k-gantt-toolbar .k-gantt-create .k-button-text {
        display: none;
    }
}
@media (max-width: 1024px) {
    .k-gantt-views-wrapper .k-gantt-views {
        display: none;
    }
    .k-gantt-views-wrapper .k-views-dropdown {
        display: flex;
    }
}
.k-gantt-content {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    flex: 1 1 auto;
    overflow: hidden;
}

.k-gantt-treelist .k-treelist {
    height: 100%;
    border-width: 0;
}
.k-gantt-treelist .k-grid-header,
.k-gantt-treelist .k-grid-footer {
    padding: 0 !important;
}
.k-gantt-treelist .k-grid-header tr {
    height: calc(calc(1.5 * 1em) * 2 + 2rem + 2px);
    vertical-align: bottom;
}
.k-gantt-treelist .k-grid-content {
    overflow: hidden;
    overflow-x: scroll;
}
.k-gantt-treelist .k-grid-content td {
    vertical-align: middle;
}
.k-gantt-treelist .k-gantt-treelist-nested-columns .k-grid-header tr {
    height: calc(calc(1.5 * 1em) + 1rem + 1px);
}
.k-gantt-treelist.k-gantt-treelist-scrollable .k-grid-content {
    overflow: scroll;
}

.k-gantt-timeline-pane .k-gantt-timeline {
    height: 100%;
    border-width: 0;
    display: flex;
}
.k-gantt-timeline-pane .k-gantt-timeline *,
.k-gantt-timeline-pane .k-gantt-timeline *::before,
.k-gantt-timeline-pane .k-gantt-timeline *::after, .k-gantt-timeline-pane .k-gantt-timeline::before, .k-gantt-timeline-pane .k-gantt-timeline::after {
    box-sizing: border-box;
}
.k-gantt-timeline-pane .k-grid-content {
    overflow-x: scroll;
}
.k-gantt-timeline-pane .k-header {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    border-width: 0 0 1px 1px;
    white-space: nowrap;
}

.k-gantt-tables {
    position: relative;
    border-color: inherit;
}

.k-gantt-rows,
.k-gantt-columns {
    border-color: inherit;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
}

.k-gantt-dependencies {
    opacity: 0.7;
    position: absolute;
    top: 0;
    left: 0;
}
.k-gantt-dependencies .k-arrow-e,
.k-gantt-dependencies .k-arrow-w {
    width: 0;
    height: 0;
    border: 5px solid transparent;
    position: absolute;
    top: -4px;
}
.k-gantt-dependencies .k-arrow-e {
    border-left-color: currentColor;
    right: -6px;
}
.k-gantt-dependencies .k-arrow-w {
    border-right-color: currentColor;
    left: -6px;
}

.k-gantt-line {
    background-color: currentColor;
    border-color: currentColor;
    position: absolute;
}

.k-gantt-line.k-selected {
    z-index: 3;
}

.k-gantt-line-h {
    height: 2px;
}

.k-gantt-line-v {
    width: 2px;
}

.k-gantt-dependency-hint {
    z-index: 4;
}

.k-gantt-tasks {
    position: relative;
}
.k-gantt-tasks td,
.k-gantt-tasks .k-table-td {
    padding: 0;
    border-width: 0;
    position: relative;
    vertical-align: middle;
}
.k-gantt-tasks td::after {
    content: "​";
}

.k-task-wrap {
    margin-block: 0;
    margin-inline: -21px;
    padding-block: 5px;
    padding-inline: 21px;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    z-index: 2;
}

.k-task-wrap.k-drag-hint {
    position: absolute;
}

.k-task {
    position: relative;
    flex: 1 1 auto;
}

.k-task-dot {
    width: calc(8px + 8px);
    height: calc(8px + 8px);
    line-height: 1;
    cursor: pointer;
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.k-task-wrap:hover .k-task-dot,
.k-task-wrap.k-origin .k-task-dot {
    display: block;
}

.k-task-dot::before {
    content: "";
    width: 8px;
    height: 8px;
    border-width: 0;
    border-style: solid;
    border-radius: 100%;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.k-task-dot:hover::before,
.k-task-dot.k-hover::before {
    border-width: 1px;
}

.k-task-start {
    left: 0;
}

.k-task-end {
    right: 0;
}

.k-task-draghandle {
    margin-left: 16px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-top-width: 0;
    border-bottom-color: inherit;
    position: absolute;
    bottom: 0;
    cursor: e-resize;
    visibility: hidden;
}

.k-task-wrap:hover .k-task-draghandle {
    visibility: visible;
}

.k-milestone-wrap {
    margin-block: 0;
    margin-inline: -2em;
}

.k-task-milestone {
    width: 1em;
    height: 1em;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    transform: rotate(45deg);
}

.k-task-summary {
    height: 10px;
    display: inline-block;
    vertical-align: top;
}

.k-task-summary,
.k-task-summary-complete {
    background-color: currentColor;
}
.k-task-summary::before, .k-task-summary::after,
.k-task-summary-complete::before,
.k-task-summary-complete::after {
    content: "";
    width: 0;
    height: 0;
    border: 8px solid transparent;
    position: absolute;
    top: 0;
    display: none;
}
.k-task-summary::before,
.k-task-summary-complete::before {
    border-left-color: currentColor;
    left: 0;
}
.k-task-summary::after,
.k-task-summary-complete::after {
    border-right-color: currentColor;
    right: 0;
}

.k-task-summary-complete {
    height: 10px;
    position: relative;
    z-index: 2;
}

.k-task-summary-progress {
    height: 15px;
    overflow: hidden;
}

.k-task-single {
    border-radius: 0.375rem;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    cursor: default;
}
.k-task-single .k-resize-handle {
    opacity: 0.5;
    z-index: 2;
    visibility: hidden;
}
.k-task-single .k-resize-handle::before {
    position: absolute;
    top: 2px;
    bottom: 2px;
}
.k-task-single .k-resize-w {
    left: 0;
}
.k-task-single .k-resize-w::before {
    left: 2px;
    border-left-width: 1px;
}
.k-task-single .k-resize-e {
    right: 0;
}
.k-task-single .k-resize-e::before {
    right: 2px;
    border-left-width: 1px;
}
.k-task-single:hover .k-resize-handle, .k-task-single:hover .k-task-actions {
    visibility: visible;
}

.k-task-complete {
    border-radius: 0.375rem;
    width: 20%;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
}

.k-task-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    white-space: nowrap;
}

.k-task-template {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    line-height: normal;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.k-task-actions {
    padding: 0.25rem;
    white-space: nowrap;
    display: flex;
    flex-direction: row;
    align-items: center;
    visibility: hidden;
    z-index: 1;
}

.k-task-actions > .k-link {
    display: inline-flex;
}

.k-resources-wrap {
    position: absolute;
    display: inline-block;
    z-index: 2;
    margin-left: 20px;
    margin-top: -2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.k-resources-wrap .k-resource {
    margin-block: 0;
    margin-inline: 5px;
}

.k-task-details {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    white-space: nowrap;
}
.k-task-details strong {
    font-size: 1.25rem;
    font-weight: normal;
    display: block;
}
.k-task-details .k-task-pct {
    font-size: calc(16px * 2);
}
.k-task-details ul {
    line-height: normal;
}

.k-gantt-planned .k-gantt-dependencies,
.k-gantt-planned .k-task-dot,
.k-gantt-planned .k-resources-wrap {
    margin-top: 0.6em;
}
.k-gantt-planned .k-task-wrap {
    flex-direction: column;
    align-items: flex-start;
}
.k-gantt-planned .k-task-inner-wrap {
    display: inline-flex;
}
.k-gantt-planned .k-task-wrap.k-drag-hint {
    top: 0.35em;
}
.k-gantt-planned .k-summary-wrap.k-drag-hint {
    top: 1em;
}
.k-gantt-planned .k-milestone-wrap.k-drag-hint {
    top: 0.85em;
}

.k-task-planned {
    margin: 0 0 0.35em;
    line-height: 0.75em;
    display: flex;
    align-items: center;
}
.k-task-planned .k-task-moment {
    border-width: 2px;
    border-radius: calc((4px + 6px) / 2);
    border-style: solid;
    height: 6px;
    width: 6px;
}
.k-task-planned .k-task-duration {
    height: 2px;
}
.k-task-planned .k-task-moment.k-moment-left {
    margin-left: calc(1px - calc((4px + 6px) / 2));
}
.k-task-planned:hover .k-task-duration {
    height: calc(2px + 1px);
}

.k-milestone-wrap .k-task-moment {
    margin-left: 6px;
}

.k-planned-tooltip .k-task-content {
    display: block;
}

.k-task-offset-wrap .k-task-content .k-resize-e {
    display: none;
}

.k-task-offset {
    flex-direction: row-reverse;
    display: flex;
}
.k-task-offset .k-resize-handle {
    right: 0;
    z-index: 2;
    visibility: hidden;
    margin-right: 1.2em;
}
.k-task-offset .k-resize-handle::before {
    border-left-width: 1px;
    position: absolute;
    top: 45%;
    bottom: 0.5em;
    margin-right: 2px;
}

.k-task-single:hover + .k-task-offset .k-task-actions,
.k-task-offset:hover .k-task-actions,
.k-task-single:hover + .k-task-offset .k-resize-handle,
.k-task-offset:hover .k-resize-handle {
    visibility: visible;
}

.k-gantt-tooltip-validation {
    max-width: 200px;
    display: block;
}
.k-gantt-tooltip-validation::before {
    content: "";
    width: 4px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.k-gantt-tooltip-validation-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.k-gantt-tooltip-validation-label {
    display: inline-flex;
    min-width: 50px;
}

.k-gantt-tooltip-validation-value {
    font-weight: 700;
}

.k-gantt-tooltip-validation-label,
.k-gantt-tooltip-validation-value {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.k-pdf-export-shadow .k-gantt {
    float: left;
}
.k-pdf-export-shadow .k-gantt,
.k-pdf-export-shadow .k-gantt-timeline-pane,
.k-pdf-export-shadow .k-gantt-dependencies {
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}
.k-pdf-export-shadow .k-gantt-treelist .k-treelist {
    display: block;
}
.k-pdf-export-shadow .k-gantt-layout.k-splitbar {
    display: none;
}

.k-gantt-edit-form .k-gantt-delete {
    float: left;
}

.k-rtl .k-gantt-rows,
.k-rtl .k-gantt-columns,
[dir=rtl] .k-gantt-rows,
[dir=rtl] .k-gantt-columns {
    left: auto;
    right: 0;
}
.k-rtl .k-task-wrap:not(.k-milestone-wrap),
[dir=rtl] .k-task-wrap:not(.k-milestone-wrap) {
    margin-block: 0;
    margin-inline: -26px;
}
.k-rtl .k-gantt-timeline-pane .k-header,
[dir=rtl] .k-gantt-timeline-pane .k-header {
    border-width: 0 1px 1px 0;
}
.k-rtl .k-gantt-timeline-pane .k-header:first-child,
[dir=rtl] .k-gantt-timeline-pane .k-header:first-child {
    border-right-width: 0;
}
.k-rtl .k-gantt-timeline-pane .k-task-start,
[dir=rtl] .k-gantt-timeline-pane .k-task-start {
    left: auto;
    right: 0;
}
.k-rtl .k-gantt-timeline-pane .k-task-end,
[dir=rtl] .k-gantt-timeline-pane .k-task-end {
    right: auto;
    left: 0;
}
.k-rtl .k-task-content,
[dir=rtl] .k-task-content {
    text-align: end;
}
.k-rtl .k-task-complete,
[dir=rtl] .k-task-complete {
    left: auto;
    right: 0;
}
.k-rtl .k-task-draghandle,
[dir=rtl] .k-task-draghandle {
    margin-left: 0;
    margin-right: 16px;
}
.k-rtl .k-gantt-dependencies,
[dir=rtl] .k-gantt-dependencies {
    left: auto;
    right: 0;
}
.k-rtl .k-gantt-delete,
[dir=rtl] .k-gantt-delete {
    float: right;
}
.k-rtl .k-task-offset-wrap .k-task-content .k-resize-e,
[dir=rtl] .k-task-offset-wrap .k-task-content .k-resize-e {
    display: block;
}
.k-rtl .k-task-offset-wrap .k-task-content .k-resize-w,
[dir=rtl] .k-task-offset-wrap .k-task-content .k-resize-w {
    display: none;
}
.k-rtl .k-milestone-wrap,
[dir=rtl] .k-milestone-wrap {
    margin-left: -2.3em;
}
.k-rtl .k-milestone-wrap .k-task-moment,
[dir=rtl] .k-milestone-wrap .k-task-moment {
    margin-right: 0.2em;
}
.k-rtl .k-gantt-timeline-pane .k-milestone-wrap .k-task-start,
[dir=rtl] .k-gantt-timeline-pane .k-milestone-wrap .k-task-start {
    right: -0.1em;
}
.k-rtl .k-gantt-tooltip-validation::before,
[dir=rtl] .k-gantt-tooltip-validation::before {
    left: auto;
    right: 0;
}

.k-gantt {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-gantt .k-treelist-scrollable .k-task-milestone .k-task-milestone-content {
    border-color: #babec1;
    background-color: #dee2e6;
}
.k-gantt .k-treelist-scrollable .k-task-milestone.k-selected .k-task-milestone-content {
    border-color: #2ebd2e;
    background-color: limegreen;
}
.k-gantt .k-gantt-dependencies-svg polyline {
    fill: none;
    stroke: #909294;
}
.k-gantt .k-gantt-dependencies-svg polyline.k-selected {
    stroke: limegreen;
}

.k-gantt-footer {
    box-shadow: none;
}

.k-gantt-treelist .k-treelist,
.k-gantt-treelist .k-grid-content {
    background-color: transparent;
}

.k-gantt .k-nonwork-hour {
    background-color: rgba(0, 0, 0, 0.025);
}

.k-task-dot::before {
    background-color: #212529;
}

.k-task-dot:hover::before,
.k-task-dot.k-hover::before {
    border-color: #212529;
    background-color: #ffffff;
}

.k-task-milestone {
    border-color: #babec1;
    background-color: #dee2e6;
}
.k-task-milestone.k-task-delayed {
    background-image: repeating-linear-gradient(90deg, #ffffff, #ffffff 2px, #dc3545 2px, #dc3545 4px);
}
.k-task-milestone.k-task-advanced {
    background-color: #198754;
}

.k-task-milestone.k-selected {
    background-image: none;
    border-color: #2ebd2e;
    background-color: limegreen;
}

.k-task-summary {
    color: #909294;
}
.k-task-summary.k-task-delayed {
    color: #ea868f;
}
.k-task-summary.k-task-advanced {
    color: #75b798;
}

.k-task-summary-complete {
    color: #212529;
}

.k-task-delayed .k-task-summary-complete {
    color: #dc3545;
}

.k-task-advanced .k-task-summary-complete {
    color: #198754;
}

.k-task-summary.k-selected {
    color: #99e699;
}
.k-task-summary.k-selected .k-task-summary-complete {
    color: limegreen;
}

.k-task-single {
    border-color: #ced4da;
    color: black;
    background-color: #dee2e6;
}
.k-task-single.k-task-delayed {
    background-color: #ea868f;
}
.k-task-single.k-task-advanced {
    background-color: #75b798;
}
.k-task-single .k-task-complete {
    background-color: #ced4da;
}

.k-task-delayed .k-task-complete {
    background-color: #dc3545;
}

.k-task-advanced .k-task-complete {
    background-color: #198754;
}

.k-task-single.k-selected {
    border-color: limegreen;
    color: black;
    background-color: #99e699;
}
.k-task-single.k-selected .k-task-complete {
    background-color: limegreen;
}

.k-gantt-line {
    color: #909294;
}

.k-gantt-line.k-selected {
    color: limegreen;
}

.k-task-planned .k-task-moment {
    border-color: limegreen;
    background-color: transparent;
}
.k-task-planned .k-task-duration {
    background-color: limegreen;
}
.k-task-planned:hover .k-task-moment {
    background-color: limegreen;
}

.k-task-offset {
    background-image: repeating-linear-gradient(135deg, #ffffff, #ffffff 2px, #dc3545 2px, #dc3545 4px);
}
.k-task-offset .k-resize-e::before {
    border-color: #000000;
}
.k-task-offset .k-task-actions {
    color: #000000;
}

.k-task-offset:hover {
    background-image: repeating-linear-gradient(135deg, #ffffff, #ffffff 2px, #ea868f 2px, #ea868f 4px);
}

.k-pdf-export .k-task-offset {
    background-color: #dc3545;
}

.k-offset-tooltip-delayed {
    background-color: #dc3545;
}

.k-planned-tooltip {
    background-color: limegreen;
}

.k-gantt-tooltip-validation::before {
    background-color: #656565;
}

.k-gantt-tooltip-valid::before {
    background-color: #198754;
}

.k-gantt-tooltip-invalid::before {
    background-color: #dc3545;
}

.k-scheduler {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-scheduler table,
.k-scheduler thead,
.k-scheduler tfoot,
.k-scheduler tbody,
.k-scheduler tr,
.k-scheduler th,
.k-scheduler td,
.k-scheduler div,
.k-scheduler .k-scheduler-edit-dialog,
.k-scheduler > * {
    border-color: inherit;
}

kendo-scheduler.k-scheduler {
    overflow: hidden;
}
kendo-scheduler.k-scheduler.k-readonly-scheduler .k-event-delete {
    display: none;
}

.k-scheduler-table {
    width: 100%;
    max-width: none;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}
.k-scheduler-table td,
.k-scheduler-table th {
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
    height: calc(1.5 * 1em);
    overflow: hidden;
    white-space: nowrap;
    border-style: solid;
    border-width: 0 0 1px 1px;
    vertical-align: top;
    box-sizing: content-box;
}
.k-scheduler-table td:first-child,
.k-scheduler-table th:first-child {
    border-left-width: 0;
}
.k-scheduler-table .k-middle-row td {
    border-bottom-style: dotted;
}
.k-scheduler-table .k-link {
    cursor: pointer;
}

.k-scheduler-layout-flex {
    overflow: auto;
}
.k-scheduler-layout-flex .k-scheduler-head {
    position: sticky;
    top: 0;
    z-index: 3;
}
.k-scheduler-layout-flex .k-scheduler-body {
    position: relative;
}
.k-scheduler-layout-flex .k-scheduler-head,
.k-scheduler-layout-flex .k-scheduler-body {
    display: flex;
    flex: 100%;
    flex-wrap: wrap;
}
.k-scheduler-layout-flex .k-scheduler-row {
    display: flex;
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
}
.k-scheduler-layout-flex .k-scheduler-group {
    display: flex;
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    flex-wrap: wrap;
}
.k-scheduler-layout-flex .k-scheduler-group .k-group-cell {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    overflow: auto;
}
.k-scheduler-layout-flex .k-scheduler-group .k-group-content {
    padding: 0;
    display: flex;
    flex: 1 1 100%;
    width: 100%;
    border-width: 0;
    flex-wrap: wrap;
}
.k-scheduler-layout-flex .k-scheduler-group.k-group-horizontal .k-group-cell {
    flex-basis: 100%;
    border-width: 0;
    padding: 0;
}
.k-scheduler-layout-flex.k-scheduler-timeline-view .k-scheduler-body .k-scheduler-cell {
    flex-basis: auto;
}
.k-scheduler-layout-flex .k-more-events {
    bottom: 2px;
    left: 0;
    width: 100%;
}
.k-scheduler-layout-flex .k-scheduler-cell {
    display: flex;
    flex: 1 1 100%;
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
    min-height: 1.5em;
    overflow: hidden;
    white-space: nowrap;
    border-style: solid;
    border-width: 0 1px 1px 0;
    vertical-align: top;
    box-sizing: content-box;
}
.k-scheduler-layout-flex .k-scheduler-cell.k-slot-cell {
    position: relative;
}
.k-scheduler-layout-flex .k-scheduler-cell.k-heading-cell {
    justify-content: center;
    font-weight: bold;
}
.k-scheduler-layout-flex .k-scheduler-cell.k-side-cell {
    justify-content: flex-end;
    flex-grow: 0;
    flex-basis: auto;
    overflow: visible;
}
.k-scheduler-layout-flex .k-scheduler-cell.k-major-cell {
    border-bottom-width: 0;
}
.k-scheduler-layout-flex .k-middle-row .k-scheduler-cell {
    border-bottom-style: dotted;
}
.k-scheduler-layout-flex .k-resource-cell {
    flex: none;
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
}
.k-scheduler-layout-flex .k-resource-content {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    border-width: 0;
}
.k-scheduler-layout-flex .k-sticky-cell {
    display: flex;
    flex-wrap: wrap;
    flex-basis: 0;
    position: sticky;
    left: 0;
    z-index: 3;
}

.k-scheduler-toolbar {
    border-width: 0;
    border-bottom-width: 1px;
    white-space: nowrap;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}
.k-scheduler-toolbar .k-widget {
    font-size: inherit;
}
.k-scheduler-toolbar .k-nav-current {
    color: inherit;
    outline: 0;
    text-decoration: none;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}
.k-scheduler-toolbar .k-scheduler-search {
    display: inline-flex;
    flex-flow: row nowrap;
}

.k-scheduler-toolbar .k-views-dropdown {
    width: auto;
    font: inherit;
}

.k-scheduler-footer {
    box-shadow: none;
    border-width: 0;
    border-top-width: 1px;
    white-space: nowrap;
    flex-shrink: 0;
    position: relative;
}

.k-scheduler-layout {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    flex: 1 1 auto;
    position: relative;
    z-index: 1;
}
.k-scheduler-layout > tbody > tr > td {
    padding: 0;
    vertical-align: top;
}
.k-scheduler-layout td.k-selected,
.k-scheduler-layout .k-scheduler-cell.k-selected {
    outline: none;
}
.k-scheduler-layout tr + tr .k-scheduler-times tr th,
.k-scheduler-layout .k-scheduler-pane + .k-scheduler-pane .k-scheduler-times tr th {
    border-bottom-color: transparent;
}
.k-scheduler-layout tr + tr .k-scheduler-times tr .k-slot-cell,
.k-scheduler-layout tr + tr .k-scheduler-times tr .k-scheduler-times-all-day, .k-scheduler-layout tr + tr .k-scheduler-times tr:last-child th,
.k-scheduler-layout .k-scheduler-pane + .k-scheduler-pane .k-scheduler-times tr .k-slot-cell,
.k-scheduler-layout .k-scheduler-pane + .k-scheduler-pane .k-scheduler-times tr .k-scheduler-times-all-day,
.k-scheduler-layout .k-scheduler-pane + .k-scheduler-pane .k-scheduler-times tr:last-child th {
    border-bottom-color: inherit;
}

.k-scheduler-layout.k-scheduler-flex-layout {
    display: flex;
    flex-direction: column;
}
.k-scheduler-layout.k-scheduler-flex-layout.k-scheduler-weekview .k-scheduler-pane:first-child .k-scheduler-table, .k-scheduler-layout.k-scheduler-flex-layout.k-scheduler-dayview .k-scheduler-pane:first-child .k-scheduler-table {
    table-layout: fixed;
}

.k-scheduler-header,
.k-scheduler-view-header {
    padding-inline-end: var(--kendo-scrollbar-width, 17px);
}

.k-scheduler-header th {
    text-align: center;
}

.k-scheduler-header,
.k-scheduler-header-wrap,
.k-scheduler-header-wrap > div {
    border-color: inherit;
    overflow: hidden;
}

.k-scheduler-header-wrap {
    border-width: 0;
    border-style: solid;
    position: relative;
}

.k-scheduler-times {
    border-color: inherit;
    position: relative;
    overflow: hidden;
}
.k-scheduler-times .k-scheduler-table {
    table-layout: auto;
}
.k-scheduler-times th {
    border-width: 0 1px 1px 0;
    text-align: end;
}
.k-scheduler-times .k-slot-cell,
.k-scheduler-times .k-scheduler-times-all-day {
    border-bottom-color: inherit;
}
.k-scheduler-times .k-slot-cell.k-last-resource {
    border-right: 0;
}
.k-scheduler-times .k-slot-cell.k-empty-slot {
    padding-left: 0;
    padding-right: 0;
}

.k-scheduler-datecolumn {
    width: 12em;
}

.k-scheduler-timecolumn {
    width: 11em;
    white-space: nowrap;
}

.k-scheduler-content {
    border-color: inherit;
    position: relative;
    overflow: auto;
}
.k-scheduler-content:focus {
    outline: none;
}

kendo-scheduler .k-event,
.k-event {
    border-radius: 0.375rem;
    min-height: 25px;
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-radius: 0.375rem;
    text-align: start;
    outline: 0;
    cursor: default;
    position: absolute;
    overflow: hidden;
    padding-right: 1rem;
}
kendo-scheduler .k-event > div,
.k-event > div {
    position: relative;
    z-index: 2;
}
kendo-scheduler .k-event .k-event-template,
.k-event .k-event-template {
    line-height: calc(25px - 2 * 0.25rem);
    padding-block: 0.5rem;
    padding-inline: 1rem;
}
kendo-scheduler .k-event .k-event-time,
.k-event .k-event-time {
    padding-bottom: 0;
    font-size: 0.875em;
    white-space: nowrap;
    display: none;
}
kendo-scheduler .k-event .k-event-actions,
.k-event .k-event-actions {
    white-space: nowrap;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    z-index: 2;
}
kendo-scheduler .k-event .k-event-actions .k-event-delete,
.k-event .k-event-actions .k-event-delete {
    opacity: 0.5;
    visibility: hidden;
}
kendo-scheduler .k-event .k-event-actions:hover .k-event-delete, kendo-scheduler .k-event .k-event-actions.k-hover .k-event-delete,
.k-event .k-event-actions:hover .k-event-delete,
.k-event .k-event-actions.k-hover .k-event-delete {
    opacity: 1;
}
kendo-scheduler .k-event .k-event-actions a,
.k-event .k-event-actions a {
    color: inherit;
}
kendo-scheduler .k-event .k-event-actions:first-child,
.k-event .k-event-actions:first-child {
    margin: 0.25rem 0.4ex 0 0.5rem;
    top: 0;
    right: 0;
    float: left;
    position: relative;
    opacity: 1;
    visibility: visible;
    line-height: normal;
}
kendo-scheduler .k-event .k-resize-handle,
.k-event .k-resize-handle {
    z-index: 4;
    opacity: 0.5;
    visibility: hidden;
}
kendo-scheduler .k-event .k-resize-handle::before,
.k-event .k-resize-handle::before {
    border-color: currentColor;
}
kendo-scheduler .k-event .k-resize-n,
.k-event .k-resize-n {
    height: 0.5em;
    top: 0;
}
kendo-scheduler .k-event .k-resize-s,
.k-event .k-resize-s {
    height: 0.5em;
    bottom: 0;
}
kendo-scheduler .k-event .k-resize-n::before,
kendo-scheduler .k-event .k-resize-s::before,
.k-event .k-resize-n::before,
.k-event .k-resize-s::before {
    width: 2rem;
    border-bottom-width: 1px;
}
kendo-scheduler .k-event .k-resize-w,
.k-event .k-resize-w {
    width: 0.5em;
    left: 0;
}
kendo-scheduler .k-event .k-resize-e,
.k-event .k-resize-e {
    width: 0.5em;
    right: 0;
}
kendo-scheduler .k-event .k-resize-w::before,
kendo-scheduler .k-event .k-resize-e::before,
.k-event .k-resize-w::before,
.k-event .k-resize-e::before {
    height: 2rem;
    border-left-width: 1px;
}
kendo-scheduler .k-event:hover .k-event-actions .k-event-delete,
kendo-scheduler .k-event:hover .k-resize-handle, kendo-scheduler .k-event.k-hover .k-event-actions .k-event-delete,
kendo-scheduler .k-event.k-hover .k-resize-handle,
.k-event:hover .k-event-actions .k-event-delete,
.k-event:hover .k-resize-handle,
.k-event.k-hover .k-event-actions .k-event-delete,
.k-event.k-hover .k-resize-handle {
    visibility: visible;
}
kendo-scheduler .k-event.k-event-drag-hint .k-event-time,
.k-event.k-event-drag-hint .k-event-time {
    display: block;
}
kendo-scheduler .k-event .k-event-top-actions,
kendo-scheduler .k-event .k-event-bottom-actions,
.k-event .k-event-top-actions,
.k-event .k-event-bottom-actions {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}
kendo-scheduler .k-event .k-event-bottom-actions,
.k-event .k-event-bottom-actions {
    top: auto;
    bottom: 0;
}

.k-scheduler-mark {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: middle;
}

.k-more-events {
    padding: 0;
    height: 13px;
    border-style: solid;
    border-width: 1px;
    overflow: hidden;
    position: absolute;
    justify-content: center;
}
.k-more-events > .k-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.k-event-drag-hint {
    opacity: 0.5;
    z-index: 3;
}
.k-event-drag-hint .k-event-actions,
.k-event-drag-hint .k-event-top-actions,
.k-event-drag-hint .k-event-bottom-actions,
.k-event-drag-hint .k-resize-handle {
    display: none;
}
.k-event-drag-hint .k-event-time {
    display: block;
}

.k-scheduler-marquee {
    border-width: 0;
    border-style: solid;
}
.k-scheduler-marquee .k-label-top,
.k-scheduler-marquee .k-label-bottom {
    font-size: 0.75em;
    position: absolute;
}
.k-scheduler-marquee .k-label-top {
    left: 0.5rem;
    top: 0.25rem;
}
.k-scheduler-marquee .k-label-bottom {
    right: 0.5rem;
    bottom: 0.25rem;
}
.k-scheduler-marquee.k-first::before, .k-scheduler-marquee.k-last::after {
    content: "";
    border-width: 3px;
    border-style: solid;
    position: absolute;
    width: 0;
    height: 0;
}
.k-scheduler-marquee.k-first::before {
    top: 0;
    left: 0;
    border-right-color: transparent;
    border-bottom-color: transparent;
}
.k-scheduler-marquee.k-last::after {
    bottom: 0;
    right: 0;
    border-left-color: transparent;
    border-top-color: transparent;
}

.k-pdf-export-shadow .k-scheduler,
.k-scheduler-pdf-export .k-scheduler-content,
.k-scheduler-pdf-export .k-scheduler-times {
    height: auto !important;
    overflow: visible !important;
}

.k-scheduler-pdf-export {
    overflow: hidden;
}
.k-scheduler-pdf-export .k-scheduler-header {
    padding: 0 !important;
}
.k-scheduler-pdf-export .k-scheduler-header-wrap {
    border-width: 0 !important;
}
.k-scheduler-pdf-export .k-scheduler-header .k-scheduler-table,
.k-scheduler-pdf-export .k-scheduler-content .k-scheduler-table {
    width: 100% !important;
}

.k-recurrence-editor {
    display: flex;
    flex-direction: column;
}

kendo-scheduler .k-recurrence-editor {
    display: block;
}

.k-scheduler-monthview .k-scheduler-table {
    height: 100%;
}
.k-scheduler-monthview .k-scheduler-table td {
    height: 80px;
    text-align: end;
}
.k-scheduler-monthview .k-scheduler-body .k-scheduler-cell {
    min-height: 80px;
}
.k-scheduler-monthview .k-hidden {
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-right-width: 0 !important;
}
.k-scheduler-monthview .k-scheduler-table-auto,
.k-scheduler-monthview .k-scheduler-table-auto td,
.k-scheduler-monthview .k-scheduler-content .k-scheduler-table-auto {
    height: auto;
}
.k-scheduler-monthview .k-scheduler-content {
    overflow-y: scroll;
}
.k-scheduler-monthview.k-scheduler-flex-layout .k-scheduler-content {
    overflow-y: auto;
}

.k-scheduler-agendaview .k-scheduler-mark {
    margin-right: 0.5em;
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: middle;
}
.k-scheduler-agendaview .k-scheduler-table th:first-child,
.k-scheduler-agendaview .k-scheduler-table td:first-child {
    border-left-width: 1px;
}
.k-scheduler-agendaview .k-scheduler-table td.k-first {
    border-left-width: 0;
}
.k-scheduler-agendaview .k-task > .k-event-delete {
    color: inherit;
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    opacity: 0.5;
    visibility: hidden;
}
.k-scheduler-agendaview .k-hover .k-task > .k-event-delete,
.k-scheduler-agendaview .k-scheduler-content tr:hover .k-event-delete,
.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row:hover .k-event-delete,
.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row.k-hover .k-event-delete {
    visibility: visible;
}

.k-scheduler-agendaday {
    margin: 0 0.2em 0 0;
    font-size: 3em;
    line-height: 1;
    font-weight: 400;
    float: left;
}

.k-scheduler-agendaweek {
    display: block;
    margin: 0.4em 0 0;
    line-height: 1;
    font-style: normal;
}

.k-scheduler-agendadate {
    font-size: 0.75em;
}

.k-scheduler-timelineview .k-slot-cell {
    overflow: hidden;
}
.k-scheduler-timelineview .k-scheduler-content {
    overflow: auto;
}

.k-scheduler-pane {
    display: flex;
    flex-direction: row;
}

.k-scheduler-pane .k-scheduler-times {
    flex: 0 0 auto;
}

.k-scheduler-pane .k-scheduler-times .k-scheduler-table {
    height: 100%;
}

.k-scheduler-pane .k-scheduler-header,
.k-scheduler-pane .k-scheduler-content {
    flex: 1 1 auto;
}

.k-scheduler-yearview .k-scheduler-body {
    padding-block: 1rem;
    padding-inline: 1rem;
    justify-content: center;
}
.k-scheduler-yearview .k-calendar {
    width: 100%;
    border-width: 0;
}
.k-scheduler-yearview .k-calendar .k-calendar-view {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}
.k-scheduler-yearview .k-calendar .k-content {
    flex: 0;
}
.k-scheduler-yearview .k-calendar .k-link {
    position: relative;
}
.k-scheduler-yearview .k-calendar td.k-selected {
    background-color: inherit;
}
.k-scheduler-yearview .k-day-indicator {
    margin-top: calc(38px - 0.25rem * 2);
    width: 3px;
    height: 3px;
    border-radius: 50%;
    position: absolute;
    left: calc(50% - 1.5px);
}

.k-scheduler-tooltip {
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
    border-width: 0;
    color: inherit;
}
.k-scheduler-tooltip .k-tooltip-title {
    margin-bottom: 0.75rem;
}
.k-scheduler-tooltip .k-tooltip-title .k-month {
    font-size: 0.875rem;
    text-transform: uppercase;
}
.k-scheduler-tooltip .k-tooltip-title .k-day {
    font-size: 1.75rem;
}
.k-scheduler-tooltip .k-tooltip-events-container {
    overflow: auto;
}
.k-scheduler-tooltip .k-tooltip-events {
    max-height: 250px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.k-scheduler-tooltip .k-tooltip-event {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    border-radius: 0.375rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
    position: relative;
    gap: 0.5rem;
}
.k-scheduler-tooltip .k-tooltip-event .k-event-time {
    display: flex;
    flex-shrink: 0;
    font-size: inherit;
}
.k-scheduler-tooltip .k-no-data, .k-scheduler-tooltip .k-nodata {
    height: auto;
    min-height: auto;
    color: inherit;
}

.k-scheduler-edit-dialog .k-dialog {
    max-height: 100vh;
}

.k-scheduler-edit-form .k-edit-form-container {
    width: 100%;
}
.k-scheduler-edit-form .k-edit-label {
    width: 17%;
}
.k-scheduler-edit-form .k-edit-field {
    width: 77%;
}
.k-scheduler-edit-form .k-edit-field > ul > li {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
.k-scheduler-edit-form .k-recurrence-editor .k-radio-list .k-radio-wrap,
.k-scheduler-edit-form .k-recurrence-editor .k-checkbox-list .k-checkbox-wrap {
    align-self: center;
}
.k-scheduler-edit-form .k-recur-interval,
.k-scheduler-edit-form .k-recur-count,
.k-scheduler-edit-form .k-recur-monthday {
    width: 5em;
}
.k-scheduler-edit-form .k-recur-until,
.k-scheduler-edit-form .k-recur-month,
.k-scheduler-edit-form .k-recur-weekday,
.k-scheduler-edit-form .k-recur-weekday-offset {
    width: 10em;
}
.k-scheduler-edit-form .k-scheduler-datetime-picker {
    display: flex;
    flex-flow: row nowrap;
    gap: 0.5rem;
}

.k-rtl .k-scheduler-header th,
.k-rtl .k-scheduler-table td {
    border-width: 0 1px 1px 0;
}
.k-rtl .k-scheduler-table td:first-child,
.k-rtl .k-scheduler-table th:first-child {
    border-right-width: 0;
}
.k-rtl .k-scheduler-times th {
    border-width: 0 0 1px 1px;
}
.k-rtl .k-scheduler .k-scrollbar-v .k-scheduler-header-wrap {
    border-right-width: 0;
    border-left-width: 1px;
}
.k-rtl .k-event {
    padding-right: 0;
    padding-left: 1rem;
}
.k-rtl .k-event .k-resize-w {
    left: auto;
    right: 0;
}
.k-rtl .k-event .k-resize-e {
    right: auto;
    left: 0;
}
.k-rtl .k-event .k-event-actions {
    right: auto;
    left: 2px;
}
.k-rtl .k-event .k-event-actions:first-child {
    margin: 0.25rem 0.5rem 0 0.4ex;
    float: right;
}
.k-rtl .k-scheduler-agendaview .k-task > .k-event-delete {
    left: 2px;
    right: auto;
}
.k-rtl .k-scheduler-agendaview .k-task .k-scheduler-mark {
    margin-left: 0.5em;
    margin-right: 0;
}
.k-rtl .k-scheduler-marquee .k-label-top {
    left: auto;
    right: 4px;
}
.k-rtl .k-scheduler-marquee .k-label-bottom {
    left: 4px;
    right: auto;
}
.k-rtl .k-scheduler-edit-form .k-scheduler-delete {
    float: right;
}
.k-rtl .k-scheduler .k-scheduler-header-wrap, .k-rtl.k-scheduler .k-scheduler-header-wrap {
    border-right-width: 0;
}
.k-rtl .k-scheduler .k-scheduler-agendaday, .k-rtl.k-scheduler .k-scheduler-agendaday {
    float: right;
    margin: 0 0 0 0.2em;
}
.k-rtl .k-scheduler .k-scheduler-agendaview .k-scheduler-table td:first-child,
.k-rtl .k-scheduler .k-scheduler-agendaview .k-scheduler-table th:first-child, .k-rtl.k-scheduler .k-scheduler-agendaview .k-scheduler-table td:first-child,
.k-rtl.k-scheduler .k-scheduler-agendaview .k-scheduler-table th:first-child {
    border-left-width: 0;
}
.k-rtl .k-scheduler .k-scheduler-agendaview .k-scheduler-table tr + tr td:first-child,
.k-rtl .k-scheduler .k-scheduler-agendaview .k-scheduler-table tr + tr th:first-child, .k-rtl.k-scheduler .k-scheduler-agendaview .k-scheduler-table tr + tr td:first-child,
.k-rtl.k-scheduler .k-scheduler-agendaview .k-scheduler-table tr + tr th:first-child {
    border-right-width: 1px;
}

.k-safari .k-scheduler-tooltip .k-tooltip-event:not(:last-child) {
    margin-bottom: 0.5rem;
}
.k-safari .k-scheduler-yearview .k-calendar-view .k-month {
    margin-block: 0;
    margin-inline: 0.5rem;
}

kendo-scheduler .k-event::before,
.k-event::before {
    display: none;
    left: 0;
}
.k-rtl kendo-scheduler .k-event::before,
.k-rtl .k-event::before {
    right: 0;
}
kendo-scheduler .k-event .k-event-template,
.k-event .k-event-template {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    font-size: 0.875rem;
}
kendo-scheduler .k-event .k-event-actions,
.k-event .k-event-actions {
    right: 0.5rem;
}
kendo-scheduler .k-event .k-event-actions:first-child,
.k-event .k-event-actions:first-child {
    margin: 0.1ex 0.4ex 0 0.5rem;
}

.k-scheduler {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-scheduler-toolbar {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-scheduler-footer {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-scheduler-header {
    background-color: #f8f9fa;
}

.k-scheduler-header-wrap {
    background-color: #ffffff;
}

.k-scheduler-nonwork,
.k-scheduler .k-nonwork-hour {
    background-color: whitesmoke;
}

.k-scheduler-other-month,
.k-scheduler .k-other-month {
    background-color: whitesmoke;
}

.k-scheduler-layout td.k-selected,
.k-scheduler-layout .k-scheduler-cell.k-selected {
    background-color: rgba(50, 205, 50, 0.25);
}

.k-scheduler-layout-flex .k-scheduler-head,
.k-scheduler-layout-flex .k-sticky-cell {
    background-color: #ffffff;
}

.k-event {
    color: black;
    background-color: #53d553;
}
.k-event.k-selected {
    color: black;
    background-color: limegreen;
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.5);
}
.k-event.k-event-inverse {
    color: white;
}
.k-event.k-event-ongoing {
    box-shadow: inset 0px 0px 0px 1px #ff0000;
}

.k-scheduler-marquee::before,
.k-scheduler-marquee::after {
    border-color: limegreen;
}

.k-scheduler-edit-dialog .k-dialog-actions {
    border-color: #dee2e6;
}

.k-scheduler-agendaview .k-scheduler-content tr:hover,
.k-scheduler-agendaview .k-scheduler-content tr.k-hover,
.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row:hover,
.k-scheduler-agendaview .k-scheduler-content .k-scheduler-row.k-hover {
    border-color: #d6d9dc;
    color: #212529;
    background-color: #e9ecef;
}
.k-scheduler-agendaview .k-scheduler-content tr:hover .k-scheduler-datecolumn,
.k-scheduler-agendaview .k-scheduler-content tr:hover .k-scheduler-groupcolumn,
.k-scheduler-agendaview .k-scheduler-content tr.k-hover .k-scheduler-datecolumn,
.k-scheduler-agendaview .k-scheduler-content tr.k-hover .k-scheduler-groupcolumn {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-scheduler-agendaview .k-scheduler-content tr.k-selected {
    background-color: rgba(50, 205, 50, 0.25);
}
.k-scheduler-agendaview .k-scheduler-content tr.k-selected .k-scheduler-datecolumn,
.k-scheduler-agendaview .k-scheduler-content tr.k-selected .k-scheduler-groupcolumn {
    background-color: #ffffff;
}

.k-scheduler-yearview .k-day-indicator {
    background-color: limegreen;
}
.k-scheduler-yearview .k-selected .k-day-indicator {
    background-color: black;
}

.k-tooltip.k-scheduler-tooltip {
    color: #212529;
    background-color: black;
    box-shadow: var(--kendo-elevation-2, 0px 2px 7px rgba(0, 0, 0, 0.075));
}
.k-tooltip.k-scheduler-tooltip .k-callout {
    color: black;
}

.k-chat {
    margin: auto;
    max-width: 500px;
    height: 600px;
    max-height: 100%;
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-chat .k-message-list {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: smooth;
}
.k-chat .k-message-list-content {
    padding-block: 16px;
    padding-inline: 16px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}
.k-chat .k-message-list-content > * + * {
    margin-top: 16px;
}
.k-chat .k-message-group {
    max-width: 80%;
    background: none;
    box-sizing: border-box;
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    position: relative;
}
.k-chat .k-message-group:not(.k-alt) {
    align-items: flex-start;
    text-align: start;
}
.k-chat .k-message-group:not(.k-alt) .k-message-time {
    margin-inline-start: 8px;
    inset-inline-start: 100%;
}
.k-chat .k-message-group:not(.k-alt) .k-message-status {
    inset-inline-start: 0;
}
.k-chat .k-message-group:not(.k-alt) .k-first .k-chat-bubble,
.k-chat .k-message-group:not(.k-alt) .k-only .k-chat-bubble {
    border-bottom-left-radius: 2px;
}
.k-chat .k-message-group:not(.k-alt) .k-middle .k-chat-bubble,
.k-chat .k-message-group:not(.k-alt) .k-last .k-chat-bubble {
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
}
.k-chat .k-message-group.k-alt {
    align-self: flex-end;
    align-items: flex-end;
    text-align: end;
}
.k-chat .k-message-group.k-alt .k-message-time {
    margin-inline-end: 8px;
    inset-inline-end: 100%;
}
.k-chat .k-message-group.k-alt .k-message-status {
    inset-inline-end: 0;
}
.k-chat .k-message-group.k-alt .k-first .k-chat-bubble,
.k-chat .k-message-group.k-alt .k-only .k-chat-bubble {
    border-bottom-right-radius: 2px;
}
.k-chat .k-message-group.k-alt .k-middle .k-chat-bubble,
.k-chat .k-message-group.k-alt .k-last .k-chat-bubble {
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
}
.k-chat .k-message {
    max-width: 100%;
    margin: 2px 0 0;
    position: relative;
    transition: margin 0.2s ease-in-out;
    outline: none;
}
.k-chat .k-message-time,
.k-chat .k-message-status {
    font-size: smaller;
    line-height: normal;
    white-space: nowrap;
    pointer-events: none;
    position: absolute;
}
.k-chat .k-message-time {
    opacity: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.2s ease-in-out;
}
.k-chat .k-message-status {
    margin-top: 2px;
    height: 0;
    overflow: hidden;
    top: 100%;
    transition: height 0.2s ease-in-out;
}
.k-chat .k-chat-bubble {
    border-radius: 12px;
    padding-block: 8px;
    padding-inline: 16px;
    border-width: 1px;
    border-style: solid;
    line-height: 1.25;
    word-wrap: break-word;
    white-space: pre-wrap;
}
.k-chat .k-chat-bubble a {
    color: inherit;
    text-decoration: underline;
}
.k-chat .k-message.k-selected {
    margin-bottom: 16px;
    border: 0;
    color: inherit;
    background: none;
}
.k-chat .k-message.k-selected .k-message-time {
    opacity: 1;
}
.k-chat .k-message.k-selected .k-message-status {
    height: 1.2em;
}
.k-chat .k-message-error,
.k-chat .k-message-sending {
    margin-bottom: 16px;
}
.k-chat .k-message-error .k-message-status,
.k-chat .k-message-sending .k-message-status {
    height: 1.2em;
}
.k-chat .k-avatar {
    margin: 0;
    position: absolute;
}
.k-message-group:not(.k-alt) > .k-avatar {
    inset-inline-start: 0;
    bottom: 0;
}

.k-message-group.k-alt > .k-avatar {
    inset-inline-end: 0;
    bottom: 0;
}

.k-chat .k-avatars .k-message-group:not(.k-no-avatar) {
    padding-inline-start: calc(32px + 8px);
}
.k-chat .k-avatars .k-message-group.k-alt:not(.k-no-avatar) {
    padding-inline-end: calc(32px + 8px);
}

.k-author {
    margin: 0;
    font-size: smaller;
    line-height: normal;
}

.k-chat .k-author {
    margin: 0;
}

.k-chat .k-timestamp {
    font-size: smaller;
    text-transform: uppercase;
    text-align: center;
    align-self: stretch;
}

.k-quick-replies {
    display: block;
    max-width: 100%;
}

.k-quick-reply {
    border-radius: 100px;
    margin-inline-end: 8px;
    margin-block-end: 4px;
    padding-block: 8px;
    padding-inline: 12px;
    border-width: 1px;
    border-style: solid;
    line-height: 1.25;
    cursor: pointer;
    user-select: none;
    display: inline-block;
    flex: 0 0 auto;
    transition-property: color, background-color, border-color;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
    outline: none;
}

.k-scrollable-quick-replies {
    margin-inline-start: -16px;
    margin-inline-end: -16px;
    padding-inline-start: 16px;
    padding-inline-end: 16px;
    display: flex;
    flex-flow: row nowrap;
    flex: 0 0 auto;
    overflow-x: auto;
    overflow-y: hidden;
}
.k-scrollable-quick-replies::-webkit-scrollbar {
    display: none;
}
.k-scrollable-quick-replies .k-quick-reply {
    margin: 0;
}
.k-scrollable-quick-replies .k-quick-reply + .k-quick-reply {
    margin-inline-start: 8px;
}

.k-message-box {
    width: 100%;
    height: auto;
    box-sizing: border-box;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: inherit !important;
    border-radius: 0 !important;
    flex: none;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
.k-message-box:focus, .k-message-box.k-focus, .k-message-box:focus-within {
    outline: 0;
    box-shadow: none;
}
.k-message-box .k-button {
    border-width: 0;
    flex-shrink: 0;
}
.k-message-box .k-button svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    display: inline-block;
}
.k-rtl .k-message-box .k-button, [dir=rtl] .k-message-box .k-button {
    transform: scaleX(-1);
}

.k-chat .k-card-list {
    margin: 2px 0 0;
}

.k-message-group.k-alt + .k-card-list,
.k-message-group.k-alt + kendo-chat-message-attachments.k-card-list {
    align-self: flex-end;
}

.k-chat .k-card-deck {
    max-width: calc(100% + 32px);
    box-sizing: border-box;
    margin-inline-start: -16px;
    margin-inline-end: -16px;
    padding: 16px 16px 16px;
    overflow: hidden;
    overflow-x: auto;
    scroll-behavior: smooth;
}

.k-chat .k-card-deck .k-card {
    width: 200px;
}

.k-chat .k-card-deck-scrollwrap {
    margin-right: -16px;
    margin-left: -16px;
    padding-left: 16px;
    padding-right: 16px;
}

.k-chat .k-card-deck-scrollwrap > .k-card-deck {
    margin-bottom: -20px;
    padding-bottom: 20px;
}

.k-chat .k-card-deck .k-card-wrap {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    flex: 0 0 auto;
    padding-bottom: 5px;
}
.k-chat .k-card-deck .k-card-wrap .k-card {
    flex: 0 0 auto;
}
.k-chat .k-card-deck .k-card-wrap.k-selected {
    background: none;
}

.k-typing-indicator {
    padding: 0;
    border-radius: 50px;
    display: inline-flex;
    flex-flow: row nowrap;
}
.k-typing-indicator span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: 0 0 8px;
    background-color: currentColor;
    opacity: 0.4;
}
.k-typing-indicator span:nth-of-type(1) {
    animation: 1s k-animation-blink infinite 0.3333s;
}
.k-typing-indicator span:nth-of-type(2) {
    animation: 1s k-animation-blink infinite 0.6666s;
}
.k-typing-indicator span:nth-of-type(3) {
    animation: 1s k-animation-blink infinite 0.9999s;
}
.k-typing-indicator span + span {
    margin-left: 5px;
}
@keyframes k-animation-blink {
    50% {
        opacity: 1;
    }
}

.k-chat-toolbar,
.k-chat .k-toolbar-box {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    width: 100%;
    border-width: 1px 0 0;
    box-sizing: border-box;
    flex: none;
    overflow: hidden;
    position: relative;
    gap: 0.5rem;
}
.k-chat-toolbar::before,
.k-chat .k-toolbar-box::before {
    display: none;
}
.k-chat-toolbar .k-button-list,
.k-chat .k-toolbar-box .k-button-list {
    display: flex;
    flex-flow: row nowrap;
    overflow: hidden;
    scroll-behavior: smooth;
}
.k-chat-toolbar .k-button,
.k-chat .k-toolbar-box .k-button {
    flex: none;
}
.k-chat-toolbar .k-scroll-button,
.k-chat .k-toolbar-box .k-scroll-button {
    padding: 0 0.25rem;
    height: 100%;
    aspect-ratio: auto;
    position: absolute;
    z-index: 2;
    top: 0;
}
.k-chat-toolbar .k-scroll-button .k-button-icon,
.k-chat .k-toolbar-box .k-scroll-button .k-button-icon {
    min-width: auto;
    min-height: auto;
}
.k-chat-toolbar .k-scroll-button-left,
.k-chat .k-toolbar-box .k-scroll-button-left {
    left: 0;
}
.k-chat-toolbar .k-scroll-button-right,
.k-chat .k-toolbar-box .k-scroll-button-right {
    right: 0;
}

.k-chat {
    border-color: #dee2e6;
    color: #212529;
    background-color: #fafafa;
}
.k-chat .k-timestamp {
    color: #6c757d;
}
.k-chat .k-author {
    font-weight: bold;
}
.k-chat .k-chat-bubble {
    border-color: #e4e7eb;
    color: #212529;
    background-color: #e4e7eb;
    box-shadow: none;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    order: -1;
}
.k-chat .k-chat-bubble a {
    color: limegreen;
}
.k-chat .k-chat-bubble a:hover {
    color: #28a428;
}
.k-chat .k-chat-bubble:hover {
    box-shadow: none;
}
.k-chat .k-selected .k-chat-bubble {
    box-shadow: none;
}
.k-chat .k-alt .k-chat-bubble {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
    box-shadow: none;
}
.k-chat .k-alt .k-chat-bubble:hover {
    box-shadow: none;
}
.k-chat .k-alt .k-selected .k-chat-bubble {
    box-shadow: none;
}
.k-chat .k-quick-reply {
    border-color: limegreen;
    color: limegreen;
    background-color: transparent;
}
.k-chat .k-quick-reply:hover {
    border-color: limegreen;
    color: black;
    background-color: limegreen;
}

.k-chat-toolbar,
.k-chat .k-toolbar-box {
    border-color: inherit;
    color: #212529;
    background-color: #f8f9fa;
}

.k-mediaplayer {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: block;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-mediaplayer *,
.k-mediaplayer *::before,
.k-mediaplayer *::after {
    box-sizing: border-box;
}
.k-mediaplayer > iframe {
    width: 100%;
    height: 100%;
    border: 0;
    vertical-align: top;
}

.k-mediaplayer-titlebar {
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
}

.k-mediaplayer-toolbar-wrap {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    right: 0;
}

.k-mediaplayer-toolbar {
    border-width: 0;
    width: 100% !important;
    box-shadow: none;
}
.k-mediaplayer-toolbar .k-dropdown-list, .k-mediaplayer-toolbar .k-dropdown,
.k-mediaplayer-toolbar .k-dropdownlist {
    width: auto;
}

.k-mediaplayer-time-wrap {
    flex: 1;
}

.k-mediaplayer-volume-wrap {
    padding: 0 7px;
    align-items: center;
}

.k-mediaplayer-volume {
    width: 100px;
}

.k-slider.k-mediaplayer-seekbar {
    width: 100%;
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    transform: translateY(-50%);
}

.k-mediaplayer-seekbar .k-slider-track {
    width: 100% !important;
    border-radius: 0;
}

.k-mediaplayer-seekbar .k-slider-selection {
    border-radius: 0;
}

.k-mediaplayer-fullscreen {
    z-index: 10000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.k-mediaplayer {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-mediaplayer-titlebar {
    color: #ffffff;
    background-image: linear-gradient(rgba(33, 37, 41, 0.7), rgba(33, 37, 41, 0));
    text-shadow: 0 0 2px rgba(33, 37, 41, 0.5);
}

.k-timeline {
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: block;
    background-color: transparent;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-timeline *,
.k-timeline *::before,
.k-timeline *::after, .k-timeline::before, .k-timeline::after {
    box-sizing: border-box;
}
.k-timeline ul {
    margin: 0;
    padding: 0;
}
.k-timeline ul li {
    list-style-type: none;
}
.k-timeline .k-timeline-flag {
    display: inline-block;
    text-align: center;
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    border-radius: 0.375rem;
    line-height: 1.5;
    min-width: 80px;
    max-width: calc(80px + 2 * 40px);
    position: relative;
    z-index: 1;
}
.k-timeline .k-timeline-circle {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.k-timeline.k-timeline-dates-hidden .k-timeline-date {
    display: none;
}
.k-timeline.k-timeline-collapsible .k-card-header {
    cursor: pointer;
}
.k-timeline.k-timeline-collapsible .k-event-collapse {
    display: flex;
}

.k-timeline-card .k-card {
    position: relative;
    overflow: visible;
}
.k-timeline-card .k-card .k-card-header {
    overflow: visible;
    border-bottom: 0;
}
.k-timeline-card .k-card .k-card-header + .k-card-body {
    padding-top: 0;
}
.k-timeline-card .k-card .k-card-body {
    overflow-y: auto;
    scrollbar-width: thin;
}
.k-timeline-card .k-card .k-card-body::-webkit-scrollbar {
    width: 5px;
}
.k-timeline-card .k-card .k-card-body::-webkit-scrollbar-thumb {
    border-radius: 0.375rem;
}
.k-timeline-card .k-timeline-card-callout.k-callout-w, .k-timeline-card .k-timeline-card-callout.k-callout-e {
    top: 36px;
}

.k-timeline-vertical,
.k-timeline-horizontal {
    padding-block: 0;
    padding-inline: 40px;
    margin-block: 40px;
    margin-inline: 0;
    width: 100%;
    position: relative;
    border: 0;
}

.k-timeline-vertical::after,
.k-timeline-horizontal .k-timeline-track-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    border-width: 1px;
    border-style: solid;
}

.k-timeline-vertical {
    padding-left: calc(calc(40px + (80px - 6px) / 2) + 50px);
}
.k-timeline-vertical.k-timeline-dates-hidden {
    padding-left: calc(40px + (80px - 6px) / 2);
}
.k-timeline-vertical::after {
    height: 100%;
    width: 6px;
    transform: translateX(-50%);
    border-radius: 0.5rem;
}
.k-timeline-vertical .k-timeline-flag-wrap {
    display: flex;
    align-items: center;
}
.k-timeline-vertical .k-timeline-flag-wrap:first-child {
    padding-top: 40px;
}
.k-timeline-vertical .k-timeline-flag {
    transform: translateX(-50%);
}
.k-timeline-vertical .k-timeline-date-wrap {
    position: absolute;
    padding-right: 1rem;
    margin-top: 36px;
    transform: translate(-100%, -50%);
    text-align: end;
}
.k-timeline-vertical .k-timeline-event {
    display: flex;
    align-items: flex-start;
    padding-block: 40px;
    padding-inline: 0;
}
.k-timeline-vertical .k-timeline-card {
    padding-left: 1rem;
}
.k-timeline-vertical .k-timeline-card .k-card {
    margin-left: 1rem;
    min-height: calc(2 * (36px - 1px));
    width: 400px;
    max-width: 100%;
}
.k-timeline-vertical .k-timeline-card .k-card .k-card-header {
    border-radius: 0.375rem;
}
.k-timeline-vertical .k-timeline-card .k-card .k-card-title {
    display: flex;
    justify-content: space-between;
}
.k-timeline-vertical .k-timeline-card .k-card .k-card-title .k-event-title {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.k-timeline-vertical .k-timeline-card .k-event-collapse {
    margin-block: -0.5rem;
    margin-inline: 0;
    transform: rotate(90deg);
    transition: transform 0.2s ease-in-out;
}
.k-timeline-vertical .k-timeline-card.k-collapsed .k-card-body,
.k-timeline-vertical .k-timeline-card.k-collapsed .k-card-actions {
    display: none;
}
.k-timeline-vertical .k-timeline-card.k-collapsed .k-event-collapse {
    transform: rotate(0deg);
}
.k-timeline-vertical .k-timeline-circle {
    margin-top: 36px;
    transform: translate(-50%, -50%);
    margin-right: -8px;
}
.k-timeline-vertical.k-timeline-alternating {
    padding-left: 40px;
}
.k-timeline-vertical.k-timeline-alternating::after {
    left: 50%;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-flag-wrap {
    justify-content: center;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-flag {
    transform: translateX(0);
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event {
    justify-content: space-between;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse {
    flex-direction: row-reverse;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-date-wrap {
    text-align: start;
    padding-right: 0;
    padding-left: 1rem;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-card {
    padding-left: 0;
    padding-right: 1rem;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-event.k-reverse .k-timeline-card .k-card {
    margin-right: 1rem;
    margin-left: auto;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-card,
.k-timeline-vertical.k-timeline-alternating .k-timeline-date-wrap {
    flex-basis: 50%;
    min-width: 0;
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-date-wrap {
    position: static;
    transform: translateY(-50%);
}
.k-timeline-vertical.k-timeline-alternating .k-timeline-circle {
    transform: translateY(-50%);
    margin-right: 0;
}

.k-timeline-horizontal .k-timeline-track-item {
    flex: 1 0 20%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    flex-direction: column;
}
.k-timeline-horizontal .k-timeline-track-item:hover {
    cursor: pointer;
}
.k-timeline-horizontal .k-timeline-track-item.k-timeline-flag-wrap:hover {
    cursor: default;
}
.k-timeline-horizontal .k-timeline-date-wrap {
    margin-top: auto;
    margin-bottom: 10px;
}
.k-timeline-horizontal .k-timeline-card {
    height: 100%;
}
.k-timeline-horizontal .k-card {
    max-height: 100%;
}
.k-timeline-horizontal .k-timeline-events-list {
    overflow-x: hidden;
    padding-top: 1rem;
}
.k-timeline-horizontal .k-timeline-events-list .k-timeline-scrollable-wrap {
    position: relative;
    height: 600px;
}
.k-timeline-horizontal .k-timeline-events-list .k-timeline-scrollable-wrap .k-timeline-event {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.k-timeline-horizontal .k-timeline-track-wrap {
    position: relative;
    padding: 19px 0;
}
.k-timeline-horizontal .k-timeline-track-wrap::after {
    top: auto;
    bottom: calc(19px + 3px);
    left: calc(38px - 2 * 1px);
    right: calc(38px - 2 * 1px);
    transform: translateY(-50%);
    height: 6px;
}
.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-track {
    overflow: hidden;
    margin-block: 0;
    margin-inline: 38px;
    position: relative;
    z-index: 2;
}
.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-track .k-timeline-scrollable-wrap {
    transition: transform 1s ease-in-out;
}
.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-flag {
    margin-bottom: calc(6px + 2 * 1px + 4px + 10px);
    position: relative;
    min-width: 80px;
}
.k-timeline-horizontal .k-timeline-track-wrap .k-timeline-flag::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%) rotate(45deg);
}
.k-timeline-horizontal .k-timeline-scrollable-wrap {
    padding-bottom: 3px;
    display: flex;
    outline: 0;
}

.k-timeline-arrow {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    position: absolute;
    bottom: calc(6px + 3px + 2 * 1px);
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.k-timeline-arrow-left {
    left: 0;
}

.k-timeline-arrow-right {
    right: 0;
}

.k-timeline-mobile {
    padding-block: 0;
    padding-inline: 1rem;
    margin-block: 1rem;
    margin-inline: 0;
}
.k-timeline-mobile .k-timeline-flag {
    max-width: calc(80px + 2 * 1rem);
}
.k-timeline-mobile.k-timeline-horizontal .k-timeline-flag-wrap {
    display: none;
}
.k-timeline-mobile.k-timeline-vertical {
    padding-left: calc(calc(1rem + (80px - 6px) / 2) + 50px);
}
.k-timeline-mobile.k-timeline-vertical.k-timeline-dates-hidden {
    padding-left: calc(1rem + (80px - 6px) / 2);
}
.k-timeline-mobile.k-timeline-vertical.k-timeline-alternating {
    padding-left: 1rem;
}
.k-timeline-mobile.k-timeline-vertical .k-timeline-card {
    width: 100%;
}
.k-timeline-mobile.k-timeline-vertical .k-timeline-card .k-card {
    width: auto;
}

.k-timeline-card .k-card-header {
    padding-top: 1rem;
}

.k-timeline .k-timeline-flag {
    color: black;
    background-color: limegreen;
}
.k-timeline .k-timeline-circle {
    background-color: limegreen;
}
.k-timeline .k-timeline-card .k-card-header {
    background-color: #ffffff;
    color: #212529;
}
.k-timeline .k-timeline-card .k-card-body {
    scrollbar-color: #dee2e6 #ffffff;
}
.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-track {
    background: #ffffff;
}
.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-thumb {
    background: #dee2e6;
}
.k-timeline .k-timeline-card .k-card-body::-webkit-scrollbar-thumb:hover {
    background: #d6d9dc;
}
.k-timeline .k-timeline-date {
    color: #212529;
}
.k-timeline .k-timeline-arrow.k-disabled {
    opacity: 1;
    color: #6f7174;
    background-color: #edeff2;
    border-color: #edeff2;
}

.k-timeline-vertical::after,
.k-timeline-horizontal .k-timeline-track-wrap::after {
    background-color: #e4e7eb;
    border-color: #e4e7eb;
}

.k-timeline-horizontal .k-timeline-flag::after {
    background-color: limegreen;
}

.k-timeline-track-item.k-focus .k-timeline-circle {
    box-shadow: var(--kendo-elevation-2, 0px 2px 7px rgba(0, 0, 0, 0.075));
}

.k-pdf-viewer {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    position: relative;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-pdf-viewer .k-toolbar {
    border-top-width: 0;
    border-right-width: 0;
    border-left-width: 0;
    border-color: inherit;
    flex: 0 0 auto;
    z-index: 2;
}
.k-pdf-viewer .k-toolbar .k-pager-wrap,
.k-pdf-viewer .k-toolbar .k-pager {
    padding: 0;
    border-width: 0;
    color: inherit;
    background: none;
    overflow: visible;
}
.k-pdf-viewer .k-canvas {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    outline: none;
}
.k-pdf-viewer .k-canvas.k-enable-text-select {
    user-select: text;
    cursor: text;
}
.k-pdf-viewer .k-canvas.k-enable-panning {
    cursor: grab;
}
.k-pdf-viewer .k-canvas.k-enable-panning span::selection {
    background-color: transparent;
}
.k-pdf-viewer .k-pdf-viewer-pages {
    flex: 1 1 auto;
}
.k-pdf-viewer .k-page {
    position: relative;
    margin-block: 30px;
    margin-inline: auto;
}
.k-pdf-viewer .k-page canvas {
    direction: ltr;
}
.k-pdf-viewer .k-page .k-text-layer {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.2;
    overflow: hidden;
}
.k-pdf-viewer .k-page .k-text-layer > span {
    position: absolute;
    line-height: 1.2;
    transform-origin: 0% 0%;
    color: transparent;
}
.k-pdf-viewer .k-page .k-text-layer .k-search-highlight-mark {
    color: transparent;
}
.k-pdf-viewer .k-blank-page {
    margin: 0;
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background-color: inherit !important;
}
.k-pdf-viewer .k-blank-page .k-upload,
.k-pdf-viewer .k-blank-page .k-dropzone,
.k-pdf-viewer .k-blank-page .k-dropzone-inner {
    border: 0;
    background: none;
}

.k-pdf-viewer-canvas > .k-search-panel {
    width: max-content;
    margin-top: calc((calc(1.5em + 0.75rem + 2px) + 2 * 1px + 2 * calc(0.5rem * 2)) * -1);
    padding-block: calc(0.5rem * 2);
    padding-inline: 0.5rem;
    border-width: 1px;
    border-style: solid;
    border-radius: 0.25rem;
    display: flex;
    gap: 0.5rem;
    flex-flow: row nowrap;
    flex: 0 0 auto;
    justify-content: flex-start;
    align-items: center;
    z-index: 10;
    cursor: default;
}
.k-pdf-viewer-canvas > .k-search-panel .k-search-dialog-draghandle {
    cursor: move;
    margin-left: 0;
}
.k-pdf-viewer-canvas > .k-search-panel .k-textbox {
    width: 10em;
    flex: none;
}
.k-pdf-viewer-canvas > .k-search-panel .k-textbox .k-button {
    border-width: 0;
}
.k-pdf-viewer-canvas > .k-search-panel .k-search-matches {
    display: inline-flex;
    gap: 0.5rem;
}

.k-pdf-viewer {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-pdf-viewer .k-canvas {
    background-color: #fafafa;
}
.k-pdf-viewer .k-page {
    border-color: #dee2e6;
    color: #212529;
    background-color: white;
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}
.k-pdf-viewer .k-blank-page > .k-icon {
    color: #afb1b2;
}
.k-pdf-viewer .k-search-highlight {
    background-color: #212529;
}
.k-pdf-viewer .k-search-highlight-mark {
    background-color: yellow;
}

.k-pdf-viewer-canvas > .k-search-panel {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.km-scrollview,
.km-scroll-container {
    user-select: none;
    border-collapse: separate;
}

.km-scroll-wrapper {
    position: relative;
}

.km-scroll-header {
    position: absolute;
    z-index: 1001;
    width: 100%;
    top: 0;
    left: 0;
}

.km-scroller-pull {
    width: 100%;
    display: block;
    position: absolute;
    line-height: 3em;
    font-size: 1.4em;
    text-align: center;
    transform: translate3d(0, -3em, 0);
}

.km-scroller-pull .km-template {
    display: inline-block;
    min-width: 200px;
    text-align: start;
}

.km-load-more .km-icon,
.km-widget .km-scroller-pull .km-icon {
    display: inline-block;
    height: 2rem;
    margin-right: 1rem;
    vertical-align: middle;
    width: 2rem;
    font-size: 2rem;
    transform: rotate(0deg);
    transition: transform 300ms linear;
}

.km-widget .km-scroller-release .km-icon {
    transform: rotate(180deg);
}

.km-widget .km-scroller-refresh .km-icon {
    transition: none;
}

.km-touch-scrollbar {
    position: absolute;
    visibility: hidden;
    z-index: 200000;
    height: 0.4em;
    width: 0.4em;
    opacity: 0;
    transform-origin: 0 0;
    transition: opacity 0.3s linear;
}
.k-map .km-touch-scrollbar, .k-diagram .km-touch-scrollbar {
    display: none;
}

.km-vertical-scrollbar {
    height: 100%;
    right: 2px;
    top: 0;
}

.km-horizontal-scrollbar {
    width: 100%;
    left: 0;
    bottom: 2px;
}

.km-touch-scrollbar {
    background-color: #333333;
}

.k-scrollview {
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    position: relative;
    overflow: hidden;
    display: block;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-scrollview-wrap {
    position: absolute;
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    cursor: default;
    white-space: nowrap;
}
.k-scrollview-wrap > .k-scrollview-view {
    display: inline-block;
    overflow: hidden;
    flex-shrink: 0;
}
.k-scrollview-wrap img {
    user-select: none;
}

.k-scrollview-wrap.k-scrollview-animate {
    width: calc(var(--kendo-scrollview-views, 1) * 100%);
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
    transform: translateX(calc(-100% / var(--kendo-scrollview-views, 1) * (var(--kendo-scrollview-current, 1) - 1)));
}
[dir=rtl] .k-scrollview-wrap.k-scrollview-animate, .k-rtl .k-scrollview-wrap.k-scrollview-animate {
    transform: translateX(calc(100% / var(--kendo-scrollview-views, 1) * (var(--kendo-scrollview-current, 1) - 1)));
}
.k-scrollview-wrap.k-scrollview-animate .k-scrollview-view {
    width: calc(100% / var(--kendo-scrollview-views, 1));
    flex: 0 0 calc(100% / var(--kendo-scrollview-views, 1));
}

.k-scrollview-nav-wrap {
    padding: 0;
    margin: 0;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(10px + 0px + 40px);
    text-align: center;
}

kendo-scrollview.k-scrollview kendo-scrollview-pager {
    pointer-events: none;
}

kendo-scrollview.k-scrollview .k-scrollview-nav {
    pointer-events: initial;
}

.k-scrollview-nav {
    margin: 0;
    padding: 20px;
    max-width: 100%;
    box-sizing: border-box;
    line-height: 0;
    text-align: center;
    white-space: nowrap;
    list-style: none;
    display: inline-flex;
    align-items: center;
    overflow-x: scroll;
    overflow-y: hidden;
    pointer-events: initial;
}
.k-scrollview-nav:focus {
    outline: none;
}

.k-scrollview-nav > .k-link {
    margin-block: 0;
    margin-inline: 10px;
    padding: 0;
    width: 10px;
    height: 10px;
    border-width: 0px;
    border-style: solid;
    border-radius: 50%;
    box-sizing: content-box;
    display: inline-block;
    position: relative;
    flex: 0 0 auto;
    cursor: pointer;
    pointer-events: all;
    vertical-align: top;
}
.k-scrollview-nav > .k-link::before {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: initial;
    border-radius: 0;
}

.k-scrollview-next,
.k-scrollview-prev {
    display: table;
    position: absolute;
    padding: 0;
    height: 60%;
    top: 20%;
    text-decoration: none;
    user-select: none;
    cursor: pointer;
}
.k-scrollview-next .k-icon,
.k-scrollview-prev .k-icon {
    display: table-cell;
    overflow: visible;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    font-weight: normal;
}

.k-scrollview-prev {
    inset-inline-start: 0;
}

.k-scrollview-next {
    inset-inline-end: 0;
}

.k-scrollview-animation {
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
}

.k-scrollview {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-scrollview.k-scrollview-dark kendo-scrollview-pager,
.k-scrollview.k-scrollview-dark .k-scrollview-nav-wrap {
    background-color: rgba(0, 0, 0, 0.4);
}
.k-scrollview.k-scrollview-dark .k-scrollview-next,
.k-scrollview.k-scrollview-dark .k-scrollview-prev {
    color: rgba(0, 0, 0, 0.4);
}
.k-scrollview.k-scrollview-light kendo-scrollview-pager,
.k-scrollview.k-scrollview-light .k-scrollview-nav-wrap {
    background-color: rgba(255, 255, 255, 0.4);
}

.k-scrollview:focus,
.k-scrollview-wrap:focus {
    outline: none;
}

.k-scrollview-next,
.k-scrollview-prev {
    color: white;
    background-color: rgba(0, 0, 0, 0);
    text-shadow: rgba(0, 0, 0, 0.3) 0 0 15px;
    opacity: 0.7;
    outline-width: 0;
}
.k-scrollview-next:focus, .k-scrollview-next.k-focus,
.k-scrollview-prev:focus,
.k-scrollview-prev.k-focus {
    color: white;
    opacity: 1;
}
.k-scrollview-next:focus .k-icon::before, .k-scrollview-next.k-focus .k-icon::before,
.k-scrollview-prev:focus .k-icon::before,
.k-scrollview-prev.k-focus .k-icon::before {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.13);
}
.k-scrollview-next:hover, .k-scrollview-next.k-hover,
.k-scrollview-prev:hover,
.k-scrollview-prev.k-hover {
    color: white;
    opacity: 1;
}

.k-scrollview-nav > .k-link {
    background-color: #e4e7eb;
    border-color: #e4e7eb;
}
.k-scrollview-nav > .k-link.k-primary {
    background: limegreen;
    border: limegreen;
}
.k-scrollview-nav > .k-link:focus, .k-scrollview-nav > .k-link.k-focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.13);
}
.k-scrollview-nav > .k-link:hover, .k-scrollview-nav > .k-link.k-hover {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.13);
}

.k-prompt {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.k-prompt-content {
    padding-block: 1rem;
    padding-inline: 1rem;
    display: flex;
    flex-flow: column nowrap;
    flex: 1 1 auto;
    gap: 1rem;
    overflow: auto;
}

.k-prompt-view {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 1rem;
}

.k-prompt-expander {
    display: flex;
    flex-direction: column;
    flex: 1;
    align-items: flex-start;
    gap: 0.5rem;
}

.k-prompt-expander-content {
    display: flex;
    flex-flow: column;
    flex: 0 0 auto;
    gap: 0.5rem;
    align-self: stretch;
}

.k-prompt-suggestion {
    border-width: 1px;
    border-style: solid;
    border-radius: 0.375rem;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    cursor: pointer;
}

.k-prompt-setting {
    display: flex;
    flex-direction: column;
}

.k-prompt-actions.k-actions, .k-prompt-actions.k-edit-buttons,
.k-prompt-actions.k-action-buttons,
.k-prompt-actions.k-columnmenu-actions, .k-prompt-actions.k-form-buttons {
    margin: 0;
}

.k-prompt {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-prompt-header {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-prompt-content {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-prompt-suggestion {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
    box-shadow: var(--kendo-elevation-1, 0px 1px 2px rgba(0, 0, 0, 0.038));
}

.k-barcode {
    display: inline-block;
}
.k-barcode > div {
    height: 150px;
}

.k-var--chart-font {
    font-size: 1rem;
}

.k-var--chart-title-font {
    font-size: 1.143em;
}

.k-var--chart-pane-title-font {
    font-size: 0.857em;
    font-weight: 500;
}

.k-var--chart-label-font {
    font-size: 0.857em;
}

.k-chart,
.k-sparkline,
.k-stockchart {
    border-width: 0px;
    border-style: solid;
    box-sizing: border-box;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.k-chart,
.k-stockchart {
    display: block;
    height: 400px;
}

.k-chart-surface {
    height: 100%;
}

.k-chart .k-popup {
    border-width: 0;
}

.k-chart-tooltip-wrapper .k-animation-container-shown,
.k-chart-tooltip-wrapper.k-animation-container-shown {
    transition: left 300ms cubic-bezier(0, 0.33, 0.19, 1), top 300ms cubic-bezier(0, 0.33, 0.19, 1);
}

.k-sparkline-tooltip-wrapper,
.k-chart-tooltip-wrapper {
    z-index: 12000;
}
.k-sparkline-tooltip-wrapper .k-popup,
.k-chart-tooltip-wrapper .k-popup {
    padding: 0;
    border-width: 0;
    background: transparent;
}

.k-chart-tooltip table {
    border-spacing: 0;
    border-collapse: collapse;
}

.k-chart-tooltip {
    border-radius: 0.375rem;
    font-size: 0.929rem;
    line-height: 1.5;
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
}

.k-chart-tooltip th {
    width: auto;
    text-align: center;
    padding: 1px;
}

.k-chart-tooltip td {
    width: auto;
    text-align: start;
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    line-height: 1.5;
    vertical-align: middle;
}

.k-chart-crosshair-tooltip,
.k-chart-shared-tooltip {
    border-width: 1px;
    border-style: solid;
}

.k-chart-shared-tooltip .k-chart-shared-tooltip-marker {
    display: block;
    width: 15px;
    height: 3px;
    vertical-align: middle;
}

.k-selector {
    position: absolute;
    transform: translateZ(0);
}

.k-selection {
    position: absolute;
    height: 100%;
    border-width: 1px;
    border-style: solid;
    border-bottom: 0;
}

.k-selection-bg {
    position: absolute;
    width: 100%;
    height: 100%;
}

.k-handle {
    border-radius: 50%;
    width: 22px;
    height: 22px;
    border-width: 1px;
    border-style: solid;
    z-index: 1;
    position: absolute;
    box-sizing: content-box;
}

.k-handle div {
    width: 100%;
    height: 100%;
}

.k-left-handle {
    left: -11px;
}

.k-right-handle {
    right: -11px;
}

.k-left-handle div {
    margin: -22px 0 0 -14.6666666667px;
    padding: 44px 29.3333333333px 0 0;
}

.k-right-handle div {
    margin: -22px 0 0 -14.6666666667px;
    padding: 44px 0 0 29.3333333333px;
}

.k-left-handle.k-handle-active div {
    margin-left: -44px;
    padding-left: 58.6666666667px;
}

.k-right-handle.k-handle-active div {
    margin-left: -44px;
    padding-right: 58.6666666667px;
}

.k-mask {
    position: absolute;
    height: 100%;
}

.k-navigator-hint div {
    position: absolute;
}

.k-navigator-hint .k-scroll {
    border-radius: 0.375rem;
    position: absolute;
    height: 4px;
}

.k-navigator-hint .k-tooltip {
    margin-top: 20px;
    min-width: 160px;
    opacity: 1;
    text-align: center;
}

.k-sparkline,
.k-sparkline span {
    display: inline-block;
    vertical-align: top;
}

.k-sparkline span {
    height: 100%;
    width: 100%;
}

.k-chart-dragging {
    user-select: none;
}

.k-chart-donut-center {
    position: absolute;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    border-radius: 50%;
    text-align: center;
    border: 4px solid transparent;
    box-sizing: border-box;
}

.k-pdf-export .k-chart .k-animation-container,
.k-pdf-export .k-sparkline .k-animation-container,
.k-pdf-export .k-stockchart .k-animation-container {
    display: none;
}

.k-diagram {
    height: 600px;
}

.k-diagram .km-scroll-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.k-diagram .km-scroll-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.k-canvas-container {
    width: 100%;
    height: 100%;
}

.k-treemap {
    height: 400px;
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    outline: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    line-height: 1.5;
    display: block;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.k-treemap .k-treemap-tile {
    margin: -1px 0 0 -1px;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid;
    border-color: inherit;
    color: inherit;
    background-color: inherit;
    overflow: hidden;
    position: absolute;
}
.k-treemap > .k-treemap-tile {
    position: relative;
}
.k-treemap .k-treemap-title {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    border-width: 0 0 1px;
    border-style: solid;
    border-color: inherit;
    font-size: 1rem;
    background-position: 0 0;
    background-repeat: repeat-x;
}
.k-treemap .k-treemap-title-vertical {
    padding-block: 0.5rem;
    padding-inline: 0.25rem;
    width: calc(1.5 * 1em);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: absolute;
    top: 0;
    bottom: 0;
}
.k-treemap .k-treemap-title-vertical > div {
    transform-origin: right;
    transform: rotate(-90deg);
    position: absolute;
    top: 0;
    right: 1em;
}
.k-treemap .k-treemap-wrap {
    border-color: inherit;
    color: inherit;
    background-color: inherit;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.k-treemap .k-treemap-title + .k-treemap-wrap {
    top: calc(0.5rem + 1.5 * 1rem + 1px);
}
.k-treemap .k-treemap-title-vertical + .k-treemap-wrap {
    left: calc(0.5rem + 1.5 * 1rem + 1px);
}
.k-treemap .k-leaf {
    padding: 0.5rem;
}

.k-gauge {
    text-align: start;
    position: relative;
}

.k-arcgauge,
.k-circulargauge {
    display: inline-block;
}

.k-arcgauge-label,
.k-circulargauge-label {
    position: absolute;
    text-align: center;
    padding: 0;
    margin: 0;
}

.k-qrcode {
    display: inline-block;
}
.k-qrcode > div {
    height: 150px;
}

.k-var--primary {
    background-color: limegreen;
}

.k-var--primary-contrast {
    background-color: black;
}

.k-var--base {
    background-color: #f8f9fa;
}

.k-var--background {
    background-color: #ffffff;
}

.k-var--border-radius {
    margin-top: 0.375rem;
}

.k-var--normal-background {
    background-color: #f8f9fa;
}

.k-var--normal-text-color {
    background-color: #212529;
}

.k-var--hover-background {
    background-color: #e9ecef;
}

.k-var--hover-text-color {
    background-color: #212529;
}

.k-var--selected-background {
    background-color: limegreen;
}

.k-var--selected-text-color {
    background-color: black;
}

.k-var--success {
    background-color: #198754;
}

.k-var--info {
    background-color: #0dcaf0;
}

.k-var--warning {
    background-color: #ffc107;
}

.k-var--error {
    background-color: #dc3545;
}

.k-var--series-a {
    background-color: #2937f0;
}

.k-var--series-b {
    background-color: #9f1ae2;
}

.k-var--series-c {
    background-color: #20c997;
}

.k-var--series-d {
    background-color: #198754;
}

.k-var--series-e {
    background-color: #ffc107;
}

.k-var--series-f {
    background-color: #dc3545;
}

.k-var--series-1 {
    background-color: #2937f0;
}

.k-var--series-2 {
    background-color: #9f1ae2;
}

.k-var--series-3 {
    background-color: #20c997;
}

.k-var--series-4 {
    background-color: #198754;
}

.k-var--series-5 {
    background-color: #ffc107;
}

.k-var--series-6 {
    background-color: #dc3545;
}

.k-var--series-7 {
    background-color: #5f69f4;
}

.k-var--series-8 {
    background-color: #b753e9;
}

.k-var--series-9 {
    background-color: #58d7b1;
}

.k-var--series-10 {
    background-color: #53a57f;
}

.k-var--series-11 {
    background-color: #ffd145;
}

.k-var--series-12 {
    background-color: #e56874;
}

.k-var--series-13 {
    background-color: #1f29b4;
}

.k-var--series-14 {
    background-color: #7714aa;
}

.k-var--series-15 {
    background-color: #189771;
}

.k-var--series-16 {
    background-color: #13653f;
}

.k-var--series-17 {
    background-color: #bf9105;
}

.k-var--series-18 {
    background-color: #a52834;
}

.k-var--series-19 {
    background-color: #949bf8;
}

.k-var--series-20 {
    background-color: #cf8df1;
}

.k-var--series-21 {
    background-color: #90e4cb;
}

.k-var--series-22 {
    background-color: #8cc3aa;
}

.k-var--series-23 {
    background-color: #ffe083;
}

.k-var--series-24 {
    background-color: #ee9aa2;
}

.k-var--series-25 {
    background-color: #151c78;
}

.k-var--series-26 {
    background-color: #500d71;
}

.k-var--series-27 {
    background-color: #10654c;
}

.k-var--series-28 {
    background-color: #0d442a;
}

.k-var--series-29 {
    background-color: #806104;
}

.k-var--series-30 {
    background-color: #6e1b23;
}

.k-var--gauge-pointer {
    background-color: limegreen;
}

.k-var--gauge-track {
    background-color: #ebebeb;
}

.k-var--chart-inactive {
    background-color: rgba(33, 37, 41, 0.5);
}

.k-var--chart-major-lines {
    background-color: rgba(0, 0, 0, 0.08);
}

.k-var--chart-minor-lines {
    background-color: rgba(0, 0, 0, 0.04);
}

.k-var--chart-area-opacity {
    opacity: 0.6;
}

.k-var--chart-area-inactive-opacity {
    opacity: 0.1;
}

.k-var--chart-line-inactive-opacity {
    opacity: 0.3;
}

.k-var--chart-notes-background {
    background-color: rgba(0, 0, 0, 0.5);
}

.k-var--chart-notes-border {
    background-color: rgba(0, 0, 0, 0.5);
}

.k-var--chart-notes-lines {
    background-color: rgba(0, 0, 0, 0.5);
}

.k-var--chart-crosshair-background {
    background-color: rgba(0, 0, 0, 0.5);
}

.k-var--chart-error-bars-background {
    background-color: rgba(0, 0, 0, 0.5);
}

.k-chart,
.k-sparkline,
.k-stockchart {
    border-color: #dee2e6;
    color: #212529;
    background-color: transparent;
}
.k-chart .k-popup,
.k-sparkline .k-popup,
.k-stockchart .k-popup {
    background: transparent;
}

.k-chart-tooltip {
    color: #ffffff;
}

.k-chart-tooltip-inverse {
    color: #000000;
}

.k-chart-crosshair-tooltip,
.k-chart-shared-tooltip {
    color: #212529;
    background-color: #ebebeb;
    border-color: rgba(0, 0, 0, 0.08);
}

.k-selection {
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: inset 0 1px 7px rgba(0, 0, 0, 0.15);
}

.k-selection-bg {
    background-color: transparent;
}

.k-handle {
    cursor: e-resize;
    border-color: #e4e7eb;
    color: #212529;
    background-color: #e4e7eb;
}
.k-handle:hover {
    border-color: #c7cdd5;
    background-color: #ced3db;
}

.k-handle div {
    background-color: transparent;
}

.k-mask {
    background-color: #ffffff;
    opacity: 0.8;
}

.k-treemap {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-treemap .k-treemap-title {
    border-color: #dee2e6;
    color: #212529;
    background-color: #f8f9fa;
}
.k-treemap .k-leaf {
    color: #ffffff;
}
.k-treemap .k-leaf.k-inverse {
    color: #212529;
}
.k-treemap .k-leaf:hover,
.k-treemap .k-leaf.k-hover {
    box-shadow: inset 0 0 0 3px #dee2e6;
}

.k-map {
    height: 600px;
    box-sizing: border-box;
    border-width: 0px;
    border-style: solid;
    font-size: 1rem;
    line-height: 1.5;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.k-map *,
.k-map *::before,
.k-map *::after {
    box-sizing: border-box;
}
.k-map .km-scroll-wrapper {
    width: 100%;
    height: 100%;
    user-select: none;
    position: absolute;
}
.k-map .km-scroll-container {
    height: 100%;
}
.k-map .k-touch-scrollbar {
    display: none;
}
.k-map .k-layer {
    position: absolute;
    left: 0;
    top: 0;
}
.k-map .k-marker {
    transform: translate(-50%, -100%);
    cursor: pointer;
    position: absolute;
    overflow: visible;
}
.k-map .k-attribution {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    border-width: 0;
    font-size: 0.75rem;
    z-index: 1000;
}

.k-map-controls {
    position: absolute;
    display: flex;
    align-items: center;
}

.k-navigator {
    margin: 1rem;
    width: calc(48px + 4px);
    height: calc(48px + 4px);
    border-width: 1px;
    border-style: solid;
    box-sizing: border-box;
    border-radius: 50%;
    position: relative;
}
.k-pdf-export .k-navigator {
    display: none;
}
.k-navigator .k-button {
    padding: 0;
    width: auto;
    height: auto;
    line-height: 1;
    box-shadow: none;
    position: absolute;
}
.k-navigator .k-button .k-icon {
    min-width: 0;
    min-height: 0;
}
.k-navigator .k-navigator-n,
.k-navigator .k-navigator-up {
    transform: translateX(-50%);
    top: 2px;
    left: 50%;
}
.k-navigator .k-navigator-e,
.k-navigator .k-navigator-right {
    transform: translateY(-50%);
    right: 2px;
    top: 50%;
}
.k-navigator .k-navigator-s,
.k-navigator .k-navigator-down {
    transform: translateX(-50%);
    bottom: 2px;
    left: 50%;
}
.k-navigator .k-navigator-w,
.k-navigator .k-navigator-left {
    transform: translateY(-50%);
    left: 2px;
    top: 50%;
}

.k-zoom-control {
    margin: 1rem;
    border: 0;
    background: none;
    display: flex;
}
.k-pdf-export .k-zoom-control {
    display: none;
}

.k-map {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}
.k-map .k-navigator {
    border-color: #e4e7eb;
    color: #212529;
    background-color: #e4e7eb;
}
.k-map .k-marker {
    color: limegreen;
}
.k-map .k-attribution {
    background-color: rgba(255, 255, 255, 0.8);
}

.k-orgchart {
    width: 100%;
    padding-block: 1.5rem;
    padding-inline: 1.5rem;
    box-sizing: border-box;
    font-size: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    line-height: 1.5;
    overflow: auto;
}
.k-orgchart *,
.k-orgchart *::before,
.k-orgchart *::after {
    box-sizing: border-box;
}

.k-orgchart-container {
    margin-block: 0;
    margin-inline: auto;
    width: 100%;
    height: 100%;
    position: relative;
}

.k-orgchart-group {
    gap: 1.5rem;
}

.k-orgchart-group.k-vstack > .k-orgchart-node-container, .k-orgchart-group.k-vbox > .k-orgchart-node-container {
    gap: 0;
}

.k-orgchart-node-container {
    gap: 1.5rem;
}

.k-orgchart-node-group-container {
    border-radius: 0.375rem;
    padding-block: 1.5rem;
    padding-inline: 1.5rem;
    border-width: 1px;
    border-style: solid;
    outline: 0;
}

.k-orgchart-node-group-title {
    margin: 0 0 0.375rem;
    font-size: 1.25rem;
    line-height: 1.25;
}

.k-orgchart-node-group-subtitle {
    margin: 0 0 1.5rem;
    font-size: 1rem;
}

.k-orgchart-card {
    width: 300px;
    border-width: 1px;
}
.k-orgchart-card .k-card-title {
    margin: 0 0 0px;
}
.k-orgchart-card .k-card-subtitle {
    margin: 0 0 0px;
}
.k-orgchart-card .k-card-body {
    border-width: 2px 0 0;
    border-style: solid;
    flex-grow: 0;
}
.k-orgchart-card .k-card-body .k-card-title-wrap {
    margin: 0 0.75rem 0 0;
    min-width: 0;
    min-height: 45px;
}

.k-orgchart-line {
    background-color: currentColor;
}

.k-orgchart-line-h {
    height: 1px;
}

.k-orgchart-line-v {
    margin-block: 0;
    margin-inline: auto;
    width: 1px;
    height: 25px;
}

.k-orgchart-button {
    z-index: 1;
}

.k-orgchart {
    border-color: #dee2e6;
    color: #212529;
    background-color: #ffffff;
}

.k-orgchart-card .k-card-body {
    border-color: transparent;
}
.k-orgchart-card:focus, .k-orgchart-card.k-focus {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}

.k-orgchart-node-group-container {
    border-color: #e4e5e6;
    color: #212529;
    background-color: #f8f9fa;
}

.k-orgchart-node-group-container:focus,
.k-orgchart-node-group-container.k-focus {
    box-shadow: var(--kendo-elevation-3, 0px 4px 10px rgba(0, 0, 0, 0.1));
}

.k-orgchart-node-group-subtitle {
    color: #6c757d;
}

.k-orgchart-line-h,
.k-orgchart-line-v {
    color: #e4e5e6;
}

.k-signature {
    width: 246px;
    min-height: 108px;
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.k-signature.k-signature-maximized {
    width: 750px;
    height: 252px;
}
.k-signature.k-signature-maximized > .k-signature-line {
    border-bottom-width: 3px;
}

.k-signature-actions {
    display: flex;
    width: min-content;
    margin-inline-start: auto;
    gap: 0.25rem;
    z-index: 2;
}

.k-signature-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 1;
    outline: none;
}

.k-signature-line {
    position: absolute;
    bottom: 33%;
    z-index: 2;
    pointer-events: none;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
}

.k-signature-sm {
    padding-inline: 0.5rem;
    padding-block: 0.125rem;
}
.k-signature-sm .k-signature-line {
    width: calc(100% - 2 * 0.5rem);
}

.k-signature-md {
    padding-inline: 0.75rem;
    padding-block: 0.25rem;
}
.k-signature-md .k-signature-line {
    width: calc(100% - 2 * 0.75rem);
}

.k-signature-lg {
    padding-inline: 1rem;
    padding-block: 0.5rem;
}
.k-signature-lg .k-signature-line {
    width: calc(100% - 2 * 1rem);
}

.k-signature-lg {
    min-height: 110px;
}

.k-signature .k-signature-line {
    border-bottom-color: rgba(13, 202, 240, 0.24);
}

#topNav {
    /*
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-color: $white;*/
}
#topNav .navbar-toggler {
    font-size: 1.25rem;
    padding: 0.5rem 0.5rem;
    color: limegreen;
    line-height: 1;
    background-color: transparent;
    border: 0.0625rem solid #6c757d;
    border-radius: 0.3125rem;
    transition: box-shadow 0.15s ease-in-out;
}
#topNav .navbar-toggler:focus {
    box-shadow: none;
}
#topNav .navbar-toggler .navbar-toggler-text {
    color: #000000;
}
#topNav .navbar-toggler .navbar-toggler-default {
    display: -ms-flexbox;
    display: flex;
}
#topNav .navbar-toggler .navbar-toggler-toggled {
    display: none;
}
#topNav .navbar-toggler[aria-expanded=true] .navbar-toggler-default {
    display: none;
}
#topNav .navbar-toggler[aria-expanded=true] .navbar-toggler-toggled {
    display: -ms-flexbox;
    display: flex;
}
#topNav .nav-item .nav-link {
    color: #212529;
}
#topNav .nav-item .nav-link:hover {
    color: #6c757d;
}
#topNav .nav-item .nav-link.active {
    color: #000000;
}

#smallNav {
    /*
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-color: $white;*/
}
#smallNav .navbar-toggler {
    font-size: 1.25rem;
    padding: 0.5rem 0.5rem;
    color: var(--bs-primary);
    line-height: 1;
    background-color: transparent;
    border: 0.0625rem solid #6c757d;
    border-radius: 0.3125rem;
    transition: box-shadow 0.15s ease-in-out;
}
#smallNav .navbar-toggler:focus {
    box-shadow: none;
}
#smallNav .navbar-toggler .navbar-toggler-text {
    color: #000000;
}
#smallNav .navbar-toggler .navbar-toggler-default {
    display: -ms-flexbox;
    display: flex;
}
#smallNav .navbar-toggler .navbar-toggler-toggled {
    display: none;
}
#smallNav .navbar-toggler[aria-expanded=true] .navbar-toggler-default {
    display: none;
}
#smallNav .navbar-toggler[aria-expanded=true] .navbar-toggler-toggled {
    display: -ms-flexbox;
    display: flex;
}
#smallNav .nav-pills .nav-item .nav-link {
    color: #212529;
}
#smallNav .nav-pills .nav-item .nav-link:hover {
    color: #6c757d;
}
#smallNav .nav-pills .nav-item .nav-link.active {
    color: #fff;
}

#mainNav .navbar-toggler {
    font-size: 1.25rem;
    padding: 0.5rem 0.5rem;
    color: limegreen;
    line-height: 1;
    background-color: transparent;
    border: 0.0625rem solid #6c757d;
    border-radius: 0.3125rem;
    transition: box-shadow 0.15s ease-in-out;
}
#mainNav .navbar-brand {
    font-family: "Kanit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
#mainNav .navbar-brand:hover, #mainNav .navbar-brand:active {
    color: limegreen;
}
#mainNav .navbar-nav .nav-item .nav-link {
    color: #212529;
}
#mainNav .navbar-nav .nav-item .nav-link:hover {
    color: #6c757d;
}
#mainNav .navbar-nav .nav-item .nav-link.active {
    color: limegreen;
}

.navbar-vertical-fixed .navbar-vertical-container {
    max-height: 100%;
}

.navbar-vertical-fixed .navbar-vertical-container {
    max-height: 100%;
}

.navbar-vertical-container {
    position: relative;
    height: 100%;
    min-height: 100%;
}

.navbar-vertical-container {
    position: relative;
    height: 100%;
    min-height: 100%;
}

.navbar-vertical-content {
    height: calc(100% - 3.875rem);
    overflow-y: auto;
}

.navbar-vertical-content {
    overflow: hidden;
}

.navbar-vertical-content {
    height: calc(100% - 3.875rem);
    overflow-y: auto;
}

.navbar-vertical-content {
    overflow: hidden;
}

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

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

.nav-pills.nav-collapse > .nav {
    margin-left: 2.2rem;
}

.nav-pills.nav-collapse > .nav ul {
    /*    position: absolute;
    left: 1.3125rem;
    width: .125rem;
    height: calc(100% - .25rem);
    content: '';
    background-color: rgba(231,234,243,.7);*/
    /* lines */
    /*    content: "";
        position: absolute;
        left: 1.3125rem;
        bottom: 0px;
        top: 0px;
        //height: 100%;
        width: .125rem;
        background-color: rgba(231,234,243,.7);
        overflow: hidden !important;*/
}
.nav-pills.nav-collapse > .nav ul:before {
    content: "";
    display: inline-block;
    width: 2px;
    background: red;
    position: absolute;
    left: 3px;
    top: 5px;
    height: calc(100% - 10px);
}

.nav-vertical.nav-pills .nav-link.dropdown-toggle {
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.navbar {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.navbar > .container, .navbar > .container-fluid, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container-xl, .navbar > .container-xxl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: inherit;
    flex-wrap: inherit;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.navbar-brand {
    padding-top: 0.40625rem;
    padding-bottom: 0.40625rem;
    margin-right: 1rem;
    font-size: 1rem;
    white-space: nowrap;
}

.navbar-nav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
}

.navbar-nav .dropdown-menu {
    position: static;
}

.navbar-text {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.navbar-collapse {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-align: center;
    align-items: center;
}

.navbar-toggler {
    padding: 0.5rem 0.5rem;
    font-size: 1rem;
    line-height: 1;
    background-color: transparent;
    border: 0.0625rem solid transparent;
    border-radius: 0.3125rem;
    transition: box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .navbar-toggler {
        transition: none;
    }
}
.navbar-toggler:hover {
    text-decoration: none;
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0;
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

.navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 75vh);
    overflow-y: auto;
}

@media (min-width: 576px) {
    .navbar-expand-sm {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .navbar-expand-sm .navbar-nav {
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
    .navbar-expand-sm .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-sm .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    .navbar-expand-sm .navbar-toggler {
        display: none;
    }
    .navbar-expand-sm .offcanvas-header {
        display: none;
    }
    .navbar-expand-sm .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        -ms-flex-positive: 1;
        flex-grow: 1;
        visibility: visible !important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        -webkit-transform: none;
        transform: none;
    }
    .navbar-expand-sm .offcanvas-bottom, .navbar-expand-sm .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0;
    }
    .navbar-expand-sm .offcanvas-body {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-positive: 0;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
@media (min-width: 768px) {
    .navbar-expand-md {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .navbar-expand-md .navbar-nav {
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
    .navbar-expand-md .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-md .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    .navbar-expand-md .navbar-toggler {
        display: none;
    }
    .navbar-expand-md .offcanvas-header {
        display: none;
    }
    .navbar-expand-md .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        -ms-flex-positive: 1;
        flex-grow: 1;
        visibility: visible !important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        -webkit-transform: none;
        transform: none;
    }
    .navbar-expand-md .offcanvas-bottom, .navbar-expand-md .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0;
    }
    .navbar-expand-md .offcanvas-body {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-positive: 0;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
@media (min-width: 992px) {
    .navbar-expand-lg {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .navbar-expand-lg .navbar-nav {
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
    .navbar-expand-lg .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-lg .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    .navbar-expand-lg .navbar-toggler {
        display: none;
    }
    .navbar-expand-lg .offcanvas-header {
        display: none;
    }
    .navbar-expand-lg .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        -ms-flex-positive: 1;
        flex-grow: 1;
        visibility: visible !important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        -webkit-transform: none;
        transform: none;
    }
    .navbar-expand-lg .offcanvas-bottom, .navbar-expand-lg .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0;
    }
    .navbar-expand-lg .offcanvas-body {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-positive: 0;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
@media (min-width: 1200px) {
    .navbar-expand-xl {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .navbar-expand-xl .navbar-nav {
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
    .navbar-expand-xl .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-xl .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    .navbar-expand-xl .navbar-toggler {
        display: none;
    }
    .navbar-expand-xl .offcanvas-header {
        display: none;
    }
    .navbar-expand-xl .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        -ms-flex-positive: 1;
        flex-grow: 1;
        visibility: visible !important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        -webkit-transform: none;
        transform: none;
    }
    .navbar-expand-xl .offcanvas-bottom, .navbar-expand-xl .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0;
    }
    .navbar-expand-xl .offcanvas-body {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-positive: 0;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
@media (min-width: 1400px) {
    .navbar-expand-xxl {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .navbar-expand-xxl .navbar-nav {
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .navbar-expand-xxl .navbar-nav .dropdown-menu {
        position: absolute;
    }
    .navbar-expand-xxl .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
    .navbar-expand-xxl .navbar-nav-scroll {
        overflow: visible;
    }
    .navbar-expand-xxl .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    .navbar-expand-xxl .navbar-toggler {
        display: none;
    }
    .navbar-expand-xxl .offcanvas-header {
        display: none;
    }
    .navbar-expand-xxl .offcanvas {
        position: inherit;
        bottom: 0;
        z-index: 1000;
        -ms-flex-positive: 1;
        flex-grow: 1;
        visibility: visible !important;
        background-color: transparent;
        border-right: 0;
        border-left: 0;
        transition: none;
        -webkit-transform: none;
        transform: none;
    }
    .navbar-expand-xxl .offcanvas-bottom, .navbar-expand-xxl .offcanvas-top {
        height: auto;
        border-top: 0;
        border-bottom: 0;
    }
    .navbar-expand-xxl .offcanvas-body {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-positive: 0;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
    }
}
.navbar-expand {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.navbar-expand .navbar-nav {
    -ms-flex-direction: row;
    flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
    position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.navbar-expand .navbar-nav-scroll {
    overflow: visible;
}

.navbar-expand .navbar-collapse {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

.navbar-expand .navbar-toggler {
    display: none;
}

.navbar-expand .offcanvas-header {
    display: none;
}

.navbar-expand .offcanvas {
    position: inherit;
    bottom: 0;
    z-index: 1000;
    -ms-flex-positive: 1;
    flex-grow: 1;
    visibility: visible !important;
    background-color: transparent;
    border-right: 0;
    border-left: 0;
    transition: none;
    -webkit-transform: none;
    transform: none;
}

.navbar-expand .offcanvas-bottom, .navbar-expand .offcanvas-top {
    height: auto;
    border-top: 0;
    border-bottom: 0;
}

.navbar-expand .offcanvas-body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-positive: 0;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
}

.navbar-light .navbar-brand {
    color: #677788;
}

.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
    color: #677788;
}

.navbar-light .navbar-nav .nav-link {
    color: #677788;
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
    color: #377dff;
}

.navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(0, 0, 0, 0.3);
}

.navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .show > .nav-link {
    color: #677788;
}

.navbar-light .navbar-toggler {
    color: #677788;
    border-color: rgba(0, 0, 0, 0.1);
}

.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23677788' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-light .navbar-text {
    color: #677788;
}

.navbar-light .navbar-text a, .navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {
    color: #677788;
}

.navbar-dark .navbar-brand {
    color: #fff;
}

.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {
    color: #fff;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.55);
}

.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    color: #fff;
}

.navbar-dark .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25);
}

.navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .show > .nav-link {
    color: #fff;
}

.navbar-dark .navbar-toggler {
    color: rgba(255, 255, 255, 0.55);
    border-color: rgba(255, 255, 255, 0.1);
}

.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-text {
    color: rgba(255, 255, 255, 0.55);
}

.navbar-dark .navbar-text a, .navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {
    color: #fff;
}

#sidebarNav {
    /*margin-bottom: 60px;*/
}

.sidebar {
    position: fixed !important;
    top: 58px;
    bottom: 0;
    left: 0;
    z-index: 100; /* Behind the navbar */
    padding: 0;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.1);
}

.sidebar-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 48px; /* Height of navbar */
    height: calc(100vh - 48px);
    padding-top: 0.5rem;
    overflow-x: hidden;
    overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
    margin-bottom: 1.5rem;
    padding-bottom: 2.5em;
}

.sidebar .nav-link {
    font-weight: 500;
    color: #333;
}

.sidebar .nav-link.active {
    font-weight: 500;
    color: var(--bs-primary);
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
}

.sidebar .nav-link .feather {
    margin-right: 4px;
    color: #999;
}

.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
    color: inherit;
}

.sidebar-heading {
    font-size: 0.75rem;
    text-transform: uppercase;
}

#route-directions .list {
    max-height: 200px;
    overflow: auto;
}

.app-badge {
    height: 3rem;
    width: 6rem;
}

.btn-icon {
    /* position:relative; */
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-negative: 0;
    /* flex-shrink:0; */
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1rem;
    font-weight: 600;
    width: 3.125rem;
    height: 3.125rem;
    padding: 0;
}

.btn-icon > svg {
    width: 1rem;
    height: auto;
}

.navbar-brand .logo img {
    max-height: 30px;
}

.bg-status-open {
    background-color: var(--bs-info) !important;
}

.bg-status-waiting {
    background-color: var(--bs-warning) !important;
}

.bg-status-closed {
    background-color: var(--bs-danger) !important;
}

.bg-status-pending {
    background-color: var(--bs-danger) !important;
}

h1, .h1 {
    color: var(--bs-primary);
}

h2, .h2 {
    color: var(--bs-secondary);
}

.k-invalid {
    border-color: red;
}

.test {
    content: "\f7a4";
}

.map {
    min-height: 400px;
}

.ol-viewport {
    position: unset !important;
}

.version {
    position: sticky;
    background-color: aqua;
    bottom: 0;
    text-align: center;
}

.delivery-method {
    font-size: 1.25rem;
}

.text-small {
    font-size: 0.9rem;
    float: right;
}

.input-validation-error {
    border: 1px dashed red;
}

.tab-content p {
    margin-top: 1rem;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJtYXBwaW5ncyI6Ijs7QUFBQSxnQkFBZ0I7QUNDZDs7Ozs7RUFBQTtBQ0RGO0lBUUk7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUlBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUlBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFJQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBR0Y7SUFDQTtJQUNBO0lBQ0E7SUFNQTtJQUNBO0lBQ0E7SUFPQTtJQzRQSSx5QkFMSTtJRHJQUjtJQUNBO0lBQ0E7SUFJQTtJQUlBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBR0E7SUFDQTtJQUVBO0lBRUE7QUZLRjs7QUk3REE7OztJQUdFO0FKZ0VGOztBSWpESTtJQU5KO1FBT007SUpxREY7QUFDSjs7QUl4Q0E7SUFDRTtJQUNBO0lEbVBJLG1DQUxJO0lDNU9SO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FKMkNGOztBSWxDQTtJQUNFO0lBQ0EsY0NpakI0QjtJRGhqQjVCO0lBQ0E7SUFDQSxhQ3VqQjRCO0FMbGhCOUI7O0FJM0JBO0lBQ0U7SUFDQSxxQkN3ZjRCO0lEdmY1QixtTUVsRXFCO0lGb0VyQixnQkVyQ3FCO0lGc0NyQixnQkN3ZjRCO0FMM2Q5Qjs7QUl6QkE7SUQ2TVE7QUhoTFI7QUdjSTtJQzNDSjtRRG9OUTtJSG5MSjtBQUNKOztBSTdCQTtJRHdNUTtBSHZLUjtBR0tJO0lDdENKO1FEK01RO0lIMUtKO0FBQ0o7O0FJakNBO0lEbU1RO0FIOUpSO0FHSkk7SUNqQ0o7UUQwTVE7SUhqS0o7QUFDSjs7QUlyQ0E7SUQ4TFE7QUhySlI7QUdiSTtJQzVCSjtRRHFNUTtJSHhKSjtBQUNKOztBSXpDQTtJRHFMTSxrQkFMSTtBSG5JVjs7QUl4Q0E7SURnTE0sZUFMSTtBSC9IVjs7QUlqQ0E7SUFDRTtJQUNBLG1CQ21TMEI7QUwvUDVCOztBSTFCQTtJQUNFO0lBQ0E7SUFDQTtBSjZCRjs7QUl2QkE7SUFDRTtJQUNBO0lBQ0E7QUowQkY7O0FJcEJBOztJQUVFO0FKdUJGOztBSXBCQTs7O0lBR0U7SUFDQTtBSnVCRjs7QUlwQkE7Ozs7SUFJRTtBSnVCRjs7QUlwQkE7SUFDRSxnQkM2WDRCO0FMdFc5Qjs7QUlsQkE7SUFDRTtJQUNBO0FKcUJGOztBSWZBO0lBQ0U7QUprQkY7O0FJVkE7O0lBRUUsbUJDc1c0QjtBTHpWOUI7O0FJTEE7SURtRk0sa0JBTEk7QUhyRVY7O0FJRkE7SUFDRSxpQkMrYTRCO0lEOWE1QjtBSktGOztBSUlBOztJQUVFO0lEK0RJLGlCQUxJO0lDeERSO0lBQ0E7QUpERjs7QUlJQTtJQUFNO0FKQU47O0FJQ0E7SUFBTTtBSkdOOztBSUVBO0lBQ0U7SUFDQSwwQkNxS3dDO0FMcEsxQztBSUNFO0lBQ0U7QUpDSjs7QUlVRTtJQUVFO0lBQ0E7QUpSSjs7QUllQTs7OztJQUlFLHFDQ2tSNEI7SUY3UHhCLGNBTEk7QUgzQlY7O0FJbUJBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SURTSSxrQkFMSTtBSG5CVjtBSW9CRTtJRElJLGtCQUxJO0lDR047SUFDQTtBSmxCSjs7QUlzQkE7SURITSxrQkFMSTtJQ1VSO0lBQ0E7QUpuQkY7QUlzQkU7SUFDRTtBSnBCSjs7QUl3QkE7SUFDRTtJRGZJLGtCQUxJO0lDc0JSLHdCQ3V5Q2tDO0lEdHlDbEMsc0NDdXlDa0M7SUUza0RoQztBUGdSSjtBSXVCRTtJQUNFO0lEdEJFLGNBTEk7QUhPVjs7QUkrQkE7SUFDRTtBSjVCRjs7QUlrQ0E7O0lBRUU7QUovQkY7O0FJdUNBO0lBQ0U7SUFDQTtBSnBDRjs7QUl1Q0E7SUFDRSxtQkNzVDRCO0lEclQ1QixzQkNxVDRCO0lEcFQ1QixjQ2pWUztJRGtWVDtBSnBDRjs7QUkyQ0E7SUFFRTtJQUNBO0FKekNGOztBSTRDQTs7Ozs7O0lBTUU7SUFDQTtJQUNBO0FKekNGOztBSWlEQTtJQUNFO0FKOUNGOztBSW9EQTtJQUVFO0FKbERGOztBSTBEQTtJQUNFO0FKdkRGOztBSTREQTs7Ozs7SUFLRTtJQUNBO0lEckhJLGtCQUxJO0lDNEhSO0FKekRGOztBSTZEQTs7SUFFRTtBSjFERjs7QUkrREE7SUFDRTtBSjVERjs7QUkrREE7SUFHRTtBSjlERjtBSWlFRTtJQUNFO0FKL0RKOztBSXNFQTtJQUNFO0FKbkVGOztBSTJFQTs7OztJQUlFO0FKeEVGO0FJMkVJOzs7O0lBQ0U7QUp0RU47O0FJNkVBO0lBQ0U7SUFDQTtBSjFFRjs7QUkrRUE7SUFDRTtBSjVFRjs7QUlzRkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtBSm5GRjs7QUkyRkE7SUFDRTtJQUNBO0lBQ0E7SUFDQSxxQkM4STRCO0lGeFZ0QjtJQzZNTjtBSnpGRjtBR3RSSTtJQ3dXSjtRRC9MUTtJSGlISjtBQUNKO0FJc0ZFO0lBQ0U7QUpwRko7O0FJMkZBOzs7Ozs7O0lBT0U7QUp4RkY7O0FJMkZBO0lBQ0U7QUp4RkY7O0FJaUdBO0lBQ0U7SUFDQTtBSjlGRjs7QUlzR0E7Ozs7Ozs7Q0FBQTtBQVdBO0lBQ0U7QUp0R0Y7O0FJMkdBO0lBQ0U7QUp4R0Y7O0FJK0dBO0lBQ0U7SUFDQTtBSjVHRjs7QUlpSEE7SUFDRTtBSjlHRjs7QUltSEE7SUFDRTtBSmhIRjs7QUl1SEE7SUFDRTtJQUNBO0FKcEhGOztBSTRIQTtJQUNFO0FKekhGOztBSWlJQTtJQUNFO0FKOUhGOztBUXRjQTtJTHlRTSxrQkFMSTtJS2xRUixnQkh3a0I0QjtBTC9IOUI7O0FRcGNFO0lMc1FNO0lLbFFKLGdCSHlqQmtCO0lHeGpCbEIsZ0JId2lCMEI7QUxuRzlCO0FHdFdJO0lLcEdGO1FMNlFNO0lIaU1KO0FBQ0o7O0FRL2NFO0lMc1FNO0lLbFFKLGdCSHlqQmtCO0lHeGpCbEIsZ0JId2lCMEI7QUx4RjlCO0FHalhJO0lLcEdGO1FMNlFNO0lINE1KO0FBQ0o7O0FRMWRFO0lMc1FNO0lLbFFKLGdCSHlqQmtCO0lHeGpCbEIsZ0JId2lCMEI7QUw3RTlCO0FHNVhJO0lLcEdGO1FMNlFNO0lIdU5KO0FBQ0o7O0FRcmVFO0lMc1FNO0lLbFFKLGdCSHlqQmtCO0lHeGpCbEIsZ0JId2lCMEI7QUxsRTlCO0FHdllJO0lLcEdGO1FMNlFNO0lIa09KO0FBQ0o7O0FRaGZFO0lMc1FNO0lLbFFKLGdCSHlqQmtCO0lHeGpCbEIsZ0JId2lCMEI7QUx2RDlCO0FHbFpJO0lLcEdGO1FMNlFNO0lINk9KO0FBQ0o7O0FRM2ZFO0lMc1FNO0lLbFFKLGdCSHlqQmtCO0lHeGpCbEIsZ0JId2lCMEI7QUw1QzlCO0FHN1pJO0lLcEdGO1FMNlFNO0lId1BKO0FBQ0o7O0FROWVBO0lDdkRFO0lBQ0E7QVR5aUJGOztBUTllQTtJQzVERTtJQUNBO0FUOGlCRjs7QVFoZkE7SUFDRTtBUm1mRjtBUWpmRTtJQUNFLG9CSGdrQjBCO0FMN0U5Qjs7QVF6ZUE7SUxvTk0sa0JBTEk7SUs3TVI7QVI0ZUY7O0FReGVBO0lBQ0UsbUJINlJPO0lGaEZILGtCQUxJO0FIb1NWO0FRemVFO0lBQ0U7QVIyZUo7O0FRdmVBO0lBQ0U7SUFDQSxtQkhtUk87SUZoRkgsa0JBTEk7SUs1TFIsY0h0RlM7QUxna0JYO0FReGVFO0lBQ0U7QVIwZUo7O0FVMWtCQTtJQ0lFO0lBR0E7QVh3a0JGOztBVXprQkE7SUFDRSxnQkw0OENrQztJSzM4Q2xDLHNCTFBTO0lLUVQ7SUhHRTtJSVJGO0lBR0E7QVhpbEJGOztBVW5rQkE7SUFFRTtBVnFrQkY7O0FVbGtCQTtJQUNFO0lBQ0E7QVZxa0JGOztBVWxrQkE7SVArUE0sa0JBTEk7SU94UFIsY0wxQlM7QUwrbEJYOztBWXZtQkU7Ozs7Ozs7SUNIQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBYm9uQkY7O0FjOWpCSTtJRjVDRTtRQUNFLGdCUDZhZTtJTGlNbkI7QUFDSjtBY3BrQkk7SUY1Q0U7UUFDRSxnQlA2YWU7SUxzTW5CO0FBQ0o7QWN6a0JJO0lGNUNFO1FBQ0UsZ0JQNmFlO0lMMk1uQjtBQUNKO0FjOWtCSTtJRjVDRTtRQUNFLGlCUDZhZTtJTGdObkI7QUFDSjtBY25sQkk7SUY1Q0U7UUFDRSxpQlA2YWU7SUxxTm5CO0FBQ0o7QWVscEJFO0lDQUE7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7QWhCb3BCRjtBZXhwQkk7SUNhRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWhCOG9CRjs7QWdCL2xCTTtJQUNFO0FoQmttQlI7O0FnQi9sQk07SUFwQ0o7SUFDQTtBaEJ1b0JGOztBZ0J6bkJFO0lBQ0U7SUFDQTtBaEI0bkJKOztBZ0I5bkJFO0lBQ0U7SUFDQTtBaEJpb0JKOztBZ0Jub0JFO0lBQ0U7SUFDQTtBaEJzb0JKOztBZ0J4b0JFO0lBQ0U7SUFDQTtBaEIyb0JKOztBZ0I3b0JFO0lBQ0U7SUFDQTtBaEJncEJKOztBZ0JscEJFO0lBQ0U7SUFDQTtBaEJxcEJKOztBZ0J0bkJNO0lBaERKO0lBQ0E7QWhCMHFCRjs7QWdCcm5CVTtJQWhFTjtJQUNBO0FoQnlyQko7O0FnQjFuQlU7SUFoRU47SUFDQTtBaEI4ckJKOztBZ0IvbkJVO0lBaEVOO0lBQ0E7QWhCbXNCSjs7QWdCcG9CVTtJQWhFTjtJQUNBO0FoQndzQko7O0FnQnpvQlU7SUFoRU47SUFDQTtBaEI2c0JKOztBZ0I5b0JVO0lBaEVOO0lBQ0E7QWhCa3RCSjs7QWdCbnBCVTtJQWhFTjtJQUNBO0FoQnV0Qko7O0FnQnhwQlU7SUFoRU47SUFDQTtBaEI0dEJKOztBZ0I3cEJVO0lBaEVOO0lBQ0E7QWhCaXVCSjs7QWdCbHFCVTtJQWhFTjtJQUNBO0FoQnN1Qko7O0FnQnZxQlU7SUFoRU47SUFDQTtBaEIydUJKOztBZ0I1cUJVO0lBaEVOO0lBQ0E7QWhCZ3ZCSjs7QWdCenFCWTtJQXhEVjtBaEJxdUJGOztBZ0I3cUJZO0lBeERWO0FoQnl1QkY7O0FnQmpyQlk7SUF4RFY7QWhCNnVCRjs7QWdCcnJCWTtJQXhEVjtBaEJpdkJGOztBZ0J6ckJZO0lBeERWO0FoQnF2QkY7O0FnQjdyQlk7SUF4RFY7QWhCeXZCRjs7QWdCanNCWTtJQXhEVjtBaEI2dkJGOztBZ0Jyc0JZO0lBeERWO0FoQml3QkY7O0FnQnpzQlk7SUF4RFY7QWhCcXdCRjs7QWdCN3NCWTtJQXhEVjtBaEJ5d0JGOztBZ0JqdEJZO0lBeERWO0FoQjZ3QkY7O0FnQjFzQlE7O0lBRUU7QWhCNnNCVjs7QWdCMXNCUTs7SUFFRTtBaEI2c0JWOztBZ0JwdEJROztJQUVFO0FoQnV0QlY7O0FnQnB0QlE7O0lBRUU7QWhCdXRCVjs7QWdCOXRCUTs7SUFFRTtBaEJpdUJWOztBZ0I5dEJROztJQUVFO0FoQml1QlY7O0FnQnh1QlE7O0lBRUU7QWhCMnVCVjs7QWdCeHVCUTs7SUFFRTtBaEIydUJWOztBZ0JsdkJROztJQUVFO0FoQnF2QlY7O0FnQmx2QlE7O0lBRUU7QWhCcXZCVjs7QWdCNXZCUTs7SUFFRTtBaEIrdkJWOztBZ0I1dkJROztJQUVFO0FoQit2QlY7O0FjenpCSTtJRVVFO1FBQ0U7SWhCbXpCSjtJZ0JoekJFO1FBcENKO1FBQ0E7SWhCdTFCRTtJZ0J6MEJGO1FBQ0U7UUFDQTtJaEIyMEJBO0lnQjcwQkY7UUFDRTtRQUNBO0loQiswQkE7SWdCajFCRjtRQUNFO1FBQ0E7SWhCbTFCQTtJZ0JyMUJGO1FBQ0U7UUFDQTtJaEJ1MUJBO0lnQnoxQkY7UUFDRTtRQUNBO0loQjIxQkE7SWdCNzFCRjtRQUNFO1FBQ0E7SWhCKzFCQTtJZ0JoMEJFO1FBaERKO1FBQ0E7SWhCbTNCRTtJZ0I5ekJNO1FBaEVOO1FBQ0E7SWhCaTRCQTtJZ0JsMEJNO1FBaEVOO1FBQ0E7SWhCcTRCQTtJZ0J0MEJNO1FBaEVOO1FBQ0E7SWhCeTRCQTtJZ0IxMEJNO1FBaEVOO1FBQ0E7SWhCNjRCQTtJZ0I5MEJNO1FBaEVOO1FBQ0E7SWhCaTVCQTtJZ0JsMUJNO1FBaEVOO1FBQ0E7SWhCcTVCQTtJZ0J0MUJNO1FBaEVOO1FBQ0E7SWhCeTVCQTtJZ0IxMUJNO1FBaEVOO1FBQ0E7SWhCNjVCQTtJZ0I5MUJNO1FBaEVOO1FBQ0E7SWhCaTZCQTtJZ0JsMkJNO1FBaEVOO1FBQ0E7SWhCcTZCQTtJZ0J0MkJNO1FBaEVOO1FBQ0E7SWhCeTZCQTtJZ0IxMkJNO1FBaEVOO1FBQ0E7SWhCNjZCQTtJZ0J0MkJRO1FBeERWO0loQmk2QkU7SWdCejJCUTtRQXhEVjtJaEJvNkJFO0lnQjUyQlE7UUF4RFY7SWhCdTZCRTtJZ0IvMkJRO1FBeERWO0loQjA2QkU7SWdCbDNCUTtRQXhEVjtJaEI2NkJFO0lnQnIzQlE7UUF4RFY7SWhCZzdCRTtJZ0J4M0JRO1FBeERWO0loQm03QkU7SWdCMzNCUTtRQXhEVjtJaEJzN0JFO0lnQjkzQlE7UUF4RFY7SWhCeTdCRTtJZ0JqNEJRO1FBeERWO0loQjQ3QkU7SWdCcDRCUTtRQXhEVjtJaEIrN0JFO0lnQnY0QlE7UUF4RFY7SWhCazhCRTtJZ0IvM0JJOztRQUVFO0loQmk0Qk47SWdCOTNCSTs7UUFFRTtJaEJnNEJOO0lnQnY0Qkk7O1FBRUU7SWhCeTRCTjtJZ0J0NEJJOztRQUVFO0loQnc0Qk47SWdCLzRCSTs7UUFFRTtJaEJpNUJOO0lnQjk0Qkk7O1FBRUU7SWhCZzVCTjtJZ0J2NUJJOztRQUVFO0loQnk1Qk47SWdCdDVCSTs7UUFFRTtJaEJ3NUJOO0lnQi81Qkk7O1FBRUU7SWhCaTZCTjtJZ0I5NUJJOztRQUVFO0loQmc2Qk47SWdCdjZCSTs7UUFFRTtJaEJ5NkJOO0lnQnQ2Qkk7O1FBRUU7SWhCdzZCTjtBQUNKO0FjbitCSTtJRVVFO1FBQ0U7SWhCNDlCSjtJZ0J6OUJFO1FBcENKO1FBQ0E7SWhCZ2dDRTtJZ0JsL0JGO1FBQ0U7UUFDQTtJaEJvL0JBO0lnQnQvQkY7UUFDRTtRQUNBO0loQncvQkE7SWdCMS9CRjtRQUNFO1FBQ0E7SWhCNC9CQTtJZ0I5L0JGO1FBQ0U7UUFDQTtJaEJnZ0NBO0lnQmxnQ0Y7UUFDRTtRQUNBO0loQm9nQ0E7SWdCdGdDRjtRQUNFO1FBQ0E7SWhCd2dDQTtJZ0J6K0JFO1FBaERKO1FBQ0E7SWhCNGhDRTtJZ0J2K0JNO1FBaEVOO1FBQ0E7SWhCMGlDQTtJZ0IzK0JNO1FBaEVOO1FBQ0E7SWhCOGlDQTtJZ0IvK0JNO1FBaEVOO1FBQ0E7SWhCa2pDQTtJZ0JuL0JNO1FBaEVOO1FBQ0E7SWhCc2pDQTtJZ0J2L0JNO1FBaEVOO1FBQ0E7SWhCMGpDQTtJZ0IzL0JNO1FBaEVOO1FBQ0E7SWhCOGpDQTtJZ0IvL0JNO1FBaEVOO1FBQ0E7SWhCa2tDQTtJZ0JuZ0NNO1FBaEVOO1FBQ0E7SWhCc2tDQTtJZ0J2Z0NNO1FBaEVOO1FBQ0E7SWhCMGtDQTtJZ0IzZ0NNO1FBaEVOO1FBQ0E7SWhCOGtDQTtJZ0IvZ0NNO1FBaEVOO1FBQ0E7SWhCa2xDQTtJZ0JuaENNO1FBaEVOO1FBQ0E7SWhCc2xDQTtJZ0IvZ0NRO1FBeERWO0loQjBrQ0U7SWdCbGhDUTtRQXhEVjtJaEI2a0NFO0lnQnJoQ1E7UUF4RFY7SWhCZ2xDRTtJZ0J4aENRO1FBeERWO0loQm1sQ0U7SWdCM2hDUTtRQXhEVjtJaEJzbENFO0lnQjloQ1E7UUF4RFY7SWhCeWxDRTtJZ0JqaUNRO1FBeERWO0loQjRsQ0U7SWdCcGlDUTtRQXhEVjtJaEIrbENFO0lnQnZpQ1E7UUF4RFY7SWhCa21DRTtJZ0IxaUNRO1FBeERWO0loQnFtQ0U7SWdCN2lDUTtRQXhEVjtJaEJ3bUNFO0lnQmhqQ1E7UUF4RFY7SWhCMm1DRTtJZ0J4aUNJOztRQUVFO0loQjBpQ047SWdCdmlDSTs7UUFFRTtJaEJ5aUNOO0lnQmhqQ0k7O1FBRUU7SWhCa2pDTjtJZ0IvaUNJOztRQUVFO0loQmlqQ047SWdCeGpDSTs7UUFFRTtJaEIwakNOO0lnQnZqQ0k7O1FBRUU7SWhCeWpDTjtJZ0Joa0NJOztRQUVFO0loQmtrQ047SWdCL2pDSTs7UUFFRTtJaEJpa0NOO0lnQnhrQ0k7O1FBRUU7SWhCMGtDTjtJZ0J2a0NJOztRQUVFO0loQnlrQ047SWdCaGxDSTs7UUFFRTtJaEJrbENOO0lnQi9rQ0k7O1FBRUU7SWhCaWxDTjtBQUNKO0FjNW9DSTtJRVVFO1FBQ0U7SWhCcW9DSjtJZ0Jsb0NFO1FBcENKO1FBQ0E7SWhCeXFDRTtJZ0IzcENGO1FBQ0U7UUFDQTtJaEI2cENBO0lnQi9wQ0Y7UUFDRTtRQUNBO0loQmlxQ0E7SWdCbnFDRjtRQUNFO1FBQ0E7SWhCcXFDQTtJZ0J2cUNGO1FBQ0U7UUFDQTtJaEJ5cUNBO0lnQjNxQ0Y7UUFDRTtRQUNBO0loQjZxQ0E7SWdCL3FDRjtRQUNFO1FBQ0E7SWhCaXJDQTtJZ0JscENFO1FBaERKO1FBQ0E7SWhCcXNDRTtJZ0JocENNO1FBaEVOO1FBQ0E7SWhCbXRDQTtJZ0JwcENNO1FBaEVOO1FBQ0E7SWhCdXRDQTtJZ0J4cENNO1FBaEVOO1FBQ0E7SWhCMnRDQTtJZ0I1cENNO1FBaEVOO1FBQ0E7SWhCK3RDQTtJZ0JocUNNO1FBaEVOO1FBQ0E7SWhCbXVDQTtJZ0JwcUNNO1FBaEVOO1FBQ0E7SWhCdXVDQTtJZ0J4cUNNO1FBaEVOO1FBQ0E7SWhCMnVDQTtJZ0I1cUNNO1FBaEVOO1FBQ0E7SWhCK3VDQTtJZ0JockNNO1FBaEVOO1FBQ0E7SWhCbXZDQTtJZ0JwckNNO1FBaEVOO1FBQ0E7SWhCdXZDQTtJZ0J4ckNNO1FBaEVOO1FBQ0E7SWhCMnZDQTtJZ0I1ckNNO1FBaEVOO1FBQ0E7SWhCK3ZDQTtJZ0J4ckNRO1FBeERWO0loQm12Q0U7SWdCM3JDUTtRQXhEVjtJaEJzdkNFO0lnQjlyQ1E7UUF4RFY7SWhCeXZDRTtJZ0Jqc0NRO1FBeERWO0loQjR2Q0U7SWdCcHNDUTtRQXhEVjtJaEIrdkNFO0lnQnZzQ1E7UUF4RFY7SWhCa3dDRTtJZ0Ixc0NRO1FBeERWO0loQnF3Q0U7SWdCN3NDUTtRQXhEVjtJaEJ3d0NFO0lnQmh0Q1E7UUF4RFY7SWhCMndDRTtJZ0JudENRO1FBeERWO0loQjh3Q0U7SWdCdHRDUTtRQXhEVjtJaEJpeENFO0lnQnp0Q1E7UUF4RFY7SWhCb3hDRTtJZ0JqdENJOztRQUVFO0loQm10Q047SWdCaHRDSTs7UUFFRTtJaEJrdENOO0lnQnp0Q0k7O1FBRUU7SWhCMnRDTjtJZ0J4dENJOztRQUVFO0loQjB0Q047SWdCanVDSTs7UUFFRTtJaEJtdUNOO0lnQmh1Q0k7O1FBRUU7SWhCa3VDTjtJZ0J6dUNJOztRQUVFO0loQjJ1Q047SWdCeHVDSTs7UUFFRTtJaEIwdUNOO0lnQmp2Q0k7O1FBRUU7SWhCbXZDTjtJZ0JodkNJOztRQUVFO0loQmt2Q047SWdCenZDSTs7UUFFRTtJaEIydkNOO0lnQnh2Q0k7O1FBRUU7SWhCMHZDTjtBQUNKO0FjcnpDSTtJRVVFO1FBQ0U7SWhCOHlDSjtJZ0IzeUNFO1FBcENKO1FBQ0E7SWhCazFDRTtJZ0JwMENGO1FBQ0U7UUFDQTtJaEJzMENBO0lnQngwQ0Y7UUFDRTtRQUNBO0loQjAwQ0E7SWdCNTBDRjtRQUNFO1FBQ0E7SWhCODBDQTtJZ0JoMUNGO1FBQ0U7UUFDQTtJaEJrMUNBO0lnQnAxQ0Y7UUFDRTtRQUNBO0loQnMxQ0E7SWdCeDFDRjtRQUNFO1FBQ0E7SWhCMDFDQTtJZ0IzekNFO1FBaERKO1FBQ0E7SWhCODJDRTtJZ0J6ekNNO1FBaEVOO1FBQ0E7SWhCNDNDQTtJZ0I3ekNNO1FBaEVOO1FBQ0E7SWhCZzRDQTtJZ0JqMENNO1FBaEVOO1FBQ0E7SWhCbzRDQTtJZ0JyMENNO1FBaEVOO1FBQ0E7SWhCdzRDQTtJZ0J6MENNO1FBaEVOO1FBQ0E7SWhCNDRDQTtJZ0I3MENNO1FBaEVOO1FBQ0E7SWhCZzVDQTtJZ0JqMUNNO1FBaEVOO1FBQ0E7SWhCbzVDQTtJZ0JyMUNNO1FBaEVOO1FBQ0E7SWhCdzVDQTtJZ0J6MUNNO1FBaEVOO1FBQ0E7SWhCNDVDQTtJZ0I3MUNNO1FBaEVOO1FBQ0E7SWhCZzZDQTtJZ0JqMkNNO1FBaEVOO1FBQ0E7SWhCbzZDQTtJZ0JyMkNNO1FBaEVOO1FBQ0E7SWhCdzZDQTtJZ0JqMkNRO1FBeERWO0loQjQ1Q0U7SWdCcDJDUTtRQXhEVjtJaEIrNUNFO0lnQnYyQ1E7UUF4RFY7SWhCazZDRTtJZ0IxMkNRO1FBeERWO0loQnE2Q0U7SWdCNzJDUTtRQXhEVjtJaEJ3NkNFO0lnQmgzQ1E7UUF4RFY7SWhCMjZDRTtJZ0JuM0NRO1FBeERWO0loQjg2Q0U7SWdCdDNDUTtRQXhEVjtJaEJpN0NFO0lnQnozQ1E7UUF4RFY7SWhCbzdDRTtJZ0I1M0NRO1FBeERWO0loQnU3Q0U7SWdCLzNDUTtRQXhEVjtJaEIwN0NFO0lnQmw0Q1E7UUF4RFY7SWhCNjdDRTtJZ0IxM0NJOztRQUVFO0loQjQzQ047SWdCejNDSTs7UUFFRTtJaEIyM0NOO0lnQmw0Q0k7O1FBRUU7SWhCbzRDTjtJZ0JqNENJOztRQUVFO0loQm00Q047SWdCMTRDSTs7UUFFRTtJaEI0NENOO0lnQno0Q0k7O1FBRUU7SWhCMjRDTjtJZ0JsNUNJOztRQUVFO0loQm81Q047SWdCajVDSTs7UUFFRTtJaEJtNUNOO0lnQjE1Q0k7O1FBRUU7SWhCNDVDTjtJZ0J6NUNJOztRQUVFO0loQjI1Q047SWdCbDZDSTs7UUFFRTtJaEJvNkNOO0lnQmo2Q0k7O1FBRUU7SWhCbTZDTjtBQUNKO0FjOTlDSTtJRVVFO1FBQ0U7SWhCdTlDSjtJZ0JwOUNFO1FBcENKO1FBQ0E7SWhCMi9DRTtJZ0I3K0NGO1FBQ0U7UUFDQTtJaEIrK0NBO0lnQmovQ0Y7UUFDRTtRQUNBO0loQm0vQ0E7SWdCci9DRjtRQUNFO1FBQ0E7SWhCdS9DQTtJZ0J6L0NGO1FBQ0U7UUFDQTtJaEIyL0NBO0lnQjcvQ0Y7UUFDRTtRQUNBO0loQisvQ0E7SWdCamdERjtRQUNFO1FBQ0E7SWhCbWdEQTtJZ0JwK0NFO1FBaERKO1FBQ0E7SWhCdWhERTtJZ0JsK0NNO1FBaEVOO1FBQ0E7SWhCcWlEQTtJZ0J0K0NNO1FBaEVOO1FBQ0E7SWhCeWlEQTtJZ0IxK0NNO1FBaEVOO1FBQ0E7SWhCNmlEQTtJZ0I5K0NNO1FBaEVOO1FBQ0E7SWhCaWpEQTtJZ0JsL0NNO1FBaEVOO1FBQ0E7SWhCcWpEQTtJZ0J0L0NNO1FBaEVOO1FBQ0E7SWhCeWpEQTtJZ0IxL0NNO1FBaEVOO1FBQ0E7SWhCNmpEQTtJZ0I5L0NNO1FBaEVOO1FBQ0E7SWhCaWtEQTtJZ0JsZ0RNO1FBaEVOO1FBQ0E7SWhCcWtEQTtJZ0J0Z0RNO1FBaEVOO1FBQ0E7SWhCeWtEQTtJZ0IxZ0RNO1FBaEVOO1FBQ0E7SWhCNmtEQTtJZ0I5Z0RNO1FBaEVOO1FBQ0E7SWhCaWxEQTtJZ0IxZ0RRO1FBeERWO0loQnFrREU7SWdCN2dEUTtRQXhEVjtJaEJ3a0RFO0lnQmhoRFE7UUF4RFY7SWhCMmtERTtJZ0JuaERRO1FBeERWO0loQjhrREU7SWdCdGhEUTtRQXhEVjtJaEJpbERFO0lnQnpoRFE7UUF4RFY7SWhCb2xERTtJZ0I1aERRO1FBeERWO0loQnVsREU7SWdCL2hEUTtRQXhEVjtJaEIwbERFO0lnQmxpRFE7UUF4RFY7SWhCNmxERTtJZ0JyaURRO1FBeERWO0loQmdtREU7SWdCeGlEUTtRQXhEVjtJaEJtbURFO0lnQjNpRFE7UUF4RFY7SWhCc21ERTtJZ0JuaURJOztRQUVFO0loQnFpRE47SWdCbGlESTs7UUFFRTtJaEJvaUROO0lnQjNpREk7O1FBRUU7SWhCNmlETjtJZ0IxaURJOztRQUVFO0loQjRpRE47SWdCbmpESTs7UUFFRTtJaEJxakROO0lnQmxqREk7O1FBRUU7SWhCb2pETjtJZ0IzakRJOztRQUVFO0loQjZqRE47SWdCMWpESTs7UUFFRTtJaEI0akROO0lnQm5rREk7O1FBRUU7SWhCcWtETjtJZ0Jsa0RJOztRQUVFO0loQm9rRE47SWdCM2tESTs7UUFFRTtJaEI2a0ROO0lnQjFrREk7O1FBRUU7SWhCNGtETjtBQUNKO0FpQmxzREE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBQ0EsbUJab1dPO0lZbldQO0lBQ0EsbUJacW9CNEI7SVlwb0I1QjtBakJtc0RGO0FpQjVyREU7SUFDRTtJQUNBO0lBQ0Esd0JaaWMwQjtJWWhjMUI7QWpCOHJESjtBaUIzckRFO0lBQ0U7QWpCNnJESjtBaUIxckRFO0lBQ0U7QWpCNHJESjs7QWlCeHJEQTtJQUNFO0FqQjJyREY7O0FpQnByREE7SUFDRTtBakJ1ckRGOztBaUI3cURFO0lBQ0U7QWpCZ3JESjs7QWlCanFERTtJQUNFO0FqQm9xREo7QWlCanFESTtJQUNFO0FqQm1xRE47O0FpQjVwREU7SUFDRTtBakIrcERKO0FpQjVwREU7SUFDRTtBakI4cERKOztBaUJwcERFO0lBQ0U7SUFDQTtBakJ1cERKOztBaUJqcERFO0lBQ0U7SUFDQTtBakJvcERKOztBaUI1b0RBO0lBQ0U7SUFDQTtBakIrb0RGOztBaUJ2b0RFO0lBQ0U7SUFDQTtBakIwb0RKOztBa0Ivd0RFO0lBT0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBbEIyd0RKOztBa0I3eERFO0lBT0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBbEJ5eERKOztBa0IzeURFO0lBT0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBbEJ1eURKOztBa0J6ekRFO0lBT0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBbEJxekRKOztBa0J2MERFO0lBT0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBbEJtMERKOztBa0JyMURFO0lBT0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBbEJpMURKOztBa0JuMkRFO0lBT0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBbEIrMURKOztBa0JqM0RFO0lBT0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBbEI2MkRKOztBaUJudURJO0lBQ0U7SUFDQTtBakJzdUROOztBYzF6REk7SUdrRkE7UUFDRTtRQUNBO0lqQjR1REY7QUFDSjtBY2owREk7SUdrRkE7UUFDRTtRQUNBO0lqQmt2REY7QUFDSjtBY3YwREk7SUdrRkE7UUFDRTtRQUNBO0lqQnd2REY7QUFDSjtBYzcwREk7SUdrRkE7UUFDRTtRQUNBO0lqQjh2REY7QUFDSjtBY24xREk7SUdrRkE7UUFDRTtRQUNBO0lqQm93REY7QUFDSjtBbUJqNkRBO0lBQ0UscUJkOHhCc0M7QUxxb0N4Qzs7QW1CMTVEQTtJQUNFO0lBQ0E7SUFDQTtJaEJvUkksa0JBTEk7SWdCM1FSLGdCZCtoQjRCO0FMNDNDOUI7O0FtQnY1REE7SUFDRTtJQUNBO0loQjBRSSxrQkFMSTtBSHNwRFY7O0FtQnY1REE7SUFDRTtJQUNBO0loQm9RSSxtQkFMSTtBSDRwRFY7O0FvQng3REE7SUFDRSxtQmZzeEJzQztJRnRmbEMsa0JBTEk7SWlCdlJSLGNmS1M7QUxvN0RYOztBcUI5N0RBO0lBQ0U7SUFDQTtJQUNBO0lsQjhSSSxlQUxJO0lrQnRSUixnQmZ1Q21CO0lldENuQixnQmhCeWlCNEI7SWdCeGlCNUIsY2hCS1M7SWdCSlQsc0JoQkxTO0lnQk1UO0lBQ0E7SUFDQTtJZEdFO0llSEUsd0VETUo7QXJCNDdERjtBc0I5N0RNO0lEaEJOO1FDaUJRO0l0Qmk4REo7QUFDSjtBcUIvN0RFO0lBQ0U7QXJCaThESjtBcUIvN0RJO0lBQ0U7QXJCaThETjtBcUI1N0RFO0lBQ0UsY2hCakJPO0lnQmtCUCxzQmhCM0JPO0lnQjRCUCxxQmhCcXlCb0M7SWdCcHlCcEM7SUFLRSxpRGhCNnFCMEI7QUw2d0NoQztBcUJuN0RFO0lBRUU7QXJCbzdESjtBcUJoN0RFO0lBQ0UsY2hCMUNPO0lnQjRDUDtBckJpN0RKO0FxQno2REU7SUFFRSx5QmhCMURPO0lnQjZEUDtBckJ3NkRKO0FxQnA2REU7SUFDRTtJQUNBO0lBQ0EsMEJoQmdvQjBCO0lnQi9uQjFCLGNoQjlETztJa0JiVCx5QmxCTVM7SWdCdUVQO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsNEJoQjBZMEI7SWdCelkxQjtJQ3RFRSxxSUR1RUY7QXJCczZESjtBc0J6K0RNO0lEdURKO1FDdERNO0l0QjQrREo7QUFDSjtBcUJ4NkRFO0lBQ0UseUJoQnM0QjhCO0FMb2lDbEM7O0FxQmo2REE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGdCaEIyYzRCO0lnQjFjNUIsY2hCekZTO0lnQjBGVDtJQUNBO0lBQ0E7QXJCbzZERjtBcUJsNkRFO0lBQ0U7QXJCbzZESjtBcUJqNkRFO0lBRUU7SUFDQTtBckJrNkRKOztBcUJ2NURBO0lBQ0Usc0NoQnN0QnNDO0lnQnJ0QnRDO0lsQmtLSSxtQkFMSTtJSTdRTjtBUDRnRUo7QXFCeDVERTtJQUNFO0lBQ0E7SUFDQSx5QmhCZ2xCMEI7QUwwMEM5Qjs7QXFCdDVEQTtJQUNFLG9DaEIwc0JzQztJZ0J6c0J0QztJbEJxSkksa0JBTEk7SUk3UU47QVB3aEVKO0FxQnY1REU7SUFDRTtJQUNBO0lBQ0EsdUJoQnVrQjBCO0FMazFDOUI7O0FxQmo1REU7SUFDRSx1Q2hCdXJCb0M7QUw2dEN4QztBcUJqNURFO0lBQ0Usc0NoQm9yQm9DO0FMK3RDeEM7QXFCaDVERTtJQUNFLG9DaEJpckJvQztBTGl1Q3hDOztBcUI3NERBO0lBQ0UsV2hCK3FCc0M7SWdCOXFCdEMsbUNoQndxQnNDO0lnQnZxQnRDLGlCaEI2aEI0QjtBTG0zQzlCO0FxQjk0REU7SUFDRTtBckJnNURKO0FxQjc0REU7SUFDRTtJZHBLQTtBUG9qRUo7QXFCNTRERTtJZHhLRTtBUHVqRUo7QXFCMzRERTtJQUFvQixrQ2hCeXBCa0I7QUxxdkN4QztBcUI3NERFO0lBQW9CLGdDaEJ5cEJrQjtBTHV2Q3hDOztBd0Iza0VBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SXJCNFJJLGVBTEk7SXFCcFJSLGdCbEJxQ21CO0lrQnBDbkIsZ0JuQnVpQjRCO0ltQnRpQjVCLGNuQkdTO0ltQkZULHNCbkJQUztJbUJRVDtJQUNBO0lBQ0EseUNuQnc1QmtDO0ltQnY1QmxDLDBCbkJ3NUJrQztJbUJ2NUJsQztJakJERTtJZUhFLHdFRU9KO0lBQ0E7QXhCNGtFRjtBc0JobEVNO0lFZk47UUZnQlE7SXRCbWxFSjtBQUNKO0F3Qi9rRUU7SUFDRSxxQm5COHlCb0M7SW1CN3lCcEM7SUFLRSxpRG5CeTVCNEI7QUxvckNsQztBd0J6a0VFO0lBRUUsc0JuQnVxQjBCO0ltQnRxQjFCO0F4QjBrRUo7QXdCdmtFRTtJQUVFLHlCbkJuQ087QUwybUVYO0F3Qm5rRUU7SUFDRTtJQUNBO0F4QnFrRUo7O0F3QmprRUE7SUFDRSxvQm5CZ3FCNEI7SW1CL3BCNUIsdUJuQitwQjRCO0ltQjlwQjVCLG9CbkIrcEI0QjtJRnJieEIsbUJBTEk7SUk3UU47QVA4bUVKOztBd0Jqa0VBO0lBQ0UsbUJuQjRwQjRCO0ltQjNwQjVCLHNCbkIycEI0QjtJbUIxcEI1QixrQm5CMnBCNEI7SUZ6YnhCLGtCQUxJO0lJN1FOO0FQc25FSjs7QXlCcm9FQTtJQUNFO0lBQ0Esa0JwQjQxQndDO0lvQjMxQnhDLG1CcEI0MUJ3QztJb0IzMUJ4Qyx1QnBCNDFCd0M7QUw0eUMxQztBeUJ0b0VFO0lBQ0U7SUFDQTtBekJ3b0VKOztBeUJwb0VBO0lBQ0Usb0JwQmsxQndDO0lvQmoxQnhDO0lBQ0E7QXpCdW9FRjtBeUJyb0VFO0lBQ0U7SUFDQTtJQUNBO0F6QnVvRUo7O0F5Qm5vRUE7SUFDRSxVcEJvMEJ3QztJb0JuMEJ4QyxXcEJtMEJ3QztJb0JsMEJ4QztJQUNBO0lBQ0Esc0JwQnpCUztJb0IwQlQ7SUFDQTtJQUNBO0lBQ0EscUNwQnUwQndDO0lvQnQwQnhDO0lBQ0E7QXpCc29FRjtBeUJub0VFO0lsQnZCRTtBUDZwRUo7QXlCbG9FRTtJQUVFLGtCcEI4ekJzQztBTHEwQzFDO0F5QmhvRUU7SUFDRSx1QnBCcXpCc0M7QUw2MEMxQztBeUIvbkVFO0lBQ0UscUJwQml4Qm9DO0lvQmh4QnBDO0lBQ0EsaURwQjZwQjRCO0FMbytDaEM7QXlCOW5FRTtJQUNFLDJCQ25ETTtJRG9ETix1QkNwRE07QTFCb3JFVjtBeUI5bkVJO0lBSUk7QXpCNm5FUjtBeUJ6bkVJO0lBSUk7QXpCd25FUjtBeUJubkVFO0lBQ0UsMkJDeEVNO0lEeUVOLHVCQ3pFTTtJRDhFSjtBekJpbkVOO0F5QjdtRUU7SUFDRTtJQUNBO0lBQ0EsWXBCNnhCdUM7QUxrMUMzQztBeUJ4bUVJO0lBQ0U7SUFDQSxZcEJveEJxQztBTHMxQzNDOztBeUI1bEVBO0lBQ0UsbUJwQit3QmdDO0FMZzFDbEM7QXlCN2xFRTtJQUNFLFVwQjJ3QjhCO0lvQjF3QjlCO0lBQ0E7SUFDQTtJbEIzR0E7SWVIRSxpREdnSEY7QXpCK2xFSjtBc0Izc0VNO0lHc0dKO1FIckdNO0l0QjhzRUo7QUFDSjtBeUJsbUVJO0lBQ0U7QXpCb21FTjtBeUJqbUVJO0lBQ0UsaUNwQjB3QjRCO0lvQnJ3QjFCO0F6QitsRVI7QXlCMWxFRTtJQUNFLG9CcEJxdkI4QjtJb0JwdkI5QjtBekI0bEVKO0F5QjFsRUk7SUFDRTtJQUNBO0F6QjRsRU47O0F5QnZsRUE7SUFDRTtJQUNBLGtCcEJtdUJnQztBTHUzQ2xDOztBeUJ2bEVBO0lBQ0U7SUFDQTtJQUNBO0F6QjBsRUY7QXlCdGxFSTtJQUNFO0lBQ0E7SUFDQSxhcEJvbEJ3QjtBTG9nRDlCOztBMkI3dkVBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0Jnd0VGO0EyQjl2RUU7SUFDRTtBM0Jnd0VKO0EyQjV2RUk7SUFBMEIsaUV0QnE4QmE7QUwwekMzQztBMkI5dkVJO0lBQTBCLGlFdEJvOEJhO0FMNnpDM0M7QTJCOXZFRTtJQUNFO0EzQmd3RUo7QTJCN3ZFRTtJQUNFLFd0QnM3QnVDO0lzQnI3QnZDLFl0QnE3QnVDO0lzQnA3QnZDO0lKekJGLDJCR09RO0lDb0JOLFN0QnE3QnVDO0lFajhCdkM7SWVIRSw0R0trQkY7SUFDQTtBM0I4dkVKO0FzQjd3RU07SUtNSjtRTExNO0l0Qmd4RUo7QUFDSjtBMkJqd0VJO0lKakNGLHlCbEJxOUJ5QztBTGcxQzNDO0EyQi92RUU7SUFDRSxXdEIrNUI4QjtJc0I5NUI5QixjdEIrNUI4QjtJc0I5NUI5QjtJQUNBLGV0Qjg1QjhCO0lzQjc1QjlCLHlCdEJwQ087SXNCcUNQO0lwQjdCQTtBUCt4RUo7QTJCN3ZFRTtJQUNFLFd0QjI1QnVDO0lzQjE1QnZDLFl0QjA1QnVDO0lrQjc4QnpDLDJCR09RO0lDOENOLFN0QjI1QnVDO0lFajhCdkM7SWVIRSw0R0s0Q0Y7SUFDQTtBM0I4dkVKO0FzQnZ5RU07SUtpQ0o7UUxoQ007SXRCMHlFSjtBQUNKO0EyQmp3RUk7SUozREYseUJsQnE5QnlDO0FMMDJDM0M7QTJCL3ZFRTtJQUNFLFd0QnE0QjhCO0lzQnA0QjlCLGN0QnE0QjhCO0lzQnA0QjlCO0lBQ0EsZXRCbzRCOEI7SXNCbjRCOUIseUJ0QjlETztJc0IrRFA7SXBCdkRBO0FQeXpFSjtBMkI3dkVFO0lBQ0U7QTNCK3ZFSjtBMkI3dkVJO0lBQ0UseUJ0QnRFSztBTHEwRVg7QTJCNXZFSTtJQUNFLHlCdEIxRUs7QUx3MEVYOztBNEJyMUVBO0lBQ0U7QTVCdzFFRjtBNEJ0MUVFOzs7SUFHRSwwQnZCKzlCOEI7SXVCOTlCOUIsaUJ2Qis5QjhCO0FMeTNDbEM7QTRCcjFFRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lOUEUsZ0VNUUY7QTVCdTFFSjtBc0IzMUVNO0lNVko7UU5XTTtJdEI4MUVKO0FBQ0o7QTRCejFFRTs7SUFFRTtBNUIyMUVKO0E0QnoxRUk7O0lBQ0U7QTVCNDFFTjtBNEJ6MUVJOzs7SUFFRSxxQnZCbzhCNEI7SXVCbjhCNUIsd0J2Qm84QjRCO0FMdzVDbEM7QTRCejFFSTs7SUFDRSxxQnZCKzdCNEI7SXVCOTdCNUIsd0J2Qis3QjRCO0FMNjVDbEM7QTRCeDFFRTtJQUNFLHFCdkJ5N0I4QjtJdUJ4N0I5Qix3QnZCeTdCOEI7QUxpNkNsQztBNEJuMUVJOzs7O0lBQ0UsYXZCazdCNEI7SXVCajdCNUIsOER2Qms3QjRCO0FMczZDbEM7QTRCbjFFSTtJQUNFLGF2QjI2QjRCO0l1QjE2QjVCLDhEdkIyNkI0QjtBTDA2Q2xDO0E0QmgxRUk7SUFDRTtBNUJrMUVOOztBNkJyNUVBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBN0J3NUVGO0E2QnQ1RUU7OztJQUdFO0lBQ0E7SUFDQTtJQUNBO0E3Qnc1RUo7QTZCcDVFRTs7O0lBR0U7QTdCczVFSjtBNkJoNUVFO0lBQ0U7SUFDQTtBN0JrNUVKO0E2Qmg1RUk7SUFDRTtBN0JrNUVOOztBNkJ2NEVBO0lBQ0U7SUFDQTtJQUNBO0kxQm9QSSxlQUxJO0kwQjdPUixnQnZCRm1CO0l1QkduQixnQnhCZ2dCNEI7SXdCL2Y1QixjeEJwQ1M7SXdCcUNUO0lBQ0E7SUFDQSx5QnhCOUNTO0l3QitDVDtJdEJ0Q0U7QVBpN0VKOztBNkJqNEVBOzs7O0lBSUU7STFCOE5JLGtCQUxJO0lJN1FOO0FQMDdFSjs7QTZCajRFQTs7OztJQUlFO0kxQnFOSSxtQkFMSTtJSTdRTjtBUG04RUo7O0E2Qmo0RUE7O0lBRUU7QTdCbzRFRjs7QTZCdjNFSTs7OztJdEJqRUE7SUFDQTtBUCs3RUo7QTZCdDNFSTs7OztJdEIxRUE7SUFDQTtBUHM4RUo7QTZCaDNFRTtJQUNFO0l0QjFFQTtJQUNBO0FQNjdFSjtBNkJoM0VFOztJdEI5RUU7SUFDQTtBUGs4RUo7O0E4QjM5RUU7SUFDRTtJQUNBO0lBQ0EsbUJ6Qit2Qm9DO0lGdGZsQyxrQkFMSTtJMkJqUU4sY3pCaStCcUI7QUw0L0N6Qjs7QThCMTlFRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0kzQjRQRSxtQkFMSTtJMkJwUE4sV0F2QmM7SUF3QmQsd0NBdkJpQjtJdkJIakI7QVB1L0VKOztBOEJ4OUVJOzs7O0lBRUU7QTlCNjlFTjs7QThCM2dGSTtJQW9ERSxxQnpCczhCbUI7SXlCbjhCakIsb0N6QnN4QmdDO0l5QnJ4QmhDO0lBQ0E7SUFDQTtJQUNBO0E5Qnk5RVI7QThCdDlFTTtJQUNFLHFCekIyN0JpQjtJeUIxN0JqQixpREEvQ2E7QTlCdWdGckI7O0E4QnhoRkk7SUF5RUksb0N6Qm93QmdDO0l5Qm53QmhDO0E5Qm05RVI7O0E4QjdoRkk7SUFpRkUscUJ6Qnk2Qm1CO0FMdWlEekI7QThCNzhFUTtJQUVFLHVCekJtMUI4QjtJeUJsMUI5QjtJQUNBO0lBQ0E7QTlCODhFVjtBOEIxOEVNO0lBQ0UscUJ6QjQ1QmlCO0l5QjM1QmpCLGlEQTlFYTtBOUIwaEZyQjs7QThCM2lGSTtJQXVHSTtBOUJ3OEVSOztBOEIvaUZJO0lBOEdFLHFCekI0NEJtQjtBTHlqRHpCO0E4Qm44RU07SUFDRSx5QnpCeTRCaUI7QUw0akR6QjtBOEJsOEVNO0lBQ0UsaURBcEdhO0E5QndpRnJCO0E4Qmo4RU07SUFDRSxjekJpNEJpQjtBTGtrRHpCOztBOEI5N0VJO0lBQ0U7QTlCaThFTjs7QThCaGtGSTs7Ozs7SUF5SU07QTlCKzdFVjs7QThCcmpGRTtJQUNFO0lBQ0E7SUFDQSxtQnpCK3ZCb0M7SUZ0ZmxDLGtCQUxJO0kyQmpRTixjekJpK0JxQjtBTHNsRHpCOztBOEJwakZFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STNCNFBFLG1CQUxJO0kyQnBQTixXQXZCYztJQXdCZCx3Q0F2QmlCO0l2QkhqQjtBUGlsRko7O0E4QmxqRkk7Ozs7SUFFRTtBOUJ1akZOOztBOEJybUZJO0lBb0RFLHFCekJzOEJtQjtJeUJuOEJqQixvQ3pCc3hCZ0M7SXlCcnhCaEM7SUFDQTtJQUNBO0lBQ0E7QTlCbWpGUjtBOEJoakZNO0lBQ0UscUJ6QjI3QmlCO0l5QjE3QmpCLGlEQS9DYTtBOUJpbUZyQjs7QThCbG5GSTtJQXlFSSxvQ3pCb3dCZ0M7SXlCbndCaEM7QTlCNmlGUjs7QThCdm5GSTtJQWlGRSxxQnpCeTZCbUI7QUxpb0R6QjtBOEJ2aUZRO0lBRUUsdUJ6Qm0xQjhCO0l5QmwxQjlCO0lBQ0E7SUFDQTtBOUJ3aUZWO0E4QnBpRk07SUFDRSxxQnpCNDVCaUI7SXlCMzVCakIsaURBOUVhO0E5Qm9uRnJCOztBOEJyb0ZJO0lBdUdJO0E5QmtpRlI7O0E4QnpvRkk7SUE4R0UscUJ6QjQ0Qm1CO0FMbXBEekI7QThCN2hGTTtJQUNFLHlCekJ5NEJpQjtBTHNwRHpCO0E4QjVoRk07SUFDRSxpREFwR2E7QTlCa29GckI7QThCM2hGTTtJQUNFLGN6Qmk0QmlCO0FMNHBEekI7O0E4QnhoRkk7SUFDRTtBOUIyaEZOOztBOEIxcEZJOzs7OztJQTJJTTtBOUJ1aEZWOztBK0JwcUZBO0lBRUU7SUFDQTtJQUNBO0k1QjZSSSx3QkFMSTtJNEJ0UlI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7SUFDQTtJNUI0UUksa0NBTEk7STRCclFSO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJeEJqQkU7SWdCZkYsa0NRa0NxQjtJVHRCakIscUlTd0JKO0EvQmtxRkY7QXNCdHJGTTtJU2hCTjtRVGlCUTtJdEJ5ckZKO0FBQ0o7QStCcnFGRTtJQUNFO0lBRUE7SUFDQTtBL0JzcUZKO0ErQm5xRkU7SUFFRTtJQUNBO0lBQ0E7QS9Cb3FGSjtBK0JqcUZFO0lBQ0U7SVJyREYsd0NRc0R1QjtJQUNyQjtJQUNBO0lBS0U7QS9CK3BGTjtBK0IzcEZFO0lBQ0U7SUFDQTtJQUtFO0EvQnlwRk47QStCcnBGRTtJQUtFO0lBQ0E7SUFHQTtBL0JpcEZKO0ErQjlvRkk7SUFLSTtBL0I0b0ZSO0ErQnZvRkU7SUFHRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0EvQnNvRko7O0ErQjFuRkU7SUN0R0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBaENvdUZGOztBK0Izb0ZFO0lDdEdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWhDcXZGRjs7QStCNXBGRTtJQ3RHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FoQ3N3RkY7O0ErQjdxRkU7SUN0R0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBaEN1eEZGOztBK0I5ckZFO0lDdEdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWhDd3lGRjs7QStCL3NGRTtJQ3RHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FoQ3l6RkY7O0ErQmh1RkU7SUN0R0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBaEMwMEZGOztBK0JqdkZFO0lDdEdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWhDMjFGRjs7QStCeHVGRTtJQ3ZHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FoQ20xRkY7O0ErQnp2RkU7SUN2R0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBaENvMkZGOztBK0Ixd0ZFO0lDdkdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWhDcTNGRjs7QStCM3hGRTtJQ3ZHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FoQ3M0RkY7O0ErQjV5RkU7SUN2R0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBaEN1NUZGOztBK0I3ekZFO0lDdkdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWhDdzZGRjs7QStCOTBGRTtJQ3ZHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FoQ3k3RkY7O0ErQi8xRkU7SUN2R0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBaEMwOEZGOztBK0JwMkZBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUEsMEIxQjJPd0M7QUwybkYxQztBK0I1MUZFO0lBQ0U7QS9CODFGSjtBK0IzMUZFO0lBQ0U7QS9CNjFGSjs7QStCbDFGQTtJQ3hJRTtJQUNBO0k3Qm9PSSwyQkFMSTtJNkI3TlI7QWhDODlGRjs7QStCcjFGQTtJQzVJRTtJQUNBO0k3Qm9PSSw0QkFMSTtJNkI3TlI7QWhDcStGRjs7QWlDeGlHQTtJWGdCTSxnQ1dmSjtBakMyaUdGO0FzQnhoR007SVdwQk47UVhxQlE7SXRCMmhHSjtBQUNKO0FpQzlpR0U7SUFDRTtBakNnakdKOztBaUMxaUdFO0lBQ0U7QWpDNmlHSjs7QWlDemlHQTtJQUNFO0lBQ0E7SVhESSw2QldFSjtBakM0aUdGO0FzQjFpR007SVdMTjtRWE1RO0l0QjZpR0o7QUFDSjtBaUMvaUdFO0lBQ0U7SUFDQTtJWE5FLDRCV09GO0FqQ2lqR0o7QXNCcGpHTTtJV0FKO1FYQ007SXRCdWpHSjtBQUNKOztBa0M1a0dBOzs7Ozs7SUFNRTtBbEMra0dGOztBa0M1a0dBO0lBQ0U7QWxDK2tHRjtBbUM1akdJO0lBQ0U7SUFDQSxvQjlCbWV3QjtJOEJsZXhCLHVCOUJpZXdCO0k4QmhleEI7SUFoQ0o7SUFDQTtJQUNBO0lBQ0E7QW5DK2xHRjtBbUMxaUdJO0lBQ0U7QW5DNGlHTjs7QWtDcmxHQTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SS9CNlFJLDZCQUxJO0krQnRRUjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBR0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0kvQmdQSSx1Q0FMSTtJK0J6T1I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0kzQnpDRTtBUCtuR0o7QWtDbGxHRTtJQUNFO0lBQ0E7SUFDQTtBbENvbEdKOztBa0M1akdJO0lBQ0U7QWxDK2pHTjtBa0M3akdNO0lBQ0U7SUFDQTtBbEMrakdSOztBa0MzakdJO0lBQ0U7QWxDOGpHTjtBa0M1akdNO0lBQ0U7SUFDQTtBbEM4akdSOztBY3htR0k7SW9CNEJBO1FBQ0U7SWxDZ2xHRjtJa0M5a0dFO1FBQ0U7UUFDQTtJbENnbEdKO0lrQzVrR0E7UUFDRTtJbEM4a0dGO0lrQzVrR0U7UUFDRTtRQUNBO0lsQzhrR0o7QUFDSjtBY3puR0k7SW9CNEJBO1FBQ0U7SWxDZ21HRjtJa0M5bEdFO1FBQ0U7UUFDQTtJbENnbUdKO0lrQzVsR0E7UUFDRTtJbEM4bEdGO0lrQzVsR0U7UUFDRTtRQUNBO0lsQzhsR0o7QUFDSjtBY3pvR0k7SW9CNEJBO1FBQ0U7SWxDZ25HRjtJa0M5bUdFO1FBQ0U7UUFDQTtJbENnbkdKO0lrQzVtR0E7UUFDRTtJbEM4bUdGO0lrQzVtR0U7UUFDRTtRQUNBO0lsQzhtR0o7QUFDSjtBY3pwR0k7SW9CNEJBO1FBQ0U7SWxDZ29HRjtJa0M5bkdFO1FBQ0U7UUFDQTtJbENnb0dKO0lrQzVuR0E7UUFDRTtJbEM4bkdGO0lrQzVuR0U7UUFDRTtRQUNBO0lsQzhuR0o7QUFDSjtBY3pxR0k7SW9CNEJBO1FBQ0U7SWxDZ3BHRjtJa0M5b0dFO1FBQ0U7UUFDQTtJbENncEdKO0lrQzVvR0E7UUFDRTtJbEM4b0dGO0lrQzVvR0U7UUFDRTtRQUNBO0lsQzhvR0o7QUFDSjtBa0Nyb0dFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7QWxDdW9HSjtBbUNodUdJO0lBQ0U7SUFDQSxvQjlCbWV3QjtJOEJsZXhCLHVCOUJpZXdCO0k4QmhleEI7SUF6Qko7SUFDQTtJQUNBO0lBQ0E7QW5DNHZHRjtBbUM5c0dJO0lBQ0U7QW5DZ3RHTjs7QWtDM29HRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWxDOG9HSjtBbUNydkdJO0lBQ0U7SUFDQSxvQjlCbWV3QjtJOEJsZXhCLHVCOUJpZXdCO0k4QmhleEI7SUFsQko7SUFDQTtJQUNBO0lBQ0E7QW5DMHdHRjtBbUNudUdJO0lBQ0U7QW5DcXVHTjtBa0N0cEdJO0lBQ0U7QWxDd3BHTjs7QWtDbHBHRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWxDcXBHSjtBbUM3d0dJO0lBQ0U7SUFDQSxvQjlCbWV3QjtJOEJsZXhCLHVCOUJpZXdCO0k4QmhleEI7QW5DK3dHTjtBbUNwd0dNO0lBQ0U7QW5Dc3dHUjtBbUNud0dNO0lBQ0U7SUFDQSxxQjlCZ2RzQjtJOEIvY3RCLHVCOUI4Y3NCO0k4QjdjdEI7SUE5Qk47SUFDQTtJQUNBO0FuQ295R0Y7QW1DbndHSTtJQUNFO0FuQ3F3R047QWtDcnFHSTtJQUNFO0FsQ3VxR047O0FrQ2hxR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FsQ21xR0Y7O0FrQzdwR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGdCNUJsSW1CO0k0Qm1JbkI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FsQ2dxR0Y7QWtDOXBHRTtJQUVFO0lYekxGLGtEVzJMdUI7QWxDOHBHekI7QWtDM3BHRTtJQUVFO0lBQ0E7SVhqTUYsbURXa011QjtBbEM0cEd6QjtBa0N6cEdFO0lBRUU7SUFDQTtJQUNBO0FsQzBwR0o7O0FrQ3BwR0E7SUFDRTtBbEN1cEdGOztBa0NucEdBO0lBQ0U7SUFDQTtJQUNBO0kvQjBFSSxtQkFMSTtJK0JuRVI7SUFDQTtBbENzcEdGOztBa0NscEdBO0lBQ0U7SUFDQTtJQUNBO0FsQ3FwR0Y7O0FrQ2pwR0E7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWxDbXBHRjs7QW9DeDRHQTs7SUFFRTtJQUNBO0lBQ0E7QXBDMjRHRjtBb0N6NEdFOztJQUNFO0lBQ0E7QXBDNDRHSjtBb0N2NEdFOzs7Ozs7Ozs7Ozs7SUFNRTtBcEMrNEdKOztBb0MxNEdBO0lBQ0U7SUFDQTtJQUNBO0FwQzY0R0Y7QW9DMzRHRTtJQUNFO0FwQzY0R0o7O0FvQ3o0R0E7STdCaEJJO0FQNjVHSjtBb0N6NEdFOztJQUVFO0FwQzI0R0o7QW9DdjRHRTs7O0k3QlZFO0lBQ0E7QVBzNUdKO0FvQ240R0U7OztJN0JORTtJQUNBO0FQODRHSjs7QW9DdDNHQTtJQUNFO0lBQ0E7QXBDeTNHRjtBb0N2M0dFO0lBR0U7QXBDdTNHSjtBb0NwM0dFO0lBQ0U7QXBDczNHSjs7QW9DbDNHQTtJQUNFO0lBQ0E7QXBDcTNHRjs7QW9DbDNHQTtJQUNFO0lBQ0E7QXBDcTNHRjs7QW9DajJHQTtJQUNFO0lBQ0E7SUFDQTtBcENvMkdGO0FvQ2wyR0U7O0lBRUU7QXBDbzJHSjtBb0NqMkdFOztJQUVFO0FwQ20yR0o7QW9DLzFHRTs7STdCMUZFO0lBQ0E7QVA2N0dKO0FvQy8xR0U7O0k3QjdHRTtJQUNBO0FQZzlHSjs7QXFDeCtHQTtJQUVFO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QXJDdStHRjs7QXFDcCtHQTtJQUNFO0lBQ0E7SWxDNFFJLHVDQUxJO0lrQ3JRUjtJQUNBO0lBQ0E7SWZiSSx1R2VjSjtBckN1K0dGO0FzQmovR007SWVHTjtRZkZRO0l0Qm8vR0o7QUFDSjtBcUMxK0dFO0lBRUU7QXJDMitHSjtBcUN0K0dFO0lBQ0U7SUFDQTtJQUNBO0FyQ3crR0o7O0FxQ2grR0E7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0FyQ2crR0Y7QXFDOTlHRTtJQUNFO0lBQ0E7SUFDQTtJOUJ0Q0E7SUFDQTtBUHVnSEo7QXFDLzlHSTtJQUdFO0lBQ0E7QXJDKzlHTjtBcUM1OUdJO0lBRUU7SUFDQTtJQUNBO0FyQzY5R047QXFDejlHRTs7SUFFRTtJQUNBO0lBQ0E7QXJDMjlHSjtBcUN4OUdFO0lBRUU7STlCakVBO0lBQ0E7QVAyaEhKOztBcUNoOUdBO0lBRUU7SUFDQTtJQUNBO0FyQ2s5R0Y7QXFDLzhHRTtJQUNFO0lBQ0E7STlCOUZBO0FQZ2pISjtBcUMvOEdJO0lBQ0U7SUFDQTtJQUNBO0FyQ2k5R047QXFDNzhHRTs7SUFFRTtJZHpIRixvRGMwSHVCO0FyQys4R3pCOztBcUNyOEdFOztJQUVFO0lBQ0E7QXJDdzhHSjs7QXFDbjhHRTs7SUFFRTtJQUNBO0lBQ0E7QXJDczhHSjs7QXFDaDhHRTs7SUFDRTtBckNvOEdKOztBcUMxN0dFO0lBQ0U7QXJDNjdHSjtBcUMzN0dFO0lBQ0U7QXJDNjdHSjs7QXNDam1IQTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QXRDaW1IRjtBc0MzbEhFOzs7Ozs7O0lBQ0U7SUFDQTtJQUNBO0lBQ0E7QXRDbW1ISjtBc0Mva0hBO0lBQ0U7SUFDQTtJQUNBO0luQ2tPSSwyQ0FMSTtJbUMzTlI7SUFDQTtJQUNBO0F0Q2lsSEY7QXNDL2tIRTtJQUVFO0F0Q2dsSEo7O0FzQ3RrSEE7SUFFRTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0F0Q3FrSEY7QXNDbmtIRTs7SUFFRTtBdENxa0hKO0FzQ2xrSEU7SUFDRTtBdENva0hKOztBc0MzakhBO0lBQ0UsbUJqQzQ2QmtDO0lpQzM2QmxDLHNCakMyNkJrQztJaUMxNkJsQztBdEM4akhGO0FzQzVqSEU7OztJQUdFO0F0QzhqSEo7O0FzQ2pqSEE7SUFDRTtJQUNBO0lBR0E7QXRDa2pIRjs7QXNDOWlIQTtJQUNFO0luQ2lKSSw2Q0FMSTtJbUMxSVI7SUFDQTtJQUNBO0lBQ0E7SS9CdElFO0llSEUsK0NnQjJJSjtBdENpakhGO0FzQnhySE07SWdCK0hOO1FoQjlIUTtJdEIyckhKO0FBQ0o7QXNDcGpIRTtJQUNFO0F0Q3NqSEo7QXNDbmpIRTtJQUNFO0lBQ0E7SUFDQTtBdENxakhKOztBc0MvaUhBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBdENrakhGOztBc0MvaUhBO0lBQ0U7SUFDQTtBdENrakhGOztBYzFxSEk7SXdCb0lBO1FBRUk7UUFDQTtJdEN5aUhKO0lzQ3ZpSEk7UUFDRTtJdEN5aUhOO0lzQ3ZpSE07UUFDRTtJdEN5aUhSO0lzQ3RpSE07UUFDRTtRQUNBO0l0Q3dpSFI7SXNDcGlISTtRQUNFO0l0Q3NpSE47SXNDbmlISTtRQUNFO1FBQ0E7SXRDcWlITjtJc0NsaUhJO1FBQ0U7SXRDb2lITjtJc0NqaUhJO1FBRUU7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FoQjVOSixnQmdCOE5JO0l0Q2lpSE47SXNDOWhITTtRQUNFO0l0Q2dpSFI7SXNDN2hITTtRQUNFO1FBQ0E7UUFDQTtRQUNBO0l0QytoSFI7QUFDSjtBYzF0SEk7SXdCb0lBO1FBRUk7UUFDQTtJdEN3bEhKO0lzQ3RsSEk7UUFDRTtJdEN3bEhOO0lzQ3RsSE07UUFDRTtJdEN3bEhSO0lzQ3JsSE07UUFDRTtRQUNBO0l0Q3VsSFI7SXNDbmxISTtRQUNFO0l0Q3FsSE47SXNDbGxISTtRQUNFO1FBQ0E7SXRDb2xITjtJc0NqbEhJO1FBQ0U7SXRDbWxITjtJc0NobEhJO1FBRUU7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FoQjVOSixnQmdCOE5JO0l0Q2dsSE47SXNDN2tITTtRQUNFO0l0QytrSFI7SXNDNWtITTtRQUNFO1FBQ0E7UUFDQTtRQUNBO0l0QzhrSFI7QUFDSjtBY3p3SEk7SXdCb0lBO1FBRUk7UUFDQTtJdEN1b0hKO0lzQ3JvSEk7UUFDRTtJdEN1b0hOO0lzQ3JvSE07UUFDRTtJdEN1b0hSO0lzQ3BvSE07UUFDRTtRQUNBO0l0Q3NvSFI7SXNDbG9ISTtRQUNFO0l0Q29vSE47SXNDam9ISTtRQUNFO1FBQ0E7SXRDbW9ITjtJc0Nob0hJO1FBQ0U7SXRDa29ITjtJc0MvbkhJO1FBRUU7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FoQjVOSixnQmdCOE5JO0l0QytuSE47SXNDNW5ITTtRQUNFO0l0QzhuSFI7SXNDM25ITTtRQUNFO1FBQ0E7UUFDQTtRQUNBO0l0QzZuSFI7QUFDSjtBY3h6SEk7SXdCb0lBO1FBRUk7UUFDQTtJdENzckhKO0lzQ3BySEk7UUFDRTtJdENzckhOO0lzQ3BySE07UUFDRTtJdENzckhSO0lzQ25ySE07UUFDRTtRQUNBO0l0Q3FySFI7SXNDanJISTtRQUNFO0l0Q21ySE47SXNDaHJISTtRQUNFO1FBQ0E7SXRDa3JITjtJc0MvcUhJO1FBQ0U7SXRDaXJITjtJc0M5cUhJO1FBRUU7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FoQjVOSixnQmdCOE5JO0l0QzhxSE47SXNDM3FITTtRQUNFO0l0QzZxSFI7SXNDMXFITTtRQUNFO1FBQ0E7UUFDQTtRQUNBO0l0QzRxSFI7QUFDSjtBY3YySEk7SXdCb0lBO1FBRUk7UUFDQTtJdENxdUhKO0lzQ251SEk7UUFDRTtJdENxdUhOO0lzQ251SE07UUFDRTtJdENxdUhSO0lzQ2x1SE07UUFDRTtRQUNBO0l0Q291SFI7SXNDaHVISTtRQUNFO0l0Q2t1SE47SXNDL3RISTtRQUNFO1FBQ0E7SXRDaXVITjtJc0M5dEhJO1FBQ0U7SXRDZ3VITjtJc0M3dEhJO1FBRUU7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FoQjVOSixnQmdCOE5JO0l0QzZ0SE47SXNDMXRITTtRQUNFO0l0QzR0SFI7SXNDenRITTtRQUNFO1FBQ0E7UUFDQTtRQUNBO0l0QzJ0SFI7QUFDSjtBc0NseEhJO0lBRUk7SUFDQTtBdENteEhSO0FzQ2p4SFE7SUFDRTtBdENteEhWO0FzQ2p4SFU7SUFDRTtBdENteEhaO0FzQ2h4SFU7SUFDRTtJQUNBO0F0Q2t4SFo7QXNDOXdIUTtJQUNFO0F0Q2d4SFY7QXNDN3dIUTtJQUNFO0lBQ0E7QXRDK3dIVjtBc0M1d0hRO0lBQ0U7QXRDOHdIVjtBc0Mzd0hRO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0loQjVOSixnQmdCOE5JO0F0QzJ3SFY7QXNDeHdIVTtJQUNFO0F0QzB3SFo7QXNDdndIVTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0F0Q3l3SFo7O0FzQ3h2SEE7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0F0QzB2SEY7O0F1Q3pnSUE7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBR0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0loQ2RFO0FQd2hJSjtBdUN0Z0lFO0lBQ0U7SUFDQTtBdkN3Z0lKO0F1Q3JnSUU7SUFDRTtJQUNBO0F2Q3VnSUo7QXVDcmdJSTtJQUNFO0loQ25CRjtJQUNBO0FQMmhJSjtBdUNyZ0lJO0lBQ0U7SWhDVkY7SUFDQTtBUGtoSUo7QXVDbGdJRTs7SUFFRTtBdkNvZ0lKOztBdUNoZ0lBO0lBR0U7SUFDQTtJQUNBO0F2Q2lnSUY7O0F1QzkvSEE7SUFDRTtBdkNpZ0lGOztBdUM5L0hBO0lBQ0U7SUFDQTtBdkNpZ0lGOztBdUM5L0hBO0lBQ0U7QXZDaWdJRjs7QXVDei9IRTtJQUNFO0F2QzQvSEo7O0F1Q3AvSEE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0F2Q3UvSEY7QXVDci9IRTtJaEN4RkU7QVBnbElKOztBdUNuL0hBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7QXZDcy9IRjtBdUNwL0hFO0loQ25HRTtBUDBsSUo7O0F1QzcrSEE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtBdkNnL0hGO0F1QzkrSEU7SUFDRTtJQUNBO0F2Q2cvSEo7O0F1QzUrSEE7SUFDRTtJQUNBO0F2QysrSEY7O0F1QzMrSEE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWhDcklFO0FQb25JSjs7QXVDMytIQTs7O0lBR0U7QXZDOCtIRjs7QXVDMytIQTs7SWhDdElJO0lBQ0E7QVBzbklKOztBdUM1K0hBOztJaEM3SEk7SUFDQTtBUDhtSUo7O0F1Q3IrSEU7SUFDRTtBdkN3K0hKO0FjOWxJSTtJeUJrSEo7UUFRSTtRQUNBO0l2Q3crSEE7SXVDcitIQTtRQUVFO1FBQ0E7SXZDcytIRjtJdUNwK0hFO1FBQ0U7UUFDQTtJdkNzK0hKO0l1Q2orSEk7UWhDdEtKO1FBQ0E7SVAwb0lBO0l1Q2wrSE07O1FBR0U7SXZDbStIUjtJdUNqK0hNOztRQUdFO0l2Q2srSFI7SXVDOTlISTtRaEN2S0o7UUFDQTtJUHdvSUE7SXVDLzlITTs7UUFHRTtJdkNnK0hSO0l1Qzk5SE07O1FBR0U7SXZDKzlIUjtBQUNKOztBd0MvcklBO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QXhDaXNJRjs7QXdDN3JJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXJDaVFJLGVBTEk7SXFDMVBSO0lBQ0E7SUFDQTtJQUNBO0lqQ3RCRTtJaUN3QkY7SWxCM0JJLDBDa0I0Qko7QXhDZ3NJRjtBc0J4dElNO0lrQldOO1FsQlZRO0l0QjJ0SUo7QUFDSjtBd0Nuc0lFO0lBQ0U7SUFDQTtJQUNBO0F4Q3FzSUo7QXdDbnNJSTtJQUNFO0lBQ0E7QXhDcXNJTjtBd0Noc0lFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJbEJsREUsbURrQm1ERjtBeENrc0lKO0FzQmp2SU07SWtCc0NKO1FsQnJDTTtJdEJvdklKO0FBQ0o7QXdDcHNJRTtJQUNFO0F4Q3NzSUo7QXdDbnNJRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0F4Q3FzSUo7O0F3Q2pzSUE7SUFDRTtBeENvc0lGOztBd0Nqc0lBO0lBQ0U7SUFDQTtJQUNBO0F4Q29zSUY7QXdDbHNJRTtJakMvREU7SUFDQTtBUG93SUo7QXdDbnNJSTtJakNsRUE7SUFDQTtBUHd3SUo7QXdDbHNJRTtJQUNFO0F4Q29zSUo7QXdDaHNJRTtJakM5REU7SUFDQTtBUGl3SUo7QXdDaHNJTTtJakNsRUY7SUFDQTtBUHF3SUo7QXdDL3JJSTtJakN2RUE7SUFDQTtBUHl3SUo7O0F3QzdySUE7SUFDRTtBeENnc0lGOztBd0N2cklFO0lBQ0U7QXhDMHJJSjtBd0N2cklFO0lBQ0U7SUFDQTtJakNwSEE7QVA4eUlKO0F3Q3ZySUk7SUFBZ0I7QXhDMHJJcEI7QXdDenJJSTtJQUFlO0F4QzRySW5CO0F3Q3pySU07SWpDM0hGO0FQdXpJSjs7QXlDMTBJQTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFHQTtJQUNBO0lBQ0E7SUFDQTtJdENxUkkseUNBTEk7SXNDOVFSO0lBQ0E7SWxDQUU7QVAwMElKOztBeUNwMElFO0lBQ0U7QXpDdTBJSjtBeUNyMElJO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7QXpDdTBJTjtBeUNuMElFO0lBQ0U7QXpDcTBJSjs7QTBDMTJJQTtJQUVFO0lBQ0E7SXZDa1NJLCtCQUxJO0l1QzNSUjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBR0E7SWpDcEJBO0lBQ0E7QVQrM0lGOztBMEN4MklBO0lBQ0U7SUFDQTtJQUNBO0l2Q3NRSSx5Q0FMSTtJdUMvUFI7SUFDQTtJQUNBO0lBQ0E7SXBCcEJJLHFJb0JxQko7QTFDMjJJRjtBc0I1M0lNO0lvQlFOO1FwQlBRO0l0QiszSUo7QUFDSjtBMEM5MklFO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7QTFDKzJJSjtBMEM1MklFO0lBQ0U7SUFDQTtJQUNBO0lBQ0EsVXJDZ29DZ0M7SXFDL25DaEM7QTFDODJJSjtBMEMzMklFO0lBRUU7SUFDQTtJbkJ0REYsZ0RtQnVEdUI7SUFDckI7QTFDNDJJSjtBMEN6MklFO0lBRUU7SUFDQTtJQUNBO0lBQ0E7QTFDMDJJSjs7QTBDcjJJRTtJQUNFLGlCckNtbUNnQztBTHF3R3BDO0EwQ24ySU07SW5DOUJGO0lBQ0E7QVBvNElKO0EwQ2oySU07SW5DbERGO0lBQ0E7QVBzNUlKOztBMENwMUlBO0lDbEdFO0lBQ0E7SXhDZ1NJLGtDQUxJO0l3Q3pSUjtBM0MwN0lGOztBMEN2MUlBO0lDdEdFO0lBQ0E7SXhDZ1NJLG1DQUxJO0l3Q3pSUjtBM0NpOElGOztBNENuOElBO0lBRUU7SUFDQTtJekM2UkksNEJBTEk7SXlDdFJSO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7SXpDcVJJLG9DQUxJO0l5QzlRUjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXJDSkU7QVB3OElKO0E0Qy83SUU7SUFDRTtBNUNpOElKOztBNEM1N0lBO0lBQ0U7SUFDQTtBNUMrN0lGOztBNkMvOUlBO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJdENGRTtBUGsrSUo7O0E2QzM5SUE7SUFFRTtBN0M2OUlGOztBNkN6OUlBO0lBQ0UsZ0J4QzhnQjRCO0FMODhIOUI7O0E2Q3A5SUE7SUFDRSxtQnhDNDNDOEI7QUwybEdoQztBNkNwOUlFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBN0NzOUlKOztBNkN0OElFO0lDaEVBO0lBQ0E7SUFDQTtBOUMwZ0pGO0E4Q3BnSkU7SUFDRTtBOUNzZ0pKOztBNkMvOElFO0lDaEVBO0lBQ0E7SUFDQTtBOUNtaEpGO0E4QzdnSkU7SUFDRTtBOUMrZ0pKOztBNkN4OUlFO0lDaEVBO0lBQ0E7SUFDQTtBOUM0aEpGO0E4Q3RoSkU7SUFDRTtBOUN3aEpKOztBNkNqK0lFO0lDaEVBO0lBQ0E7SUFDQTtBOUNxaUpGO0E4Qy9oSkU7SUFDRTtBOUNpaUpKOztBNkMxK0lFO0lDaEVBO0lBQ0E7SUFDQTtBOUM4aUpGO0E4Q3hpSkU7SUFDRTtBOUMwaUpKOztBNkNuL0lFO0lDaEVBO0lBQ0E7SUFDQTtBOUN1akpGO0E4Q2pqSkU7SUFDRTtBOUNtakpKOztBNkM1L0lFO0lDaEVBO0lBQ0E7SUFDQTtBOUNna0pGO0E4QzFqSkU7SUFDRTtBOUM0akpKOztBNkNyZ0pFO0lDaEVBO0lBQ0E7SUFDQTtBOUN5a0pGO0E4Q25rSkU7SUFDRTtBOUNxa0pKOztBK0M1a0pFO0lBQ0U7UUFBSywyQjFDdzZDMkI7SUx3cUdoQztBQUNKO0ErQzVrSkE7SUFFRTtJNUN5UkksZ0NBTEk7STRDbFJSO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7SUFDQTtJNUM2UUksdUNBTEk7STRDdFFSO0l4Q1BFO0FQbWxKSjs7QStDdmtKQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXpCdkJJLDZDeUJ3Qko7QS9DMGtKRjtBc0I5bEpNO0l5QldOO1F6QlZRO0l0QmltSko7QUFDSjs7QStDNWtKQTtJeEJDRTtJd0JDQTtBL0Mra0pGOztBK0Mza0pFO0lBQ0U7QS9DOGtKSjtBK0Mza0pNO0lBSko7UUFLTTtJL0M4a0pKO0FBQ0o7O0FnRGpvSkE7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBR0E7SUFDQTtJQUdBO0lBQ0E7SXpDWEU7QVAyb0pKOztBZ0Q1bkpBO0lBQ0U7SUFDQTtBaEQrbkpGO0FnRDduSkU7SUFFRTtJQUNBO0FoRDhuSko7O0FnRHJuSkE7SUFDRTtJQUNBO0lBQ0E7QWhEd25KRjtBZ0RybkpFO0lBRUU7SUFDQTtJQUNBO0lBQ0E7QWhEc25KSjtBZ0RubkpFO0lBQ0U7SUFDQTtBaERxbkpKOztBZ0Q3bUpBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWhEZ25KRjtBZ0Q5bUpFO0l6Q3ZERTtJQUNBO0FQd3FKSjtBZ0Q5bUpFO0l6QzdDRTtJQUNBO0FQOHBKSjtBZ0Q5bUpFO0lBRUU7SUFDQTtJQUNBO0FoRCttSko7QWdEM21KRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0FoRDZtSko7QWdEem1KRTtJQUNFO0FoRDJtSko7QWdEem1KSTtJQUNFO0lBQ0E7QWhEMm1KTjs7QWdEOWxKSTtJQUNFO0FoRGltSk47QWdEOWxKUTtJekN2REo7SUFaQTtBUHFxSko7QWdEN2xKUTtJekN4RUo7SUFZQTtBUDZwSko7QWdENWxKUTtJQUNFO0FoRDhsSlY7QWdEM2xKUTtJQUNFO0lBQ0E7QWhENmxKVjtBZ0QzbEpVO0lBQ0U7SUFDQTtBaEQ2bEpaOztBY25ySkk7SWtDOERBO1FBQ0U7SWhEeW5KRjtJZ0R0bkpJO1F6Q3ZESjtRQVpBO0lQNnJKQTtJZ0RybkpJO1F6Q3hFSjtRQVlBO0lQcXJKQTtJZ0RwbkpJO1FBQ0U7SWhEc25KTjtJZ0RubkpJO1FBQ0U7UUFDQTtJaERxbkpOO0lnRG5uSk07UUFDRTtRQUNBO0loRHFuSlI7QUFDSjtBYzVzSkk7SWtDOERBO1FBQ0U7SWhEaXBKRjtJZ0Q5b0pJO1F6Q3ZESjtRQVpBO0lQcXRKQTtJZ0Q3b0pJO1F6Q3hFSjtRQVlBO0lQNnNKQTtJZ0Q1b0pJO1FBQ0U7SWhEOG9KTjtJZ0Qzb0pJO1FBQ0U7UUFDQTtJaEQ2b0pOO0lnRDNvSk07UUFDRTtRQUNBO0loRDZvSlI7QUFDSjtBY3B1Skk7SWtDOERBO1FBQ0U7SWhEeXFKRjtJZ0R0cUpJO1F6Q3ZESjtRQVpBO0lQNnVKQTtJZ0RycUpJO1F6Q3hFSjtRQVlBO0lQcXVKQTtJZ0RwcUpJO1FBQ0U7SWhEc3FKTjtJZ0RucUpJO1FBQ0U7UUFDQTtJaERxcUpOO0lnRG5xSk07UUFDRTtRQUNBO0loRHFxSlI7QUFDSjtBYzV2Skk7SWtDOERBO1FBQ0U7SWhEaXNKRjtJZ0Q5ckpJO1F6Q3ZESjtRQVpBO0lQcXdKQTtJZ0Q3ckpJO1F6Q3hFSjtRQVlBO0lQNnZKQTtJZ0Q1ckpJO1FBQ0U7SWhEOHJKTjtJZ0QzckpJO1FBQ0U7UUFDQTtJaEQ2ckpOO0lnRDNySk07UUFDRTtRQUNBO0loRDZySlI7QUFDSjtBY3B4Skk7SWtDOERBO1FBQ0U7SWhEeXRKRjtJZ0R0dEpJO1F6Q3ZESjtRQVpBO0lQNnhKQTtJZ0RydEpJO1F6Q3hFSjtRQVlBO0lQcXhKQTtJZ0RwdEpJO1FBQ0U7SWhEc3RKTjtJZ0RudEpJO1FBQ0U7UUFDQTtJaERxdEpOO0lnRG50Sk07UUFDRTtRQUNBO0loRHF0SlI7QUFDSjtBZ0R4c0pBO0l6Q2hKSTtBUDIxSko7QWdEeHNKRTtJQUNFO0FoRDBzSko7QWdEeHNKSTtJQUNFO0FoRDBzSk47O0FpRGgzSkU7SUFDRSxjRG1MeUI7SUNsTHpCLHlCRGlMc0I7QWhEa3NKMUI7QWlEaDNKTTtJQUVFLGNENktxQjtJQzVLckI7QWpEaTNKUjtBaUQ5MkpNO0lBQ0UsVzVDUkc7STRDU0gseUJEdUtxQjtJQ3RLckIscUJEc0txQjtBaEQwc0o3Qjs7QWlEOTNKRTtJQUNFLGNEbUx5QjtJQ2xMekIseUJEaUxzQjtBaERndEoxQjtBaUQ5M0pNO0lBRUUsY0Q2S3FCO0lDNUtyQjtBakQrM0pSO0FpRDUzSk07SUFDRSxXNUNSRztJNENTSCx5QkR1S3FCO0lDdEtyQixxQkRzS3FCO0FoRHd0SjdCOztBaUQ1NEpFO0lBQ0UsY0RtTHlCO0lDbEx6Qix5QkRpTHNCO0FoRDh0SjFCO0FpRDU0Sk07SUFFRSxjRDZLcUI7SUM1S3JCO0FqRDY0SlI7QWlEMTRKTTtJQUNFLFc1Q1JHO0k0Q1NILHlCRHVLcUI7SUN0S3JCLHFCRHNLcUI7QWhEc3VKN0I7O0FpRDE1SkU7SUFDRSxjRHFMMkI7SUNwTDNCLHlCRGlMc0I7QWhENHVKMUI7QWlEMTVKTTtJQUVFLGNEK0t1QjtJQzlLdkI7QWpEMjVKUjtBaUR4NUpNO0lBQ0UsVzVDUkc7STRDU0gseUJEeUt1QjtJQ3hLdkIscUJEd0t1QjtBaERrdkovQjs7QWlEeDZKRTtJQUNFLGNEcUwyQjtJQ3BMM0IseUJEaUxzQjtBaEQwdkoxQjtBaUR4NkpNO0lBRUUsY0QrS3VCO0lDOUt2QjtBakR5NkpSO0FpRHQ2Sk07SUFDRSxXNUNSRztJNENTSCx5QkR5S3VCO0lDeEt2QixxQkR3S3VCO0FoRGd3Si9COztBaUR0N0pFO0lBQ0UsY0RtTHlCO0lDbEx6Qix5QkRpTHNCO0FoRHd3SjFCO0FpRHQ3Sk07SUFFRSxjRDZLcUI7SUM1S3JCO0FqRHU3SlI7QWlEcDdKTTtJQUNFLFc1Q1JHO0k0Q1NILHlCRHVLcUI7SUN0S3JCLHFCRHNLcUI7QWhEZ3hKN0I7O0FpRHA4SkU7SUFDRSxjRHFMMkI7SUNwTDNCLHlCRGlMc0I7QWhEc3hKMUI7QWlEcDhKTTtJQUVFLGNEK0t1QjtJQzlLdkI7QWpEcThKUjtBaURsOEpNO0lBQ0UsVzVDUkc7STRDU0gseUJEeUt1QjtJQ3hLdkIscUJEd0t1QjtBaEQ0eEovQjs7QWlEbDlKRTtJQUNFLGNEbUx5QjtJQ2xMekIseUJEaUxzQjtBaERveUoxQjtBaURsOUpNO0lBRUUsY0Q2S3FCO0lDNUtyQjtBakRtOUpSO0FpRGg5Sk07SUFDRSxXNUNSRztJNENTSCx5QkR1S3FCO0lDdEtyQixxQkRzS3FCO0FoRDR5SjdCOztBa0QvOUpBO0lBQ0U7SUFDQSxVN0M2aUQyQjtJNkM1aUQzQixXN0M0aUQyQjtJNkMzaUQzQjtJQUNBLGN4QkZNO0l3QkdOO0lBQ0E7STNDT0U7STJDTEYsWTdDNmlEMkI7QUxxN0c3QjtBa0QvOUpFO0lBQ0UsY3hCVkk7SXdCV0o7SUFDQSxhN0N3aUR5QjtBTHk3RzdCO0FrRDk5SkU7SUFDRTtJQUNBLGlEN0M4ckI0QjtJNkM3ckI1QixVN0NtaUR5QjtBTDY3RzdCO0FrRDc5SkU7SUFFRTtJQUNBO0lBQ0EsYTdDNmhEeUI7QUxpOEc3Qjs7QWtEMTlKQTtJQUNFLGtEN0N5aEQyQjtBTG84RzdCOztBbURuZ0tBO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEQrUkksOEJBTEk7SWdEeFJSO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7SWhEaVJJLG9DQUxJO0lnRDFRUjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7STVDUkU7QVA0Z0tKO0FtRGpnS0U7SUFDRTtBbkRtZ0tKO0FtRGhnS0U7SUFDRTtBbkRrZ0tKOztBbUQ5L0pBO0lBQ0U7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FuRGdnS0Y7QW1EOS9KRTtJQUNFO0FuRGdnS0o7O0FtRDUvSkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJNUNoQ0U7SUFDQTtBUGdpS0o7QW1EOS9KRTtJQUNFO0lBQ0E7QW5EZ2dLSjs7QW1ENS9KQTtJQUNFO0lBQ0E7QW5EKy9KRjs7QW9EN2pLQTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0FwRDJqS0Y7O0FvRHBqS0E7SUFDRTtJQUNBO0lBQ0E7SUFFQTtBcERzaktGO0FvRG5qS0U7STlCNUNJLG1DOEI2Q0Y7SUFDQSw4Qi9DbTFDZ0M7QUxrdUhwQztBc0IvbEtNO0k4QndDSjtROUJ2Q007SXRCa21LSjtBQUNKO0FvRHhqS0U7SUFDRSxlL0NpMUNnQztBTHl1SHBDO0FvRHRqS0U7SUFDRSxzQi9DODBDZ0M7QUwwdUhwQzs7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QUNBO0F4RHU4S047QXdEcDhLSTtJQUNFO0lBQ0E7QXhEczhLTjtBd0RqOEtFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBeERtOEtKOztBd0QvN0tBO0FBRUU7SUFDRTtJQUNBO0lBQ0E7QXhEaThLSjtBd0QvN0tJO0lBRUU7QXhEZzhLTjtBd0Q3N0tJO0lBQ0U7SUFDQTtBeEQrN0tOO0F3RDU3S0k7SUFDRTtJQUNBO0F4RDg3S047O0F3RHo3S0E7QUFrQkE7SUFDRTtJQUNBO0lyRGlISSw2Q0FMSTtJcUQxR1I7SUFDQTtJQUNBO0lqRDVKRTtJQUNBO0FQd2tMSjtBd0QxNktFO0lBQ0U7QXhENDZLSjs7QXdEeDZLQTtJQUNFO0lBQ0E7QXhEMjZLRjs7QXlEaG1MQTtJQUNFO0F6RG1tTEY7O0F5RGhtTEE7SUFDRTtBekRtbUxGOztBeURobUxBO0lBQ0U7SUFDQTtJQUNBO0F6RG1tTEY7QTBEem5MRTtJQUNFO0lBQ0E7SUFDQTtBMUQybkxKOztBeURwbUxBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQ2xCSSxzQ21DbUJKO0F6RHVtTEY7QXNCdG5MTTtJbUNRTjtRbkNQUTtJdEJ5bkxKO0FBQ0o7O0F5RHptTEE7OztJQUdFO0F6RDRtTEY7O0F5RHptTEE7O0lBRUU7QXpENG1MRjs7QXlEem1MQTs7SUFFRTtBekQ0bUxGOztBeURubUxFO0lBQ0U7SUFDQTtJQUNBO0F6RHNtTEo7QXlEbm1MRTs7O0lBR0U7SUFDQTtBekRxbUxKO0F5RGxtTEU7O0lBRUU7SUFDQTtJbkM1REUsMkJtQzZERjtBekRvbUxKO0FzQjdwTE07SW1DcURKOztRbkNwRE07SXRCaXFMSjtBQUNKOztBeURqbUxBOztJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBQ0EsVXBEKzVDbUM7SW9EOTVDbkM7SUFDQSxXcEQxRlM7SW9EMkZUO0lBQ0E7SUFDQTtJQUNBLFlwRDA1Q21DO0lpQmgvQy9CLDhCbUN1Rko7QXpEbW1MRjtBc0J0ckxNO0ltQ2tFTjs7UW5DakVRO0l0QjByTEo7QUFDSjtBeUR0bUxFOzs7SUFFRSxXcERwR087SW9EcUdQO0lBQ0E7SUFDQSxZcERrNUNpQztBTHV0SXJDOztBeUR0bUxBO0lBQ0U7QXpEeW1MRjs7QXlEdG1MQTtJQUNFO0F6RHltTEY7O0F5RHBtTEE7O0lBRUU7SUFDQSxXcERtNUNtQztJb0RsNUNuQyxZcERrNUNtQztJb0RqNUNuQztJQUNBO0lBQ0E7QXpEdW1MRjs7QXlEcG1MQTs7Ozs7OztHQUFBO0FBUUE7SUFDRTtBekR1bUxGOztBeURybUxBO0lBQ0U7QXpEd21MRjs7QXlEaG1MQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQSxpQnBEMjFDbUM7SW9EMTFDbkM7SUFDQSxnQnBEeTFDbUM7SW9EeDFDbkM7QXpEa21MRjtBeURobUxFO0lBQ0U7SUFDQTtJQUNBLFdwRHcxQ2lDO0lvRHYxQ2pDLFdwRHcxQ2lDO0lvRHYxQ2pDO0lBQ0EsaUJwRHcxQ2lDO0lvRHYxQ2pDLGdCcER1MUNpQztJb0R0MUNqQztJQUNBO0lBQ0Esc0JwRDNLTztJb0Q0S1A7SUFDQTtJQUVBO0lBQ0E7SUFDQSxZcEQrMENpQztJaUJ4L0MvQiw2Qm1DMEtGO0F6RGltTEo7QXNCdndMTTtJbUNxSko7UW5DcEpNO0l0QjB3TEo7QUFDSjtBeURubUxFO0lBQ0UsVXBENDBDaUM7QUx5eElyQzs7QXlENWxMQTtJQUNFO0lBQ0E7SUFDQSxlcERzMENtQztJb0RyMENuQztJQUNBLG9CcERtMENtQztJb0RsMENuQyx1QnBEazBDbUM7SW9EajBDbkMsV3BEdE1TO0lvRHVNVDtBekQrbExGOztBeUR6bExFOztJQUVFLGdDcER1MENpQztBTHF4SXJDO0F5RHpsTEU7SUFDRSx5Qi9Cbk5JO0ExQjh5TFI7QXlEeGxMRTtJQUNFLGMvQnZOSTtBMUJpekxSOztBMkRyekxBOztJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtBM0R1ekxGOztBMkRuekxBO0lBQ0U7UUFBSztJM0R1ekxIO0FBQ0o7QTJEcHpMQTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7QTNEbXpMRjs7QTJEaHpMQTtJQUVFO0lBQ0E7SUFDQTtBM0RrekxGOztBMkR6eUxBO0lBQ0U7UUFDRTtJM0Q0eUxBO0kyRDF5TEY7UUFDRTtRQUNBO0kzRDR5TEE7QUFDSjtBMkR4eUxBO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBO0lBQ0E7QTNEdXlMRjs7QTJEcHlMQTtJQUNFO0lBQ0E7QTNEdXlMRjs7QTJEbnlMRTtJQUNFOztRQUVFO0kzRHN5TEY7QUFDSjtBNER0M0xBO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTVEdTNMRjs7QWN4ekxJO0k4QzlDRjtRQUVJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UXRDMUJBLHNDc0M0QkE7STVEdzJMRjtBQUNKO0FzQmo0TE07SXNDVUo7UXRDVE07SXRCbzRMSjtBQUNKO0FjOTBMSTtJOEM5QkU7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RCsyTEo7STRENTJMRTtRQUNFO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVEODJMSjtJNEQzMkxFO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVENjJMSjtJNEQxMkxFO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RDQyTEo7STREejJMRTtRQUVFO0k1RDAyTEo7STREdjJMRTtRQUdFO0k1RHUyTEo7QUFDSjtBY2w0TEk7SThDakNGO1FBaUVNO1FBQ0E7UUFDQTtJNURzMkxKO0k0RHAyTEk7UUFDRTtJNURzMkxOO0k0RG4yTEk7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUVBO0k1RG8yTE47QUFDSjs7QWN0NExJO0k4QzlDRjtRQUVJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UXRDMUJBLHNDc0M0QkE7STVEczdMRjtBQUNKO0FzQi84TE07SXNDVUo7UXRDVE07SXRCazlMSjtBQUNKO0FjNTVMSTtJOEM5QkU7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RDY3TEo7STREMTdMRTtRQUNFO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVENDdMSjtJNER6N0xFO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVEMjdMSjtJNER4N0xFO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RDA3TEo7STREdjdMRTtRQUVFO0k1RHc3TEo7STREcjdMRTtRQUdFO0k1RHE3TEo7QUFDSjtBY2g5TEk7SThDakNGO1FBaUVNO1FBQ0E7UUFDQTtJNURvN0xKO0k0RGw3TEk7UUFDRTtJNURvN0xOO0k0RGo3TEk7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUVBO0k1RGs3TE47QUFDSjs7QWNwOUxJO0k4QzlDRjtRQUVJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UXRDMUJBLHNDc0M0QkE7STVEb2dNRjtBQUNKO0FzQjdoTU07SXNDVUo7UXRDVE07SXRCZ2lNSjtBQUNKO0FjMStMSTtJOEM5QkU7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RDJnTUo7STREeGdNRTtRQUNFO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVEMGdNSjtJNER2Z01FO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVEeWdNSjtJNER0Z01FO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RHdnTUo7STREcmdNRTtRQUVFO0k1RHNnTUo7STREbmdNRTtRQUdFO0k1RG1nTUo7QUFDSjtBYzloTUk7SThDakNGO1FBaUVNO1FBQ0E7UUFDQTtJNURrZ01KO0k0RGhnTUk7UUFDRTtJNURrZ01OO0k0RC8vTEk7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUVBO0k1RGdnTU47QUFDSjs7QWNsaU1JO0k4QzlDRjtRQUVJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UXRDMUJBLHNDc0M0QkE7STVEa2xNRjtBQUNKO0FzQjNtTU07SXNDVUo7UXRDVE07SXRCOG1NSjtBQUNKO0FjeGpNSTtJOEM5QkU7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RHlsTUo7STREdGxNRTtRQUNFO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVEd2xNSjtJNERybE1FO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVEdWxNSjtJNERwbE1FO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RHNsTUo7STREbmxNRTtRQUVFO0k1RG9sTUo7STREamxNRTtRQUdFO0k1RGlsTUo7QUFDSjtBYzVtTUk7SThDakNGO1FBaUVNO1FBQ0E7UUFDQTtJNURnbE1KO0k0RDlrTUk7UUFDRTtJNURnbE1OO0k0RDdrTUk7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUVBO0k1RDhrTU47QUFDSjs7QWNobk1JO0k4QzlDRjtRQUVJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UXRDMUJBLHNDc0M0QkE7STVEZ3FNRjtBQUNKO0FzQnpyTU07SXNDVUo7UXRDVE07SXRCNHJNSjtBQUNKO0FjdG9NSTtJOEM5QkU7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RHVxTUo7STREcHFNRTtRQUNFO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVEc3FNSjtJNERucU1FO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7STVEcXFNSjtJNERscU1FO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0k1RG9xTUo7STREanFNRTtRQUVFO0k1RGtxTUo7STREL3BNRTtRQUdFO0k1RCtwTUo7QUFDSjtBYzFyTUk7SThDakNGO1FBaUVNO1FBQ0E7UUFDQTtJNUQ4cE1KO0k0RDVwTUk7UUFDRTtJNUQ4cE1OO0k0RDNwTUk7UUFDRTtRQUNBO1FBQ0E7UUFDQTtRQUVBO0k1RDRwTU47QUFDSjs7QTRENXVNRTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXRDMUJBLHNDc0M0QkE7QTVENnVNTjtBc0Jyd01NO0lzQ1VKO1F0Q1RNO0l0Qnd3TUo7QUFDSjtBNERodk1NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBNURrdk1SO0E0RC91TU07SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0E1RGl2TVI7QTREOXVNTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0E1RGd2TVI7QTREN3VNTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBNUQrdU1SO0E0RDV1TU07SUFFRTtBNUQ2dU1SO0E0RDF1TU07SUFHRTtBNUQwdU1SOztBNEQvc01BO0lQbEhFO0lBQ0E7SUFDQTtJQUNBLGFoRGdoQ2tDO0lnRC9nQ2xDO0lBQ0E7SUFDQTtBckRxME1GO0FxRGwwTUU7SUFBUztBckRxME1YO0FxRHAwTUU7SUFBUyxZaERvM0N5QjtBTG05SnBDOztBNEQzdE1BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7QTVEOHRNRjtBNEQ1dE1FO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7QTVEOHRNSjs7QTREMXRNQTtJQUNFO0lBQ0EsZ0J2RDRhNEI7QUxpekw5Qjs7QTREMXRNQTtJQUNFO0lBQ0E7SUFDQTtBNUQ2dE1GOztBNkQzMk1BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFl4RHFzQ2tDO0FMeXFLcEM7QTZENTJNRTtJQUNFO0lBQ0E7QTdEODJNSjs7QTZEejJNQTtJQUNFO0E3RDQyTUY7O0E2RHoyTUE7SUFDRTtBN0Q0Mk1GOztBNkR6Mk1BO0lBQ0U7QTdENDJNRjs7QTZEdjJNRTtJQUNFO0E3RDAyTUo7O0E2RHQyTUE7SUFDRTtRQUNFLFl4RHdxQ2dDO0lMaXNLaEM7QUFDSjtBNkR0Mk1BO0lBQ0U7SUFDQTtJQUNBO0E3RHcyTUY7O0E2RHIyTUE7SUFDRTtRQUNFO0k3RHcyTUE7QUFDSjtBMER2NU1FO0lBQ0U7SUFDQTtJQUNBO0ExRHk1TUo7O0E4RHo1TUU7SUFDRTtJQUNBO0E5RDQ1TUo7O0E4RDk1TUU7SUFDRTtJQUNBO0E5RGk2TUo7O0E4RG42TUU7SUFDRTtJQUNBO0E5RHM2TUo7O0E4RHg2TUU7SUFDRTtJQUNBO0E5RDI2TUo7O0E4RDc2TUU7SUFDRTtJQUNBO0E5RGc3TUo7O0E4RGw3TUU7SUFDRTtJQUNBO0E5RHE3TUo7O0E4RHY3TUU7SUFDRTtJQUNBO0E5RDA3TUo7O0E4RDU3TUU7SUFDRTtJQUNBO0E5RCs3TUo7O0ErRHI4TUU7SUFDRTtBL0R3OE1KO0ErRHI4TU07SUFFRTtBL0RzOE1SOztBK0Q1OE1FO0lBQ0U7QS9EKzhNSjtBK0Q1OE1NO0lBRUU7QS9ENjhNUjs7QStEbjlNRTtJQUNFO0EvRHM5TUo7QStEbjlNTTtJQUVFO0EvRG85TVI7O0ErRDE5TUU7SUFDRTtBL0Q2OU1KO0ErRDE5TU07SUFFRTtBL0QyOU1SOztBK0RqK01FO0lBQ0U7QS9EbytNSjtBK0RqK01NO0lBRUU7QS9EaytNUjs7QStEeCtNRTtJQUNFO0EvRDIrTUo7QStEeCtNTTtJQUVFO0EvRHkrTVI7O0ErRC8rTUU7SUFDRTtBL0RrL01KO0ErRC8rTU07SUFFRTtBL0RnL01SOztBK0R0L01FO0lBQ0U7QS9EeS9NSjtBK0R0L01NO0lBRUU7QS9EdS9NUjs7QWdFNS9NQTtJQUNFO0lBQ0E7QWhFKy9NRjtBZ0U3L01FO0lBQ0U7SUFDQTtJQUNBO0FoRSsvTUo7QWdFNS9NRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QWhFOC9NSjs7QWdFei9NRTtJQUNFO0FoRTQvTUo7O0FnRTcvTUU7SUFDRTtBaEVnZ05KOztBZ0VqZ05FO0lBQ0U7QWhFb2dOSjs7QWdFcmdORTtJQUNFO0FoRXdnTko7O0FpRTdoTkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGE1RDZnQ2tDO0FMbWhMcEM7O0FpRTdoTkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGE1RHFnQ2tDO0FMMmhMcEM7O0FpRXhoTkk7SUFDRTtJQUNBO0lBQ0EsYTVEeS9COEI7QUxraUxwQzs7QWlFeGhOSTtJQUNFO0lBQ0E7SUFDQSxhNURtL0I4QjtBTHdpTHBDOztBYzUvTUk7SW1EeENBO1FBQ0U7UUFDQTtRQUNBLGE1RHkvQjhCO0lMK2lMaEM7SWlFcmlOQTtRQUNFO1FBQ0E7UUFDQSxhNURtL0I4QjtJTG9qTGhDO0FBQ0o7QWN6Z05JO0ltRHhDQTtRQUNFO1FBQ0E7UUFDQSxhNUR5L0I4QjtJTDJqTGhDO0lpRWpqTkE7UUFDRTtRQUNBO1FBQ0EsYTVEbS9COEI7SUxna0xoQztBQUNKO0FjcmhOSTtJbUR4Q0E7UUFDRTtRQUNBO1FBQ0EsYTVEeS9COEI7SUx1a0xoQztJaUU3ak5BO1FBQ0U7UUFDQTtRQUNBLGE1RG0vQjhCO0lMNGtMaEM7QUFDSjtBY2ppTkk7SW1EeENBO1FBQ0U7UUFDQTtRQUNBLGE1RHkvQjhCO0lMbWxMaEM7SWlFemtOQTtRQUNFO1FBQ0E7UUFDQSxhNURtL0I4QjtJTHdsTGhDO0FBQ0o7QWM3aU5JO0ltRHhDQTtRQUNFO1FBQ0E7UUFDQSxhNUR5L0I4QjtJTCtsTGhDO0lpRXJsTkE7UUFDRTtRQUNBO1FBQ0EsYTVEbS9COEI7SUxvbUxoQztBQUNKO0FrRXZuTkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtBbEV5bk5GOztBa0V0bk5BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7QWxFeW5ORjs7QW1Fam9OQTs7SUNJRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QXBFa29ORjs7QXFFN29ORTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxVaEVvWnNDO0lnRW5adEM7QXJFZ3BOSjs7QXNFeHBOQTtJQ0FFO0lBQ0E7SUFDQTtBdkU0cE5GOztBd0VscU5BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGFuRXluQjRCO0FMNGlNOUI7O0F5RXptTlE7SUFPSTtBekVzbU5aOztBeUU3bU5RO0lBT0k7QXpFMG1OWjs7QXlFam5OUTtJQU9JO0F6RThtTlo7O0F5RXJuTlE7SUFPSTtBekVrbk5aOztBeUV6bk5RO0lBT0k7QXpFc25OWjs7QXlFN25OUTtJQU9JO0F6RTBuTlo7O0F5RWpvTlE7SUFPSTtBekU4bk5aOztBeUVyb05RO0lBT0k7QXpFa29OWjs7QXlFem9OUTtJQU9JO0F6RXNvTlo7O0F5RTdvTlE7SUFPSTtBekUwb05aOztBeUVqcE5RO0lBT0k7QXpFOG9OWjs7QXlFcnBOUTtJQU9JO0F6RWtwTlo7O0F5RXpwTlE7SUFPSTtBekVzcE5aOztBeUU3cE5RO0lBT0k7QXpFMHBOWjs7QXlFanFOUTtJQU9JO0F6RThwTlo7O0F5RXJxTlE7SUFPSTtBekVrcU5aOztBeUV6cU5RO0lBT0k7QXpFc3FOWjs7QXlFN3FOUTtJQU9JO0F6RTBxTlo7O0F5RWpyTlE7SUFPSTtBekU4cU5aOztBeUVyck5RO0lBT0k7QXpFa3JOWjs7QXlFenJOUTtJQU9JO0F6RXNyTlo7O0F5RTdyTlE7SUFPSTtBekUwck5aOztBeUVqc05RO0lBT0k7QXpFOHJOWjs7QXlFcnNOUTtJQU9JO0F6RWtzTlo7O0F5RXpzTlE7SUFPSTtBekVzc05aOztBeUU3c05RO0lBT0k7QXpFMHNOWjs7QXlFanROUTtJQU9JO0F6RThzTlo7O0F5RXJ0TlE7SUFPSTtBekVrdE5aOztBeUV6dE5RO0lBT0k7QXpFc3ROWjs7QXlFN3ROUTtJQU9JO0F6RTB0Tlo7O0F5RWp1TlE7SUFPSTtBekU4dE5aOztBeUVydU5RO0lBT0k7QXpFa3VOWjs7QXlFenVOUTtJQU9JO0F6RXN1Tlo7O0F5RTd1TlE7SUFPSTtBekUwdU5aOztBeUVqdk5RO0lBT0k7QXpFOHVOWjs7QXlFcnZOUTtJQU9JO0F6RWt2Tlo7O0F5RXp2TlE7SUFPSTtBekVzdk5aOztBeUU3dk5RO0lBT0k7QXpFMHZOWjs7QXlFandOUTtJQU9JO0F6RTh2Tlo7O0F5RXJ3TlE7SUFPSTtBekVrd05aOztBeUV6d05RO0lBT0k7QXpFc3dOWjs7QXlFN3dOUTtJQU9JO0F6RTB3Tlo7O0F5RWp4TlE7SUFPSTtBekU4d05aOztBeUVyeE5RO0lBT0k7QXpFa3hOWjs7QXlFenhOUTtJQU9JO0F6RXN4Tlo7O0F5RTd4TlE7SUFPSTtBekUweE5aOztBeUVqeU5RO0lBT0k7QXpFOHhOWjs7QXlFcnlOUTtJQU9JO0F6RWt5Tlo7O0F5RXp5TlE7SUFPSTtBekVzeU5aOztBeUU3eU5RO0lBT0k7QXpFMHlOWjs7QXlFanpOUTtJQU9JO0F6RTh5Tlo7O0F5RXJ6TlE7SUFPSTtBekVrek5aOztBeUV6ek5RO0lBT0k7QXpFc3pOWjs7QXlFN3pOUTtJQU9JO0F6RTB6Tlo7O0F5RWowTlE7SUFPSTtBekU4ek5aOztBeUVyME5RO0lBT0k7QXpFazBOWjs7QXlFejBOUTtJQU9JO0F6RXMwTlo7O0F5RTcwTlE7SUFPSTtBekUwME5aOztBeUVqMU5RO0lBT0k7QXpFODBOWjs7QXlFcjFOUTtJQU9JO0F6RWsxTlo7O0F5RXoxTlE7SUFPSTtBekVzMU5aOztBeUU3MU5RO0lBT0k7QXpFMDFOWjs7QXlFajJOUTtJQUlRO0lBR0o7QXpFKzFOWjs7QXlFdDJOUTtJQUlRO0lBR0o7QXpFbzJOWjs7QXlFMzJOUTtJQUlRO0lBR0o7QXpFeTJOWjs7QXlFaDNOUTtJQUlRO0lBR0o7QXpFODJOWjs7QXlFcjNOUTtJQUlRO0lBR0o7QXpFbTNOWjs7QXlFMTNOUTtJQUlRO0lBR0o7QXpFdzNOWjs7QXlFLzNOUTtJQUlRO0lBR0o7QXpFNjNOWjs7QXlFcDROUTtJQUlRO0lBR0o7QXpFazROWjs7QXlFejROUTtJQUlRO0lBR0o7QXpFdTROWjs7QXlFeDVOUTtJQUNFO0F6RTI1TlY7O0F5RTU1TlE7SUFDRTtBekUrNU5WOztBeUVoNk5RO0lBQ0U7QXpFbTZOVjs7QXlFcDZOUTtJQUNFO0F6RXU2TlY7O0F5RXg2TlE7SUFDRTtBekUyNk5WOztBeUU1Nk5RO0lBQ0U7QXpFKzZOVjs7QXlFaDdOUTtJQUNFO0F6RW03TlY7O0F5RXA3TlE7SUFDRTtBekV1N05WOztBeUV4N05RO0lBQ0U7QXpFMjdOVjs7QXlFNTdOUTtJQUNFO0F6RSs3TlY7O0F5RXQ3TlE7SUFPSTtBekVtN05aOztBeUUxN05RO0lBT0k7QXpFdTdOWjs7QXlFOTdOUTtJQU9JO0F6RTI3Tlo7O0F5RWw4TlE7SUFPSTtBekUrN05aOztBeUV0OE5RO0lBT0k7QXpFbThOWjs7QXlFMThOUTtJQU9JO0F6RXU4Tlo7O0F5RTk4TlE7SUFPSTtBekUyOE5aOztBeUVsOU5RO0lBT0k7QXpFKzhOWjs7QXlFdDlOUTtJQU9JO0F6RW05Tlo7O0F5RTE5TlE7SUFPSTtBekV1OU5aOztBeUU5OU5RO0lBT0k7QXpFMjlOWjs7QXlFbCtOUTtJQU9JO0F6RSs5Tlo7O0F5RXQrTlE7SUFPSTtBekVtK05aOztBeUUxK05RO0lBT0k7QXpFdStOWjs7QXlFOStOUTtJQU9JO0F6RTIrTlo7O0F5RWwvTlE7SUFPSTtBekUrK05aOztBeUV0L05RO0lBT0k7QXpFbS9OWjs7QXlFMS9OUTtJQU9JO0F6RXUvTlo7O0F5RTkvTlE7SUFPSTtBekUyL05aOztBeUVsZ09RO0lBT0k7QXpFKy9OWjs7QXlFdGdPUTtJQU9JO0F6RW1nT1o7O0F5RTFnT1E7SUFPSTtBekV1Z09aOztBeUU5Z09RO0lBT0k7QXpFMmdPWjs7QXlFbGhPUTtJQU9JO0F6RStnT1o7O0F5RXRoT1E7SUFPSTtBekVtaE9aOztBeUUxaE9RO0lBT0k7QXpFdWhPWjs7QXlFOWhPUTtJQU9JO0F6RTJoT1o7O0F5RWxpT1E7SUFPSTtBekUraE9aOztBeUV0aU9RO0lBT0k7QXpFbWlPWjs7QXlFMWlPUTtJQU9JO0F6RXVpT1o7O0F5RTlpT1E7SUFPSTtBekUyaU9aOztBeUVsak9RO0lBT0k7QXpFK2lPWjs7QXlFdGpPUTtJQU9JO0F6RW1qT1o7O0F5RTFqT1E7SUFPSTtBekV1ak9aOztBeUU5ak9RO0lBT0k7QXpFMmpPWjs7QXlFbGtPUTtJQU9JO0F6RStqT1o7O0F5RXRrT1E7SUFPSTtBekVta09aOztBeUUxa09RO0lBT0k7QXpFdWtPWjs7QXlFOWtPUTtJQU9JO0F6RTJrT1o7O0F5RWxsT1E7SUFPSTtBekUra09aOztBeUV0bE9RO0lBT0k7QXpFbWxPWjs7QXlFMWxPUTtJQU9JO0F6RXVsT1o7O0F5RTlsT1E7SUFPSTtBekUybE9aOztBeUVsbU9RO0lBT0k7QXpFK2xPWjs7QXlFdG1PUTtJQU9JO0F6RW1tT1o7O0F5RTFtT1E7SUFPSTtBekV1bU9aOztBeUU5bU9RO0lBT0k7QXpFMm1PWjs7QXlFbG5PUTtJQU9JO0F6RSttT1o7O0F5RXRuT1E7SUFPSTtBekVtbk9aOztBeUUxbk9RO0lBT0k7QXpFdW5PWjs7QXlFOW5PUTtJQU9JO0F6RTJuT1o7O0F5RWxvT1E7SUFPSTtBekUrbk9aOztBeUV0b09RO0lBT0k7QXpFbW9PWjs7QXlFMW9PUTtJQU9JO0F6RXVvT1o7O0F5RTlvT1E7SUFPSTtBekUyb09aOztBeUVscE9RO0lBT0k7QXpFK29PWjs7QXlFdHBPUTtJQU9JO0F6RW1wT1o7O0F5RTFwT1E7SUFPSTtBekV1cE9aOztBeUU5cE9RO0lBT0k7QXpFMnBPWjs7QXlFbHFPUTtJQU9JO0F6RStwT1o7O0F5RXRxT1E7SUFPSTtBekVtcU9aOztBeUUxcU9RO0lBT0k7QXpFdXFPWjs7QXlFOXFPUTtJQU9JO0F6RTJxT1o7O0F5RWxyT1E7SUFPSTtBekUrcU9aOztBeUV0ck9RO0lBT0k7QXpFbXJPWjs7QXlFMXJPUTtJQU9JO0F6RXVyT1o7O0F5RTlyT1E7SUFPSTtJQUFBO0F6RTRyT1o7O0F5RW5zT1E7SUFPSTtJQUFBO0F6RWlzT1o7O0F5RXhzT1E7SUFPSTtJQUFBO0F6RXNzT1o7O0F5RTdzT1E7SUFPSTtJQUFBO0F6RTJzT1o7O0F5RWx0T1E7SUFPSTtJQUFBO0F6RWd0T1o7O0F5RXZ0T1E7SUFPSTtJQUFBO0F6RXF0T1o7O0F5RTV0T1E7SUFPSTtJQUFBO0F6RTB0T1o7O0F5RWp1T1E7SUFPSTtJQUFBO0F6RSt0T1o7O0F5RXR1T1E7SUFPSTtJQUFBO0F6RW91T1o7O0F5RTN1T1E7SUFPSTtJQUFBO0F6RXl1T1o7O0F5RWh2T1E7SUFPSTtJQUFBO0F6RTh1T1o7O0F5RXJ2T1E7SUFPSTtJQUFBO0F6RW12T1o7O0F5RTF2T1E7SUFPSTtJQUFBO0F6RXd2T1o7O0F5RS92T1E7SUFPSTtJQUFBO0F6RTZ2T1o7O0F5RXB3T1E7SUFPSTtBekVpd09aOztBeUV4d09RO0lBT0k7QXpFcXdPWjs7QXlFNXdPUTtJQU9JO0F6RXl3T1o7O0F5RWh4T1E7SUFPSTtBekU2d09aOztBeUVweE9RO0lBT0k7QXpFaXhPWjs7QXlFeHhPUTtJQU9JO0F6RXF4T1o7O0F5RTV4T1E7SUFPSTtBekV5eE9aOztBeUVoeU9RO0lBT0k7QXpFNnhPWjs7QXlFcHlPUTtJQU9JO0F6RWl5T1o7O0F5RXh5T1E7SUFPSTtBekVxeU9aOztBeUU1eU9RO0lBT0k7QXpFeXlPWjs7QXlFaHpPUTtJQU9JO0F6RTZ5T1o7O0F5RXB6T1E7SUFPSTtBekVpek9aOztBeUV4ek9RO0lBT0k7QXpFcXpPWjs7QXlFNXpPUTtJQU9JO0F6RXl6T1o7O0F5RWgwT1E7SUFPSTtBekU2ek9aOztBeUVwME9RO0lBT0k7QXpFaTBPWjs7QXlFeDBPUTtJQU9JO0F6RXEwT1o7O0F5RTUwT1E7SUFPSTtBekV5ME9aOztBeUVoMU9RO0lBT0k7QXpFNjBPWjs7QXlFcDFPUTtJQU9JO0F6RWkxT1o7O0F5RXgxT1E7SUFPSTtBekVxMU9aOztBeUU1MU9RO0lBT0k7QXpFeTFPWjs7QXlFaDJPUTtJQU9JO0F6RTYxT1o7O0F5RXAyT1E7SUFPSTtBekVpMk9aOztBeUV4Mk9RO0lBT0k7QXpFcTJPWjs7QXlFNTJPUTtJQU9JO0F6RXkyT1o7O0F5RWgzT1E7SUFPSTtBekU2Mk9aOztBeUVwM09RO0lBT0k7QXpFaTNPWjs7QXlFeDNPUTtJQU9JO0F6RXEzT1o7O0F5RTUzT1E7SUFPSTtBekV5M09aOztBeUVoNE9RO0lBT0k7QXpFNjNPWjs7QXlFcDRPUTtJQU9JO0F6RWk0T1o7O0F5RXg0T1E7SUFPSTtBekVxNE9aOztBeUU1NE9RO0lBT0k7SUFBQTtBekUwNE9aOztBeUVqNU9RO0lBT0k7SUFBQTtBekUrNE9aOztBeUV0NU9RO0lBT0k7SUFBQTtBekVvNU9aOztBeUUzNU9RO0lBT0k7SUFBQTtBekV5NU9aOztBeUVoNk9RO0lBT0k7SUFBQTtBekU4NU9aOztBeUVyNk9RO0lBT0k7SUFBQTtBekVtNk9aOztBeUUxNk9RO0lBT0k7SUFBQTtBekV3Nk9aOztBeUUvNk9RO0lBT0k7SUFBQTtBekU2Nk9aOztBeUVwN09RO0lBT0k7SUFBQTtBekVrN09aOztBeUV6N09RO0lBT0k7SUFBQTtBekV1N09aOztBeUU5N09RO0lBT0k7SUFBQTtBekU0N09aOztBeUVuOE9RO0lBT0k7SUFBQTtBekVpOE9aOztBeUV4OE9RO0lBT0k7QXpFcThPWjs7QXlFNThPUTtJQU9JO0F6RXk4T1o7O0F5RWg5T1E7SUFPSTtBekU2OE9aOztBeUVwOU9RO0lBT0k7QXpFaTlPWjs7QXlFeDlPUTtJQU9JO0F6RXE5T1o7O0F5RTU5T1E7SUFPSTtBekV5OU9aOztBeUVoK09RO0lBT0k7QXpFNjlPWjs7QXlFcCtPUTtJQU9JO0F6RWkrT1o7O0F5RXgrT1E7SUFPSTtBekVxK09aOztBeUU1K09RO0lBT0k7QXpFeStPWjs7QXlFaC9PUTtJQU9JO0F6RTYrT1o7O0F5RXAvT1E7SUFPSTtBekVpL09aOztBeUV4L09RO0lBT0k7QXpFcS9PWjs7QXlFNS9PUTtJQU9JO0F6RXkvT1o7O0F5RWhnUFE7SUFPSTtBekU2L09aOztBeUVwZ1BRO0lBT0k7QXpFaWdQWjs7QXlFeGdQUTtJQU9JO0F6RXFnUFo7O0F5RTVnUFE7SUFPSTtBekV5Z1BaOztBeUVoaFBRO0lBT0k7QXpFNmdQWjs7QXlFcGhQUTtJQU9JO0F6RWloUFo7O0F5RXhoUFE7SUFPSTtBekVxaFBaOztBeUU1aFBRO0lBT0k7QXpFeWhQWjs7QXlFaGlQUTtJQU9JO0F6RTZoUFo7O0F5RXBpUFE7SUFPSTtBekVpaVBaOztBeUV4aVBRO0lBT0k7QXpFcWlQWjs7QXlFNWlQUTtJQU9JO0F6RXlpUFo7O0F5RWhqUFE7SUFPSTtBekU2aVBaOztBeUVwalBRO0lBT0k7QXpFaWpQWjs7QXlFeGpQUTtJQU9JO0F6RXFqUFo7O0F5RTVqUFE7SUFPSTtBekV5alBaOztBeUVoa1BRO0lBT0k7QXpFNmpQWjs7QXlFcGtQUTtJQU9JO0F6RWlrUFo7O0F5RXhrUFE7SUFPSTtBekVxa1BaOztBeUU1a1BRO0lBT0k7QXpFeWtQWjs7QXlFaGxQUTtJQU9JO0F6RTZrUFo7O0F5RXBsUFE7SUFPSTtBekVpbFBaOztBeUV4bFBRO0lBT0k7QXpFcWxQWjs7QXlFNWxQUTtJQU9JO0F6RXlsUFo7O0F5RWhtUFE7SUFPSTtBekU2bFBaOztBeUVwbVBRO0lBT0k7QXpFaW1QWjs7QXlFeG1QUTtJQU9JO0F6RXFtUFo7O0F5RTVtUFE7SUFPSTtBekV5bVBaOztBeUVoblBRO0lBT0k7QXpFNm1QWjs7QXlFcG5QUTtJQU9JO0F6RWluUFo7O0F5RXhuUFE7SUFPSTtBekVxblBaOztBeUU1blBRO0lBT0k7QXpFeW5QWjs7QXlFaG9QUTtJQU9JO0F6RTZuUFo7O0F5RXBvUFE7SUFPSTtBekVpb1BaOztBeUV4b1BRO0lBT0k7QXpFcW9QWjs7QXlFNW9QUTtJQU9JO0F6RXlvUFo7O0F5RWhwUFE7SUFPSTtBekU2b1BaOztBeUVwcFBRO0lBT0k7QXpFaXBQWjs7QXlFeHBQUTtJQU9JO0F6RXFwUFo7O0F5RTVwUFE7SUFPSTtBekV5cFBaOztBeUVocVBRO0lBT0k7QXpFNnBQWjs7QXlFcHFQUTtJQU9JO0F6RWlxUFo7O0F5RXhxUFE7SUFPSTtBekVxcVBaOztBeUU1cVBRO0lBT0k7QXpFeXFQWjs7QXlFaHJQUTtJQU9JO0F6RTZxUFo7O0F5RXByUFE7SUFPSTtBekVpclBaOztBeUV0c1BRO0FBY0E7SUFPSTtJQUFBO0F6RXVyUFo7O0F5RXBxUFE7QUExQkE7SUFJUTtJQUdKO0F6RTZyUFo7O0F5RXBzUFE7SUFJUTtJQUdKO0F6RWtzUFo7O0F5RXpzUFE7SUFJUTtJQUdKO0F6RXVzUFo7O0F5RTlzUFE7SUFJUTtJQUdKO0F6RTRzUFo7O0F5RW50UFE7SUFJUTtJQUdKO0F6RWl0UFo7O0F5RXh0UFE7SUFJUTtJQUdKO0F6RXN0UFo7O0F5RTd0UFE7SUFJUTtJQUdKO0F6RTJ0UFo7O0F5RWx1UFE7SUFJUTtJQUdKO0F6RWd1UFo7O0F5RXZ1UFE7SUFJUTtJQUdKO0F6RXF1UFo7O0F5RTV1UFE7SUFJUTtJQUdKO0F6RTB1UFo7O0F5RWp2UFE7SUFJUTtJQUdKO0F6RSt1UFo7O0F5RXR2UFE7SUFJUTtJQUdKO0F6RW92UFo7O0F5RTN2UFE7SUFJUTtJQUdKO0F6RXl2UFo7O0F5RWh3UFE7SUFJUTtJQUdKO0F6RTh2UFo7O0F5RXJ3UFE7SUFJUTtJQUdKO0F6RW13UFo7O0F5RXB4UFE7SUFDRTtBekV1eFBWOztBeUV4eFBRO0lBQ0U7QXpFMnhQVjs7QXlFNXhQUTtJQUNFO0F6RSt4UFY7O0F5RWh5UFE7SUFDRTtBekVteVBWOztBeUUxeFBRO0lBSVE7SUFHSjtBekV3eFBaOztBeUUveFBRO0lBSVE7SUFHSjtBekU2eFBaOztBeUVweVBRO0lBSVE7SUFHSjtBekVreVBaOztBeUV6eVBRO0lBSVE7SUFHSjtBekV1eVBaOztBeUU5eVBRO0lBSVE7SUFHSjtBekU0eVBaOztBeUVuelBRO0lBSVE7SUFHSjtBekVpelBaOztBeUV4elBRO0lBSVE7SUFHSjtBekVzelBaOztBeUU3elBRO0lBSVE7SUFHSjtBekUyelBaOztBeUVsMFBRO0lBSVE7SUFHSjtBekVnMFBaOztBeUV2MFBRO0lBSVE7SUFHSjtBekVxMFBaOztBeUU1MFBRO0lBSVE7SUFHSjtBekUwMFBaOztBeUVqMVBRO0lBSVE7SUFHSjtBekUrMFBaOztBeUVoMlBRO0lBQ0U7QXpFbTJQVjs7QXlFcDJQUTtJQUNFO0F6RXUyUFY7O0F5RXgyUFE7SUFDRTtBekUyMlBWOztBeUU1MlBRO0lBQ0U7QXpFKzJQVjs7QXlFaDNQUTtJQUNFO0F6RW0zUFY7O0F5RTEyUFE7SUFPSTtBekV1MlBaOztBeUU5MlBRO0lBT0k7QXpFMjJQWjs7QXlFbDNQUTtJQU9JO0F6RSsyUFo7O0F5RXQzUFE7SUFPSTtBekVtM1BaOztBeUUxM1BRO0lBT0k7QXpFdTNQWjs7QXlFOTNQUTtJQU9JO0F6RTIzUFo7O0F5RWw0UFE7SUFPSTtBekUrM1BaOztBeUV0NFBRO0lBT0k7QXpFbTRQWjs7QXlFMTRQUTtJQU9JO0F6RXU0UFo7O0F5RTk0UFE7SUFPSTtBekUyNFBaOztBeUVsNVBRO0lBT0k7QXpFKzRQWjs7QXlFdDVQUTtJQU9JO0F6RW01UFo7O0F5RTE1UFE7SUFPSTtBekV1NVBaOztBeUU5NVBRO0lBT0k7QXpFMjVQWjs7QXlFbDZQUTtJQU9JO0F6RSs1UFo7O0F5RXQ2UFE7SUFPSTtJQUFBO0F6RW82UFo7O0F5RTM2UFE7SUFPSTtJQUFBO0F6RXk2UFo7O0F5RWg3UFE7SUFPSTtJQUFBO0F6RTg2UFo7O0F5RXI3UFE7SUFPSTtJQUFBO0F6RW03UFo7O0F5RTE3UFE7SUFPSTtBekV1N1BaOztBeUU5N1BRO0lBT0k7QXpFMjdQWjs7QWNyOFBJO0kyREdJO1FBT0k7SXpFZzhQUjtJeUV2OFBJO1FBT0k7SXpFbThQUjtJeUUxOFBJO1FBT0k7SXpFczhQUjtJeUU3OFBJO1FBT0k7SXpFeThQUjtJeUVoOVBJO1FBT0k7SXpFNDhQUjtJeUVuOVBJO1FBT0k7SXpFKzhQUjtJeUV0OVBJO1FBT0k7SXpFazlQUjtJeUV6OVBJO1FBT0k7SXpFcTlQUjtJeUU1OVBJO1FBT0k7SXpFdzlQUjtJeUUvOVBJO1FBT0k7SXpFMjlQUjtJeUVsK1BJO1FBT0k7SXpFODlQUjtJeUVyK1BJO1FBT0k7SXpFaStQUjtJeUV4K1BJO1FBT0k7SXpFbytQUjtJeUUzK1BJO1FBT0k7SXpFdStQUjtJeUU5K1BJO1FBT0k7SXpFMCtQUjtJeUVqL1BJO1FBT0k7SXpFNitQUjtJeUVwL1BJO1FBT0k7SXpFZy9QUjtJeUV2L1BJO1FBT0k7SXpFbS9QUjtJeUUxL1BJO1FBT0k7SXpFcy9QUjtJeUU3L1BJO1FBT0k7SXpFeS9QUjtJeUVoZ1FJO1FBT0k7SXpFNC9QUjtJeUVuZ1FJO1FBT0k7SXpFKy9QUjtJeUV0Z1FJO1FBT0k7SXpFa2dRUjtJeUV6Z1FJO1FBT0k7SXpFcWdRUjtJeUU1Z1FJO1FBT0k7SXpFd2dRUjtJeUUvZ1FJO1FBT0k7SXpFMmdRUjtJeUVsaFFJO1FBT0k7SXpFOGdRUjtJeUVyaFFJO1FBT0k7SXpFaWhRUjtJeUV4aFFJO1FBT0k7SXpFb2hRUjtJeUUzaFFJO1FBT0k7SXpFdWhRUjtJeUU5aFFJO1FBT0k7SXpFMGhRUjtJeUVqaVFJO1FBT0k7SXpFNmhRUjtJeUVwaVFJO1FBT0k7SXpFZ2lRUjtJeUV2aVFJO1FBT0k7SXpFbWlRUjtJeUUxaVFJO1FBT0k7SXpFc2lRUjtJeUU3aVFJO1FBT0k7SXpFeWlRUjtJeUVoalFJO1FBT0k7SXpFNGlRUjtJeUVualFJO1FBT0k7SXpFK2lRUjtJeUV0alFJO1FBT0k7SXpFa2pRUjtJeUV6alFJO1FBT0k7SXpFcWpRUjtJeUU1alFJO1FBT0k7SXpFd2pRUjtJeUUvalFJO1FBT0k7SXpFMmpRUjtJeUVsa1FJO1FBT0k7SXpFOGpRUjtJeUVya1FJO1FBT0k7SXpFaWtRUjtJeUV4a1FJO1FBT0k7SXpFb2tRUjtJeUUza1FJO1FBT0k7SXpFdWtRUjtJeUU5a1FJO1FBT0k7SXpFMGtRUjtJeUVqbFFJO1FBT0k7SXpFNmtRUjtJeUVwbFFJO1FBT0k7SXpFZ2xRUjtJeUV2bFFJO1FBT0k7SXpFbWxRUjtJeUUxbFFJO1FBT0k7SXpFc2xRUjtJeUU3bFFJO1FBT0k7SXpFeWxRUjtJeUVobVFJO1FBT0k7SXpFNGxRUjtJeUVubVFJO1FBT0k7SXpFK2xRUjtJeUV0bVFJO1FBT0k7SXpFa21RUjtJeUV6bVFJO1FBT0k7SXpFcW1RUjtJeUU1bVFJO1FBT0k7SXpFd21RUjtJeUUvbVFJO1FBT0k7SXpFMm1RUjtJeUVsblFJO1FBT0k7SXpFOG1RUjtJeUVyblFJO1FBT0k7SXpFaW5RUjtJeUV4blFJO1FBT0k7SXpFb25RUjtJeUUzblFJO1FBT0k7SXpFdW5RUjtJeUU5blFJO1FBT0k7SXpFMG5RUjtJeUVqb1FJO1FBT0k7UUFBQTtJekU4blFSO0l5RXJvUUk7UUFPSTtRQUFBO0l6RWtvUVI7SXlFem9RSTtRQU9JO1FBQUE7SXpFc29RUjtJeUU3b1FJO1FBT0k7UUFBQTtJekUwb1FSO0l5RWpwUUk7UUFPSTtRQUFBO0l6RThvUVI7SXlFcnBRSTtRQU9JO1FBQUE7SXpFa3BRUjtJeUV6cFFJO1FBT0k7UUFBQTtJekVzcFFSO0l5RTdwUUk7UUFPSTtRQUFBO0l6RTBwUVI7SXlFanFRSTtRQU9JO1FBQUE7SXpFOHBRUjtJeUVycVFJO1FBT0k7UUFBQTtJekVrcVFSO0l5RXpxUUk7UUFPSTtRQUFBO0l6RXNxUVI7SXlFN3FRSTtRQU9JO1FBQUE7SXpFMHFRUjtJeUVqclFJO1FBT0k7UUFBQTtJekU4cVFSO0l5RXJyUUk7UUFPSTtRQUFBO0l6RWtyUVI7SXlFenJRSTtRQU9JO0l6RXFyUVI7SXlFNXJRSTtRQU9JO0l6RXdyUVI7SXlFL3JRSTtRQU9JO0l6RTJyUVI7SXlFbHNRSTtRQU9JO0l6RThyUVI7SXlFcnNRSTtRQU9JO0l6RWlzUVI7SXlFeHNRSTtRQU9JO0l6RW9zUVI7SXlFM3NRSTtRQU9JO0l6RXVzUVI7SXlFOXNRSTtRQU9JO0l6RTBzUVI7SXlFanRRSTtRQU9JO0l6RTZzUVI7SXlFcHRRSTtRQU9JO0l6RWd0UVI7SXlFdnRRSTtRQU9JO0l6RW10UVI7SXlFMXRRSTtRQU9JO0l6RXN0UVI7SXlFN3RRSTtRQU9JO0l6RXl0UVI7SXlFaHVRSTtRQU9JO0l6RTR0UVI7SXlFbnVRSTtRQU9JO0l6RSt0UVI7SXlFdHVRSTtRQU9JO0l6RWt1UVI7SXlFenVRSTtRQU9JO0l6RXF1UVI7SXlFNXVRSTtRQU9JO0l6RXd1UVI7SXlFL3VRSTtRQU9JO0l6RTJ1UVI7SXlFbHZRSTtRQU9JO0l6RTh1UVI7SXlFcnZRSTtRQU9JO0l6RWl2UVI7SXlFeHZRSTtRQU9JO0l6RW92UVI7SXlFM3ZRSTtRQU9JO0l6RXV2UVI7SXlFOXZRSTtRQU9JO0l6RTB2UVI7SXlFandRSTtRQU9JO0l6RTZ2UVI7SXlFcHdRSTtRQU9JO0l6RWd3UVI7SXlFdndRSTtRQU9JO0l6RW13UVI7SXlFMXdRSTtRQU9JO0l6RXN3UVI7SXlFN3dRSTtRQU9JO0l6RXl3UVI7SXlFaHhRSTtRQU9JO0l6RTR3UVI7SXlFbnhRSTtRQU9JO0l6RSt3UVI7SXlFdHhRSTtRQU9JO0l6RWt4UVI7SXlFenhRSTtRQU9JO0l6RXF4UVI7SXlFNXhRSTtRQU9JO0l6RXd4UVI7SXlFL3hRSTtRQU9JO1FBQUE7SXpFNHhRUjtJeUVueVFJO1FBT0k7UUFBQTtJekVneVFSO0l5RXZ5UUk7UUFPSTtRQUFBO0l6RW95UVI7SXlFM3lRSTtRQU9JO1FBQUE7SXpFd3lRUjtJeUUveVFJO1FBT0k7UUFBQTtJekU0eVFSO0l5RW56UUk7UUFPSTtRQUFBO0l6RWd6UVI7SXlFdnpRSTtRQU9JO1FBQUE7SXpFb3pRUjtJeUUzelFJO1FBT0k7UUFBQTtJekV3elFSO0l5RS96UUk7UUFPSTtRQUFBO0l6RTR6UVI7SXlFbjBRSTtRQU9JO1FBQUE7SXpFZzBRUjtJeUV2MFFJO1FBT0k7UUFBQTtJekVvMFFSO0l5RTMwUUk7UUFPSTtRQUFBO0l6RXcwUVI7SXlFLzBRSTtRQU9JO0l6RTIwUVI7SXlFbDFRSTtRQU9JO0l6RTgwUVI7SXlFcjFRSTtRQU9JO0l6RWkxUVI7SXlFeDFRSTtRQU9JO0l6RW8xUVI7SXlFMzFRSTtRQU9JO0l6RXUxUVI7SXlFOTFRSTtRQU9JO0l6RTAxUVI7SXlFajJRSTtRQU9JO0l6RTYxUVI7SXlFcDJRSTtRQU9JO0l6RWcyUVI7SXlFdjJRSTtRQU9JO0l6RW0yUVI7SXlFMTJRSTtRQU9JO0l6RXMyUVI7SXlFNzJRSTtRQU9JO0l6RXkyUVI7SXlFaDNRSTtRQU9JO0l6RTQyUVI7SXlFbjNRSTtRQU9JO0l6RSsyUVI7SXlFdDNRSTtRQU9JO0l6RWszUVI7SXlFejNRSTtRQU9JO0l6RXEzUVI7SXlFNTNRSTtRQU9JO0l6RXczUVI7SXlFLzNRSTtRQU9JO0l6RTIzUVI7SXlFbDRRSTtRQU9JO0l6RTgzUVI7SXlFcjRRSTtRQU9JO0l6RWk0UVI7SXlFeDRRSTtRQU9JO0l6RW80UVI7SXlFMzRRSTtRQU9JO0l6RXU0UVI7SXlFOTRRSTtRQU9JO0l6RTA0UVI7SXlFajVRSTtRQU9JO0l6RTY0UVI7SXlFcDVRSTtRQU9JO0l6RWc1UVI7SXlFdjVRSTtRQU9JO0l6RW01UVI7SXlFMTVRSTtRQU9JO0l6RXM1UVI7SXlFNzVRSTtRQU9JO0l6RXk1UVI7SXlFaDZRSTtRQU9JO0l6RTQ1UVI7SXlFbjZRSTtRQU9JO0l6RSs1UVI7SXlFdDZRSTtRQU9JO0l6RWs2UVI7SXlFejZRSTtRQU9JO0l6RXE2UVI7SXlFNTZRSTtRQU9JO0l6RXc2UVI7SXlFLzZRSTtRQU9JO0l6RTI2UVI7QUFDSjtBY3Q3UUk7STJER0k7UUFPSTtJekVnN1FSO0l5RXY3UUk7UUFPSTtJekVtN1FSO0l5RTE3UUk7UUFPSTtJekVzN1FSO0l5RTc3UUk7UUFPSTtJekV5N1FSO0l5RWg4UUk7UUFPSTtJekU0N1FSO0l5RW44UUk7UUFPSTtJekUrN1FSO0l5RXQ4UUk7UUFPSTtJekVrOFFSO0l5RXo4UUk7UUFPSTtJekVxOFFSO0l5RTU4UUk7UUFPSTtJekV3OFFSO0l5RS84UUk7UUFPSTtJekUyOFFSO0l5RWw5UUk7UUFPSTtJekU4OFFSO0l5RXI5UUk7UUFPSTtJekVpOVFSO0l5RXg5UUk7UUFPSTtJekVvOVFSO0l5RTM5UUk7UUFPSTtJekV1OVFSO0l5RTk5UUk7UUFPSTtJekUwOVFSO0l5RWorUUk7UUFPSTtJekU2OVFSO0l5RXArUUk7UUFPSTtJekVnK1FSO0l5RXYrUUk7UUFPSTtJekVtK1FSO0l5RTErUUk7UUFPSTtJekVzK1FSO0l5RTcrUUk7UUFPSTtJekV5K1FSO0l5RWgvUUk7UUFPSTtJekU0K1FSO0l5RW4vUUk7UUFPSTtJekUrK1FSO0l5RXQvUUk7UUFPSTtJekVrL1FSO0l5RXovUUk7UUFPSTtJekVxL1FSO0l5RTUvUUk7UUFPSTtJekV3L1FSO0l5RS8vUUk7UUFPSTtJekUyL1FSO0l5RWxnUkk7UUFPSTtJekU4L1FSO0l5RXJnUkk7UUFPSTtJekVpZ1JSO0l5RXhnUkk7UUFPSTtJekVvZ1JSO0l5RTNnUkk7UUFPSTtJekV1Z1JSO0l5RTlnUkk7UUFPSTtJekUwZ1JSO0l5RWpoUkk7UUFPSTtJekU2Z1JSO0l5RXBoUkk7UUFPSTtJekVnaFJSO0l5RXZoUkk7UUFPSTtJekVtaFJSO0l5RTFoUkk7UUFPSTtJekVzaFJSO0l5RTdoUkk7UUFPSTtJekV5aFJSO0l5RWhpUkk7UUFPSTtJekU0aFJSO0l5RW5pUkk7UUFPSTtJekUraFJSO0l5RXRpUkk7UUFPSTtJekVraVJSO0l5RXppUkk7UUFPSTtJekVxaVJSO0l5RTVpUkk7UUFPSTtJekV3aVJSO0l5RS9pUkk7UUFPSTtJekUyaVJSO0l5RWxqUkk7UUFPSTtJekU4aVJSO0l5RXJqUkk7UUFPSTtJekVpalJSO0l5RXhqUkk7UUFPSTtJekVvalJSO0l5RTNqUkk7UUFPSTtJekV1alJSO0l5RTlqUkk7UUFPSTtJekUwalJSO0l5RWprUkk7UUFPSTtJekU2alJSO0l5RXBrUkk7UUFPSTtJekVna1JSO0l5RXZrUkk7UUFPSTtJekVta1JSO0l5RTFrUkk7UUFPSTtJekVza1JSO0l5RTdrUkk7UUFPSTtJekV5a1JSO0l5RWhsUkk7UUFPSTtJekU0a1JSO0l5RW5sUkk7UUFPSTtJekUra1JSO0l5RXRsUkk7UUFPSTtJekVrbFJSO0l5RXpsUkk7UUFPSTtJekVxbFJSO0l5RTVsUkk7UUFPSTtJekV3bFJSO0l5RS9sUkk7UUFPSTtJekUybFJSO0l5RWxtUkk7UUFPSTtJekU4bFJSO0l5RXJtUkk7UUFPSTtJekVpbVJSO0l5RXhtUkk7UUFPSTtJekVvbVJSO0l5RTNtUkk7UUFPSTtJekV1bVJSO0l5RTltUkk7UUFPSTtJekUwbVJSO0l5RWpuUkk7UUFPSTtRQUFBO0l6RThtUlI7SXlFcm5SSTtRQU9JO1FBQUE7SXpFa25SUjtJeUV6blJJO1FBT0k7UUFBQTtJekVzblJSO0l5RTduUkk7UUFPSTtRQUFBO0l6RTBuUlI7SXlFam9SSTtRQU9JO1FBQUE7SXpFOG5SUjtJeUVyb1JJO1FBT0k7UUFBQTtJekVrb1JSO0l5RXpvUkk7UUFPSTtRQUFBO0l6RXNvUlI7SXlFN29SSTtRQU9JO1FBQUE7SXpFMG9SUjtJeUVqcFJJO1FBT0k7UUFBQTtJekU4b1JSO0l5RXJwUkk7UUFPSTtRQUFBO0l6RWtwUlI7SXlFenBSSTtRQU9JO1FBQUE7SXpFc3BSUjtJeUU3cFJJO1FBT0k7UUFBQTtJekUwcFJSO0l5RWpxUkk7UUFPSTtRQUFBO0l6RThwUlI7SXlFcnFSSTtRQU9JO1FBQUE7SXpFa3FSUjtJeUV6cVJJO1FBT0k7SXpFcXFSUjtJeUU1cVJJO1FBT0k7SXpFd3FSUjtJeUUvcVJJO1FBT0k7SXpFMnFSUjtJeUVsclJJO1FBT0k7SXpFOHFSUjtJeUVyclJJO1FBT0k7SXpFaXJSUjtJeUV4clJJO1FBT0k7SXpFb3JSUjtJeUUzclJJO1FBT0k7SXpFdXJSUjtJeUU5clJJO1FBT0k7SXpFMHJSUjtJeUVqc1JJO1FBT0k7SXpFNnJSUjtJeUVwc1JJO1FBT0k7SXpFZ3NSUjtJeUV2c1JJO1FBT0k7SXpFbXNSUjtJeUUxc1JJO1FBT0k7SXpFc3NSUjtJeUU3c1JJO1FBT0k7SXpFeXNSUjtJeUVodFJJO1FBT0k7SXpFNHNSUjtJeUVudFJJO1FBT0k7SXpFK3NSUjtJeUV0dFJJO1FBT0k7SXpFa3RSUjtJeUV6dFJJO1FBT0k7SXpFcXRSUjtJeUU1dFJJO1FBT0k7SXpFd3RSUjtJeUUvdFJJO1FBT0k7SXpFMnRSUjtJeUVsdVJJO1FBT0k7SXpFOHRSUjtJeUVydVJJO1FBT0k7SXpFaXVSUjtJeUV4dVJJO1FBT0k7SXpFb3VSUjtJeUUzdVJJO1FBT0k7SXpFdXVSUjtJeUU5dVJJO1FBT0k7SXpFMHVSUjtJeUVqdlJJO1FBT0k7SXpFNnVSUjtJeUVwdlJJO1FBT0k7SXpFZ3ZSUjtJeUV2dlJJO1FBT0k7SXpFbXZSUjtJeUUxdlJJO1FBT0k7SXpFc3ZSUjtJeUU3dlJJO1FBT0k7SXpFeXZSUjtJeUVod1JJO1FBT0k7SXpFNHZSUjtJeUVud1JJO1FBT0k7SXpFK3ZSUjtJeUV0d1JJO1FBT0k7SXpFa3dSUjtJeUV6d1JJO1FBT0k7SXpFcXdSUjtJeUU1d1JJO1FBT0k7SXpFd3dSUjtJeUUvd1JJO1FBT0k7UUFBQTtJekU0d1JSO0l5RW54Ukk7UUFPSTtRQUFBO0l6RWd4UlI7SXlFdnhSSTtRQU9JO1FBQUE7SXpFb3hSUjtJeUUzeFJJO1FBT0k7UUFBQTtJekV3eFJSO0l5RS94Ukk7UUFPSTtRQUFBO0l6RTR4UlI7SXlFbnlSSTtRQU9JO1FBQUE7SXpFZ3lSUjtJeUV2eVJJO1FBT0k7UUFBQTtJekVveVJSO0l5RTN5Ukk7UUFPSTtRQUFBO0l6RXd5UlI7SXlFL3lSSTtRQU9JO1FBQUE7SXpFNHlSUjtJeUVuelJJO1FBT0k7UUFBQTtJekVnelJSO0l5RXZ6Ukk7UUFPSTtRQUFBO0l6RW96UlI7SXlFM3pSSTtRQU9JO1FBQUE7SXpFd3pSUjtJeUUvelJJO1FBT0k7SXpFMnpSUjtJeUVsMFJJO1FBT0k7SXpFOHpSUjtJeUVyMFJJO1FBT0k7SXpFaTBSUjtJeUV4MFJJO1FBT0k7SXpFbzBSUjtJeUUzMFJJO1FBT0k7SXpFdTBSUjtJeUU5MFJJO1FBT0k7SXpFMDBSUjtJeUVqMVJJO1FBT0k7SXpFNjBSUjtJeUVwMVJJO1FBT0k7SXpFZzFSUjtJeUV2MVJJO1FBT0k7SXpFbTFSUjtJeUUxMVJJO1FBT0k7SXpFczFSUjtJeUU3MVJJO1FBT0k7SXpFeTFSUjtJeUVoMlJJO1FBT0k7SXpFNDFSUjtJeUVuMlJJO1FBT0k7SXpFKzFSUjtJeUV0MlJJO1FBT0k7SXpFazJSUjtJeUV6MlJJO1FBT0k7SXpFcTJSUjtJeUU1MlJJO1FBT0k7SXpFdzJSUjtJeUUvMlJJO1FBT0k7SXpFMjJSUjtJeUVsM1JJO1FBT0k7SXpFODJSUjtJeUVyM1JJO1FBT0k7SXpFaTNSUjtJeUV4M1JJO1FBT0k7SXpFbzNSUjtJeUUzM1JJO1FBT0k7SXpFdTNSUjtJeUU5M1JJO1FBT0k7SXpFMDNSUjtJeUVqNFJJO1FBT0k7SXpFNjNSUjtJeUVwNFJJO1FBT0k7SXpFZzRSUjtJeUV2NFJJO1FBT0k7SXpFbTRSUjtJeUUxNFJJO1FBT0k7SXpFczRSUjtJeUU3NFJJO1FBT0k7SXpFeTRSUjtJeUVoNVJJO1FBT0k7SXpFNDRSUjtJeUVuNVJJO1FBT0k7SXpFKzRSUjtJeUV0NVJJO1FBT0k7SXpFazVSUjtJeUV6NVJJO1FBT0k7SXpFcTVSUjtJeUU1NVJJO1FBT0k7SXpFdzVSUjtJeUUvNVJJO1FBT0k7SXpFMjVSUjtBQUNKO0FjdDZSSTtJMkRHSTtRQU9JO0l6RWc2UlI7SXlFdjZSSTtRQU9JO0l6RW02UlI7SXlFMTZSSTtRQU9JO0l6RXM2UlI7SXlFNzZSSTtRQU9JO0l6RXk2UlI7SXlFaDdSSTtRQU9JO0l6RTQ2UlI7SXlFbjdSSTtRQU9JO0l6RSs2UlI7SXlFdDdSSTtRQU9JO0l6RWs3UlI7SXlFejdSSTtRQU9JO0l6RXE3UlI7SXlFNTdSSTtRQU9JO0l6RXc3UlI7SXlFLzdSSTtRQU9JO0l6RTI3UlI7SXlFbDhSSTtRQU9JO0l6RTg3UlI7SXlFcjhSSTtRQU9JO0l6RWk4UlI7SXlFeDhSSTtRQU9JO0l6RW84UlI7SXlFMzhSSTtRQU9JO0l6RXU4UlI7SXlFOThSSTtRQU9JO0l6RTA4UlI7SXlFajlSSTtRQU9JO0l6RTY4UlI7SXlFcDlSSTtRQU9JO0l6RWc5UlI7SXlFdjlSSTtRQU9JO0l6RW05UlI7SXlFMTlSSTtRQU9JO0l6RXM5UlI7SXlFNzlSSTtRQU9JO0l6RXk5UlI7SXlFaCtSSTtRQU9JO0l6RTQ5UlI7SXlFbitSSTtRQU9JO0l6RSs5UlI7SXlFdCtSSTtRQU9JO0l6RWsrUlI7SXlFeitSSTtRQU9JO0l6RXErUlI7SXlFNStSSTtRQU9JO0l6RXcrUlI7SXlFLytSSTtRQU9JO0l6RTIrUlI7SXlFbC9SSTtRQU9JO0l6RTgrUlI7SXlFci9SSTtRQU9JO0l6RWkvUlI7SXlFeC9SSTtRQU9JO0l6RW8vUlI7SXlFMy9SSTtRQU9JO0l6RXUvUlI7SXlFOS9SSTtRQU9JO0l6RTAvUlI7SXlFamdTSTtRQU9JO0l6RTYvUlI7SXlFcGdTSTtRQU9JO0l6RWdnU1I7SXlFdmdTSTtRQU9JO0l6RW1nU1I7SXlFMWdTSTtRQU9JO0l6RXNnU1I7SXlFN2dTSTtRQU9JO0l6RXlnU1I7SXlFaGhTSTtRQU9JO0l6RTRnU1I7SXlFbmhTSTtRQU9JO0l6RStnU1I7SXlFdGhTSTtRQU9JO0l6RWtoU1I7SXlFemhTSTtRQU9JO0l6RXFoU1I7SXlFNWhTSTtRQU9JO0l6RXdoU1I7SXlFL2hTSTtRQU9JO0l6RTJoU1I7SXlFbGlTSTtRQU9JO0l6RThoU1I7SXlFcmlTSTtRQU9JO0l6RWlpU1I7SXlFeGlTSTtRQU9JO0l6RW9pU1I7SXlFM2lTSTtRQU9JO0l6RXVpU1I7SXlFOWlTSTtRQU9JO0l6RTBpU1I7SXlFampTSTtRQU9JO0l6RTZpU1I7SXlFcGpTSTtRQU9JO0l6RWdqU1I7SXlFdmpTSTtRQU9JO0l6RW1qU1I7SXlFMWpTSTtRQU9JO0l6RXNqU1I7SXlFN2pTSTtRQU9JO0l6RXlqU1I7SXlFaGtTSTtRQU9JO0l6RTRqU1I7SXlFbmtTSTtRQU9JO0l6RStqU1I7SXlFdGtTSTtRQU9JO0l6RWtrU1I7SXlFemtTSTtRQU9JO0l6RXFrU1I7SXlFNWtTSTtRQU9JO0l6RXdrU1I7SXlFL2tTSTtRQU9JO0l6RTJrU1I7SXlFbGxTSTtRQU9JO0l6RThrU1I7SXlFcmxTSTtRQU9JO0l6RWlsU1I7SXlFeGxTSTtRQU9JO0l6RW9sU1I7SXlFM2xTSTtRQU9JO0l6RXVsU1I7SXlFOWxTSTtRQU9JO0l6RTBsU1I7SXlFam1TSTtRQU9JO1FBQUE7SXpFOGxTUjtJeUVybVNJO1FBT0k7UUFBQTtJekVrbVNSO0l5RXptU0k7UUFPSTtRQUFBO0l6RXNtU1I7SXlFN21TSTtRQU9JO1FBQUE7SXpFMG1TUjtJeUVqblNJO1FBT0k7UUFBQTtJekU4bVNSO0l5RXJuU0k7UUFPSTtRQUFBO0l6RWtuU1I7SXlFem5TSTtRQU9JO1FBQUE7SXpFc25TUjtJeUU3blNJO1FBT0k7UUFBQTtJekUwblNSO0l5RWpvU0k7UUFPSTtRQUFBO0l6RThuU1I7SXlFcm9TSTtRQU9JO1FBQUE7SXpFa29TUjtJeUV6b1NJO1FBT0k7UUFBQTtJekVzb1NSO0l5RTdvU0k7UUFPSTtRQUFBO0l6RTBvU1I7SXlFanBTSTtRQU9JO1FBQUE7SXpFOG9TUjtJeUVycFNJO1FBT0k7UUFBQTtJekVrcFNSO0l5RXpwU0k7UUFPSTtJekVxcFNSO0l5RTVwU0k7UUFPSTtJekV3cFNSO0l5RS9wU0k7UUFPSTtJekUycFNSO0l5RWxxU0k7UUFPSTtJekU4cFNSO0l5RXJxU0k7UUFPSTtJekVpcVNSO0l5RXhxU0k7UUFPSTtJekVvcVNSO0l5RTNxU0k7UUFPSTtJekV1cVNSO0l5RTlxU0k7UUFPSTtJekUwcVNSO0l5RWpyU0k7UUFPSTtJekU2cVNSO0l5RXByU0k7UUFPSTtJekVnclNSO0l5RXZyU0k7UUFPSTtJekVtclNSO0l5RTFyU0k7UUFPSTtJekVzclNSO0l5RTdyU0k7UUFPSTtJekV5clNSO0l5RWhzU0k7UUFPSTtJekU0clNSO0l5RW5zU0k7UUFPSTtJekUrclNSO0l5RXRzU0k7UUFPSTtJekVrc1NSO0l5RXpzU0k7UUFPSTtJekVxc1NSO0l5RTVzU0k7UUFPSTtJekV3c1NSO0l5RS9zU0k7UUFPSTtJekUyc1NSO0l5RWx0U0k7UUFPSTtJekU4c1NSO0l5RXJ0U0k7UUFPSTtJekVpdFNSO0l5RXh0U0k7UUFPSTtJekVvdFNSO0l5RTN0U0k7UUFPSTtJekV1dFNSO0l5RTl0U0k7UUFPSTtJekUwdFNSO0l5RWp1U0k7UUFPSTtJekU2dFNSO0l5RXB1U0k7UUFPSTtJekVndVNSO0l5RXZ1U0k7UUFPSTtJekVtdVNSO0l5RTF1U0k7UUFPSTtJekVzdVNSO0l5RTd1U0k7UUFPSTtJekV5dVNSO0l5RWh2U0k7UUFPSTtJekU0dVNSO0l5RW52U0k7UUFPSTtJekUrdVNSO0l5RXR2U0k7UUFPSTtJekVrdlNSO0l5RXp2U0k7UUFPSTtJekVxdlNSO0l5RTV2U0k7UUFPSTtJekV3dlNSO0l5RS92U0k7UUFPSTtRQUFBO0l6RTR2U1I7SXlFbndTSTtRQU9JO1FBQUE7SXpFZ3dTUjtJeUV2d1NJO1FBT0k7UUFBQTtJekVvd1NSO0l5RTN3U0k7UUFPSTtRQUFBO0l6RXd3U1I7SXlFL3dTSTtRQU9JO1FBQUE7SXpFNHdTUjtJeUVueFNJO1FBT0k7UUFBQTtJekVneFNSO0l5RXZ4U0k7UUFPSTtRQUFBO0l6RW94U1I7SXlFM3hTSTtRQU9JO1FBQUE7SXpFd3hTUjtJeUUveFNJO1FBT0k7UUFBQTtJekU0eFNSO0l5RW55U0k7UUFPSTtRQUFBO0l6RWd5U1I7SXlFdnlTSTtRQU9JO1FBQUE7SXpFb3lTUjtJeUUzeVNJO1FBT0k7UUFBQTtJekV3eVNSO0l5RS95U0k7UUFPSTtJekUyeVNSO0l5RWx6U0k7UUFPSTtJekU4eVNSO0l5RXJ6U0k7UUFPSTtJekVpelNSO0l5RXh6U0k7UUFPSTtJekVvelNSO0l5RTN6U0k7UUFPSTtJekV1elNSO0l5RTl6U0k7UUFPSTtJekUwelNSO0l5RWowU0k7UUFPSTtJekU2elNSO0l5RXAwU0k7UUFPSTtJekVnMFNSO0l5RXYwU0k7UUFPSTtJekVtMFNSO0l5RTEwU0k7UUFPSTtJekVzMFNSO0l5RTcwU0k7UUFPSTtJekV5MFNSO0l5RWgxU0k7UUFPSTtJekU0MFNSO0l5RW4xU0k7UUFPSTtJekUrMFNSO0l5RXQxU0k7UUFPSTtJekVrMVNSO0l5RXoxU0k7UUFPSTtJekVxMVNSO0l5RTUxU0k7UUFPSTtJekV3MVNSO0l5RS8xU0k7UUFPSTtJekUyMVNSO0l5RWwyU0k7UUFPSTtJekU4MVNSO0l5RXIyU0k7UUFPSTtJekVpMlNSO0l5RXgyU0k7UUFPSTtJekVvMlNSO0l5RTMyU0k7UUFPSTtJekV1MlNSO0l5RTkyU0k7UUFPSTtJekUwMlNSO0l5RWozU0k7UUFPSTtJekU2MlNSO0l5RXAzU0k7UUFPSTtJekVnM1NSO0l5RXYzU0k7UUFPSTtJekVtM1NSO0l5RTEzU0k7UUFPSTtJekVzM1NSO0l5RTczU0k7UUFPSTtJekV5M1NSO0l5RWg0U0k7UUFPSTtJekU0M1NSO0l5RW40U0k7UUFPSTtJekUrM1NSO0l5RXQ0U0k7UUFPSTtJekVrNFNSO0l5RXo0U0k7UUFPSTtJekVxNFNSO0l5RTU0U0k7UUFPSTtJekV3NFNSO0l5RS80U0k7UUFPSTtJekUyNFNSO0FBQ0o7QWN0NVNJO0kyREdJO1FBT0k7SXpFZzVTUjtJeUV2NVNJO1FBT0k7SXpFbTVTUjtJeUUxNVNJO1FBT0k7SXpFczVTUjtJeUU3NVNJO1FBT0k7SXpFeTVTUjtJeUVoNlNJO1FBT0k7SXpFNDVTUjtJeUVuNlNJO1FBT0k7SXpFKzVTUjtJeUV0NlNJO1FBT0k7SXpFazZTUjtJeUV6NlNJO1FBT0k7SXpFcTZTUjtJeUU1NlNJO1FBT0k7SXpFdzZTUjtJeUUvNlNJO1FBT0k7SXpFMjZTUjtJeUVsN1NJO1FBT0k7SXpFODZTUjtJeUVyN1NJO1FBT0k7SXpFaTdTUjtJeUV4N1NJO1FBT0k7SXpFbzdTUjtJeUUzN1NJO1FBT0k7SXpFdTdTUjtJeUU5N1NJO1FBT0k7SXpFMDdTUjtJeUVqOFNJO1FBT0k7SXpFNjdTUjtJeUVwOFNJO1FBT0k7SXpFZzhTUjtJeUV2OFNJO1FBT0k7SXpFbThTUjtJeUUxOFNJO1FBT0k7SXpFczhTUjtJeUU3OFNJO1FBT0k7SXpFeThTUjtJeUVoOVNJO1FBT0k7SXpFNDhTUjtJeUVuOVNJO1FBT0k7SXpFKzhTUjtJeUV0OVNJO1FBT0k7SXpFazlTUjtJeUV6OVNJO1FBT0k7SXpFcTlTUjtJeUU1OVNJO1FBT0k7SXpFdzlTUjtJeUUvOVNJO1FBT0k7SXpFMjlTUjtJeUVsK1NJO1FBT0k7SXpFODlTUjtJeUVyK1NJO1FBT0k7SXpFaStTUjtJeUV4K1NJO1FBT0k7SXpFbytTUjtJeUUzK1NJO1FBT0k7SXpFdStTUjtJeUU5K1NJO1FBT0k7SXpFMCtTUjtJeUVqL1NJO1FBT0k7SXpFNitTUjtJeUVwL1NJO1FBT0k7SXpFZy9TUjtJeUV2L1NJO1FBT0k7SXpFbS9TUjtJeUUxL1NJO1FBT0k7SXpFcy9TUjtJeUU3L1NJO1FBT0k7SXpFeS9TUjtJeUVoZ1RJO1FBT0k7SXpFNC9TUjtJeUVuZ1RJO1FBT0k7SXpFKy9TUjtJeUV0Z1RJO1FBT0k7SXpFa2dUUjtJeUV6Z1RJO1FBT0k7SXpFcWdUUjtJeUU1Z1RJO1FBT0k7SXpFd2dUUjtJeUUvZ1RJO1FBT0k7SXpFMmdUUjtJeUVsaFRJO1FBT0k7SXpFOGdUUjtJeUVyaFRJO1FBT0k7SXpFaWhUUjtJeUV4aFRJO1FBT0k7SXpFb2hUUjtJeUUzaFRJO1FBT0k7SXpFdWhUUjtJeUU5aFRJO1FBT0k7SXpFMGhUUjtJeUVqaVRJO1FBT0k7SXpFNmhUUjtJeUVwaVRJO1FBT0k7SXpFZ2lUUjtJeUV2aVRJO1FBT0k7SXpFbWlUUjtJeUUxaVRJO1FBT0k7SXpFc2lUUjtJeUU3aVRJO1FBT0k7SXpFeWlUUjtJeUVoalRJO1FBT0k7SXpFNGlUUjtJeUVualRJO1FBT0k7SXpFK2lUUjtJeUV0alRJO1FBT0k7SXpFa2pUUjtJeUV6alRJO1FBT0k7SXpFcWpUUjtJeUU1alRJO1FBT0k7SXpFd2pUUjtJeUUvalRJO1FBT0k7SXpFMmpUUjtJeUVsa1RJO1FBT0k7SXpFOGpUUjtJeUVya1RJO1FBT0k7SXpFaWtUUjtJeUV4a1RJO1FBT0k7SXpFb2tUUjtJeUUza1RJO1FBT0k7SXpFdWtUUjtJeUU5a1RJO1FBT0k7SXpFMGtUUjtJeUVqbFRJO1FBT0k7UUFBQTtJekU4a1RSO0l5RXJsVEk7UUFPSTtRQUFBO0l6RWtsVFI7SXlFemxUSTtRQU9JO1FBQUE7SXpFc2xUUjtJeUU3bFRJO1FBT0k7UUFBQTtJekUwbFRSO0l5RWptVEk7UUFPSTtRQUFBO0l6RThsVFI7SXlFcm1USTtRQU9JO1FBQUE7SXpFa21UUjtJeUV6bVRJO1FBT0k7UUFBQTtJekVzbVRSO0l5RTdtVEk7UUFPSTtRQUFBO0l6RTBtVFI7SXlFam5USTtRQU9JO1FBQUE7SXpFOG1UUjtJeUVyblRJO1FBT0k7UUFBQTtJekVrblRSO0l5RXpuVEk7UUFPSTtRQUFBO0l6RXNuVFI7SXlFN25USTtRQU9JO1FBQUE7SXpFMG5UUjtJeUVqb1RJO1FBT0k7UUFBQTtJekU4blRSO0l5RXJvVEk7UUFPSTtRQUFBO0l6RWtvVFI7SXlFem9USTtRQU9JO0l6RXFvVFI7SXlFNW9USTtRQU9JO0l6RXdvVFI7SXlFL29USTtRQU9JO0l6RTJvVFI7SXlFbHBUSTtRQU9JO0l6RThvVFI7SXlFcnBUSTtRQU9JO0l6RWlwVFI7SXlFeHBUSTtRQU9JO0l6RW9wVFI7SXlFM3BUSTtRQU9JO0l6RXVwVFI7SXlFOXBUSTtRQU9JO0l6RTBwVFI7SXlFanFUSTtRQU9JO0l6RTZwVFI7SXlFcHFUSTtRQU9JO0l6RWdxVFI7SXlFdnFUSTtRQU9JO0l6RW1xVFI7SXlFMXFUSTtRQU9JO0l6RXNxVFI7SXlFN3FUSTtRQU9JO0l6RXlxVFI7SXlFaHJUSTtRQU9JO0l6RTRxVFI7SXlFbnJUSTtRQU9JO0l6RStxVFI7SXlFdHJUSTtRQU9JO0l6RWtyVFI7SXlFenJUSTtRQU9JO0l6RXFyVFI7SXlFNXJUSTtRQU9JO0l6RXdyVFI7SXlFL3JUSTtRQU9JO0l6RTJyVFI7SXlFbHNUSTtRQU9JO0l6RThyVFI7SXlFcnNUSTtRQU9JO0l6RWlzVFI7SXlFeHNUSTtRQU9JO0l6RW9zVFI7SXlFM3NUSTtRQU9JO0l6RXVzVFI7SXlFOXNUSTtRQU9JO0l6RTBzVFI7SXlFanRUSTtRQU9JO0l6RTZzVFI7SXlFcHRUSTtRQU9JO0l6RWd0VFI7SXlFdnRUSTtRQU9JO0l6RW10VFI7SXlFMXRUSTtRQU9JO0l6RXN0VFI7SXlFN3RUSTtRQU9JO0l6RXl0VFI7SXlFaHVUSTtRQU9JO0l6RTR0VFI7SXlFbnVUSTtRQU9JO0l6RSt0VFI7SXlFdHVUSTtRQU9JO0l6RWt1VFI7SXlFenVUSTtRQU9JO0l6RXF1VFI7SXlFNXVUSTtRQU9JO0l6RXd1VFI7SXlFL3VUSTtRQU9JO1FBQUE7SXpFNHVUUjtJeUVudlRJO1FBT0k7UUFBQTtJekVndlRSO0l5RXZ2VEk7UUFPSTtRQUFBO0l6RW92VFI7SXlFM3ZUSTtRQU9JO1FBQUE7SXpFd3ZUUjtJeUUvdlRJO1FBT0k7UUFBQTtJekU0dlRSO0l5RW53VEk7UUFPSTtRQUFBO0l6RWd3VFI7SXlFdndUSTtRQU9JO1FBQUE7SXpFb3dUUjtJeUUzd1RJO1FBT0k7UUFBQTtJekV3d1RSO0l5RS93VEk7UUFPSTtRQUFBO0l6RTR3VFI7SXlFbnhUSTtRQU9JO1FBQUE7SXpFZ3hUUjtJeUV2eFRJO1FBT0k7UUFBQTtJekVveFRSO0l5RTN4VEk7UUFPSTtRQUFBO0l6RXd4VFI7SXlFL3hUSTtRQU9JO0l6RTJ4VFI7SXlFbHlUSTtRQU9JO0l6RTh4VFI7SXlFcnlUSTtRQU9JO0l6RWl5VFI7SXlFeHlUSTtRQU9JO0l6RW95VFI7SXlFM3lUSTtRQU9JO0l6RXV5VFI7SXlFOXlUSTtRQU9JO0l6RTB5VFI7SXlFanpUSTtRQU9JO0l6RTZ5VFI7SXlFcHpUSTtRQU9JO0l6RWd6VFI7SXlFdnpUSTtRQU9JO0l6RW16VFI7SXlFMXpUSTtRQU9JO0l6RXN6VFI7SXlFN3pUSTtRQU9JO0l6RXl6VFI7SXlFaDBUSTtRQU9JO0l6RTR6VFI7SXlFbjBUSTtRQU9JO0l6RSt6VFI7SXlFdDBUSTtRQU9JO0l6RWswVFI7SXlFejBUSTtRQU9JO0l6RXEwVFI7SXlFNTBUSTtRQU9JO0l6RXcwVFI7SXlFLzBUSTtRQU9JO0l6RTIwVFI7SXlFbDFUSTtRQU9JO0l6RTgwVFI7SXlFcjFUSTtRQU9JO0l6RWkxVFI7SXlFeDFUSTtRQU9JO0l6RW8xVFI7SXlFMzFUSTtRQU9JO0l6RXUxVFI7SXlFOTFUSTtRQU9JO0l6RTAxVFI7SXlFajJUSTtRQU9JO0l6RTYxVFI7SXlFcDJUSTtRQU9JO0l6RWcyVFI7SXlFdjJUSTtRQU9JO0l6RW0yVFI7SXlFMTJUSTtRQU9JO0l6RXMyVFI7SXlFNzJUSTtRQU9JO0l6RXkyVFI7SXlFaDNUSTtRQU9JO0l6RTQyVFI7SXlFbjNUSTtRQU9JO0l6RSsyVFI7SXlFdDNUSTtRQU9JO0l6RWszVFI7SXlFejNUSTtRQU9JO0l6RXEzVFI7SXlFNTNUSTtRQU9JO0l6RXczVFI7SXlFLzNUSTtRQU9JO0l6RTIzVFI7QUFDSjtBY3Q0VEk7STJER0k7UUFPSTtJekVnNFRSO0l5RXY0VEk7UUFPSTtJekVtNFRSO0l5RTE0VEk7UUFPSTtJekVzNFRSO0l5RTc0VEk7UUFPSTtJekV5NFRSO0l5RWg1VEk7UUFPSTtJekU0NFRSO0l5RW41VEk7UUFPSTtJekUrNFRSO0l5RXQ1VEk7UUFPSTtJekVrNVRSO0l5RXo1VEk7UUFPSTtJekVxNVRSO0l5RTU1VEk7UUFPSTtJekV3NVRSO0l5RS81VEk7UUFPSTtJekUyNVRSO0l5RWw2VEk7UUFPSTtJekU4NVRSO0l5RXI2VEk7UUFPSTtJekVpNlRSO0l5RXg2VEk7UUFPSTtJekVvNlRSO0l5RTM2VEk7UUFPSTtJekV1NlRSO0l5RTk2VEk7UUFPSTtJekUwNlRSO0l5RWo3VEk7UUFPSTtJekU2NlRSO0l5RXA3VEk7UUFPSTtJekVnN1RSO0l5RXY3VEk7UUFPSTtJekVtN1RSO0l5RTE3VEk7UUFPSTtJekVzN1RSO0l5RTc3VEk7UUFPSTtJekV5N1RSO0l5RWg4VEk7UUFPSTtJekU0N1RSO0l5RW44VEk7UUFPSTtJekUrN1RSO0l5RXQ4VEk7UUFPSTtJekVrOFRSO0l5RXo4VEk7UUFPSTtJekVxOFRSO0l5RTU4VEk7UUFPSTtJekV3OFRSO0l5RS84VEk7UUFPSTtJekUyOFRSO0l5RWw5VEk7UUFPSTtJekU4OFRSO0l5RXI5VEk7UUFPSTtJekVpOVRSO0l5RXg5VEk7UUFPSTtJekVvOVRSO0l5RTM5VEk7UUFPSTtJekV1OVRSO0l5RTk5VEk7UUFPSTtJekUwOVRSO0l5RWorVEk7UUFPSTtJekU2OVRSO0l5RXArVEk7UUFPSTtJekVnK1RSO0l5RXYrVEk7UUFPSTtJekVtK1RSO0l5RTErVEk7UUFPSTtJekVzK1RSO0l5RTcrVEk7UUFPSTtJekV5K1RSO0l5RWgvVEk7UUFPSTtJekU0K1RSO0l5RW4vVEk7UUFPSTtJekUrK1RSO0l5RXQvVEk7UUFPSTtJekVrL1RSO0l5RXovVEk7UUFPSTtJekVxL1RSO0l5RTUvVEk7UUFPSTtJekV3L1RSO0l5RS8vVEk7UUFPSTtJekUyL1RSO0l5RWxnVUk7UUFPSTtJekU4L1RSO0l5RXJnVUk7UUFPSTtJekVpZ1VSO0l5RXhnVUk7UUFPSTtJekVvZ1VSO0l5RTNnVUk7UUFPSTtJekV1Z1VSO0l5RTlnVUk7UUFPSTtJekUwZ1VSO0l5RWpoVUk7UUFPSTtJekU2Z1VSO0l5RXBoVUk7UUFPSTtJekVnaFVSO0l5RXZoVUk7UUFPSTtJekVtaFVSO0l5RTFoVUk7UUFPSTtJekVzaFVSO0l5RTdoVUk7UUFPSTtJekV5aFVSO0l5RWhpVUk7UUFPSTtJekU0aFVSO0l5RW5pVUk7UUFPSTtJekUraFVSO0l5RXRpVUk7UUFPSTtJekVraVVSO0l5RXppVUk7UUFPSTtJekVxaVVSO0l5RTVpVUk7UUFPSTtJekV3aVVSO0l5RS9pVUk7UUFPSTtJekUyaVVSO0l5RWxqVUk7UUFPSTtJekU4aVVSO0l5RXJqVUk7UUFPSTtJekVpalVSO0l5RXhqVUk7UUFPSTtJekVvalVSO0l5RTNqVUk7UUFPSTtJekV1alVSO0l5RTlqVUk7UUFPSTtJekUwalVSO0l5RWprVUk7UUFPSTtRQUFBO0l6RThqVVI7SXlFcmtVSTtRQU9JO1FBQUE7SXpFa2tVUjtJeUV6a1VJO1FBT0k7UUFBQTtJekVza1VSO0l5RTdrVUk7UUFPSTtRQUFBO0l6RTBrVVI7SXlFamxVSTtRQU9JO1FBQUE7SXpFOGtVUjtJeUVybFVJO1FBT0k7UUFBQTtJekVrbFVSO0l5RXpsVUk7UUFPSTtRQUFBO0l6RXNsVVI7SXlFN2xVSTtRQU9JO1FBQUE7SXpFMGxVUjtJeUVqbVVJO1FBT0k7UUFBQTtJekU4bFVSO0l5RXJtVUk7UUFPSTtRQUFBO0l6RWttVVI7SXlFem1VSTtRQU9JO1FBQUE7SXpFc21VUjtJeUU3bVVJO1FBT0k7UUFBQTtJekUwbVVSO0l5RWpuVUk7UUFPSTtRQUFBO0l6RThtVVI7SXlFcm5VSTtRQU9JO1FBQUE7SXpFa25VUjtJeUV6blVJO1FBT0k7SXpFcW5VUjtJeUU1blVJO1FBT0k7SXpFd25VUjtJeUUvblVJO1FBT0k7SXpFMm5VUjtJeUVsb1VJO1FBT0k7SXpFOG5VUjtJeUVyb1VJO1FBT0k7SXpFaW9VUjtJeUV4b1VJO1FBT0k7SXpFb29VUjtJeUUzb1VJO1FBT0k7SXpFdW9VUjtJeUU5b1VJO1FBT0k7SXpFMG9VUjtJeUVqcFVJO1FBT0k7SXpFNm9VUjtJeUVwcFVJO1FBT0k7SXpFZ3BVUjtJeUV2cFVJO1FBT0k7SXpFbXBVUjtJeUUxcFVJO1FBT0k7SXpFc3BVUjtJeUU3cFVJO1FBT0k7SXpFeXBVUjtJeUVocVVJO1FBT0k7SXpFNHBVUjtJeUVucVVJO1FBT0k7SXpFK3BVUjtJeUV0cVVJO1FBT0k7SXpFa3FVUjtJeUV6cVVJO1FBT0k7SXpFcXFVUjtJeUU1cVVJO1FBT0k7SXpFd3FVUjtJeUUvcVVJO1FBT0k7SXpFMnFVUjtJeUVsclVJO1FBT0k7SXpFOHFVUjtJeUVyclVJO1FBT0k7SXpFaXJVUjtJeUV4clVJO1FBT0k7SXpFb3JVUjtJeUUzclVJO1FBT0k7SXpFdXJVUjtJeUU5clVJO1FBT0k7SXpFMHJVUjtJeUVqc1VJO1FBT0k7SXpFNnJVUjtJeUVwc1VJO1FBT0k7SXpFZ3NVUjtJeUV2c1VJO1FBT0k7SXpFbXNVUjtJeUUxc1VJO1FBT0k7SXpFc3NVUjtJeUU3c1VJO1FBT0k7SXpFeXNVUjtJeUVodFVJO1FBT0k7SXpFNHNVUjtJeUVudFVJO1FBT0k7SXpFK3NVUjtJeUV0dFVJO1FBT0k7SXpFa3RVUjtJeUV6dFVJO1FBT0k7SXpFcXRVUjtJeUU1dFVJO1FBT0k7SXpFd3RVUjtJeUUvdFVJO1FBT0k7UUFBQTtJekU0dFVSO0l5RW51VUk7UUFPSTtRQUFBO0l6RWd1VVI7SXlFdnVVSTtRQU9JO1FBQUE7SXpFb3VVUjtJeUUzdVVJO1FBT0k7UUFBQTtJekV3dVVSO0l5RS91VUk7UUFPSTtRQUFBO0l6RTR1VVI7SXlFbnZVSTtRQU9JO1FBQUE7SXpFZ3ZVUjtJeUV2dlVJO1FBT0k7UUFBQTtJekVvdlVSO0l5RTN2VUk7UUFPSTtRQUFBO0l6RXd2VVI7SXlFL3ZVSTtRQU9JO1FBQUE7SXpFNHZVUjtJeUVud1VJO1FBT0k7UUFBQTtJekVnd1VSO0l5RXZ3VUk7UUFPSTtRQUFBO0l6RW93VVI7SXlFM3dVSTtRQU9JO1FBQUE7SXpFd3dVUjtJeUUvd1VJO1FBT0k7SXpFMndVUjtJeUVseFVJO1FBT0k7SXpFOHdVUjtJeUVyeFVJO1FBT0k7SXpFaXhVUjtJeUV4eFVJO1FBT0k7SXpFb3hVUjtJeUUzeFVJO1FBT0k7SXpFdXhVUjtJeUU5eFVJO1FBT0k7SXpFMHhVUjtJeUVqeVVJO1FBT0k7SXpFNnhVUjtJeUVweVVJO1FBT0k7SXpFZ3lVUjtJeUV2eVVJO1FBT0k7SXpFbXlVUjtJeUUxeVVJO1FBT0k7SXpFc3lVUjtJeUU3eVVJO1FBT0k7SXpFeXlVUjtJeUVoelVJO1FBT0k7SXpFNHlVUjtJeUVuelVJO1FBT0k7SXpFK3lVUjtJeUV0elVJO1FBT0k7SXpFa3pVUjtJeUV6elVJO1FBT0k7SXpFcXpVUjtJeUU1elVJO1FBT0k7SXpFd3pVUjtJeUUvelVJO1FBT0k7SXpFMnpVUjtJeUVsMFVJO1FBT0k7SXpFOHpVUjtJeUVyMFVJO1FBT0k7SXpFaTBVUjtJeUV4MFVJO1FBT0k7SXpFbzBVUjtJeUUzMFVJO1FBT0k7SXpFdTBVUjtJeUU5MFVJO1FBT0k7SXpFMDBVUjtJeUVqMVVJO1FBT0k7SXpFNjBVUjtJeUVwMVVJO1FBT0k7SXpFZzFVUjtJeUV2MVVJO1FBT0k7SXpFbTFVUjtJeUUxMVVJO1FBT0k7SXpFczFVUjtJeUU3MVVJO1FBT0k7SXpFeTFVUjtJeUVoMlVJO1FBT0k7SXpFNDFVUjtJeUVuMlVJO1FBT0k7SXpFKzFVUjtJ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OztBMkVoekdRO0lBRUk7QTNFa3pHWjtBMkUveUdRO0lBRUk7SUFDQTtBM0VnekdaO0EyRTd5R1E7SUFDSTtBM0UreUdaO0EyRTV5R1E7SUFDSTtJQUNBO0EzRTh5R1o7O0EyRXp5R1E7SUFFSTtBM0UyeUdaO0EyRXh5R1E7SUFFSTtJQUNBO0EzRXl5R1o7QTJFdHlHUTtJQUNJO0EzRXd5R1o7QTJFcnlHUTtJQUNJO0lBQ0E7QTNFdXlHWjs7QTJFbHlHUTtJQUVJO0EzRW95R1o7QTJFanlHUTtJQUVJO0lBQ0E7QTNFa3lHWjtBMkUveEdRO0lBQ0k7QTNFaXlHWjtBMkU5eEdRO0lBQ0k7SUFDQTtBM0VneUdaOztBMkUzeEdRO0lBRUk7QTNFNnhHWjtBMkUxeEdRO0lBRUk7SUFDQTtBM0UyeEdaO0EyRXh4R1E7SUFDSTtBM0UweEdaO0EyRXZ4R1E7SUFDSTtJQUNBO0EzRXl4R1o7O0EyRXB4R1E7SUFFSTtBM0VzeEdaO0EyRW54R1E7SUFFSTtJQUNBO0EzRW94R1o7QTJFanhHUTtJQUNJO0EzRW14R1o7QTJFaHhHUTtJQUNJO0lBQ0E7QTNFa3hHWjs7QTJFN3dHUTtJQUVJO0EzRSt3R1o7QTJFNXdHUTtJQUVJO0lBQ0E7QTNFNndHWjtBMkUxd0dRO0lBQ0k7QTNFNHdHWjtBMkV6d0dRO0lBQ0k7SUFDQTtBM0Uyd0daO0EyRXh3R1E7SUFFSTtBM0V5d0daOztBMkVwd0dRO0lBRUk7SUFDQTtBM0Vzd0daO0EyRW53R1E7SUFFSTtJQUNBO0lBQ0E7QTNFb3dHWjtBMkVqd0dRO0lBQ0k7SUFDQTtBM0Vtd0daO0EyRWh3R1E7SUFDSTtJQUNBO0lBQ0E7QTNFa3dHWjs7QTJFN3ZHUTtJQUVJO0lBQ0E7QTNFK3ZHWjtBMkU1dkdRO0lBRUk7SUFDQTtJQUNBO0EzRTZ2R1o7QTJFMXZHUTtJQUNJO0lBQ0E7QTNFNHZHWjtBMkV6dkdRO0lBQ0k7SUFDQTtJQUNBO0EzRTJ2R1o7O0EyRXR2R1E7SUFDSTtJQUNBO0EzRXl2R1o7QTJFdnZHWTtJQUNJO0EzRXl2R2hCO0EyRXJ2R1E7SUFDSTtJQUNBO0lBQ0E7QTNFdXZHWjtBMkVydkdZO0lBQ0k7QTNFdXZHaEI7O0EyRWp2R1E7SUFFSTtBM0VtdkdaO0EyRWh2R1E7SUFFSTtJQUNBO0EzRWl2R1o7QTJFOXVHUTtJQUNJO0EzRWd2R1o7QTJFN3VHUTtJQUNJO0lBQ0E7QTNFK3VHWjs7QTJFMXVHUTtJQUVJO0EzRTR1R1o7QTJFenVHUTtJQUVJO0lBQ0E7QTNFMHVHWjtBMkV2dUdRO0lBQ0k7QTNFeXVHWjtBMkV0dUdRO0lBQ0k7SUFDQTtBM0V3dUdaOztBMkVudUdRO0lBRUk7QTNFcXVHWjtBMkVsdUdRO0lBRUk7SUFDQTtBM0VtdUdaO0EyRWh1R1E7SUFDSTtBM0VrdUdaO0EyRS90R1E7SUFDSTtJQUNBO0EzRWl1R1o7O0EyRTV0R1E7SUFFSTtBM0U4dEdaO0EyRTN0R1E7SUFFSTtJQUNBO0EzRTR0R1o7QTJFenRHUTtJQUNJO0EzRTJ0R1o7QTJFeHRHUTtJQUNJO0lBQ0E7QTNFMHRHWjs7QTJFcnRHUTtJQUVJO0EzRXV0R1o7QTJFcHRHUTtJQUVJO0EzRXF0R1o7QTJFbHRHUTtJQUVJO0lBQ0E7QTNFbXRHWjs7QTJFOXNHUTtJQUVJO0EzRWd0R1o7QTJFN3NHUTtJQUVJO0EzRThzR1o7QTJFM3NHUTtJQUVJO0lBQ0E7QTNFNHNHWjs7QTJFbnNHSTs7SUFFSTtBM0Vzc0dSOztBMkVuc0dJO0lBQ0k7QTNFc3NHUjtBMkVwc0dRO0lBQ0k7QTNFc3NHWjtBMkVuc0dRO0lBQ0k7QTNFcXNHWjs7QTJFanNHSTs7SUFFSTtBM0Vvc0dSOztBMkVoc0dRO0lBQ0k7QTNFbXNHWjtBMkVoc0dRO0lBQ0k7QTNFa3NHWjs7QTJFM3JHUTtJQUNJO0EzRThyR1o7QTJFM3JHUTtJQUNJO0EzRTZyR1o7QTJFenJHWTtJQUVJO0EzRTByR2hCO0EyRXZyR1k7SUFDSTtBM0V5ckdoQjtBMkV0ckdZO0lBQ0k7QTNFd3JHaEI7O0EyRWhyR1E7SUFDSTtJQUNBO0EzRW1yR1o7QTJFaHJHUTtJQUNJO0EzRWtyR1o7QTJFOXFHWTtJQUNJO0lBQ0E7QTNFZ3JHaEI7QTJFN3FHWTtJQUNJO0EzRStxR2hCOztBMkV4cUdRO0lBWUk7QTNFZ3FHWjtBMkU1cEdRO0lBRUk7SUFDQTtBM0U2cEdaO0EyRTFwR1E7SUFJSTtJQUNBO0EzRXlwR1o7QTJFdHBHUTtJQUVJO0EzRXVwR1o7QTJFcHBHUTtJQUlJO0EzRW1wR1o7QTJFOW9HWTtJQUVJO0lBQ0E7QTNFK29HaEI7QTJFNW9HWTtJQUVJO0EzRTZvR2hCO0EyRTFvR1k7SUFFSTtBM0Uyb0doQjtBMkV4b0dZO0lBRUk7QTNFeW9HaEI7QTJFdG9HWTtJQUlJO0lBQ0E7QTNFcW9HaEI7QTJFbG9HWTtJQUlJO0EzRWlvR2hCO0EyRTluR1k7SUFJSTtBM0U2bkdoQjtBMkUxbkdZO0lBSUk7QTNFeW5HaEI7QTJFbm5HWTtJQUVJO0EzRW9uR2hCO0EyRWpuR1k7SUFFSTtBM0VrbkdoQjtBMkU3bUdnQjtJQUVJO0EzRThtR3BCO0EyRTNtR2dCO0lBRUk7QTNFNG1HcEI7QTJFem1HZ0I7SUFFSTtBM0UwbUdwQjtBMkV2bUdnQjtJQUVJO0EzRXdtR3BCOztBMkUvbEdRO0lBQ0k7SUFDQTtBM0VrbUdaO0EyRS9sR1E7SUFDSTtBM0VpbUdaO0EyRTVsR1k7SUFDSTtJQUNBO0EzRThsR2hCO0EyRTNsR1k7SUFDSTtBM0U2bEdoQjtBMkUxbEdZO0lBQ0k7QTNFNGxHaEI7QTJFemxHWTtJQUNJO0EzRTJsR2hCO0EyRXJsR1k7SUFDSTtBM0V1bEdoQjtBMkVwbEdZO0lBQ0k7QTNFc2xHaEI7QTJFamxHZ0I7SUFDSTtBM0VtbEdwQjtBMkVobEdnQjtJQUNJO0EzRWtsR3BCO0EyRS9rR2dCO0lBQ0k7QTNFaWxHcEI7QTJFOWtHZ0I7SUFDSTtBM0VnbEdwQjs7QTJFeGtHUTtJQUVJO0lBQ0E7QTNFMGtHWjtBMkV2a0dRO0lBQ0k7QTNFeWtHWjtBMkV0a0dRO0lBQ0k7QTNFd2tHWjtBMkVya0dRO0lBQ0k7QTNFdWtHWjtBMkVua0dZO0lBQ0k7QTNFcWtHaEI7QTJFbGtHWTtJQUNJO0lBQ0E7QTNFb2tHaEI7QTJFamtHWTtJQUVJO0EzRWtrR2hCO0EyRS9qR1k7SUFDSTtBM0Vpa0doQjtBMkU5akdZO0lBQ0k7QTNFZ2tHaEI7QTJFN2pHWTtJQUNJO0EzRStqR2hCOztBMkUvaUdJO0lBQ0k7QTNFa2pHUjtBMkVoakdRO0lBR0k7SUFDQTtJQUNBO0lBQ0E7QTNFZ2pHWjs7QTJFMWlHSTtJQUNJLG1CQW5CdUI7QTNFZ2tHL0I7QTJFM2lHUTtJQUNJLDJCQXRCbUI7QTNFbWtHL0I7QTJFMWlHUTtJQUNJLDBCQTFCbUI7QTNFc2tHL0I7QTJFemlHUTtJQUNJLHlCQTlCbUI7QTNFeWtHL0I7O0EyRTdoR0k7O0lBRUk7SUFDQTtJQUNBO0EzRWdpR1I7O0EyRTloR0k7SUFDSTtJQUNBO0lBQ0E7QTNFaWlHUjs7QTJFL2hHSTtJQUNJO0lBQ0E7SUFDQTtBM0VraUdSOztBMkVoaUdJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRW1pR1I7O0EyRWppR0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFb2lHUjs7QTJFbGlHSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VxaUdSOztBMkVuaUdJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRXNpR1I7O0EyRW5pR0k7Ozs7SUFJSTtJQUNBO0EzRXNpR1I7O0EyRW5pR0k7SUFDSTtJQUNBO0lBQ0E7QTNFc2lHUjs7QTJFcGlHSTtJQUNJO0lBQ0E7SUFDQTtBM0V1aUdSOztBMkVyaUdJO0lBQ0k7SUFDQTtJQUNBO0EzRXdpR1I7O0EyRXRpR0k7SUFDSTtJQUNBO0lBQ0E7QTNFeWlHUjs7QTJFdGlHSTtJQUNJO0EzRXlpR1I7O0EyRXZpR0k7SUFDSTtBM0UwaUdSOztBMkV0aUdJO0lBQ0k7SUFDQTtJQUNBO0EzRXlpR1I7QTJFdmlHUTtJQUNJO0lBQ0E7SUFDQTtBM0V5aUdaO0EyRXZpR1E7SUFDSTtJQUNBO0lBQ0E7QTNFeWlHWjs7QTJFdGlHSTtJQUNJO0lBQ0E7SUFDQTtBM0V5aUdSO0EyRXZpR1E7SUFDSTtJQUNBO0lBQ0E7QTNFeWlHWjtBMkV0aUdRO0lBQ0k7SUFDQTtJQUNBO0EzRXdpR1o7O0EyRTFoR0k7SUFDSTtJQUNBO0EzRTZoR1I7O0EyRTFoR0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRTZoR1I7O0EyRTFoR0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0U2aEdSOztBMkUxOURnQjtJQUVRO0EzRTQ5RHhCOztBMkV2OURnQjtJQUVRO0EzRXk5RHhCOztBMkVsK0RnQjtJQUVRO0EzRW8rRHhCOztBMkUvOURnQjtJQUVRO0EzRWkrRHhCOztBMkUxK0RnQjtJQUVRO0EzRTQrRHhCOztBMkV2K0RnQjtJQUVRO0EzRXkrRHhCOztBMkVsL0RnQjtJQUVRO0EzRW8vRHhCOztBMkUvK0RnQjtJQUVRO0EzRWkvRHhCOztBMkUxL0RnQjtJQUVRO0EzRTQvRHhCOztBMkV2L0RnQjtJQUVRO0EzRXkvRHhCOztBMkVsZ0VnQjtJQUVRO0EzRW9nRXhCOztBMkUvL0RnQjtJQUVRO0EzRWlnRXhCOztBMkUxZ0VnQjtJQUVRO0EzRTRnRXhCOztBMkV2Z0VnQjtJQUVRO0EzRXlnRXhCOztBMkVsaEVnQjtJQUVRO0EzRW9oRXhCOztBMkUvZ0VnQjtJQUVRO0EzRWloRXhCOztBMkUxaEVnQjtJQUVRO0EzRTRoRXhCOztBMkV2aEVnQjtJQUVRO0EzRXloRXhCOztBMkVsaUVnQjtJQUVRO0EzRW9pRXhCOztBMkUvaEVnQjtJQUVRO0EzRWlpRXhCOztBMkUxaUVnQjtJQUVRO0EzRTRpRXhCOztBMkV2aUVnQjtJQUVRO0EzRXlpRXhCOztBMkVsakVnQjtJQUVRO0EzRW9qRXhCOztBMkUvaUVnQjtJQUVRO0EzRWlqRXhCOztBMkUxakVnQjtJQUVRO0EzRTRqRXhCOztBMkV2akVnQjtJQUVRO0EzRXlqRXhCOztBMkVsa0VnQjtJQUVRO0EzRW9rRXhCOztBMkUvakVnQjtJQUVRO0EzRWlrRXhCOztBMkUxa0VnQjtJQUVRO0EzRTRrRXhCOztBMkV2a0VnQjtJQUVRO0EzRXlrRXhCOztBMkVsbEVnQjtJQUVRO0EzRW9sRXhCOztBMkUva0VnQjtJQUVRO0EzRWlsRXhCOztBMkUxbEVnQjtJQUVRO0EzRTRsRXhCOztBMkV2bEVnQjtJQUVRO0EzRXlsRXhCOztBMkVsbUVnQjtJQUVRO0EzRW9tRXhCOztBMkUvbEVnQjtJQUVRO0EzRWltRXhCOztBMkUxbUVnQjtJQUVRO0EzRTRtRXhCOztBMkV2bUVnQjtJQUVRO0EzRXltRXhCOztBMkVsbkVnQjtJQUVRO0EzRW9uRXhCOztBMkUvbUVnQjtJQUVRO0EzRWluRXhCOztBMkUxbkVnQjtJQUVRO0EzRTRuRXhCOztBMkV2bkVnQjtJQUVRO0EzRXluRXhCOztBMkVsb0VnQjtJQUVRO0EzRW9vRXhCOztBMkUvbkVnQjtJQUVRO0EzRWlvRXhCOztBMkUxb0VnQjtJQUVRO0EzRTRvRXhCOztBMkV2b0VnQjtJQUVRO0EzRXlvRXhCOztBMkVscEVnQjtJQUVRO0EzRW9wRXhCOztBMkUvb0VnQjtJQUVRO0EzRWlwRXhCOztBMkUxcEVnQjtJQUVRO0EzRTRwRXhCOztBMkV2cEVnQjtJQUVRO0EzRXlwRXhCOztBMkVscUVnQjtJQUVRO0EzRW9xRXhCOztBMkUvcEVnQjtJQUVRO0EzRWlxRXhCOztBMkUxcUVnQjtJQUVRO0EzRTRxRXhCOztBMkV2cUVnQjtJQUVRO0EzRXlxRXhCOztBMkVsckVnQjtJQUVRO0EzRW9yRXhCOztBMkUvcUVnQjtJQUVRO0EzRWlyRXhCOztBMkUxckVnQjtJQUVRO0EzRTRyRXhCOztBMkV2ckVnQjtJQUVRO0EzRXlyRXhCOztBMkVsc0VnQjtJQUVRO0EzRW9zRXhCOztBMkUvckVnQjtJQUVRO0EzRWlzRXhCOztBMkUxc0VnQjtJQUVRO0EzRTRzRXhCOztBMkV2c0VnQjtJQUVRO0EzRXlzRXhCOztBMkVsdEVnQjtJQUVRO0EzRW90RXhCOztBMkUvc0VnQjtJQUVRO0EzRWl0RXhCOztBMkUxdEVnQjtJQUVRO0EzRTR0RXhCOztBMkV2dEVnQjtJQUVRO0EzRXl0RXhCOztBMkVsdUVnQjtJQUVRO0EzRW91RXhCOztBMkUvdEVnQjtJQUVRO0EzRWl1RXhCOztBMkUxdUVnQjtJQUVRO0EzRTR1RXhCOztBMkV2dUVnQjtJQUVRO0EzRXl1RXhCOztBMkVsdkVnQjtJQUVRO0EzRW92RXhCOztBMkUvdUVnQjtJQUVRO0EzRWl2RXhCOztBMkUxdkVnQjtJQUVRO0EzRTR2RXhCOztBMkV2dkVnQjtJQUVRO0EzRXl2RXhCOztBMkVsd0VnQjtJQUVRO0EzRW93RXhCOztBMkUvdkVnQjtJQUVRO0EzRWl3RXhCOztBMkUxd0VnQjtJQUVRO0EzRTR3RXhCOztBMkV2d0VnQjtJQUVRO0EzRXl3RXhCOztBMkVseEVnQjtJQUVRO0EzRW94RXhCOztBMkUvd0VnQjtJQUVRO0EzRWl4RXhCOztBMkUxeEVnQjtJQUVRO0EzRTR4RXhCOztBMkV2eEVnQjtJQUVRO0EzRXl4RXhCOztBMkVseUVnQjtJQUVRO0EzRW95RXhCOztBMkUveEVnQjtJQUVRO0EzRWl5RXhCOztBMkUxeUVnQjtJQUVRO0EzRTR5RXhCOztBMkV2eUVnQjtJQUVRO0EzRXl5RXhCOztBMkVsekVnQjtJQUVRO0EzRW96RXhCOztBMkUveUVnQjtJQUVRO0EzRWl6RXhCOztBMkUxekVnQjtJQUVRO0EzRTR6RXhCOztBMkV2ekVnQjtJQUVRO0EzRXl6RXhCOztBMkVsMEVnQjtJQUVRO0EzRW8wRXhCOztBMkUvekVnQjtJQUVRO0EzRWkwRXhCOztBMkUxMEVnQjtJQUVRO0EzRTQwRXhCOztBMkV2MEVnQjtJQUVRO0EzRXkwRXhCOztBMkVsMUVnQjtJQUVRO0EzRW8xRXhCOztBMkUvMEVnQjtJQUVRO0EzRWkxRXhCOztBMkUxMUVnQjtJQUVRO0EzRTQxRXhCOztBMkV2MUVnQjtJQUVRO0EzRXkxRXhCOztBMkVsMkVnQjtJQUVRO0EzRW8yRXhCOztBMkUvMUVnQjtJQUVRO0EzRWkyRXhCOztBMkUxMkVnQjtJQUVRO0EzRTQyRXhCOztBMkV2MkVnQjtJQUVRO0EzRXkyRXhCOztBMkVsM0VnQjtJQUVRO0EzRW8zRXhCOztBMkUvMkVnQjtJQUVRO0EzRWkzRXhCOztBMkUxM0VnQjtJQUVRO0EzRTQzRXhCOztBMkV2M0VnQjtJQUVRO0EzRXkzRXhCOztBMkVsNEVnQjtJQUVRO0EzRW80RXhCOztBMkUvM0VnQjtJQUVRO0EzRWk0RXhCOztBMkUxNEVnQjtJQUVRO0EzRTQ0RXhCOztBMkV2NEVnQjtJQUVRO0EzRXk0RXhCOztBMkVsNUVnQjtJQUVRO0EzRW81RXhCOztBMkUvNEVnQjtJQUVRO0EzRWk1RXhCOztBMkUxNUVnQjtJQUVRO0EzRTQ1RXhCOztBMkV2NUVnQjtJQUVRO0EzRXk1RXhCOztBMkVsNkVnQjtJQUVRO0EzRW82RXhCOztBMkUvNUVnQjtJQUVRO0EzRWk2RXhCOztBMkUxNkVnQjtJQUVRO0EzRTQ2RXhCOztBMkV2NkVnQjtJQUVRO0EzRXk2RXhCOztBMkVsN0VnQjtJQUVRO0EzRW83RXhCOztBMkUvNkVnQjtJQUVRO0EzRWk3RXhCOztBMkUxN0VnQjtJQUVRO0EzRTQ3RXhCOztBMkV2N0VnQjtJQUVRO0EzRXk3RXhCOztBMkVsOEVnQjtJQUVRO0EzRW84RXhCOztBMkUvN0VnQjtJQUVRO0EzRWk4RXhCOztBMkUxOEVnQjtJQUVRO0EzRTQ4RXhCOztBMkV2OEVnQjtJQUVRO0EzRXk4RXhCOztBMkVsOUVnQjtJQUVRO0EzRW85RXhCOztBMkUvOEVnQjtJQUVRO0EzRWk5RXhCOztBMkUxOUVnQjtJQUVRO0EzRTQ5RXhCOztBMkV2OUVnQjtJQUVRO0EzRXk5RXhCOztBMkVsK0VnQjtJQUVRO0EzRW8rRXhCOztBMkUvOUVnQjtJQUVRO0EzRWkrRXhCOztBMkUxK0VnQjtJQUVRO0EzRTQrRXhCOztBMkV2K0VnQjtJQUVRO0EzRXkrRXhCOztBMkVsL0VnQjtJQUVRO0EzRW8vRXhCOztBMkUvK0VnQjtJQUVRO0EzRWkvRXhCOztBMkUxL0VnQjtJQUVRO0EzRTQvRXhCOztBMkV2L0VnQjtJQUVRO0EzRXkvRXhCOztBMkVsZ0ZnQjtJQUVRO0EzRW9nRnhCOztBMkUvL0VnQjtJQUVRO0EzRWlnRnhCOztBMkUxZ0ZnQjtJQUVRO0EzRTRnRnhCOztBMkV2Z0ZnQjtJQUVRO0EzRXlnRnhCOztBMkVsaEZnQjtJQUVRO0EzRW9oRnhCOztBMkUvZ0ZnQjtJQUVRO0EzRWloRnhCOztBMkUxaEZnQjtJQUVRO0EzRTRoRnhCOztBMkV2aEZnQjtJQUVRO0EzRXloRnhCOztBMkVsaUZnQjtJQUVRO0EzRW9pRnhCOztBMkUvaEZnQjtJQUVRO0EzRWlpRnhCOztBMkUxaUZnQjtJQUVRO0EzRTRpRnhCOztBMkV2aUZnQjtJQUVRO0EzRXlpRnhCOztBMkVsakZnQjtJQUVRO0EzRW9qRnhCOztBMkUvaUZnQjtJQUVRO0EzRWlqRnhCOztBMkUxakZnQjtJQUVRO0EzRTRqRnhCOztBMkV2akZnQjtJQUVRO0EzRXlqRnhCOztBMkVsa0ZnQjtJQUVRO0EzRW9rRnhCOztBMkUvakZnQjtJQUVRO0EzRWlrRnhCOztBMkUxa0ZnQjtJQUVRO0EzRTRrRnhCOztBMkV2a0ZnQjtJQUVRO0EzRXlrRnhCOztBMkVsbEZnQjtJQUVRO0EzRW9sRnhCOztBMkUva0ZnQjtJQUVRO0EzRWlsRnhCOztBMkUxbEZnQjtJQUVRO0EzRTRsRnhCOztBMkV2bEZnQjtJQUVRO0EzRXlsRnhCOztBMkVsbUZnQjtJQUVRO0EzRW9tRnhCOztBMkUvbEZnQjtJQUVRO0EzRWltRnhCOztBMkUxbUZnQjtJQUVRO0EzRTRtRnhCOztBMkV2bUZnQjtJQUVRO0EzRXltRnhCOztBMkVsbkZnQjtJQUVRO0EzRW9uRnhCOztBMkUvbUZnQjtJQUVRO0EzRWluRnhCOztBMkUxbkZnQjtJQUVRO0EzRTRuRnhCOztBMkV2bkZnQjtJQUVRO0EzRXluRnhCOztBMkVsb0ZnQjtJQUVRO0EzRW9vRnhCOztBMkUvbkZnQjtJQUVRO0EzRWlvRnhCOztBMkUxb0ZnQjtJQUVRO0EzRTRvRnhCOztBMkV2b0ZnQjtJQUVRO0EzRXlvRnhCOztBMkVscEZnQjtJQUVRO0EzRW9wRnhCOztBMkUvb0ZnQjtJQUVRO0EzRWlwRnhCOztBMkUxcEZnQjtJQUVRO0EzRTRwRnhCOztBMkV2cEZnQjtJQUVRO0EzRXlwRnhCOztBMkVscUZnQjtJQUVRO0EzRW9xRnhCOztBMkUvcEZnQjtJQUVRO0EzRWlxRnhCOztBMkUxcUZnQjtJQUVRO0EzRTRxRnhCOztBMkV2cUZnQjtJQUVRO0EzRXlxRnhCOztBMkVsckZnQjtJQUVRO0EzRW9yRnhCOztBMkUvcUZnQjtJQUVRO0EzRWlyRnhCOztBMkUxckZnQjtJQUVRO0EzRTRyRnhCOztBMkV2ckZnQjtJQUVRO0EzRXlyRnhCOztBMkVsc0ZnQjtJQUVRO0EzRW9zRnhCOztBMkUvckZnQjtJQUVRO0EzRWlzRnhCOztBMkUxc0ZnQjtJQUVRO0EzRTRzRnhCOztBMkV2c0ZnQjtJQUVRO0EzRXlzRnhCOztBMkVsdEZnQjtJQUVRO0EzRW90RnhCOztBMkUvc0ZnQjtJQUVRO0EzRWl0RnhCOztBMkUxdEZnQjtJQUVRO0EzRTR0RnhCOztBMkV2dEZnQjtJQUVRO0EzRXl0RnhCOztBMkVsdUZnQjtJQUVRO0EzRW91RnhCOztBMkUvdEZnQjtJQUVRO0EzRWl1RnhCOztBMkUxdUZnQjtJQUVRO0EzRTR1RnhCOztBMkV2dUZnQjtJQUVRO0EzRXl1RnhCOztBMkVsdkZnQjtJQUVRO0EzRW92RnhCOztBMkUvdUZnQjtJQUVRO0EzRWl2RnhCOztBMkUxdkZnQjtJQUVRO0EzRTR2RnhCOztBMkV2dkZnQjtJQUVRO0EzRXl2RnhCOztBMkVsd0ZnQjtJQUVRO0EzRW93RnhCOztBMkUvdkZnQjtJQUVRO0EzRWl3RnhCOztBMkUxd0ZnQjtJQUVRO0EzRTR3RnhCOztBMkV2d0ZnQjtJQUVRO0EzRXl3RnhCOztBMkVseEZnQjtJQUVRO0EzRW94RnhCOztBMkUvd0ZnQjtJQUVRO0EzRWl4RnhCOztBMkUxeEZnQjtJQUVRO0EzRTR4RnhCOztBMkV2eEZnQjtJQUVRO0EzRXl4RnhCOztBMkVseUZnQjtJQUVRO0EzRW95RnhCOztBMkUveEZnQjtJQUVRO0EzRWl5RnhCOztBMkUxeUZnQjtJQUVRO0EzRTR5RnhCOztBMkV2eUZnQjtJQUVRO0EzRXl5RnhCOztBMkVsekZnQjtJQUVRO0EzRW96RnhCOztBMkUveUZnQjtJQUVRO0EzRWl6RnhCOztBMkUxekZnQjtJQUVRO0EzRTR6RnhCOztBMkV2ekZnQjtJQUVRO0EzRXl6RnhCOztBMkVsMEZnQjtJQUVRO0EzRW8wRnhCOztBMkUvekZnQjtJQUVRO0EzRWkwRnhCOztBMkUxMEZnQjtJQUVRO0EzRTQwRnhCOztBMkV2MEZnQjtJQUVRO0EzRXkwRnhCOztBMkVsMUZnQjtJQUVRO0EzRW8xRnhCOztBMkUvMEZnQjtJQUVRO0EzRWkxRnhCOztBMkUxMUZnQjtJQUVRO0EzRTQxRnhCOztBMkV2MUZnQjtJQUVRO0EzRXkxRnhCOztBMkVsMkZnQjtJQUVRO0EzRW8yRnhCOztBMkUvMUZnQjtJQUVRO0EzRWkyRnhCOztBMkUxMkZnQjtJQUVRO0EzRTQyRnhCOztBMkV2MkZnQjtJQUVRO0EzRXkyRnhCOztBMkVsM0ZnQjtJQUVRO0EzRW8zRnhCOztBMkUvMkZnQjtJQUVRO0EzRWkzRnhCOztBMkUxM0ZnQjtJQUVRO0EzRTQzRnhCOztBMkV2M0ZnQjtJQUVRO0EzRXkzRnhCOztBMkVsNEZnQjtJQUVRO0EzRW80RnhCOztBMkUvM0ZnQjtJQUVRO0EzRWk0RnhCOztBMkUxNEZnQjtJQUVRO0EzRTQ0RnhCOztBMkV2NEZnQjtJQUVRO0EzRXk0RnhCOztBMkVsNUZnQjtJQUVRO0EzRW81RnhCOztBMkUvNEZnQjtJQUVRO0EzRWk1RnhCOztBMkUxNUZnQjtJQUVRO0EzRTQ1RnhCOztBMkV2NUZnQjtJQUVRO0EzRXk1RnhCOztBMkVsNkZnQjtJQUVRO0EzRW82RnhCOztBMkUvNUZnQjtJQUVRO0EzRWk2RnhCOztBMkUxNkZnQjtJQUVRO0EzRTQ2RnhCOztBMkV2NkZnQjtJQUVRO0EzRXk2RnhCOztBMkVsN0ZnQjtJQUVRO0EzRW83RnhCOztBMkUvNkZnQjtJQUVRO0EzRWk3RnhCOztBMkUxN0ZnQjtJQUVRO0EzRTQ3RnhCOztBMkV2N0ZnQjtJQUVRO0EzRXk3RnhCOztBMkVsOEZnQjtJQUVRO0EzRW84RnhCOztBMkUvN0ZnQjtJQUVRO0EzRWk4RnhCOztBMkUxOEZnQjtJQUVRO0EzRTQ4RnhCOztBMkV2OEZnQjtJQUVRO0EzRXk4RnhCOztBMkVsOUZnQjtJQUVRO0EzRW85RnhCOztBMkUvOEZnQjtJQUVRO0EzRWk5RnhCOztBMkUxOUZnQjtJQUVRO0EzRTQ5RnhCOztBMkV2OUZnQjtJQUVRO0EzRXk5RnhCOztBMkVsK0ZnQjtJQUVRO0EzRW8rRnhCOztBMkUvOUZnQjtJQUVRO0EzRWkrRnhCOztBMkUxK0ZnQjtJQUVRO0EzRTQrRnhCOztBMkV2K0ZnQjtJQUVRO0EzRXkrRnhCOztBMkVsL0ZnQjtJQUVRO0EzRW8vRnhCOztBMkUvK0ZnQjtJQUVRO0EzRWkvRnhCOztBMkUxL0ZnQjtJQUVRO0EzRTQvRnhCOztBMkV2L0ZnQjtJQUVRO0EzRXkvRnhCOztBMkVsZ0dnQjtJQUVRO0EzRW9nR3hCOztBMkUvL0ZnQjtJQUVRO0EzRWlnR3hCOztBMkUxZ0dnQjtJQUVRO0EzRTRnR3hCOztBMkV2Z0dnQjtJQUVRO0EzRXlnR3hCOztBMkVsaEdnQjtJQUVRO0EzRW9oR3hCOztBMkUvZ0dnQjtJQUVRO0EzRWloR3hCOztBMkUxaEdnQjtJQUVRO0EzRTRoR3hCOztBMkV2aEdnQjtJQUVRO0EzRXloR3hCOztBMkVsaUdnQjtJQUVRO0EzRW9pR3hCOztBMkUvaEdnQjtJQUVRO0EzRWlpR3hCOztBMkUxaUdnQjtJQUVRO0EzRTRpR3hCOztBMkV2aUdnQjtJQUVRO0EzRXlpR3hCOztBMkVsakdnQjtJQUVRO0EzRW9qR3hCOztBMkUvaUdnQjtJQUVRO0EzRWlqR3hCOztBMkUxakdnQjtJQUVRO0EzRTRqR3hCOztBMkV2akdnQjtJQUVRO0EzRXlqR3hCOztBMkVsa0dnQjtJQUVRO0EzRW9rR3hCOztBMkUvakdnQjtJQUVRO0EzRWlrR3hCOztBMkUxa0dnQjtJQUVRO0EzRTRrR3hCOztBMkV2a0dnQjtJQUVRO0EzRXlrR3hCOztBMkVsbEdnQjtJQUVRO0EzRW9sR3hCOztBMkUva0dnQjtJQUVRO0EzRWlsR3hCOztBMkUxbEdnQjtJQUVRO0EzRTRsR3hCOztBMkV2bEdnQjtJQUVRO0EzRXlsR3hCOztBMkVsbUdnQjtJQUVRO0EzRW9tR3hCOztBMkUvbEdnQjtJQUVRO0EzRWltR3hCOztBMkUxbUdnQjtJQUVRO0EzRTRtR3hCOztBMkV2bUdnQjtJQUVRO0EzRXltR3hCOztBMkVsbkdnQjtJQUVRO0EzRW9uR3hCOztBMkUvbUdnQjtJQUVRO0EzRWluR3hCOztBMkUxbkdnQjtJQUVRO0EzRTRuR3hCOztBMkV2bkdnQjtJQUVRO0EzRXluR3hCOztBMkVsb0dnQjtJQUVRO0EzRW9vR3hCOztBMkUvbkdnQjtJQUVRO0EzRWlvR3hCOztBMkUxb0dnQjtJQUVRO0EzRTRvR3hCOztBMkV2b0dnQjtJQUVRO0EzRXlvR3hCOztBMkVscEdnQjtJQUVRO0EzRW9wR3hCOztBMkUvb0dnQjtJQUVRO0EzRWlwR3hCOztBMkUxcEdnQjtJQUVRO0EzRTRwR3hCOztBMkV2cEdnQjtJQUVRO0EzRXlwR3hCOztBMkVscUdnQjtJQUVRO0EzRW9xR3hCOztBMkUvcEdnQjtJQUVRO0EzRWlxR3hCOztBMkUxcUdnQjtJQUVRO0EzRTRxR3hCOztBMkV2cUdnQjtJQUVRO0EzRXlxR3hCOztBMkVsckdnQjtJQUVRO0EzRW9yR3hCOztBMkUvcUdnQjtJQUVRO0EzRWlyR3hCOztBMkUxckdnQjtJQUVRO0EzRTRyR3hCOztBMkV2ckdnQjtJQUVRO0EzRXlyR3hCOztBMkVsc0dnQjtJQUVRO0EzRW9zR3hCOztBMkUvckdnQjtJQUVRO0EzRWlzR3hCOztBMkUxc0dnQjtJQUVRO0EzRTRzR3hCOztBMkV2c0dnQjtJQUVRO0EzRXlzR3hCOztBMkVsdEdnQjtJQUVRO0EzRW90R3hCOztBMkUvc0dnQjtJQUVRO0EzRWl0R3hCOztBMkUxdEdnQjtJQUVRO0EzRTR0R3hCOztBMkV2dEdnQjtJQUVRO0EzRXl0R3hCOztBMkVsdUdnQjtJQUVRO0EzRW91R3hCOztBMkUvdEdnQjtJQUVRO0EzRWl1R3hCOztBMkUxdUdnQjtJQUVRO0EzRTR1R3hCOztBMkV2dUdnQjtJQUVRO0EzRXl1R3hCOztBMkVsdkdnQjtJQUVRO0EzRW92R3hCOztBMkUvdUdnQjtJQUVRO0EzRWl2R3hCOztBMkUxdkdnQjtJQUVRO0EzRTR2R3hCOztBMkV2dkdnQjtJQUVRO0EzRXl2R3hCOztBMkVsd0dnQjtJQUVRO0EzRW93R3hCOztBMkUvdkdnQjtJQUVRO0EzRWl3R3hCOztBMkUxd0dnQjtJQUVRO0EzRTR3R3hCOztBMkV2d0dnQjtJQUVRO0EzRXl3R3hCOztBMkVseEdnQjtJQUVRO0EzRW94R3hCOztBMkUvd0dnQjtJQUVRO0EzRWl4R3hCOztBMkUxeEdnQjtJQUVRO0EzRTR4R3hCOztBMkV2eEdnQjtJQUVRO0EzRXl4R3hCOztBMkVseUdnQjtJQUVRO0EzRW95R3hCOztBMkUveEdnQjtJQUVRO0EzRWl5R3hCOztBMkUxeUdnQjtJQUVRO0EzRTR5R3hCOztBMkV2eUdnQjtJQUVRO0EzRXl5R3hCOztBMkVsekdnQjtJQUVRO0EzRW96R3hCOztBMkUveUdnQjtJQUVRO0EzRWl6R3hCOztBMkUxekdnQjtJQUVRO0EzRTR6R3hCOztBMkV2ekdnQjtJQUVRO0EzRXl6R3hCOztBMkVsMEdnQjtJQUVRO0EzRW8wR3hCOztBMkUvekdnQjtJQUVRO0EzRWkwR3hCOztBMkUxMEdnQjtJQUVRO0EzRTQwR3hCOztBMkV2MEdnQjtJQUVRO0EzRXkwR3hCOztBMkVsMUdnQjtJQUVRO0EzRW8xR3hCOztBMkUvMEdnQjtJQUVRO0EzRWkxR3hCOztBMkUxMUdnQjtJQUVRO0EzRTQxR3hCOztBMkV2MUdnQjtJQUVRO0EzRXkxR3hCOztBMkVsMkdnQjtJQUVRO0EzRW8yR3hCOztBMkUvMUdnQjtJQUVRO0EzRWkyR3hCOztBMkUxMkdnQjtJQUVRO0EzRTQyR3hCOztBMkV2MkdnQjtJQUVRO0EzRXkyR3hCOztBMkVsM0dnQjtJQUVRO0EzRW8zR3hCOztBMkUvMkdnQjtJQUVRO0EzRWkzR3hCOztBMkUxM0dnQjtJQUVRO0EzRTQzR3hCOztBMkV2M0dnQjtJQUVRO0EzRXkzR3hCOztBMkVsNEdnQjtJQUVRO0EzRW80R3hCOztBMkUvM0dnQjtJQUVRO0EzRWk0R3hCOztBMkUxNEdnQjtJQUVRO0EzRTQ0R3hCOztBMkV2NEdnQjtJQUVRO0EzRXk0R3hCOztBMkVsNUdnQjtJQUVRO0EzRW81R3hCOztBMkUvNEdnQjtJQUVRO0EzRWk1R3hCOztBMkUxNUdnQjtJQUVRO0EzRTQ1R3hCOztBMkV2NUdnQjtJQUVRO0EzRXk1R3hCOztBMkVsNkdnQjtJQUVRO0EzRW82R3hCOztBMkUvNUdnQjtJQUVRO0EzRWk2R3hCOztBMkUxNkdnQjtJQUVRO0EzRTQ2R3hCOztBMkV2NkdnQjtJQUVRO0EzRXk2R3hCOztBMkVsN0dnQjtJQUVRO0EzRW83R3hCOztBMkUvNkdnQjtJQUVRO0EzRWk3R3hCOztBMkUxN0dnQjtJQUVRO0EzRTQ3R3hCOztBMkV2N0dnQjtJQUVRO0EzRXk3R3hCOztBMkVsOEdnQjtJQUVRO0EzRW84R3hCOztBMkUvN0dnQjtJQUVRO0EzRWk4R3hCOztBMkUxOEdnQjtJQUVRO0EzRTQ4R3hCOztBMkV2OEdnQjtJQUVRO0EzRXk4R3hCOztBMkVsOUdnQjtJQUVRO0EzRW85R3hCOztBMkUvOEdnQjtJQUVRO0EzRWk5R3hCOztBMkUxOUdnQjtJQUVRO0EzRTQ5R3hCOztBMkV2OUdnQjtJQUVRO0EzRXk5R3hCOztBMkVsK0dnQjtJQUVRO0EzRW8rR3hCOztBMkUvOUdnQjtJQUVRO0EzRWkrR3hCOztBMkUxK0dnQjtJQUVRO0EzRTQrR3hCOztBMkV2K0dnQjtJQUVRO0EzRXkrR3hCOztBMkVsL0dnQjtJQUVRO0EzRW8vR3hCOztBMkUvK0dnQjtJQUVRO0EzRWkvR3hCOztBMkUxL0dnQjtJQUVRO0EzRTQvR3hCOztBMkV2L0dnQjtJQUVRO0EzRXkvR3hCOztBMkVsZ0hnQjtJQUVRO0EzRW9nSHhCOztBMkUvL0dnQjtJQUVRO0EzRWlnSHhCOztBMkUxZ0hnQjtJQUVRO0EzRTRnSHhCOztBMkV2Z0hnQjtJQUVRO0EzRXlnSHhCOztBMkVsaEhnQjtJQUVRO0EzRW9oSHhCOztBMkUvZ0hnQjtJQUVRO0EzRWloSHhCOztBMkUxaEhnQjtJQUVRO0EzRTRoSHhCOztBMkV2aEhnQjtJQUVRO0EzRXloSHhCOztBMkVsaUhnQjtJQUVRO0EzRW9pSHhCOztBMkUvaEhnQjtJQUVRO0EzRWlpSHhCOztBMkUxaUhnQjtJQUVRO0EzRTRpSHhCOztBMkV2aUhnQjtJQUVRO0EzRXlpSHhCOztBMkVsakhnQjtJQUVRO0EzRW9qSHhCOztBMkUvaUhnQjtJQUVRO0EzRWlqSHhCOztBMkUxakhnQjtJQUVRO0EzRTRqSHhCOztBMkV2akhnQjtJQUVRO0EzRXlqSHhCOztBMkVsa0hnQjtJQUVRO0EzRW9rSHhCOztBMkUvakhnQjtJQUVRO0EzRWlrSHhCOztBMkUxa0hnQjtJQUVRO0EzRTRrSHhCOztBMkV2a0hnQjtJQUVRO0EzRXlrSHhCOztBMkVsbEhnQjtJQUVRO0EzRW9sSHhCOztBMkUva0hnQjtJQUVRO0EzRWlsSHhCOztBMkUxbEhnQjtJQUVRO0EzRTRsSHhCOztBMkV2bEhnQjtJQUVRO0EzRXlsSHhCOztBMkVsbUhnQjtJQUVRO0EzRW9tSHhCOztBMkUvbEhnQjtJQUVRO0EzRWltSHhCOztBMkUxbUhnQjtJQUVRO0EzRTRtSHhCOztBMkV2bUhnQjtJQUVRO0EzRXltSHhCOztBMkVsbkhnQjtJQUVRO0EzRW9uSHhCOztBMkUvbUhnQjtJQUVRO0EzRWluSHhCOztBMkUxbkhnQjtJQUVRO0EzRTRuSHhCOztBMkV2bkhnQjtJQUVRO0EzRXluSHhCOztBMkVsb0hnQjtJQUVRO0EzRW9vSHhCOztBMkUvbkhnQjtJQUVRO0EzRWlvSHhCOztBMkUxb0hnQjtJQUVRO0EzRTRvSHhCOztBMkV2b0hnQjtJQUVRO0EzRXlvSHhCOztBMkVscEhnQjtJQUVRO0EzRW9wSHhCOztBMkUvb0hnQjtJQUVRO0EzRWlwSHhCOztBMkUxcEhnQjtJQUVRO0EzRTRwSHhCOztBMkV2cEhnQjtJQUVRO0EzRXlwSHhCOztBMkVscUhnQjtJQUVRO0EzRW9xSHhCOztBMkUvcEhnQjtJQUVRO0EzRWlxSHhCOztBMkUxcUhnQjtJQUVRO0EzRTRxSHhCOztBMkV2cUhnQjtJQUVRO0EzRXlxSHhCOztBMkVsckhnQjtJQUVRO0EzRW9ySHhCOztBMkUvcUhnQjtJQUVRO0EzRWlySHhCOztBMkUxckhnQjtJQUVRO0EzRTRySHhCOztBMkV2ckhnQjtJQUVRO0EzRXlySHhCOztBMkVsc0hnQjtJQUVRO0EzRW9zSHhCOztBMkUvckhnQjtJQUVRO0EzRWlzSHhCOztBMkUxc0hnQjtJQUVRO0EzRTRzSHhCOztBMkV2c0hnQjtJQUVRO0EzRXlzSHhCOztBMkVsdEhnQjtJQUVRO0EzRW90SHhCOztBMkUvc0hnQjtJQUVRO0EzRWl0SHhCOztBMkUxdEhnQjtJQUVRO0EzRTR0SHhCOztBMkV2dEhnQjtJQUVRO0EzRXl0SHhCOztBMkVsdUhnQjtJQUVRO0EzRW91SHhCOztBMkUvdEhnQjtJQUVRO0EzRWl1SHhCOztBMkUxdUhnQjtJQUVRO0EzRTR1SHhCOztBMkV2dUhnQjtJQUVRO0EzRXl1SHhCOztBMkVsdkhnQjtJQUVRO0EzRW92SHhCOztBMkUvdUhnQjtJQUVRO0EzRWl2SHhCOztBMkUxa0dROztJQUNnQztBM0U4a0d4Qzs7QTJFL2tHUTs7SUFDZ0M7QTNFbWxHeEM7O0EyRXBsR1E7O0lBQ2dDO0EzRXdsR3hDOztBMkV6bEdROztJQUNnQztBM0U2bEd4Qzs7QTJFOXdIZ0I7SUFFUTtBM0VneEh4Qjs7QTJFM3dIZ0I7SUFFUTtBM0U2d0h4Qjs7QTJFdHhIZ0I7SUFFUTtBM0V3eEh4Qjs7QTJFbnhIZ0I7SUFFUTtBM0VxeEh4Qjs7QTJFOXhIZ0I7SUFFUTtBM0VneUh4Qjs7QTJFM3hIZ0I7SUFFUTtBM0U2eEh4Qjs7QTJFdHlIZ0I7SUFFUTtBM0V3eUh4Qjs7QTJFbnlIZ0I7SUFFUTtBM0VxeUh4Qjs7QTJFOXlIZ0I7SUFFUTtBM0Vnekh4Qjs7QTJFM3lIZ0I7SUFFUTtBM0U2eUh4Qjs7QTJFdHpIZ0I7SUFFUTtBM0V3ekh4Qjs7QTJFbnpIZ0I7SUFFUTtBM0Vxekh4Qjs7QTJFOXpIZ0I7SUFFUTtBM0VnMEh4Qjs7QTJFM3pIZ0I7SUFFUTtBM0U2ekh4Qjs7QTJFdDBIZ0I7SUFFUTtBM0V3MEh4Qjs7QTJFbjBIZ0I7SUFFUTtBM0VxMEh4Qjs7QTJFOTBIZ0I7SUFFUTtBM0VnMUh4Qjs7QTJFMzBIZ0I7SUFFUTtBM0U2MEh4Qjs7QTJFdDFIZ0I7SUFFUTtJQUFBO0EzRXkxSHhCOztBMkVwMUhnQjtJQUVRO0lBQUE7QTNFdTFIeEI7O0EyRWgySGdCO0lBRVE7SUFBQTtBM0VtMkh4Qjs7QTJFOTFIZ0I7SUFFUTtJQUFBO0EzRWkySHhCOztBMkUxMkhnQjtJQUVRO0lBQUE7QTNFNjJIeEI7O0EyRXgySGdCO0lBRVE7SUFBQTtBM0UyMkh4Qjs7QTJFcDNIZ0I7SUFFUTtJQUFBO0EzRXUzSHhCOztBMkVsM0hnQjtJQUVRO0lBQUE7QTNFcTNIeEI7O0EyRTkzSGdCO0lBRVE7SUFBQTtBM0VpNEh4Qjs7QTJFNTNIZ0I7SUFFUTtJQUFBO0EzRSszSHhCOztBMkV4NEhnQjtJQUVRO0lBQUE7QTNFMjRIeEI7O0EyRXQ0SGdCO0lBRVE7SUFBQTtBM0V5NEh4Qjs7QTJFbDVIZ0I7SUFFUTtJQUFBO0EzRXE1SHhCOztBMkVoNUhnQjtJQUVRO0lBQUE7QTNFbTVIeEI7O0EyRTU1SGdCO0lBRVE7SUFBQTtBM0UrNUh4Qjs7QTJFMTVIZ0I7SUFFUTtJQUFBO0EzRTY1SHhCOztBMkV0NkhnQjtJQUVRO0lBQUE7QTNFeTZIeEI7O0EyRXA2SGdCO0lBRVE7SUFBQTtBM0V1Nkh4Qjs7QTJFaDdIZ0I7SUFFUTtJQUFBO0EzRW03SHhCOztBMkU5NkhnQjtJQUVRO0lBQUE7QTNFaTdIeEI7O0EyRTE3SGdCO0lBRVE7SUFBQTtBM0U2N0h4Qjs7QTJFeDdIZ0I7SUFFUTtJQUFBO0EzRTI3SHhCOztBMkVwOEhnQjtJQUVRO0lBQUE7QTNFdThIeEI7O0EyRWw4SGdCO0lBRVE7SUFBQTtBM0VxOEh4Qjs7QTJFOXdHSTs7SUFFSTtJQUNBO0EzRWl4R1I7O0EyRTl3R0k7O0lBRUk7SUFDQTtBM0VpeEdSOztBMkU5d0dJOztJQUVJO0lBQ0E7QTNFaXhHUjs7QTJFOXdHSTs7SUFFSTtJQUNBO0EzRWl4R1I7O0EyRTl3R0k7O0lBRUk7SUFDQTtJQUNBO0EzRWl4R1I7O0EyRS93R0k7OztJQUdJO0lBQ0E7SUFDQTtBM0VreEdSOztBMkVoeEdJO0lBQ0k7SUFDQTtJQUNBO0EzRW14R1I7O0EyRWp4R0k7OztJQUdJO0lBQ0E7SUFDQTtBM0VveEdSOztBMkVseEdJOztJQUVJO0lBQ0E7SUFDQTtBM0VxeEdSOztBMkUxZ0lnQjtJQUVRO0EzRTRnSXhCOztBMkV2Z0lnQjtJQUVRO0EzRXlnSXhCOztBMkVsaElnQjtJQUVRO0EzRW9oSXhCOztBMkUvZ0lnQjtJQUVRO0EzRWloSXhCOztBMkUxaElnQjtJQUVRO0EzRTRoSXhCOztBMkV2aElnQjtJQUVRO0EzRXloSXhCOztBMkVsaUlnQjtJQUVRO0EzRW9pSXhCOztBMkUvaElnQjtJQUVRO0EzRWlpSXhCOztBMkUxaUlnQjtJQUVRO0EzRTRpSXhCOztBMkV2aUlnQjtJQUVRO0EzRXlpSXhCOztBMkVsaklnQjtJQUVRO0EzRW9qSXhCOztBMkUvaUlnQjtJQUVRO0EzRWlqSXhCOztBMkUxaklnQjtJQUVRO0EzRTRqSXhCOztBMkV2aklnQjtJQUVRO0EzRXlqSXhCOztBMkVsa0lnQjtJQUVRO0EzRW9rSXhCOztBMkUvaklnQjtJQUVRO0EzRWlrSXhCOztBMkUxa0lnQjtJQUVRO0EzRTRrSXhCOztBMkV2a0lnQjtJQUVRO0EzRXlrSXhCOztBMkVsbElnQjtJQUVRO0EzRW9sSXhCOztBMkUva0lnQjtJQUVRO0EzRWlsSXhCOztBMkUxbElnQjtJQUVRO0EzRTRsSXhCOztBMkV2bElnQjtJQUVRO0EzRXlsSXhCOztBMkVsbUlnQjtJQUVRO0EzRW9tSXhCOztBMkUvbElnQjtJQUVRO0EzRWltSXhCOztBMkUxbUlnQjtJQUVRO0EzRTRtSXhCOztBMkV2bUlnQjtJQUVRO0EzRXltSXhCOztBMkVsbklnQjtJQUVRO0EzRW9uSXhCOztBMkUvbUlnQjtJQUVRO0EzRWluSXhCOztBMkUxbklnQjtJQUVRO0EzRTRuSXhCOztBMkV2bklnQjtJQUVRO0EzRXluSXhCOztBMkVsb0lnQjtJQUVRO0EzRW9vSXhCOztBMkUvbklnQjtJQUVRO0EzRWlvSXhCOztBMkUxb0lnQjtJQUVRO0EzRTRvSXhCOztBMkV2b0lnQjtJQUVRO0EzRXlvSXhCOztBMkVscElnQjtJQUVRO0EzRW9wSXhCOztBMkUvb0lnQjtJQUVRO0EzRWlwSXhCOztBMkUxcElnQjtJQUVRO0EzRTRwSXhCOztBMkV2cElnQjtJQUVRO0EzRXlwSXhCOztBMkVscUlnQjtJQUVRO0EzRW9xSXhCOztBMkUvcElnQjtJQUVRO0EzRWlxSXhCOztBMkUxcUlnQjtJQUVRO0EzRTRxSXhCOztBMkV2cUlnQjtJQUVRO0EzRXlxSXhCOztBMkVscklnQjtJQUVRO0EzRW9ySXhCOztBMkUvcUlnQjtJQUVRO0EzRWlySXhCOztBMkUxcklnQjtJQUVRO0EzRTRySXhCOztBMkV2cklnQjtJQUVRO0EzRXlySXhCOztBMkVsc0lnQjtJQUVRO0EzRW9zSXhCOztBMkUvcklnQjtJQUVRO0EzRWlzSXhCOztBMkUxc0lnQjtJQUVRO0EzRTRzSXhCOztBMkV2c0lnQjtJQUVRO0EzRXlzSXhCOztBMkVsdElnQjtJQUVRO0EzRW90SXhCOztBMkUvc0lnQjtJQUVRO0EzRWl0SXhCOztBMkUxdElnQjtJQUVRO0EzRTR0SXhCOztBMkV2dElnQjtJQUVRO0EzRXl0SXhCOztBMkVsdUlnQjtJQUVRO0EzRW91SXhCOztBMkUvdElnQjtJQUVRO0EzRWl1SXhCOztBMkUxdUlnQjtJQUVRO0EzRTR1SXhCOztBMkV2dUlnQjtJQUVRO0EzRXl1SXhCOztBMkVsdklnQjtJQUVRO0EzRW92SXhCOztBMkUvdUlnQjtJQUVRO0EzRWl2SXhCOztBMkUxdklnQjtJQUVRO0EzRTR2SXhCOztBMkV2dklnQjtJQUVRO0EzRXl2SXhCOztBMkVsd0lnQjtJQUVRO0EzRW93SXhCOztBMkUvdklnQjtJQUVRO0EzRWl3SXhCOztBMkUxd0lnQjtJQUVRO0EzRTR3SXhCOztBMkV2d0lnQjtJQUVRO0EzRXl3SXhCOztBMkVseElnQjtJQUVRO0EzRW94SXhCOztBMkUvd0lnQjtJQUVRO0EzRWl4SXhCOztBMkUxeElnQjtJQUVRO0EzRTR4SXhCOztBMkV2eElnQjtJQUVRO0EzRXl4SXhCOztBMkVseUlnQjtJQUVRO0EzRW95SXhCOztBMkUveElnQjtJQUVRO0EzRWl5SXhCOztBMkUxeUlnQjtJQUVRO0EzRTR5SXhCOztBMkV2eUlnQjtJQUVRO0EzRXl5SXhCOztBMkVseklnQjtJQUVRO0EzRW96SXhCOztBMkUveUlnQjtJQUVRO0EzRWl6SXhCOztBMkUxeklnQjtJQUVRO0EzRTR6SXhCOztBMkV2eklnQjtJQUVRO0EzRXl6SXhCOztBMkVsMElnQjtJQUVRO0EzRW8wSXhCOztBMkUveklnQjtJQUVRO0EzRWkwSXhCOztBMkUxMElnQjtJQUVRO0EzRTQwSXhCOztBMkV2MElnQjtJQUVRO0EzRXkwSXhCOztBMkVsMUlnQjtJQUVRO0EzRW8xSXhCOztBMkUvMElnQjtJQUVRO0EzRWkxSXhCOztBMkUxMUlnQjtJQUVRO0EzRTQxSXhCOztBMkV2MUlnQjtJQUVRO0EzRXkxSXhCOztBMkVsMklnQjtJQUVRO0EzRW8ySXhCOztBMkUvMUlnQjtJQUVRO0EzRWkySXhCOztBMkUxMklnQjtJQUVRO0EzRTQySXhCOztBMkV2MklnQjtJQUVRO0EzRXkySXhCOztBMkVsM0lnQjtJQUVRO0EzRW8zSXhCOztBMkUvMklnQjtJQUVRO0EzRWkzSXhCOztBMkUxM0lnQjtJQUVRO0EzRTQzSXhCOztBMkV2M0lnQjtJQUVRO0EzRXkzSXhCOztBMkVsNElnQjtJQUVRO0EzRW80SXhCOztBMkUvM0lnQjtJQUVRO0EzRWk0SXhCOztBMkUxNElnQjtJQUVRO0EzRTQ0SXhCOztBMkV2NElnQjtJQUVRO0EzRXk0SXhCOztBMkVsNUlnQjtJQUVRO0EzRW81SXhCOztBMkUvNElnQjtJQUVRO0EzRWk1SXhCOztBMkUxNUlnQjtJQUVRO0EzRTQ1SXhCOztBMkV2NUlnQjtJQUVRO0EzRXk1SXhCOztBMkVsNklnQjtJQUVRO0EzRW82SXhCOztBMkUvNUlnQjtJQUVRO0EzRWk2SXhCOztBMkUxNklnQjtJQUVRO0EzRTQ2SXhCOztBMkV2NklnQjtJQUVRO0EzRXk2SXhCOztBMkVsN0lnQjtJQUVRO0EzRW83SXhCOztBMkUvNklnQjtJQUVRO0EzRWk3SXhCOztBMkUxN0lnQjtJQUVRO0EzRTQ3SXhCOztBMkV2N0lnQjtJQUVRO0EzRXk3SXhCOztBMkVsOElnQjtJQUVRO0EzRW84SXhCOztBMkUvN0lnQjtJQUVRO0EzRWk4SXhCOztBMkUxOElnQjtJQUVRO0EzRTQ4SXhCOztBMkV2OElnQjtJQUVRO0EzRXk4SXhCOztBMkVsOUlnQjtJQUVRO0EzRW85SXhCOztBMkUvOElnQjtJQUVRO0EzRWk5SXhCOztBMkUxOUlnQjtJQUVRO0EzRTQ5SXhCOztBMkV2OUlnQjtJQUVRO0EzRXk5SXhCOztBMkVsK0lnQjtJQUVRO0EzRW8rSXhCOztBMkUvOUlnQjtJQUVRO0EzRWkrSXhCOztBMkUxK0lnQjtJQUVRO0EzRTQrSXhCOztBMkV2K0lnQjtJQUVRO0EzRXkrSXhCOztBMkVsL0lnQjtJQUVRO0EzRW8vSXhCOztBMkUvK0lnQjtJQUVRO0EzRWkvSXhCOztBMkUxL0lnQjtJQUVRO0EzRTQvSXhCOztBMkV2L0lnQjtJQUVRO0EzRXkvSXhCOztBMkVsZ0pnQjtJQUVRO0EzRW9nSnhCOztBMkUvL0lnQjtJQUVRO0EzRWlnSnhCOztBMkUxZ0pnQjtJQUVRO0EzRTRnSnhCOztBMkV2Z0pnQjtJQUVRO0EzRXlnSnhCOztBMkVsaEpnQjtJQUVRO0EzRW9oSnhCOztBMkUvZ0pnQjtJQUVRO0EzRWloSnhCOztBMkUxaEpnQjtJQUVRO0EzRTRoSnhCOztBMkV2aEpnQjtJQUVRO0EzRXloSnhCOztBMkVsaUpnQjtJQUVRO0EzRW9pSnhCOztBMkUvaEpnQjtJQUVRO0EzRWlpSnhCOztBMkUxaUpnQjtJQUVRO0EzRTRpSnhCOztBMkV2aUpnQjtJQUVRO0EzRXlpSnhCOztBMkVsakpnQjtJQUVRO0EzRW9qSnhCOztBMkUvaUpnQjtJQUVRO0EzRWlqSnhCOztBMkUxakpnQjtJQUVRO0EzRTRqSnhCOztBMkV2akpnQjtJQUVRO0EzRXlqSnhCOztBMkVsa0pnQjtJQUVRO0EzRW9rSnhCOztBMkUvakpnQjtJQUVRO0EzRWlrSnhCOztBMkUxa0pnQjtJQUVRO0EzRTRrSnhCOztBMkV2a0pnQjtJQUVRO0EzRXlrSnhCOztBMkVsbEpnQjtJQUVRO0EzRW9sSnhCOztBMkUva0pnQjtJQUVRO0EzRWlsSnhCOztBMkUxbEpnQjtJQUVRO0EzRTRsSnhCOztBMkV2bEpnQjtJQUVRO0EzRXlsSnhCOztBMkVsbUpnQjtJQUVRO0EzRW9tSnhCOztBMkUvbEpnQjtJQUVRO0EzRWltSnhCOztBMkUxbUpnQjtJQUVRO0EzRTRtSnhCOztBMkV2bUpnQjtJQUVRO0EzRXltSnhCOztBMkVsbkpnQjtJQUVRO0EzRW9uSnhCOztBMkUvbUpnQjtJQUVRO0EzRWluSnhCOztBMkUxbkpnQjtJQUVRO0EzRTRuSnhCOztBMkV2bkpnQjtJQUVRO0EzRXluSnhCOztBMkVsb0pnQjtJQUVRO0EzRW9vSnhCOztBMkUvbkpnQjtJQUVRO0EzRWlvSnhCOztBMkUxb0pnQjtJQUVRO0EzRTRvSnhCOztBMkV2b0pnQjtJQUVRO0EzRXlvSnhCOztBMkVscEpnQjtJQUVRO0EzRW9wSnhCOztBMkUvb0pnQjtJQUVRO0EzRWlwSnhCOztBMkUxcEpnQjtJQUVRO0EzRTRwSnhCOztBMkV2cEpnQjtJQUVRO0EzRXlwSnhCOztBMkVscUpnQjtJQUVRO0EzRW9xSnhCOztBMkUvcEpnQjtJQUVRO0EzRWlxSnhCOztBMkUxcUpnQjtJQUVRO0EzRTRxSnhCOztBMkV2cUpnQjtJQUVRO0EzRXlxSnhCOztBMkVsckpnQjtJQUVRO0EzRW9ySnhCOztBMkUvcUpnQjtJQUVRO0EzRWlySnhCOztBMkUxckpnQjtJQUVRO0EzRTRySnhCOztBMkV2ckpnQjtJQUVRO0EzRXlySnhCOztBMkVsc0pnQjtJQUVRO0EzRW9zSnhCOztBMkUvckpnQjtJQUVRO0EzRWlzSnhCOztBMkUxc0pnQjtJQUVRO0EzRTRzSnhCOztBMkV2c0pnQjtJQUVRO0EzRXlzSnhCOztBMkVsdEpnQjtJQUVRO0EzRW90SnhCOztBMkUvc0pnQjtJQUVRO0EzRWl0SnhCOztBMkUxdEpnQjtJQUVRO0EzRTR0SnhCOztBMkV2dEpnQjtJQUVRO0EzRXl0SnhCOztBMkVsdUpnQjtJQUVRO0EzRW91SnhCOztBMkUvdEpnQjtJQUVRO0EzRWl1SnhCOztBMkUxdUpnQjtJQUVRO0EzRTR1SnhCOztBMkV2dUpnQjtJQUVRO0EzRXl1SnhCOztBMkVsdkpnQjtJQUVRO0EzRW92SnhCOztBMkUvdUpnQjtJQUVRO0EzRWl2SnhCOztBMkUxdkpnQjtJQUVRO0EzRTR2SnhCOztBMkV2dkpnQjtJQUVRO0EzRXl2SnhCOztBMkVsd0pnQjtJQUVRO0EzRW93SnhCOztBMkUvdkpnQjtJQUVRO0EzRWl3SnhCOztBMkUxd0pnQjtJQUVRO0EzRTR3SnhCOztBMkV2d0pnQjtJQUVRO0EzRXl3SnhCOztBMkVseEpnQjtJQUVRO0EzRW94SnhCOztBMkUvd0pnQjtJQUVRO0EzRWl4SnhCOztBMkUxeEpnQjtJQUVRO0EzRTR4SnhCOztBMkV2eEpnQjtJQUVRO0EzRXl4SnhCOztBMkVseUpnQjtJQUVRO0EzRW95SnhCOztBMkUveEpnQjtJQUVRO0EzRWl5SnhCOztBMkUxeUpnQjtJQUVRO0EzRTR5SnhCOztBMkV2eUpnQjtJQUVRO0EzRXl5SnhCOztBMkVsekpnQjtJQUVRO0EzRW96SnhCOztBMkUveUpnQjtJQUVRO0EzRWl6SnhCOztBMkUxekpnQjtJQUVRO0EzRTR6SnhCOztBMkV2ekpnQjtJQUVRO0EzRXl6SnhCOztBMkVsMEpnQjtJQUVRO0EzRW8wSnhCOztBMkUvekpnQjtJQUVRO0EzRWkwSnhCOztBMkUxMEpnQjtJQUVRO0EzRTQwSnhCOztBMkV2MEpnQjtJQUVRO0EzRXkwSnhCOztBMkVsMUpnQjtJQUVRO0EzRW8xSnhCOztBMkUvMEpnQjtJQUVRO0EzRWkxSnhCOztBMkUxMUpnQjtJQUVRO0EzRTQxSnhCOztBMkV2MUpnQjtJQUVRO0EzRXkxSnhCOztBMkVsMkpnQjtJQUVRO0EzRW8ySnhCOztBMkUvMUpnQjtJQUVRO0EzRWkySnhCOztBMkUxMkpnQjtJQUVRO0EzRTQySnhCOztBMkV2MkpnQjtJQUVRO0EzRXkySnhCOztBMkVsM0pnQjtJQUVRO0EzRW8zSnhCOztBMkUvMkpnQjtJQUVRO0EzRWkzSnhCOztBMkUxM0pnQjtJQUVRO0EzRTQzSnhCOztBMkV2M0pnQjtJQUVRO0EzRXkzSnhCOztBMkVsNEpnQjtJQUVRO0EzRW80SnhCOztBMkUvM0pnQjtJQUVRO0EzRWk0SnhCOztBMkUxNEpnQjtJQUVRO0EzRTQ0SnhCOztBMkV2NEpnQjtJQUVRO0EzRXk0SnhCOztBMkVsNUpnQjtJQUVRO0EzRW81SnhCOztBMkUvNEpnQjtJQUVRO0EzRWk1SnhCOztBMkUxNUpnQjtJQUVRO0EzRTQ1SnhCOztBMkV2NUpnQjtJQUVRO0EzRXk1SnhCOztBMkVsNkpnQjtJQUVRO0EzRW82SnhCOztBMkUvNUpnQjtJQUVRO0EzRWk2SnhCOztBMkUxNkpnQjtJQUVRO0EzRTQ2SnhCOztBMkV2NkpnQjtJQUVRO0EzRXk2SnhCOztBMkVsN0pnQjtJQUVRO0EzRW83SnhCOztBMkUvNkpnQjtJQUVRO0EzRWk3SnhCOztBMkUxN0pnQjtJQUVRO0EzRTQ3SnhCOztBMkV2N0pnQjtJQUVRO0EzRXk3SnhCOztBMkVsOEpnQjtJQUVRO0EzRW84SnhCOztBMkUvN0pnQjtJQUVRO0EzRWk4SnhCOztBMkUxOEpnQjtJQUVRO0EzRTQ4SnhCOztBMkV2OEpnQjtJQUVRO0EzRXk4SnhCOztBMkVsOUpnQjtJQUVRO0EzRW85SnhCOztBMkUvOEpnQjtJQUVRO0EzRWk5SnhCOztBMkUxOUpnQjtJQUVRO0EzRTQ5SnhCOztBMkV2OUpnQjtJQUVRO0EzRXk5SnhCOztBMkVsK0pnQjtJQUVRO0EzRW8rSnhCOztBMkUvOUpnQjtJQUVRO0EzRWkrSnhCOztBMkUxK0pnQjtJQUVRO0EzRTQrSnhCOztBMkV2K0pnQjtJQUVRO0EzRXkrSnhCOztBMkVsL0pnQjtJQUVRO0EzRW8vSnhCOztBMkUvK0pnQjtJQUVRO0EzRWkvSnhCOztBMkUxL0pnQjtJQUVRO0EzRTQvSnhCOztBMkV2L0pnQjtJQUVRO0EzRXkvSnhCOztBMkVsZ0tnQjtJQUVRO0EzRW9nS3hCOztBMkUvL0pnQjtJQUVRO0EzRWlnS3hCOztBMkUxZ0tnQjtJQUVRO0EzRTRnS3hCOztBMkV2Z0tnQjtJQUVRO0EzRXlnS3hCOztBMkVsaEtnQjtJQUVRO0EzRW9oS3hCOztBMkUvZ0tnQjtJQUVRO0EzRWloS3hCOztBMkUxaEtnQjtJQUVRO0EzRTRoS3hCOztBMkV2aEtnQjtJQUVRO0EzRXloS3hCOztBMkVsaUtnQjtJQUVRO0EzRW9pS3hCOztBMkUvaEtnQjtJQUVRO0EzRWlpS3hCOztBMkUxaUtnQjtJQUVRO0EzRTRpS3hCOztBMkV2aUtnQjtJQUVRO0EzRXlpS3hCOztBMkVsaktnQjtJQUVRO0EzRW9qS3hCOztBMkUvaUtnQjtJQUVRO0EzRWlqS3hCOztBMkUxaktnQjtJQUVRO0EzRTRqS3hCOztBMkV2aktnQjtJQUVRO0EzRXlqS3hCOztBMkVsa0tnQjtJQUVRO0EzRW9rS3hCOztBMkUvaktnQjtJQUVRO0EzRWlrS3hCOztBMkUxa0tnQjtJQUVRO0EzRTRrS3hCOztBMkV2a0tnQjtJQUVRO0EzRXlrS3hCOztBMkVsbEtnQjtJQUVRO0EzRW9sS3hCOztBMkUva0tnQjtJQUVRO0EzRWlsS3hCOztBMkUxbEtnQjtJQUVRO0EzRTRsS3hCOztBMkV2bEtnQjtJQUVRO0EzRXlsS3hCOztBMkVsbUtnQjtJQUVRO0EzRW9tS3hCOztBMkUvbEtnQjtJQUVRO0EzRWltS3hCOztBMkUxbUtnQjtJQUVRO0EzRTRtS3hCOztBMkV2bUtnQjtJQUVRO0EzRXltS3hCOztBMkVsbktnQjtJQUVRO0EzRW9uS3hCOztBMkUvbUtnQjtJQUVRO0EzRWluS3hCOztBMkUxbktnQjtJQUVRO0EzRTRuS3hCOztBMkV2bktnQjtJQUVRO0EzRXluS3hCOztBMkVsb0tnQjtJQUVRO0EzRW9vS3hCOztBMkUvbktnQjtJQUVRO0EzRWlvS3hCOztBMkUxb0tnQjtJQUVRO0EzRTRvS3hCOztBMkV2b0tnQjtJQUVRO0EzRXlvS3hCOztBMkVscEtnQjtJQUVRO0EzRW9wS3hCOztBMkUvb0tnQjtJQUVRO0EzRWlwS3hCOztBMkUxcEtnQjtJQUVRO0EzRTRwS3hCOztBMkV2cEtnQjtJQUVRO0EzRXlwS3hCOztBMkVscUtnQjtJQUVRO0EzRW9xS3hCOztBMkUvcEtnQjtJQUVRO0EzRWlxS3hCOztBMkUxcUtnQjtJQUVRO0EzRTRxS3hCOztBMkV2cUtnQjtJQUVRO0EzRXlxS3hCOztBMkVscktnQjtJQUVRO0EzRW9yS3hCOztBMkUvcUtnQjtJQUVRO0EzRWlyS3hCOztBMkUxcktnQjtJQUVRO0EzRTRyS3hCOztBMkV2cktnQjtJQUVRO0EzRXlyS3hCOztBMkVsc0tnQjtJQUVRO0EzRW9zS3hCOztBMkUvcktnQjtJQUVRO0EzRWlzS3hCOztBMkUxc0tnQjtJQUVRO0EzRTRzS3hCOztBMkV2c0tnQjtJQUVRO0EzRXlzS3hCOztBMkVsdEtnQjtJQUVRO0EzRW90S3hCOztBMkUvc0tnQjtJQUVRO0EzRWl0S3hCOztBMkUxdEtnQjtJQUVRO0EzRTR0S3hCOztBMkV2dEtnQjtJQUVRO0EzRXl0S3hCOztBMkVsdUtnQjtJQUVRO0EzRW91S3hCOztBMkUvdEtnQjtJQUVRO0EzRWl1S3hCOztBMkUxdUtnQjtJQUVRO0EzRTR1S3hCOztBMkV2dUtnQjtJQUVRO0EzRXl1S3hCOztBMkVsdktnQjtJQUVRO0EzRW92S3hCOztBMkUvdUtnQjtJQUVRO0EzRWl2S3hCOztBMkUxdktnQjtJQUVRO0EzRTR2S3hCOztBMkV2dktnQjtJQUVRO0EzRXl2S3hCOztBMkVsd0tnQjtJQUVRO0EzRW93S3hCOztBMkUvdktnQjtJQUVRO0EzRWl3S3hCOztBMkUxd0tnQjtJQUVRO0EzRTR3S3hCOztBMkV2d0tnQjtJQUVRO0EzRXl3S3hCOztBMkVseEtnQjtJQUVRO0EzRW94S3hCOztBMkUvd0tnQjtJQUVRO0EzRWl4S3hCOztBMkUxeEtnQjtJQUVRO0EzRTR4S3hCOztBMkV2eEtnQjtJQUVRO0EzRXl4S3hCOztBMkVseUtnQjtJQUVRO0EzRW95S3hCOztBMkUveEtnQjtJQUVRO0EzRWl5S3hCOztBMkUxeUtnQjtJQUVRO0EzRTR5S3hCOztBMkV2eUtnQjtJQUVRO0EzRXl5S3hCOztBMkVsektnQjtJQUVRO0EzRW96S3hCOztBMkUveUtnQjtJQUVRO0EzRWl6S3hCOztBMkUxektnQjtJQUVRO0EzRTR6S3hCOztBMkV2ektnQjtJQUVRO0EzRXl6S3hCOztBMkVsMEtnQjtJQUVRO0EzRW8wS3hCOztBMkUvektnQjtJQUVRO0EzRWkwS3hCOztBMkUxMEtnQjtJQUVRO0EzRTQwS3hCOztBMkV2MEtnQjtJQUVRO0EzRXkwS3hCOztBMkVsMUtnQjtJQUVRO0EzRW8xS3hCOztBMkUvMEtnQjtJQUVRO0EzRWkxS3hCOztBMkUxMUtnQjtJQUVRO0EzRTQxS3hCOztBMkV2MUtnQjtJQUVRO0EzRXkxS3hCOztBMkVsMktnQjtJQUVRO0EzRW8yS3hCOztBMkUvMUtnQjtJQUVRO0EzRWkyS3hCOztBMkUxMktnQjtJQUVRO0EzRTQyS3hCOztBMkV2MktnQjtJQUVRO0EzRXkyS3hCOztBMkVsM0tnQjtJQUVRO0EzRW8zS3hCOztBMkUvMktnQjtJQUVRO0EzRWkzS3hCOztBMkUxM0tnQjtJQUVRO0EzRTQzS3hCOztBMkV2M0tnQjtJQUVRO0EzRXkzS3hCOztBMkVsNEtnQjtJQUVRO0EzRW80S3hCOztBMkUvM0tnQjtJQUVRO0EzRWk0S3hCOztBMkUxNEtnQjtJQUVRO0EzRTQ0S3hCOztBMkV2NEtnQjtJQUVRO0EzRXk0S3hCOztBMkVsNUtnQjtJQUVRO0EzRW81S3hCOztBMkUvNEtnQjtJQUVRO0EzRWk1S3hCOztBMkUxNUtnQjtJQUVRO0EzRTQ1S3hCOztBMkV2NUtnQjtJQUVRO0EzRXk1S3hCOztBMkVsNktnQjtJQUVRO0EzRW82S3hCOztBMkUvNUtnQjtJQUVRO0EzRWk2S3hCOztBMkUxNktnQjtJQUVRO0EzRTQ2S3hCOztBMkV2NktnQjtJQUVRO0EzRXk2S3hCOztBMkVsN0tnQjtJQUVRO0EzRW83S3hCOztBMkUvNktnQjtJQUVRO0EzRWk3S3hCOztBMkUxN0tnQjtJQUVRO0EzRTQ3S3hCOztBMkV2N0tnQjtJQUVRO0EzRXk3S3hCOztBMkVsOEtnQjtJQUVRO0EzRW84S3hCOztBMkUvN0tnQjtJQUVRO0EzRWk4S3hCOztBMkUxOEtnQjtJQUVRO0EzRTQ4S3hCOztBMkV2OEtnQjtJQUVRO0EzRXk4S3hCOztBMkVsOUtnQjtJQUVRO0EzRW85S3hCOztBMkUvOEtnQjtJQUVRO0EzRWk5S3hCOztBMkUxOUtnQjtJQUVRO0EzRTQ5S3hCOztBMkV2OUtnQjtJQUVRO0EzRXk5S3hCOztBMkVsK0tnQjtJQUVRO0EzRW8rS3hCOztBMkUvOUtnQjtJQUVRO0EzRWkrS3hCOztBMkUxK0tnQjtJQUVRO0EzRTQrS3hCOztBMkV2K0tnQjtJQUVRO0EzRXkrS3hCOztBMkVsL0tnQjtJQUVRO0EzRW8vS3hCOztBMkUvK0tnQjtJQUVRO0EzRWkvS3hCOztBMkUxL0tnQjtJQUVRO0EzRTQvS3hCOztBMkV2L0tnQjtJQUVRO0EzRXkvS3hCOztBMkVsZ0xnQjtJQUVRO0EzRW9nTHhCOztBMkUvL0tnQjtJQUVRO0EzRWlnTHhCOztBMkUxZ0xnQjtJQUVRO0EzRTRnTHhCOztBMkV2Z0xnQjtJQUVRO0EzRXlnTHhCOztBMkVsaExnQjtJQUVRO0EzRW9oTHhCOztBMkUvZ0xnQjtJQUVRO0EzRWloTHhCOztBMkUxaExnQjtJQUVRO0EzRTRoTHhCOztBMkV2aExnQjtJQUVRO0EzRXloTHhCOztBMkVsaUxnQjtJQUVRO0EzRW9pTHhCOztBMkUvaExnQjtJQUVRO0EzRWlpTHhCOztBMkUxaUxnQjtJQUVRO0EzRTRpTHhCOztBMkV2aUxnQjtJQUVRO0EzRXlpTHhCOztBMkVsakxnQjtJQUVRO0EzRW9qTHhCOztBMkUvaUxnQjtJQUVRO0EzRWlqTHhCOztBMkUxakxnQjtJQUVRO0EzRTRqTHhCOztBMkV2akxnQjtJQUVRO0EzRXlqTHhCOztBMkVsa0xnQjtJQUVRO0EzRW9rTHhCOztBMkUvakxnQjtJQUVRO0EzRWlrTHhCOztBMkUxa0xnQjtJQUVRO0EzRTRrTHhCOztBMkV2a0xnQjtJQUVRO0EzRXlrTHhCOztBMkVsbExnQjtJQUVRO0EzRW9sTHhCOztBMkUva0xnQjtJQUVRO0EzRWlsTHhCOztBMkUxbExnQjtJQUVRO0EzRTRsTHhCOztBMkV2bExnQjtJQUVRO0EzRXlsTHhCOztBMkVsbUxnQjtJQUVRO0EzRW9tTHhCOztBMkUvbExnQjtJQUVRO0EzRWltTHhCOztBMkUxbUxnQjtJQUVRO0EzRTRtTHhCOztBMkV2bUxnQjtJQUVRO0EzRXltTHhCOztBMkVsbkxnQjtJQUVRO0EzRW9uTHhCOztBMkUvbUxnQjtJQUVRO0EzRWluTHhCOztBMkUxbkxnQjtJQUVRO0EzRTRuTHhCOztBMkV2bkxnQjtJQUVRO0EzRXluTHhCOztBMkVsb0xnQjtJQUVRO0EzRW9vTHhCOztBMkUvbkxnQjtJQUVRO0EzRWlvTHhCOztBMkUxb0xnQjtJQUVRO0EzRTRvTHhCOztBMkV2b0xnQjtJQUVRO0EzRXlvTHhCOztBMkVscExnQjtJQUVRO0EzRW9wTHhCOztBMkUvb0xnQjtJQUVRO0EzRWlwTHhCOztBMkUxcExnQjtJQUVRO0EzRTRwTHhCOztBMkV2cExnQjtJQUVRO0EzRXlwTHhCOztBMkVscUxnQjtJQUVRO0EzRW9xTHhCOztBMkUvcExnQjtJQUVRO0EzRWlxTHhCOztBMkUxcUxnQjtJQUVRO0EzRTRxTHhCOztBMkV2cUxnQjtJQUVRO0EzRXlxTHhCOztBMkVsckxnQjtJQUVRO0EzRW9yTHhCOztBMkUvcUxnQjtJQUVRO0EzRWlyTHhCOztBMkUxckxnQjtJQUVRO0EzRTRyTHhCOztBMkV2ckxnQjtJQUVRO0EzRXlyTHhCOztBMkVsc0xnQjtJQUVRO0EzRW9zTHhCOztBMkUvckxnQjtJQUVRO0EzRWlzTHhCOztBMkUxc0xnQjtJQUVRO0EzRTRzTHhCOztBMkV2c0xnQjtJQUVRO0EzRXlzTHhCOztBMkVsdExnQjtJQUVRO0EzRW90THhCOztBMkUvc0xnQjtJQUVRO0EzRWl0THhCOztBMkUxdExnQjtJQUVRO0EzRTR0THhCOztBMkV2dExnQjtJQUVRO0EzRXl0THhCOztBMkVsdUxnQjtJQUVRO0EzRW91THhCOztBMkUvdExnQjtJQUVRO0EzRWl1THhCOztBMkUxdUxnQjtJQUVRO0EzRTR1THhCOztBMkV2dUxnQjtJQUVRO0EzRXl1THhCOztBMkVsdkxnQjtJQUVRO0EzRW92THhCOztBMkUvdUxnQjtJQUVRO0EzRWl2THhCOztBMkUxdkxnQjtJQUVRO0EzRTR2THhCOztBMkV2dkxnQjtJQUVRO0EzRXl2THhCOztBMkVsd0xnQjtJQUVRO0EzRW93THhCOztBMkUvdkxnQjtJQUVRO0EzRWl3THhCOztBMkUxd0xnQjtJQUVRO0EzRTR3THhCOztBMkV2d0xnQjtJQUVRO0EzRXl3THhCOztBMkVseExnQjtJQUVRO0EzRW94THhCOztBMkUvd0xnQjtJQUVRO0EzRWl4THhCOztBMkUxeExnQjtJQUVRO0EzRTR4THhCOztBMkV2eExnQjtJQUVRO0EzRXl4THhCOztBMkVseUxnQjtJQUVRO0EzRW95THhCOztBMkUveExnQjtJQUVRO0EzRWl5THhCOztBMkUxeUxnQjtJQUVRO0EzRTR5THhCOztBMkV2eUxnQjtJQUVRO0EzRXl5THhCOztBMkVsekxnQjtJQUVRO0EzRW96THhCOztBMkUveUxnQjtJQUVRO0EzRWl6THhCOztBMkUxekxnQjtJQUVRO0EzRTR6THhCOztBMkV2ekxnQjtJQUVRO0EzRXl6THhCOztBMkVsMExnQjtJQUVRO0EzRW8wTHhCOztBMkUvekxnQjtJQUVRO0EzRWkwTHhCOztBMkUxMExnQjtJQUVRO0EzRTQwTHhCOztBMkV2MExnQjtJQUVRO0EzRXkwTHhCOztBMkVsMUxnQjtJQUVRO0EzRW8xTHhCOztBMkUvMExnQjtJQUVRO0EzRWkxTHhCOztBMkUxMUxnQjtJQUVRO0EzRTQxTHhCOztBMkV2MUxnQjtJQUVRO0EzRXkxTHhCOztBMkVsMkxnQjtJQUVRO0EzRW8yTHhCOztBMkUvMUxnQjtJQUVRO0EzRWkyTHhCOztBMkUxMkxnQjtJQUVRO0EzRTQyTHhCOztBMkV2MkxnQjtJQUVRO0EzRXkyTHhCOztBMkVsM0xnQjtJQUVRO0EzRW8zTHhCOztBMkUvMkxnQjtJQUVRO0EzRWkzTHhCOztBMkUxM0xnQjtJQUVRO0EzRTQzTHhCOztBMkV2M0xnQjtJQUVRO0EzRXkzTHhCOztBMkVsNExnQjtJQUVRO0EzRW80THhCOztBMkUvM0xnQjtJQUVRO0EzRWk0THhCOztBMkUxNExnQjtJQUVRO0EzRTQ0THhCOztBMkV2NExnQjtJQUVRO0EzRXk0THhCOztBMkVsNUxnQjtJQUVRO0EzRW81THhCOztBMkUvNExnQjtJQUVRO0EzRWk1THhCOztBMkUxNUxnQjtJQUVRO0EzRTQ1THhCOztBMkV2NUxnQjtJQUVRO0EzRXk1THhCOztBMkVsNkxnQjtJQUVRO0EzRW82THhCOztBMkUvNUxnQjtJQUVRO0EzRWk2THhCOztBMkUxNkxnQjtJQUVRO0EzRTQ2THhCOztBMkV2NkxnQjtJQUVRO0EzRXk2THhCOztBMkVsN0xnQjtJQUVRO0EzRW83THhCOztBMkUvNkxnQjtJQUVRO0EzRWk3THhCOztBMkUxN0xnQjtJQUVRO0EzRTQ3THhCOztBMkV2N0xnQjtJQUVRO0EzRXk3THhCOztBMkVsOExnQjtJQUVRO0EzRW84THhCOztBMkUvN0xnQjtJQUVRO0EzRWk4THhCOztBMkUxOExnQjtJQUVRO0EzRTQ4THhCOztBMkV2OExnQjtJQUVRO0EzRXk4THhCOztBMkVsOUxnQjtJQUVRO0EzRW85THhCOztBMkUvOExnQjtJQUVRO0EzRWk5THhCOztBMkUxOUxnQjtJQUVRO0EzRTQ5THhCOztBMkV2OUxnQjtJQUVRO0EzRXk5THhCOztBMkVsK0xnQjtJQUVRO0EzRW8rTHhCOztBMkUvOUxnQjtJQUVRO0EzRWkrTHhCOztBMkUxK0xnQjtJQUVRO0EzRTQrTHhCOztBMkV2K0xnQjtJQUVRO0EzRXkrTHhCOztBMkVsL0xnQjtJQUVRO0EzRW8vTHhCOztBMkUvK0xnQjtJQUVRO0EzRWkvTHhCOztBMkUxL0xnQjtJQUVRO0EzRTQvTHhCOztBMkV2L0xnQjtJQUVRO0EzRXkvTHhCOztBMkVsZ01nQjtJQUVRO0EzRW9nTXhCOztBMkUvL0xnQjtJQUVRO0EzRWlnTXhCOztBMkUxZ01nQjtJQUVRO0EzRTRnTXhCOztBMkV2Z01nQjtJQUVRO0EzRXlnTXhCOztBMkVsaE1nQjtJQUVRO0EzRW9oTXhCOztBMkUvZ01nQjtJQUVRO0EzRWloTXhCOztBMkUxaE1nQjtJQUVRO0EzRTRoTXhCOztBMkV2aE1nQjtJQUVRO0EzRXloTXhCOztBMkVsaU1nQjtJQUVRO0EzRW9pTXhCOztBMkUvaE1nQjtJQUVRO0EzRWlpTXhCOztBMkUxaU1nQjtJQUVRO0EzRTRpTXhCOztBMkV2aU1nQjtJQUVRO0EzRXlpTXhCOztBMkVsak1nQjtJQUVRO0EzRW9qTXhCOztBMkUvaU1nQjtJQUVRO0EzRWlqTXhCOztBMkUxak1nQjtJQUVRO0EzRTRqTXhCOztBMkV2ak1nQjtJQUVRO0EzRXlqTXhCOztBMkVsa01nQjtJQUVRO0EzRW9rTXhCOztBMkUvak1nQjtJQUVRO0EzRWlrTXhCOztBMkUxa01nQjtJQUVRO0EzRTRrTXhCOztBMkV2a01nQjtJQUVRO0EzRXlrTXhCOztBMkVsbE1nQjtJQUVRO0EzRW9sTXhCOztBMkUva01nQjtJQUVRO0EzRWlsTXhCOztBMkUxbE1nQjtJQUVRO0EzRTRsTXhCOztBMkV2bE1nQjtJQUVRO0EzRXlsTXhCOztBMkVsbU1nQjtJQUVRO0EzRW9tTXhCOztBMkUvbE1nQjtJQUVRO0EzRWltTXhCOztBMkUxbU1nQjtJQUVRO0EzRTRtTXhCOztBMkV2bU1nQjtJQUVRO0EzRXltTXhCOztBMkVsbk1nQjtJQUVRO0EzRW9uTXhCOztBMkUvbU1nQjtJQUVRO0EzRWluTXhCOztBMkUxbk1nQjtJQUVRO0EzRTRuTXhCOztBMkV2bk1nQjtJQUVRO0EzRXluTXhCOztBMkVsb01nQjtJQUVRO0EzRW9vTXhCOztBMkUvbk1nQjtJQUVRO0EzRWlvTXhCOztBMkUxb01nQjtJQUVRO0EzRTRvTXhCOztBMkV2b01nQjtJQUVRO0EzRXlvTXhCOztBMkVscE1nQjtJQUVRO0EzRW9wTXhCOztBMkUvb01nQjtJQUVRO0EzRWlwTXhCOztBMkUxcE1nQjtJQUVRO0EzRTRwTXhCOztBMkV2cE1nQjtJQUVRO0EzRXlwTXhCOztBMkVscU1nQjtJQUVRO0EzRW9xTXhCOztBMkUvcE1nQjtJQUVRO0EzRWlxTXhCOztBMkUxcU1nQjtJQUVRO0EzRTRxTXhCOztBMkV2cU1nQjtJQUVRO0EzRXlxTXhCOztBMkVsck1nQjtJQUVRO0EzRW9yTXhCOztBMkUvcU1nQjtJQUVRO0EzRWlyTXhCOztBMkUxck1nQjtJQUVRO0EzRTRyTXhCOztBMkV2ck1nQjtJQUVRO0EzRXlyTXhCOztBMkVsc01nQjtJQUVRO0EzRW9zTXhCOztBMkUvck1nQjtJQUVRO0EzRWlzTXhCOztBMkUxc01nQjtJQUVRO0EzRTRzTXhCOztBMkV2c01nQjtJQUVRO0EzRXlzTXhCOztBMkVsdE1nQjtJQUVRO0EzRW90TXhCOztBMkUvc01nQjtJQUVRO0EzRWl0TXhCOztBMkUxdE1nQjtJQUVRO0EzRTR0TXhCOztBMkV2dE1nQjtJQUVRO0EzRXl0TXhCOztBMkVsdU1nQjtJQUVRO0EzRW91TXhCOztBMkUvdE1nQjtJQUVRO0EzRWl1TXhCOztBMkUxdU1nQjtJQUVRO0EzRTR1TXhCOztBMkV2dU1nQjtJQUVRO0EzRXl1TXhCOztBMkVsdk1nQjtJQUVRO0EzRW92TXhCOztBMkUvdU1nQjtJQUVRO0EzRWl2TXhCOztBMkUxdk1nQjtJQUVRO0EzRTR2TXhCOztBMkV2dk1nQjtJQUVRO0EzRXl2TXhCOztBMkVsd01nQjtJQUVRO0EzRW93TXhCOztBMkUvdk1nQjtJQUVRO0EzRWl3TXhCOztBMkUxd01nQjtJQUVRO0EzRTR3TXhCOztBMkV2d01nQjtJQUVRO0EzRXl3TXhCOztBMkVseE1nQjtJQUVRO0EzRW94TXhCOztBMkUvd01nQjtJQUVRO0EzRWl4TXhCOztBMkUxeE1nQjtJQUVRO0EzRTR4TXhCOztBMkV2eE1nQjtJQUVRO0EzRXl4TXhCOztBMkVseU1nQjtJQUVRO0EzRW95TXhCOztBMkUveE1nQjtJQUVRO0EzRWl5TXhCOztBMkUxeU1nQjtJQUVRO0EzRTR5TXhCOztBMkV2eU1nQjtJQUVRO0EzRXl5TXhCOztBMkVsek1nQjtJQUVRO0EzRW96TXhCOztBMkUveU1nQjtJQUVRO0EzRWl6TXhCOztBMkUxek1nQjtJQUVRO0EzRTR6TXhCOztBMkV2ek1nQjtJQUVRO0EzRXl6TXhCOztBMkVsME1nQjtJQUVRO0EzRW8wTXhCOztBMkUvek1nQjtJQUVRO0EzRWkwTXhCOztBMkUxME1nQjtJQUVRO0EzRTQwTXhCOztBMkV2ME1nQjtJQUVRO0EzRXkwTXhCOztBMkVsMU1nQjtJQUVRO0EzRW8xTXhCOztBMkUvME1nQjtJQUVRO0EzRWkxTXhCOztBMkUxMU1nQjtJQUVRO0EzRTQxTXhCOztBMkV2MU1nQjtJQUVRO0EzRXkxTXhCOztBMkVsMk1nQjtJQUVRO0EzRW8yTXhCOztBMkUvMU1nQjtJQUVRO0EzRWkyTXhCOztBMkUxMk1nQjtJQUVRO0EzRTQyTXhCOztBMkV2Mk1nQjtJQUVRO0EzRXkyTXhCOztBMkVsM01nQjtJQUVRO0EzRW8zTXhCOztBMkUvMk1nQjtJQUVRO0EzRWkzTXhCOztBMkUxM01nQjtJQUVRO0EzRTQzTXhCOztBMkV2M01nQjtJQUVRO0EzRXkzTXhCOztBMkVsNE1nQjtJQUVRO0EzRW80TXhCOztBMkUvM01nQjtJQUVRO0EzRWk0TXhCOztBMkUxNE1nQjtJQUVRO0EzRTQ0TXhCOztBMkV2NE1nQjtJQUVRO0EzRXk0TXhCOztBMkVsNU1nQjtJQUVRO0EzRW81TXhCOztBMkUvNE1nQjtJQUVRO0EzRWk1TXhCOztBMkUxNU1nQjtJQUVRO0EzRTQ1TXhCOztBMkV2NU1nQjtJQUVRO0EzRXk1TXhCOztBMkVsNk1nQjtJQUVRO0EzRW82TXhCOztBMkUvNU1nQjtJQUVRO0EzRWk2TXhCOztBMkUxNk1nQjtJQUVRO0EzRTQ2TXhCOztBMkV2Nk1nQjtJQUVRO0EzRXk2TXhCOztBMkVsN01nQjtJQUVRO0EzRW83TXhCOztBMkUvNk1nQjtJQUVRO0EzRWk3TXhCOztBMkUxN01nQjtJQUVRO0EzRTQ3TXhCOztBMkV2N01nQjtJQUVRO0EzRXk3TXhCOztBMkVsOE1nQjtJQUVRO0EzRW84TXhCOztBMkUvN01nQjtJQUVRO0EzRWk4TXhCOztBMkUxOE1nQjtJQUVRO0EzRTQ4TXhCOztBMkV2OE1nQjtJQUVRO0EzRXk4TXhCOztBMkVsOU1nQjtJQUVRO0EzRW85TXhCOztBMkUvOE1nQjtJQUVRO0EzRWk5TXhCOztBMkUxOU1nQjtJQUVRO0EzRTQ5TXhCOztBMkV2OU1nQjtJQUVRO0EzRXk5TXhCOztBMkVsK01nQjtJQUVRO0EzRW8rTXhCOztBMkUvOU1nQjtJQUVRO0EzRWkrTXhCOztBMkUxK01nQjtJQUVRO0EzRTQrTXhCOztBMkV2K01nQjtJQUVRO0EzRXkrTXhCOztBMkVsL01nQjtJQUVRO0EzRW8vTXhCOztBMkUvK01nQjtJQUVRO0EzRWkvTXhCOztBMkUxL01nQjtJQUVRO0EzRTQvTXhCOztBMkV2L01nQjtJQUVRO0EzRXkvTXhCOztBMkVsZ05nQjtJQUVRO0EzRW9nTnhCOztBMkUvL01nQjtJQUVRO0EzRWlnTnhCOztBMkUxZ05nQjtJQUVRO0EzRTRnTnhCOztBMkV2Z05nQjtJQUVRO0EzRXlnTnhCOztBMkVsaE5nQjtJQUVRO0EzRW9oTnhCOztBMkUvZ05nQjtJQUVRO0EzRWloTnhCOztBMkUxaE5nQjtJQUVRO0EzRTRoTnhCOztBMkV2aE5nQjtJQUVRO0EzRXloTnhCOztBMkVsaU5nQjtJQUVRO0EzRW9pTnhCOztBMkUvaE5nQjtJQUVRO0EzRWlpTnhCOztBMkUxaU5nQjtJQUVRO0EzRTRpTnhCOztBMkV2aU5nQjtJQUVRO0EzRXlpTnhCOztBMkVsak5nQjtJQUVRO0EzRW9qTnhCOztBMkUvaU5nQjtJQUVRO0EzRWlqTnhCOztBMkUxak5nQjtJQUVRO0EzRTRqTnhCOztBMkV2ak5nQjtJQUVRO0EzRXlqTnhCOztBMkVsa05nQjtJQUVRO0EzRW9rTnhCOztBMkUvak5nQjtJQUVRO0EzRWlrTnhCOztBMkUxa05nQjtJQUVRO0EzRTRrTnhCOztBMkV2a05nQjtJQUVRO0EzRXlrTnhCOztBMkVsbE5nQjtJQUVRO0EzRW9sTnhCOztBMkUva05nQjtJQUVRO0EzRWlsTnhCOztBMkUxbE5nQjtJQUVRO0EzRTRsTnhCOztBMkV2bE5nQjtJQUVRO0EzRXlsTnhCOztBMkVsbU5nQjtJQUVRO0EzRW9tTnhCOztBMkUvbE5nQjtJQUVRO0EzRWltTnhCOztBMkUxbU5nQjtJQUVRO0EzRTRtTnhCOztBMkV2bU5nQjtJQUVRO0EzRXltTnhCOztBMkVsbk5nQjtJQUVRO0EzRW9uTnhCOztBMkUvbU5nQjtJQUVRO0EzRWluTnhCOztBMkUxbk5nQjtJQUVRO0EzRTRuTnhCOztBMkV2bk5nQjtJQUVRO0EzRXluTnhCOztBMkVsb05nQjtJQUVRO0EzRW9vTnhCOztBMkUvbk5nQjtJQUVRO0EzRWlvTnhCOztBMkUxb05nQjtJQUVRO0EzRTRvTnhCOztBMkV2b05nQjtJQUVRO0EzRXlvTnhCOztBMkVscE5nQjtJQUVRO0EzRW9wTnhCOztBMkUvb05nQjtJQUVRO0EzRWlwTnhCOztBMkUxcE5nQjtJQUVRO0EzRTRwTnhCOztBMkV2cE5nQjtJQUVRO0EzRXlwTnhCOztBMkVscU5nQjtJQUVRO0EzRW9xTnhCOztBMkUvcE5nQjtJQUVRO0EzRWlxTnhCOztBMkUxcU5nQjtJQUVRO0EzRTRxTnhCOztBMkV2cU5nQjtJQUVRO0EzRXlxTnhCOztBMkVsck5nQjtJQUVRO0EzRW9yTnhCOztBMkUvcU5nQjtJQUVRO0EzRWlyTnhCOztBMkUxck5nQjtJQUVRO0EzRTRyTnhCOztBMkV2ck5nQjtJQUVRO0EzRXlyTnhCOztBMkVsc05nQjtJQUVRO0EzRW9zTnhCOztBMkUvck5nQjtJQUVRO0EzRWlzTnhCOztBMkUxc05nQjtJQUVRO0EzRTRzTnhCOztBMkV2c05nQjtJQUVRO0EzRXlzTnhCOztBMkVsdE5nQjtJQUVRO0EzRW90TnhCOztBMkUvc05nQjtJQUVRO0EzRWl0TnhCOztBMkUxdE5nQjtJQUVRO0EzRTR0TnhCOztBMkV2dE5nQjtJQUVRO0EzRXl0TnhCOztBMkVsdU5nQjtJQUVRO0EzRW91TnhCOztBMkUvdE5nQjtJQUVRO0EzRWl1TnhCOztBMkUxdU5nQjtJQUVRO0EzRTR1TnhCOztBMkV2dU5nQjtJQUVRO0EzRXl1TnhCOztBMkVsdk5nQjtJQUVRO0EzRW92TnhCOztBMkUvdU5nQjtJQUVRO0EzRWl2TnhCOztBMkUxdk5nQjtJQUVRO0EzRTR2TnhCOztBMkV2dk5nQjtJQUVRO0EzRXl2TnhCOztBMkVsd05nQjtJQUVRO0EzRW93TnhCOztBMkUvdk5nQjtJQUVRO0EzRWl3TnhCOztBMkUxd05nQjtJQUVRO0EzRTR3TnhCOztBMkV2d05nQjtJQUVRO0EzRXl3TnhCOztBMkVseE5nQjtJQUVRO0EzRW94TnhCOztBMkUvd05nQjtJQUVRO0EzRWl4TnhCOztBMkUxeE5nQjtJQUVRO0EzRTR4TnhCOztBMkV2eE5nQjtJQUVRO0EzRXl4TnhCOztBMkVseU5nQjtJQUVRO0EzRW95TnhCOztBMkUveE5nQjtJQUVRO0EzRWl5TnhCOztBMkUxeU5nQjtJQUVRO0EzRTR5TnhCOztBMkV2eU5nQjtJQUVRO0EzRXl5TnhCOztBMkVsek5nQjtJQUVRO0EzRW96TnhCOztBMkUveU5nQjtJQUVRO0EzRWl6TnhCOztBMkUxek5nQjtJQUVRO0EzRTR6TnhCOztBMkV2ek5nQjtJQUVRO0EzRXl6TnhCOztBMkVsME5nQjtJQUVRO0EzRW8wTnhCOztBMkUvek5nQjtJQUVRO0EzRWkwTnhCOztBMkUxME5nQjtJQUVRO0EzRTQwTnhCOztBMkV2ME5nQjtJQUVRO0EzRXkwTnhCOztBMkVsMU5nQjtJQUVRO0EzRW8xTnhCOztBMkUvME5nQjtJQUVRO0EzRWkxTnhCOztBMkUxMU5nQjtJQUVRO0EzRTQxTnhCOztBMkV2MU5nQjtJQUVRO0EzRXkxTnhCOztBMkVsMk5nQjtJQUVRO0EzRW8yTnhCOztBMkUvMU5nQjtJQUVRO0EzRWkyTnhCOztBMkUxMk5nQjtJQUVRO0EzRTQyTnhCOztBMkV2Mk5nQjtJQUVRO0EzRXkyTnhCOztBMkVsM05nQjtJQUVRO0EzRW8zTnhCOztBMkUvMk5nQjtJQUVRO0EzRWkzTnhCOztBMkUxM05nQjtJQUVRO0EzRTQzTnhCOztBMkV2M05nQjtJQUVRO0EzRXkzTnhCOztBMkVsNE5nQjtJQUVRO0EzRW80TnhCOztBMkUvM05nQjtJQUVRO0EzRWk0TnhCOztBMkUxNE5nQjtJQUVRO0EzRTQ0TnhCOztBMkV2NE5nQjtJQUVRO0EzRXk0TnhCOztBMkVsNU5nQjtJQUVRO0EzRW81TnhCOztBMkUvNE5nQjtJQUVRO0EzRWk1TnhCOztBMkUxNU5nQjtJQUVRO0EzRTQ1TnhCOztBMkV2NU5nQjtJQUVRO0EzRXk1TnhCOztBMkVsNk5nQjtJQUVRO0EzRW82TnhCOztBMkUvNU5nQjtJQUVRO0EzRWk2TnhCOztBMkUxNk5nQjtJQUVRO0EzRTQ2TnhCOztBMkV2Nk5nQjtJQUVRO0EzRXk2TnhCOztBMkVsN05nQjtJQUVRO0EzRW83TnhCOztBMkUvNk5nQjtJQUVRO0EzRWk3TnhCOztBMkUxN05nQjtJQUVRO0EzRTQ3TnhCOztBMkV2N05nQjtJQUVRO0EzRXk3TnhCOztBMkVsOE5nQjtJQUVRO0EzRW84TnhCOztBMkUvN05nQjtJQUVRO0EzRWk4TnhCOztBMkUxOE5nQjtJQUVRO0EzRTQ4TnhCOztBMkV2OE5nQjtJQUVRO0EzRXk4TnhCOztBMkVsOU5nQjtJQUVRO0EzRW85TnhCOztBMkUvOE5nQjtJQUVRO0EzRWk5TnhCOztBMkUxOU5nQjtJQUVRO0EzRTQ5TnhCOztBMkV2OU5nQjtJQUVRO0EzRXk5TnhCOztBMkVsK05nQjtJQUVRO0EzRW8rTnhCOztBMkUvOU5nQjtJQUVRO0EzRWkrTnhCOztBMkUxK05nQjtJQUVRO0EzRTQrTnhCOztBMkV2K05nQjtJQUVRO0EzRXkrTnhCOztBMkVsL05nQjtJQUVRO0EzRW8vTnhCOztBMkUvK05nQjtJQUVRO0EzRWkvTnhCOztBMkUxL05nQjtJQUVRO0EzRTQvTnhCOztBMkV2L05nQjtJQUVRO0EzRXkvTnhCOztBMkVsZ09nQjtJQUVRO0EzRW9nT3hCOztBMkUvL05nQjtJQUVRO0EzRWlnT3hCOztBMkUxZ09nQjtJQUVRO0EzRTRnT3hCOztBMkV2Z09nQjtJQUVRO0EzRXlnT3hCOztBMkVsaE9nQjtJQUVRO0EzRW9oT3hCOztBMkUvZ09nQjtJQUVRO0EzRWloT3hCOztBMkUxaE9nQjtJQUVRO0EzRTRoT3hCOztBMkV2aE9nQjtJQUVRO0EzRXloT3hCOztBMkVsaU9nQjtJQUVRO0EzRW9pT3hCOztBMkUvaE9nQjtJQUVRO0EzRWlpT3hCOztBMkUxaU9nQjtJQUVRO0EzRTRpT3hCOztBMkV2aU9nQjtJQUVRO0EzRXlpT3hCOztBMkVsak9nQjtJQUVRO0EzRW9qT3hCOztBMkUvaU9nQjtJQUVRO0EzRWlqT3hCOztBMkUxak9nQjtJQUVRO0EzRTRqT3hCOztBMkV2ak9nQjtJQUVRO0EzRXlqT3hCOztBMkVsa09nQjtJQUVRO0EzRW9rT3hCOztBMkUvak9nQjtJQUVRO0EzRWlrT3hCOztBMkUxa09nQjtJQUVRO0EzRTRrT3hCOztBMkV2a09nQjtJQUVRO0EzRXlrT3hCOztBMkVsbE9nQjtJQUVRO0EzRW9sT3hCOztBMkUva09nQjtJQUVRO0EzRWlsT3hCOztBMkUxbE9nQjtJQUVRO0EzRTRsT3hCOztBMkV2bE9nQjtJQUVRO0EzRXlsT3hCOztBMkVsbU9nQjtJQUVRO0EzRW9tT3hCOztBMkUvbE9nQjtJQUVRO0EzRWltT3hCOztBMkUxbU9nQjtJQUVRO0EzRTRtT3hCOztBMkV2bU9nQjtJQUVRO0EzRXltT3hCOztBMkVsbk9nQjtJQUVRO0EzRW9uT3hCOztBMkUvbU9nQjtJQUVRO0EzRWluT3hCOztBMkUxbk9nQjtJQUVRO0EzRTRuT3hCOztBMkV2bk9nQjtJQUVRO0EzRXluT3hCOztBMkVsb09nQjtJQUVRO0EzRW9vT3hCOztBMkUvbk9nQjtJQUVRO0EzRWlvT3hCOztBMkUxb09nQjtJQUVRO0EzRTRvT3hCOztBMkV2b09nQjtJQUVRO0EzRXlvT3hCOztBMkVscE9nQjtJQUVRO0EzRW9wT3hCOztBMkUvb09nQjtJQUVRO0EzRWlwT3hCOztBMkUxcE9nQjtJQUVRO0EzRTRwT3hCOztBMkV2cE9nQjtJQUVRO0EzRXlwT3hCOztBMkVscU9nQjtJQUVRO0EzRW9xT3hCOztBMkUvcE9nQjtJQUVRO0EzRWlxT3hCOztBMkUxcU9nQjtJQUVRO0EzRTRxT3hCOztBMkV2cU9nQjtJQUVRO0EzRXlxT3hCOztBMkVsck9nQjtJQUVRO0EzRW9yT3hCOztBMkUvcU9nQjtJQUVRO0EzRWlyT3hCOztBMkUxck9nQjtJQUVRO0EzRTRyT3hCOztBMkV2ck9nQjtJQUVRO0EzRXlyT3hCOztBMkVsc09nQjtJQUVRO0EzRW9zT3hCOztBMkUvck9nQjtJQUVRO0EzRWlzT3hCOztBMkUxc09nQjtJQUVRO0EzRTRzT3hCOztBMkV2c09nQjtJQUVRO0EzRXlzT3hCOztBMkVsdE9nQjtJQUVRO0EzRW90T3hCOztBMkUvc09nQjtJQUVRO0EzRWl0T3hCOztBMkUxdE9nQjtJQUVRO0EzRTR0T3hCOztBMkV2dE9nQjtJQUVRO0EzRXl0T3hCOztBMkVsdU9nQjtJQUVRO0EzRW91T3hCOztBMkUvdE9nQjtJQUVRO0EzRWl1T3hCOztBMkUxdU9nQjtJQUVRO0EzRTR1T3hCOztBMkV2dU9nQjtJQUVRO0EzRXl1T3hCOztBMkVsdk9nQjtJQUVRO0EzRW92T3hCOztBMkUvdU9nQjtJQUVRO0EzRWl2T3hCOztBMkUxdk9nQjtJQUVRO0EzRTR2T3hCOztBMkV2dk9nQjtJQUVRO0EzRXl2T3hCOztBMkVsd09nQjtJQUVRO0EzRW93T3hCOztBMkUvdk9nQjtJQUVRO0EzRWl3T3hCOztBMkUxd09nQjtJQUVRO0EzRTR3T3hCOztBMkV2d09nQjtJQUVRO0EzRXl3T3hCOztBMkVseE9nQjtJQUVRO0EzRW94T3hCOztBMkUvd09nQjtJQUVRO0EzRWl4T3hCOztBMkUxeE9nQjtJQUVRO0EzRTR4T3hCOztBMkV2eE9nQjtJQUVRO0EzRXl4T3hCOztBMkVseU9nQjtJQUVRO0EzRW95T3hCOztBMkUveE9nQjtJQUVRO0EzRWl5T3hCOztBMkUxeU9nQjtJQUVRO0EzRTR5T3hCOztBMkV2eU9nQjtJQUVRO0EzRXl5T3hCOztBMkVsek9nQjtJQUVRO0EzRW96T3hCOztBMkUveU9nQjtJQUVRO0EzRWl6T3hCOztBMkUxek9nQjtJQUVRO0EzRTR6T3hCOztBMkV2ek9nQjtJQUVRO0EzRXl6T3hCOztBMkVsME9nQjtJQUVRO0EzRW8wT3hCOztBMkUvek9nQjtJQUVRO0EzRWkwT3hCOztBMkUxME9nQjtJQUVRO0EzRTQwT3hCOztBMkV2ME9nQjtJQUVRO0EzRXkwT3hCOztBMkVsMU9nQjtJQUVRO0EzRW8xT3hCOztBMkUvME9nQjtJQUVRO0EzRWkxT3hCOztBMkUxMU9nQjtJQUVRO0EzRTQxT3hCOztBMkV2MU9nQjtJQUVRO0EzRXkxT3hCOztBMkVsMk9nQjtJQUVRO0EzRW8yT3hCOztBMkUvMU9nQjtJQUVRO0EzRWkyT3hCOztBMkUxMk9nQjtJQUVRO0EzRTQyT3hCOztBMkV2Mk9nQjtJQUVRO0EzRXkyT3hCOztBMkVsM09nQjtJQUVRO0EzRW8zT3hCOztBMkUvMk9nQjtJQUVRO0EzRWkzT3hCOztBMkUxM09nQjtJQUVRO0EzRTQzT3hCOztBMkV2M09nQjtJQUVRO0EzRXkzT3hCOztBMkVsNE9nQjtJQUVRO0EzRW80T3hCOztBMkUvM09nQjtJQUVRO0EzRWk0T3hCOztBMkUxNE9nQjtJQUVRO0EzRTQ0T3hCOztBMkV2NE9nQjtJQUVRO0EzRXk0T3hCOztBMkVsNU9nQjtJQUVRO0EzRW81T3hCOztBMkUvNE9nQjtJQUVRO0EzRWk1T3hCOztBMkUxNU9nQjtJQUVRO0EzRTQ1T3hCOztBMkV2NU9nQjtJQUVRO0EzRXk1T3hCOztBMkVsNk9nQjtJQUVRO0EzRW82T3hCOztBMkUvNU9nQjtJQUVRO0EzRWk2T3hCOztBMkUxNk9nQjtJQUVRO0EzRTQ2T3hCOztBMkV2Nk9nQjtJQUVRO0EzRXk2T3hCOztBMkVsN09nQjtJQUVRO0EzRW83T3hCOztBMkUvNk9nQjtJQUVRO0EzRWk3T3hCOztBMkUxN09nQjtJQUVRO0EzRTQ3T3hCOztBMkV2N09nQjtJQUVRO0EzRXk3T3hCOztBMkVsOE9nQjtJQUVRO0EzRW84T3hCOztBMkUvN09nQjtJQUVRO0EzRWk4T3hCOztBMkUxOE9nQjtJQUVRO0EzRTQ4T3hCOztBMkV2OE9nQjtJQUVRO0EzRXk4T3hCOztBMkVsOU9nQjtJQUVRO0EzRW85T3hCOztBMkUvOE9nQjtJQUVRO0EzRWk5T3hCOztBMkUxOU9nQjtJQUVRO0EzRTQ5T3hCOztBMkV2OU9nQjtJQUVRO0EzRXk5T3hCOztBMkVsK09nQjtJQUVRO0EzRW8rT3hCOztBMkUvOU9nQjtJQUVRO0EzRWkrT3hCOztBMkUxK09nQjtJQUVRO0EzRTQrT3hCOztBMkV2K09nQjtJQUVRO0EzRXkrT3hCOztBMkVsL09nQjtJQUVRO0EzRW8vT3hCOztBMkUvK09nQjtJQUVRO0EzRWkvT3hCOztBMkUxL09nQjtJQUVRO0EzRTQvT3hCOztBMkV2L09nQjtJQUVRO0EzRXkvT3hCOztBMkVsZ1BnQjtJQUVRO0EzRW9nUHhCOztBMkUvL09nQjtJQUVRO0EzRWlnUHhCOztBMkUxZ1BnQjtJQUVRO0EzRTRnUHhCOztBMkV2Z1BnQjtJQUVRO0EzRXlnUHhCOztBMkVsaFBnQjtJQUVRO0EzRW9oUHhCOztBMkUvZ1BnQjtJQUVRO0EzRWloUHhCOztBMkUxaFBnQjtJQUVRO0EzRTRoUHhCOztBMkV2aFBnQjtJQUVRO0EzRXloUHhCOztBMkVsaVBnQjtJQUVRO0EzRW9pUHhCOztBMkUvaFBnQjtJQUVRO0EzRWlpUHhCOztBMkUxaVBnQjtJQUVRO0EzRTRpUHhCOztBMkV2aVBnQjtJQUVRO0EzRXlpUHhCOztBMkVsalBnQjtJQUVRO0EzRW9qUHhCOztBMkUvaVBnQjtJQUVRO0EzRWlqUHhCOztBMkUxalBnQjtJQUVRO0EzRTRqUHhCOztBMkV2alBnQjtJQUVRO0EzRXlqUHhCOztBMkVsa1BnQjtJQUVRO0EzRW9rUHhCOztBMkUvalBnQjtJQUVRO0EzRWlrUHhCOztBMkUxa1BnQjtJQUVRO0EzRTRrUHhCOztBMkV2a1BnQjtJQUVRO0EzRXlrUHhCOztBMkVsbFBnQjtJQUVRO0EzRW9sUHhCOztBMkUva1BnQjtJQUVRO0EzRWlsUHhCOztBMkUxbFBnQjtJQUVRO0EzRTRsUHhCOztBMkV2bFBnQjtJQUVRO0EzRXlsUHhCOztBMkVsbVBnQjtJQUVRO0EzRW9tUHhCOztBMkUvbFBnQjtJQUVRO0EzRWltUHhCOztBMkUxbVBnQjtJQUVRO0EzRTRtUHhCOztBMkV2bVBnQjtJQUVRO0EzRXltUHhCOztBMkVsblBnQjtJQUVRO0EzRW9uUHhCOztBMkUvbVBnQjtJQUVRO0EzRWluUHhCOztBMkUxblBnQjtJQUVRO0EzRTRuUHhCOztBMkV2blBnQjtJQUVRO0EzRXluUHhCOztBMkVsb1BnQjtJQUVRO0EzRW9vUHhCOztBMkUvblBnQjtJQUVRO0EzRWlvUHhCOztBMkUxb1BnQjtJQUVRO0EzRTRvUHhCOztBMkV2b1BnQjtJQUVRO0EzRXlvUHhCOztBMkVscFBnQjtJQUVRO0EzRW9wUHhCOztBMkUvb1BnQjtJQUVRO0EzRWlwUHhCOztBMkUxcFBnQjtJQUVRO0EzRTRwUHhCOztBMkV2cFBnQjtJQUVRO0EzRXlwUHhCOztBMkVscVBnQjtJQUVRO0EzRW9xUHhCOztBMkUvcFBnQjtJQUVRO0EzRWlxUHhCOztBMkUxcVBnQjtJQUVRO0EzRTRxUHhCOztBMkV2cVBnQjtJQUVRO0EzRXlxUHhCOztBMkVsclBnQjtJQUVRO0EzRW9yUHhCOztBMkUvcVBnQjtJQUVRO0EzRWlyUHhCOztBMkUxclBnQjtJQUVRO0EzRTRyUHhCOztBMkV2clBnQjtJQUVRO0EzRXlyUHhCOztBMkVsc1BnQjtJQUVRO0EzRW9zUHhCOztBMkUvclBnQjtJQUVRO0EzRWlzUHhCOztBMkUxc1BnQjtJQUVRO0EzRTRzUHhCOztBMkV2c1BnQjtJQUVRO0EzRXlzUHhCOztBMkVsdFBnQjtJQUVRO0EzRW90UHhCOztBMkUvc1BnQjtJQUVRO0EzRWl0UHhCOztBMkUxdFBnQjtJQUVRO0EzRTR0UHhCOztBMkV2dFBnQjtJQUVRO0EzRXl0UHhCOztBMkVsdVBnQjtJQUVRO0EzRW91UHhCOztBMkUvdFBnQjtJQUVRO0EzRWl1UHhCOztBMkUxdVBnQjtJQUVRO0EzRTR1UHhCOztBMkV2dVBnQjtJQUVRO0EzRXl1UHhCOztBMkVsdlBnQjtJQUVRO0EzRW92UHhCOztBMkUvdVBnQjtJQUVRO0EzRWl2UHhCOztBMkUxdlBnQjtJQUVRO0EzRTR2UHhCOztBMkV2dlBnQjtJQUVRO0EzRXl2UHhCOztBMkVsd1BnQjtJQUVRO0EzRW93UHhCOztBMkUvdlBnQjtJQUVRO0EzRWl3UHhCOztBMkUxd1BnQjtJQUVRO0EzRTR3UHhCOztBMkV2d1BnQjtJQUVRO0EzRXl3UHhCOztBMkVseFBnQjtJQUVRO0EzRW94UHhCOztBMkUvd1BnQjtJQUVRO0EzRWl4UHhCOztBMkUxeFBnQjtJQUVRO0EzRTR4UHhCOztBMkV2eFBnQjtJQUVRO0EzRXl4UHhCOztBMkVseVBnQjtJQUVRO0EzRW95UHhCOztBMkUveFBnQjtJQUVRO0EzRWl5UHhCOztBMkUxeVBnQjtJQUVRO0EzRTR5UHhCOztBMkV2eVBnQjtJQUVRO0EzRXl5UHhCOztBMkVselBnQjtJQUVRO0EzRW96UHhCOztBMkUveVBnQjtJQUVRO0EzRWl6UHhCOztBMkUxelBnQjtJQUVRO0EzRTR6UHhCOztBMkV2elBnQjtJQUVRO0EzRXl6UHhCOztBMkVsMFBnQjtJQUVRO0EzRW8wUHhCOztBMkUvelBnQjtJQUVRO0EzRWkwUHhCOztBMkUxMFBnQjtJQUVRO0EzRTQwUHhCOztBMkV2MFBnQjtJQUVRO0EzRXkwUHhCOztBMkVsMVBnQjtJQUVRO0EzRW8xUHhCOztBMkUvMFBnQjtJQUVRO0EzRWkxUHhCOztBMkUxMVBnQjtJQUVRO0EzRTQxUHhCOztBMkV2MVBnQjtJQUVRO0EzRXkxUHhCOztBMkVsMlBnQjtJQUVRO0EzRW8yUHhCOztBMkUvMVBnQjtJQUVRO0EzRWkyUHhCOztBMkUxMlBnQjtJQUVRO0EzRTQyUHhCOztBMkV2MlBnQjtJQUVRO0EzRXkyUHhCOztBMkVsM1BnQjtJQUVRO0EzRW8zUHhCOztBMkUvMlBnQjtJQUVRO0EzRWkzUHhCOztBMkUxM1BnQjtJQUVRO0EzRTQzUHhCOztBMkV2M1BnQjtJQUVRO0EzRXkzUHhCOztBMkVsNFBnQjtJQUVRO0EzRW80UHhCOztBMkUvM1BnQjtJQUVRO0EzRWk0UHhCOztBMkUxNFBnQjtJQUVRO0EzRTQ0UHhCOztBMkV2NFBnQjtJQUVRO0EzRXk0UHhCOztBMkVsNVBnQjtJQUVRO0EzRW81UHhCOztBMkUvNFBnQjtJQUVRO0EzRWk1UHhCOztBMkUxNVBnQjtJQUVRO0EzRTQ1UHhCOztBMkV2NVBnQjtJQUVRO0EzRXk1UHhCOztBMkVsNlBnQjtJQUVRO0EzRW82UHhCOztBMkUvNVBnQjtJQUVRO0EzRWk2UHhCOztBMkUxNlBnQjtJQUVRO0EzRTQ2UHhCOztBMkV2NlBnQjtJQUVRO0EzRXk2UHhCOztBMkVsN1BnQjtJQUVRO0EzRW83UHhCOztBMkUvNlBnQjtJQUVRO0EzRWk3UHhCOztBMkUxN1BnQjtJQUVRO0EzRTQ3UHhCOztBMkV2N1BnQjtJQUVRO0EzRXk3UHhCOztBMkVsOFBnQjtJQUVRO0EzRW84UHhCOztBMkUvN1BnQjtJQUVRO0EzRWk4UHhCOztBMkUxOFBnQjtJQUVRO0EzRTQ4UHhCOztBMkV2OFBnQjtJQUVRO0EzRXk4UHhCOztBMkVsOVBnQjtJQUVRO0EzRW85UHhCOztBMkUvOFBnQjtJQUVRO0EzRWk5UHhCOztBMkUxOVBnQjtJQUVRO0EzRTQ5UHhCOztBMkV2OVBnQjtJQUVRO0EzRXk5UHhCOztBMkVsK1BnQjtJQUVRO0EzRW8rUHhCOztBMkUvOVBnQjtJQUVRO0EzRWkrUHhCOztBMkUxK1BnQjtJQUVRO0EzRTQrUHhCOztBMkV2K1BnQjtJQUVRO0EzRXkrUHhCOztBMkVsL1BnQjtJQUVRO0EzRW8vUHhCOztBMkUvK1BnQjtJQUVRO0EzRWkvUHhCOztBMkUxL1BnQjtJQUVRO0EzRTQvUHhCOztBMkV2L1BnQjtJQUVRO0EzRXkvUHhCOztBMkVsZ1FnQjtJQUVRO0EzRW9nUXhCOztBMkUvL1BnQjtJQUVRO0EzRWlnUXhCOztBMkUxZ1FnQjtJQUVRO0EzRTRnUXhCOztBMkV2Z1FnQjtJQUVRO0EzRXlnUXhCOztBMkVsaFFnQjtJQUVRO0EzRW9oUXhCOztBMkUvZ1FnQjtJQUVRO0EzRWloUXhCOztBMkUxaFFnQjtJQUVRO0EzRTRoUXhCOztBMkV2aFFnQjtJQUVRO0EzRXloUXhCOztBMkVsaVFnQjtJQUVRO0EzRW9pUXhCOztBMkUvaFFnQjtJQUVRO0EzRWlpUXhCOztBMkUxaVFnQjtJQUVRO0EzRTRpUXhCOztBMkV2aVFnQjtJQUVRO0EzRXlpUXhCOztBMkVsalFnQjtJQUVRO0EzRW9qUXhCOztBMkUvaVFnQjtJQUVRO0EzRWlqUXhCOztBMkUxalFnQjtJQUVRO0EzRTRqUXhCOztBMkV2alFnQjtJQUVRO0EzRXlqUXhCOztBMkVsa1FnQjtJQUVRO0EzRW9rUXhCOztBMkUvalFnQjtJQUVRO0EzRWlrUXhCOztBMkUxa1FnQjtJQUVRO0EzRTRrUXhCOztBMkV2a1FnQjtJQUVRO0EzRXlrUXhCOztBMkVsbFFnQjtJQUVRO0EzRW9sUXhCOztBMkUva1FnQjtJQUVRO0EzRWlsUXhCOztBMkUxbFFnQjtJQUVRO0EzRTRsUXhCOztBMkV2bFFnQjtJQUVRO0EzRXlsUXhCOztBMkVsbVFnQjtJQUVRO0EzRW9tUXhCOztBMkUvbFFnQjtJQUVRO0EzRWltUXhCOztBMkUxbVFnQjtJQUVRO0EzRTRtUXhCOztBMkV2bVFnQjtJQUVRO0EzRXltUXhCOztBMkVsblFnQjtJQUVRO0EzRW9uUXhCOztBMkUvbVFnQjtJQUVRO0EzRWluUXhCOztBMkUxblFnQjtJQUVRO0EzRTRuUXhCOztBMkV2blFnQjtJQUVRO0EzRXluUXhCOztBMkVsb1FnQjtJQUVRO0EzRW9vUXhCOztBMkUvblFnQjtJQUVRO0EzRWlvUXhCOztBMkUxb1FnQjtJQUVRO0EzRTRvUXhCOztBMkV2b1FnQjtJQUVRO0EzRXlvUXhCOztBMkVscFFnQjtJQUVRO0EzRW9wUXhCOztBMkUvb1FnQjtJQUVRO0EzRWlwUXhCOztBMkUxcFFnQjtJQUVRO0EzRTRwUXhCOztBMkV2cFFnQjtJQUVRO0EzRXlwUXhCOztBMkVscVFnQjtJQUVRO0EzRW9xUXhCOztBMkUvcFFnQjtJQUVRO0EzRWlxUXhCOztBMkUxcVFnQjtJQUVRO0EzRTRxUXhCOztBMkV2cVFnQjtJQUVRO0EzRXlxUXhCOztBMkVsclFnQjtJQUVRO0EzRW9yUXhCOztBMkUvcVFnQjtJQUVRO0EzRWlyUXhCOztBMkUxclFnQjtJQUVRO0EzRTRyUXhCOztBMkV2clFnQjtJQUVRO0EzRXlyUXhCOztBMkVsc1FnQjtJQUVRO0EzRW9zUXhCOztBMkUvclFnQjtJQUVRO0EzRWlzUXhCOztBMkUxc1FnQjtJQUVRO0EzRTRzUXhCOztBMkV2c1FnQjtJQUVRO0EzRXlzUXhCOztBMkVsdFFnQjtJQUVRO0EzRW90UXhCOztBMkUvc1FnQjtJQUVRO0EzRWl0UXhCOztBMkUxdFFnQjtJQUVRO0EzRTR0UXhCOztBMkV2dFFnQjtJQUVRO0EzRXl0UXhCOztBMkVsdVFnQjtJQUVRO0EzRW91UXhCOztBMkUvdFFnQjtJQUVRO0EzRWl1UXhCOztBMkUxdVFnQjtJQUVRO0EzRTR1UXhCOztBMkV2dVFnQjtJQUVRO0EzRXl1UXhCOztBMkVsdlFnQjtJQUVRO0EzRW92UXhCOztBMkUvdVFnQjtJQUVRO0EzRWl2UXhCOztBMkUxdlFnQjtJQUVRO0EzRTR2UXhCOztBMkV2dlFnQjtJQUVRO0EzRXl2UXhCOztBMkVsd1FnQjtJQUVRO0EzRW93UXhCOztBMkUvdlFnQjtJQUVRO0EzRWl3UXhCOztBMkUzNk1JO0lBQStDO0EzRSs2TW5EOztBMkU5Nk1JO0lBQWtEO0EzRWs3TXREOztBMkVseFFnQjtJQUVRO0EzRW94UXhCOztBMkUvd1FnQjtJQUVRO0EzRWl4UXhCOztBMkUxeFFnQjtJQUVRO0EzRTR4UXhCOztBMkV2eFFnQjtJQUVRO0EzRXl4UXhCOztBMkVseVFnQjtJQUVRO0EzRW95UXhCOztBMkUveFFnQjtJQUVRO0EzRWl5UXhCOztBMkUxeVFnQjtJQUVRO0EzRTR5UXhCOztBMkV2eVFnQjtJQUVRO0EzRXl5UXhCOztBMkVselFnQjtJQUVRO0EzRW96UXhCOztBMkUveVFnQjtJQUVRO0EzRWl6UXhCOztBMkUxelFnQjtJQUVRO0EzRTR6UXhCOztBMkV2elFnQjtJQUVRO0EzRXl6UXhCOztBMkVsMFFnQjtJQUVRO0EzRW8wUXhCOztBMkUvelFnQjtJQUVRO0EzRWkwUXhCOztBMkUxMFFnQjtJQUVRO0EzRTQwUXhCOztBMkV2MFFnQjtJQUVRO0EzRXkwUXhCOztBMkVsMVFnQjtJQUVRO0EzRW8xUXhCOztBMkUvMFFnQjtJQUVRO0EzRWkxUXhCOztBMkUxMVFnQjtJQUVRO0EzRTQxUXhCOztBMkV2MVFnQjtJQUVRO0EzRXkxUXhCOztBMkVsMlFnQjtJQUVRO0EzRW8yUXhCOztBMkUvMVFnQjtJQUVRO0EzRWkyUXhCOztBMkUxMlFnQjtJQUVRO0EzRTQyUXhCOztBMkV2MlFnQjtJQUVRO0EzRXkyUXhCOztBMkVsM1FnQjtJQUVRO0EzRW8zUXhCOztBMkUvMlFnQjtJQUVRO0EzRWkzUXhCOztBMkUxM1FnQjtJQUVRO0EzRTQzUXhCOztBMkV2M1FnQjtJQUVRO0EzRXkzUXhCOztBMkVsNFFnQjtJQUVRO0EzRW80UXhCOztBMkUvM1FnQjtJQUVRO0EzRWk0UXhCOztBMkUxNFFnQjtJQUVRO0EzRTQ0UXhCOztBMkV2NFFnQjtJQUVRO0EzRXk0UXhCOztBMkVsNVFnQjtJQUVRO0EzRW81UXhCOztBMkUvNFFnQjtJQUVRO0EzRWk1UXhCOztBMkUxNVFnQjtJQUVRO0EzRTQ1UXhCOztBMkV2NVFnQjtJQUVRO0EzRXk1UXhCOztBMkVsNlFnQjtJQUVRO0EzRW82UXhCOztBMkUvNVFnQjtJQUVRO0EzRWk2UXhCOztBMkUxNlFnQjtJQUVRO0EzRTQ2UXhCOztBMkV2NlFnQjtJQUVRO0EzRXk2UXhCOztBMkVsN1FnQjtJQUVRO0EzRW83UXhCOztBMkUvNlFnQjtJQUVRO0EzRWk3UXhCOztBMkUxN1FnQjtJQUVRO0EzRTQ3UXhCOztBMkV2N1FnQjtJQUVRO0EzRXk3UXhCOztBMkVsOFFnQjtJQUVRO0EzRW84UXhCOztBMkUvN1FnQjtJQUVRO0EzRWk4UXhCOztBMkUxOFFnQjtJQUVRO0EzRTQ4UXhCOztBMkV2OFFnQjtJQUVRO0EzRXk4UXhCOztBMkVsOVFnQjtJQUVRO0EzRW85UXhCOztBMkUvOFFnQjtJQUVRO0EzRWk5UXhCOztBMkUxOVFnQjtJQUVRO0EzRTQ5UXhCOztBMkV2OVFnQjtJQUVRO0EzRXk5UXhCOztBMkVsK1FnQjtJQUVRO0EzRW8rUXhCOztBMkUvOVFnQjtJQUVRO0EzRWkrUXhCOztBMkUxK1FnQjtJQUVRO0EzRTQrUXhCOztBMkV2K1FnQjtJQUVRO0EzRXkrUXhCOztBMkVsL1FnQjtJQUVRO0EzRW8vUXhCOztBMkUvK1FnQjtJQUVRO0EzRWkvUXhCOztBMkUxL1FnQjtJQUVRO0EzRTQvUXhCOztBMkV2L1FnQjtJQUVRO0EzRXkvUXhCOztBMkVsZ1JnQjtJQUVRO0EzRW9nUnhCOztBMkUvL1FnQjtJQUVRO0EzRWlnUnhCOztBMkUxZ1JnQjtJQUVRO0EzRTRnUnhCOztBMkV2Z1JnQjtJQUVRO0EzRXlnUnhCOztBMkVsaFJnQjtJQUVRO0EzRW9oUnhCOztBMkUvZ1JnQjtJQUVRO0EzRWloUnhCOztBMkUxaFJnQjtJQUVRO0EzRTRoUnhCOztBMkV2aFJnQjtJQUVRO0EzRXloUnhCOztBMkVsaVJnQjtJQUVRO0EzRW9pUnhCOztBMkUvaFJnQjtJQUVRO0EzRWlpUnhCOztBMkUxaVJnQjtJQUVRO0EzRTRpUnhCOztBMkV2aVJnQjtJQUVRO0EzRXlpUnhCOztBMkVsalJnQjtJQUVRO0EzRW9qUnhCOztBMkUvaVJnQjtJQUVRO0EzRWlqUnhCOztBMkUxalJnQjtJQUVRO0EzRTRqUnhCOztBMkV2alJnQjtJQUVRO0EzRXlqUnhCOztBMkVsa1JnQjtJQUVRO0EzRW9rUnhCOztBMkUvalJnQjtJQUVRO0EzRWlrUnhCOztBMkUxa1JnQjtJQUVRO0EzRTRrUnhCOztBMkV2a1JnQjtJQUVRO0EzRXlrUnhCOztBMkVsbFJnQjtJQUVRO0EzRW9sUnhCOztBMkUva1JnQjtJQUVRO0EzRWlsUnhCOztBMkUxbFJnQjtJQUVRO0EzRTRsUnhCOztBMkV2bFJnQjtJQUVRO0EzRXlsUnhCOztBMkVsbVJnQjtJQUVRO0EzRW9tUnhCOztBMkUvbFJnQjtJQUVRO0EzRWltUnhCOztBMkUxbVJnQjtJQUVRO0EzRTRtUnhCOztBMkV2bVJnQjtJQUVRO0EzRXltUnhCOztBMkVsblJnQjtJQUVRO0EzRW9uUnhCOztBMkUvbVJnQjtJQUVRO0EzRWluUnhCOztBMkUxblJnQjtJQUVRO0EzRTRuUnhCOztBMkV2blJnQjtJQUVRO0EzRXluUnhCOztBMkVsb1JnQjtJQUVRO0EzRW9vUnhCOztBMkUvblJnQjtJQUVRO0EzRWlvUnhCOztBMkUxb1JnQjtJQUVRO0EzRTRvUnhCOztBMkV2b1JnQjtJQUVRO0EzRXlvUnhCOztBMkVscFJnQjtJQUVRO0EzRW9wUnhCOztBMkUvb1JnQjtJQUVRO0EzRWlwUnhCOztBMkUxcFJnQjtJQUVRO0EzRTRwUnhCOztBMkV2cFJnQjtJQUVRO0EzRXlwUnhCOztBMkVscVJnQjtJQUVRO0EzRW9xUnhCOztBMkUvcFJnQjtJQUVRO0EzRWlxUnhCOztBMkUxcVJnQjtJQUVRO0EzRTRxUnhCOztBMkV2cVJnQjtJQUVRO0EzRXlxUnhCOztBMkVsclJnQjtJQUVRO0EzRW9yUnhCOztBMkUvcVJnQjtJQUVRO0EzRWlyUnhCOztBMkUxclJnQjtJQUVRO0EzRTRyUnhCOztBMkV2clJnQjtJQUVRO0EzRXlyUnhCOztBMkVsc1JnQjtJQUVRO0EzRW9zUnhCOztBMkUvclJnQjtJQUVRO0EzRWlzUnhCOztBMkUxc1JnQjtJQUVRO0EzRTRzUnhCOztBMkV2c1JnQjtJQUVRO0EzRXlzUnhCOztBMkVsdFJnQjtJQUVRO0EzRW90UnhCOztBMkUvc1JnQjtJQUVRO0EzRWl0UnhCOztBMkUxdFJnQjtJQUVRO0EzRTR0UnhCOztBMkV2dFJnQjtJQUVRO0EzRXl0UnhCOztBMkVsdVJnQjtJQUVRO0EzRW91UnhCOztBMkUvdFJnQjtJQUVRO0EzRWl1UnhCOztBMkUxdVJnQjtJQUVRO0EzRTR1UnhCOztBMkV2dVJnQjtJQUVRO0EzRXl1UnhCOztBMkVsdlJnQjtJQUVRO0EzRW92UnhCOztBMkUvdVJnQjtJQUVRO0EzRWl2UnhCOztBMkUxdlJnQjtJQUVRO0EzRTR2UnhCOztBMkV2dlJnQjtJQUVRO0EzRXl2UnhCOztBMkVsd1JnQjtJQUVRO0EzRW93UnhCOztBMkUvdlJnQjtJQUVRO0EzRWl3UnhCOztBMkUxd1JnQjtJQUVRO0EzRTR3UnhCOztBMkV2d1JnQjtJQUVRO0EzRXl3UnhCOztBMkVseFJnQjtJQUVRO0EzRW94UnhCOztBMkUvd1JnQjtJQUVRO0EzRWl4UnhCOztBMkUxeFJnQjtJQUVRO0EzRTR4UnhCOztBMkV2eFJnQjtJQUVRO0EzRXl4UnhCOztBMkVseVJnQjtJQUVRO0EzRW95UnhCOztBMkUveFJnQjtJQUVRO0EzRWl5UnhCOztBMkUxeVJnQjtJQUVRO0EzRTR5UnhCOztBMkV2eVJnQjtJQUVRO0EzRXl5UnhCOztBMkVselJnQjtJQUVRO0EzRW96UnhCOztBMkUveVJnQjtJQUVRO0EzRWl6UnhCOztBMkUxelJnQjtJQUVRO0EzRTR6UnhCOztBMkV2elJnQjtJQUVRO0EzRXl6UnhCOztBMkVsMFJnQjtJQUVRO0EzRW8wUnhCOztBMkUvelJnQjtJQUVRO0EzRWkwUnhCOztBMkUxMFJnQjtJQUVRO0EzRTQwUnhCOztBMkV2MFJnQjtJQUVRO0EzRXkwUnhCOztBMkVsMVJnQjtJQUVRO0EzRW8xUnhCOztBMkUvMFJnQjtJQUVRO0EzRWkxUnhCOztBMkUxMVJnQjtJQUVRO0EzRTQxUnhCOztBMkV2MVJnQjtJQUVRO0EzRXkxUnhCOztBMkVsMlJnQjtJQUVRO0EzRW8yUnhCOztBMkUvMVJnQjtJQUVRO0EzRWkyUnhCOztBMkUxMlJnQjtJQUVRO0EzRTQyUnhCOztBMkV2MlJnQjtJQUVRO0EzRXkyUnhCOztBMkVsM1JnQjtJQUVRO0EzRW8zUnhCOztBMkUvMlJnQjtJQUVRO0EzRWkzUnhCOztBMkUxM1JnQjtJQUVRO0EzRTQzUnhCOztBMkV2M1JnQjtJQUVRO0EzRXkzUnhCOztBMkVsNFJnQjtJQUVRO0EzRW80UnhCOztBMkUvM1JnQjtJQUVRO0EzRWk0UnhCOztBMkUxNFJnQjtJQUVRO0EzRTQ0UnhCOztBMkV2NFJnQjtJQUVRO0EzRXk0UnhCOztBMkVsNVJnQjtJQUVRO0EzRW81UnhCOztBMkUvNFJnQjtJQUVRO0EzRWk1UnhCOztBMkUxNVJnQjtJQUVRO0EzRTQ1UnhCOztBMkV2NVJnQjtJQUVRO0EzRXk1UnhCOztBMkVsNlJnQjtJQUVRO0EzRW82UnhCOztBMkUvNVJnQjtJQUVRO0EzRWk2UnhCOztBMkUxNlJnQjtJQUVRO0EzRTQ2UnhCOztBMkV2NlJnQjtJQUVRO0EzRXk2UnhCOztBMkVsN1JnQjtJQUVRO0EzRW83UnhCOztBMkUvNlJnQjtJQUVRO0EzRWk3UnhCOztBMkUxN1JnQjtJQUVRO0EzRTQ3UnhCOztBMkV2N1JnQjtJQUVRO0EzRXk3UnhCOztBMkVsOFJnQjtJQUVRO0EzRW84UnhCOztBMkUvN1JnQjtJQUVRO0EzRWk4UnhCOztBMkUxOFJnQjtJQUVRO0EzRTQ4UnhCOztBMkV2OFJnQjtJQUVRO0EzRXk4UnhCOztBMkVsOVJnQjtJQUVRO0EzRW85UnhCOztBMkUvOFJnQjtJQUVRO0EzRWk5UnhCOztBMkUxOVJnQjtJQUVRO0EzRTQ5UnhCOztBMkV2OVJnQjtJQUVRO0EzRXk5UnhCOztBMkVsK1JnQjtJQUVRO0EzRW8rUnhCOztBMkUvOVJnQjtJQUVRO0EzRWkrUnhCOztBMkUxK1JnQjtJQUVRO0EzRTQrUnhCOztBMkV2K1JnQjtJQUVRO0EzRXkrUnhCOztBMkVsL1JnQjtJQUVRO0EzRW8vUnhCOztBMkUvK1JnQjtJQUVRO0EzRWkvUnhCOztBMkUxL1JnQjtJQUVRO0EzRTQvUnhCOztBMkV2L1JnQjtJQUVRO0EzRXkvUnhCOztBMkVsZ1NnQjtJQUVRO0EzRW9nU3hCOztBMkUvL1JnQjtJQUVRO0EzRWlnU3hCOztBMkUxZ1NnQjtJQUVRO0EzRTRnU3hCOztBMkV2Z1NnQjtJQUVRO0EzRXlnU3hCOztBMkVsaFNnQjtJQUVRO0EzRW9oU3hCOztBMkUvZ1NnQjtJQUVRO0EzRWloU3hCOztBMkUxaFNnQjtJQUVRO0EzRTRoU3hCOztBMkV2aFNnQjtJQUVRO0EzRXloU3hCOztBMkVsaVNnQjtJQUVRO0EzRW9pU3hCOztBMkUvaFNnQjtJQUVRO0EzRWlpU3hCOztBMkUxaVNnQjtJQUVRO0EzRTRpU3hCOztBMkV2aVNnQjtJQUVRO0EzRXlpU3hCOztBMkVsalNnQjtJQUVRO0EzRW9qU3hCOztBMkUvaVNnQjtJQUVRO0EzRWlqU3hCOztBMkUxalNnQjtJQUVRO0EzRTRqU3hCOztBMkV2alNnQjtJQUVRO0EzRXlqU3hCOztBMkVsa1NnQjtJQUVRO0EzRW9rU3hCOztBMkUvalNnQjtJQUVRO0EzRWlrU3hCOztBMkUxa1NnQjtJQUVRO0EzRTRrU3hCOztBMkV2a1NnQjtJQUVRO0EzRXlrU3hCOztBMkVsbFNnQjtJQUVRO0EzRW9sU3hCOztBMkUva1NnQjtJQUVRO0EzRWlsU3hCOztBMkUxbFNnQjtJQUVRO0EzRTRsU3hCOztBMkV2bFNnQjtJQUVRO0EzRXlsU3hCOztBMkVsbVNnQjtJQUVRO0EzRW9tU3hCOztBMkUvbFNnQjtJQUVRO0EzRWltU3hCOztBMkUxbVNnQjtJQUVRO0EzRTRtU3hCOztBMkV2bVNnQjtJQUVRO0EzRXltU3hCOztBMkVsblNnQjtJQUVRO0EzRW9uU3hCOztBMkUvbVNnQjtJQUVRO0EzRWluU3hCOztBMkUxblNnQjtJQUVRO0EzRTRuU3hCOztBMkV2blNnQjtJQUVRO0EzRXluU3hCOztBMkVsb1NnQjtJQUVRO0EzRW9vU3hCOztBMkUvblNnQjtJQUVRO0EzRWlvU3hCOztBMkUxb1NnQjtJQUVRO0EzRTRvU3hCOztBMkV2b1NnQjtJQUVRO0EzRXlvU3hCOztBMkVscFNnQjtJQUVRO0EzRW9wU3hCOztBMkUvb1NnQjtJQUVRO0EzRWlwU3hCOztBMkUxcFNnQjtJQUVRO0EzRTRwU3hCOztBMkV2cFNnQjtJQUVRO0EzRXlwU3hCOztBMkVscVNnQjtJQUVRO0EzRW9xU3hCOztBMkUvcFNnQjtJQUVRO0EzRWlxU3hCOztBMkUxcVNnQjtJQUVRO0EzRTRxU3hCOztBMkV2cVNnQjtJQUVRO0EzRXlxU3hCOztBMkVsclNnQjtJQUVRO0EzRW9yU3hCOztBMkUvcVNnQjtJQUVRO0EzRWlyU3hCOztBMkUxclNnQjtJQUVRO0EzRTRyU3hCOztBMkV2clNnQjtJQUVRO0EzRXlyU3hCOztBMkVsc1NnQjtJQUVRO0EzRW9zU3hCOztBMkUvclNnQjtJQUVRO0EzRWlzU3hCOztBMkUxc1NnQjtJQUVRO0EzRTRzU3hCOztBMkV2c1NnQjtJQUVRO0EzRXlzU3hCOztBMkVsdFNnQjtJQUVRO0EzRW90U3hCOztBMkUvc1NnQjtJQUVRO0EzRWl0U3hCOztBMkUxdFNnQjtJQUVRO0EzRTR0U3hCOztBMkV2dFNnQjtJQUVRO0EzRXl0U3hCOztBMkVsdVNnQjtJQUVRO0EzRW91U3hCOztBMkUvdFNnQjtJQUVRO0EzRWl1U3hCOztBMkUxdVNnQjtJQUVRO0EzRTR1U3hCOztBMkV2dVNnQjtJQUVRO0EzRXl1U3hCOztBMkVsdlNnQjtJQUVRO0EzRW92U3hCOztBMkUvdVNnQjtJQUVRO0EzRWl2U3hCOztBMkUxdlNnQjtJQUVRO0EzRTR2U3hCOztBMkV2dlNnQjtJQUVRO0EzRXl2U3hCOztBMkVsd1NnQjtJQUVRO0EzRW93U3hCOztBMkUvdlNnQjtJQUVRO0EzRWl3U3hCOztBMkUxd1NnQjtJQUVRO0EzRTR3U3hCOztBMkV2d1NnQjtJQUVRO0EzRXl3U3hCOztBMkVseFNnQjtJQUVRO0EzRW94U3hCOztBMkUvd1NnQjtJQUVRO0EzRWl4U3hCOztBMkUxeFNnQjtJQUVRO0EzRTR4U3hCOztBMkV2eFNnQjtJQUVRO0EzRXl4U3hCOztBMkVseVNnQjtJQUVRO0EzRW95U3hCOztBMkUveFNnQjtJQUVRO0EzRWl5U3hCOztBMkUxeVNnQjtJQUVRO0EzRTR5U3hCOztBMkV2eVNnQjtJQUVRO0EzRXl5U3hCOztBMkVselNnQjtJQUVRO0EzRW96U3hCOztBMkUveVNnQjtJQUVRO0EzRWl6U3hCOztBMkUxelNnQjtJQUVRO0EzRTR6U3hCOztBMkV2elNnQjtJQUVRO0EzRXl6U3hCOztBMkVsMFNnQjtJQUVRO0EzRW8wU3hCOztBMkUvelNnQjtJQUVRO0EzRWkwU3hCOztBMkUxMFNnQjtJQUVRO0EzRTQwU3hCOztBMkV2MFNnQjtJQUVRO0EzRXkwU3hCOztBMkVsMVNnQjtJQUVRO0EzRW8xU3hCOztBMkUvMFNnQjtJQUVRO0EzRWkxU3hCOztBMkUxMVNnQjtJQUVRO0EzRTQxU3hCOztBMkV2MVNnQjtJQUVRO0EzRXkxU3hCOztBMkVsMlNnQjtJQUVRO0EzRW8yU3hCOztBMkUvMVNnQjtJQUVRO0EzRWkyU3hCOztBMkUxMlNnQjtJQUVRO0EzRTQyU3hCOztBMkV2MlNnQjtJQUVRO0EzRXkyU3hCOztBMkVsM1NnQjtJQUVRO0EzRW8zU3hCOztBMkUvMlNnQjtJQUVRO0EzRWkzU3hCOztBMkUxM1NnQjtJQUVRO0EzRTQzU3hCOztBMkV2M1NnQjtJQUVRO0EzRXkzU3hCOztBMkVsNFNnQjtJQUVRO0EzRW80U3hCOztBMkUvM1NnQjtJQUVRO0EzRWk0U3hCOztBMkUxNFNnQjtJQUVRO0EzRTQ0U3hCOztBMkV2NFNnQjtJQUVRO0EzRXk0U3hCOztBMkVsNVNnQjtJQUVRO0EzRW81U3hCOztBMkUvNFNnQjtJQUVRO0EzRWk1U3hCOztBMkUxNVNnQjtJQUVRO0EzRTQ1U3hCOztBMkV2NVNnQjtJQUVRO0EzRXk1U3hCOztBMkVsNlNnQjtJQUVRO0EzRW82U3hCOztBMkUvNVNnQjtJQUVRO0EzRWk2U3hCOztBMkUxNlNnQjtJQUVRO0EzRTQ2U3hCOztBMkV2NlNnQjtJQUVRO0EzRXk2U3hCOztBMkVsN1NnQjtJQUVRO0EzRW83U3hCOztBMkUvNlNnQjtJQUVRO0EzRWk3U3hCOztBMkUxN1NnQjtJQUVRO0EzRTQ3U3hCOztBMkV2N1NnQjtJQUVRO0EzRXk3U3hCOztBMkVsOFNnQjtJQUVRO0EzRW84U3hCOztBMkUvN1NnQjtJQUVRO0EzRWk4U3hCOztBMkUxOFNnQjtJQUVRO0EzRTQ4U3hCOztBMkV2OFNnQjtJQUVRO0EzRXk4U3hCOztBMkVsOVNnQjtJQUVRO0EzRW85U3hCOztBMkUvOFNnQjtJQUVRO0EzRWk5U3hCOztBMkUxOVNnQjtJQUVRO0EzRTQ5U3hCOztBMkV2OVNnQjtJQUVRO0EzRXk5U3hCOztBMkVsK1NnQjtJQUVRO0EzRW8rU3hCOztBMkUvOVNnQjtJQUVRO0EzRWkrU3hCOztBMkUxK1NnQjtJQUVRO0EzRTQrU3hCOztBMkV2K1NnQjtJQUVRO0EzRXkrU3hCOztBMkVsL1NnQjtJQUVRO0EzRW8vU3hCOztBMkUvK1NnQjtJQUVRO0EzRWkvU3hCOztBMkUxL1NnQjtJQUVRO0EzRTQvU3hCOztBMkV2L1NnQjtJQUVRO0EzRXkvU3hCOztBMkVsZ1RnQjtJQUVRO0EzRW9nVHhCOztBMkUvL1NnQjtJQUVRO0EzRWlnVHhCOztBMkUxZ1RnQjtJQUVRO0EzRTRnVHhCOztBMkV2Z1RnQjtJQUVRO0EzRXlnVHhCOztBMkVsaFRnQjtJQUVRO0EzRW9oVHhCOztBMkUvZ1RnQjtJQUVRO0EzRWloVHhCOztBMkUxaFRnQjtJQUVRO0EzRTRoVHhCOztBMkV2aFRnQjtJQUVRO0EzRXloVHhCOztBMkVsaVRnQjtJQUVRO0EzRW9pVHhCOztBMkUvaFRnQjtJQUVRO0EzRWlpVHhCOztBMkUxaVRnQjtJQUVRO0EzRTRpVHhCOztBMkV2aVRnQjtJQUVRO0EzRXlpVHhCOztBMkVsalRnQjtJQUVRO0EzRW9qVHhCOztBMkUvaVRnQjtJQUVRO0EzRWlqVHhCOztBMkUxalRnQjtJQUVRO0EzRTRqVHhCOztBMkV2alRnQjtJQUVRO0EzRXlqVHhCOztBMkVsa1RnQjtJQUVRO0EzRW9rVHhCOztBMkUvalRnQjtJQUVRO0EzRWlrVHhCOztBMkUxa1RnQjtJQUVRO0EzRTRrVHhCOztBMkV2a1RnQjtJQUVRO0EzRXlrVHhCOztBMkVsbFRnQjtJQUVRO0EzRW9sVHhCOztBMkUva1RnQjtJQUVRO0EzRWlsVHhCOztBMkUxbFRnQjtJQUVRO0EzRTRsVHhCOztBMkV2bFRnQjtJQUVRO0EzRXlsVHhCOztBMkVsbVRnQjtJQUVRO0EzRW9tVHhCOztBMkUvbFRnQjtJQUVRO0EzRWltVHhCOztBMkUxbVRnQjtJQUVRO0EzRTRtVHhCOztBMkV2bVRnQjtJQUVRO0EzRXltVHhCOztBMkVsblRnQjtJQUVRO0EzRW9uVHhCOztBMkUvbVRnQjtJQUVRO0EzRWluVHhCOztBMkUxblRnQjtJQUVRO0EzRTRuVHhCOztBMkV2blRnQjtJQUVRO0EzRXluVHhCOztBMkVsb1RnQjtJQUVRO0EzRW9vVHhCOztBMkUvblRnQjtJQUVRO0EzRWlvVHhCOztBMkUxb1RnQjtJQUVRO0EzRTRvVHhCOztBMkV2b1RnQjtJQUVRO0EzRXlvVHhCOztBMkVscFRnQjtJQUVRO0EzRW9wVHhCOztBMkUvb1RnQjtJQUVRO0EzRWlwVHhCOztBMkUxcFRnQjtJQUVRO0EzRTRwVHhCOztBMkV2cFRnQjtJQUVRO0EzRXlwVHhCOztBMkVscVRnQjtJQUVRO0EzRW9xVHhCOztBMkUvcFRnQjtJQUVRO0EzRWlxVHhCOztBMkUxcVRnQjtJQUVRO0EzRTRxVHhCOztBMkV2cVRnQjtJQUVRO0EzRXlxVHhCOztBMkVsclRnQjtJQUVRO0EzRW9yVHhCOztBMkUvcVRnQjtJQUVRO0EzRWlyVHhCOztBMkUxclRnQjtJQUVRO0EzRTRyVHhCOztBMkV2clRnQjtJQUVRO0EzRXlyVHhCOztBMkVsc1RnQjtJQUVRO0EzRW9zVHhCOztBMkUvclRnQjtJQUVRO0EzRWlzVHhCOztBMkUxc1RnQjtJQUVRO0EzRTRzVHhCOztBMkV2c1RnQjtJQUVRO0EzRXlzVHhCOztBMkVsdFRnQjtJQUVRO0EzRW90VHhCOztBMkUvc1RnQjtJQUVRO0EzRWl0VHhCOztBMkUxdFRnQjtJQUVRO0EzRTR0VHhCOztBMkV2dFRnQjtJQUVRO0EzRXl0VHhCOztBMkVsdVRnQjtJQUVRO0EzRW91VHhCOztBMkUvdFRnQjtJQUVRO0EzRWl1VHhCOztBMkUxdVRnQjtJQUVRO0EzRTR1VHhCOztBMkV2dVRnQjtJQUVRO0EzRXl1VHhCOztBMkVsdlRnQjtJQUVRO0EzRW92VHhCOztBMkUvdVRnQjtJQUVRO0EzRWl2VHhCOztBMkUxdlRnQjtJQUVRO0EzRTR2VHhCOztBMkV2dlRnQjtJQUVRO0EzRXl2VHhCOztBMkVsd1RnQjtJQUVRO0EzRW93VHhCOztBMkUvdlRnQjtJQUVRO0EzRWl3VHhCOztBMkUxd1RnQjtJQUVRO0EzRTR3VHhCOztBMkV2d1RnQjtJQUVRO0EzRXl3VHhCOztBMkVseFRnQjtJQUVRO0EzRW94VHhCOztBMkUvd1RnQjtJQUVRO0EzRWl4VHhCOztBMkUxeFRnQjtJQUVRO0EzRTR4VHhCOztBMkV2eFRnQjtJQUVRO0EzRXl4VHhCOztBMkVseVRnQjtJQUVRO0EzRW95VHhCOztBMkUveFRnQjtJQUVRO0EzRWl5VHhCOztBMkUxeVRnQjtJQUVRO0EzRTR5VHhCOztBMkV2eVRnQjtJQUVRO0EzRXl5VHhCOztBMkVselRnQjtJQUVRO0EzRW96VHhCOztBMkUveVRnQjtJQUVRO0EzRWl6VHhCOztBMkUxelRnQjtJQUVRO0EzRTR6VHhCOztBMkV2elRnQjtJQUVRO0EzRXl6VHhCOztBMkVsMFRnQjtJQUVRO0EzRW8wVHhCOztBMkUvelRnQjtJQUVRO0EzRWkwVHhCOztBMkUxMFRnQjtJQUVRO0EzRTQwVHhCOztBMkV2MFRnQjtJQUVRO0EzRXkwVHhCOztBMkVsMVRnQjtJQUVRO0EzRW8xVHhCOztBMkUvMFRnQjtJQUVRO0EzRWkxVHhCOztBMkUxMVRnQjtJQUVRO0EzRTQxVHhCOztBMkV2MVRnQjtJQUVRO0EzRXkxVHhCOztBMkVsMlRnQjtJQUVRO0EzRW8yVHhCOztBMkUvMVRnQjtJQUVRO0EzRWkyVHhCOztBMkUxMlRnQjtJQUVRO0EzRTQyVHhCOztBMkV2MlRnQjtJQUVRO0EzRXkyVHhCOztBMkVsM1RnQjtJQUVRO0EzRW8zVHhCOztBMkUvMlRnQjtJQUVRO0EzRWkzVHhCOztBMkUxM1RnQjtJQUVRO0EzRTQzVHhCOztBMkV2M1RnQjtJQUVRO0EzRXkzVHhCOztBMkVsNFRnQjtJQUVRO0EzRW80VHhCOztBMkUvM1RnQjtJQUVRO0EzRWk0VHhCOztBMkUxNFRnQjtJQUVRO0EzRTQ0VHhCOztBMkV2NFRnQjtJQUVRO0EzRXk0VHhCOztBMkVsNVRnQjtJQUVRO0EzRW81VHhCOztBMkUvNFRnQjtJQUVRO0EzRWk1VHhCOztBMkUxNVRnQjtJQUVRO0EzRTQ1VHhCOztBMkV2NVRnQjtJQUVRO0EzRXk1VHhCOztBMkVsNlRnQjtJQUVRO0EzRW82VHhCOztBMkUvNVRnQjtJQUVRO0EzRWk2VHhCOztBMkUxNlRnQjtJQUVRO0EzRTQ2VHhCOztBMkV2NlRnQjtJQUVRO0EzRXk2VHhCOztBMkVsN1RnQjtJQUVRO0EzRW83VHhCOztBMkUvNlRnQjtJQUVRO0EzRWk3VHhCOztBMkUxN1RnQjtJQUVRO0EzRTQ3VHhCOztBMkV2N1RnQjtJQUVRO0EzRXk3VHhCOztBMkVsOFRnQjtJQUVRO0EzRW84VHhCOztBMkUvN1RnQjtJQUVRO0EzRWk4VHhCOztBMkUxOFRnQjtJQUVRO0EzRTQ4VHhCOztBMkV2OFRnQjtJQUVRO0EzRXk4VHhCOztBMkVsOVRnQjtJQUVRO0EzRW85VHhCOztBMkUvOFRnQjtJQUVRO0EzRWk5VHhCOztBMkUxOVRnQjtJQUVRO0EzRTQ5VHhCOztBMkV2OVRnQjtJQUVRO0EzRXk5VHhCOztBMkVsK1RnQjtJQUVRO0EzRW8rVHhCOztBMkUvOVRnQjtJQUVRO0EzRWkrVHhCOztBMkUxK1RnQjtJQUVRO0EzRTQrVHhCOztBMkV2K1RnQjtJQUVRO0EzRXkrVHhCOztBMkVsL1RnQjtJQUVRO0EzRW8vVHhCOztBMkUvK1RnQjtJQUVRO0EzRWkvVHhCOztBMkUxL1RnQjtJQUVRO0EzRTQvVHhCOztBMkV2L1RnQjtJQUVRO0EzRXkvVHhCOztBMkVsZ1VnQjtJQUVRO0EzRW9nVXhCOztBMkUvL1RnQjtJQUVRO0EzRWlnVXhCOztBMkUxZ1VnQjtJQUVRO0EzRTRnVXhCOztBMkV2Z1VnQjtJQUVRO0EzRXlnVXhCOztBMkVsaFVnQjtJQUVRO0EzRW9oVXhCOztBMkUvZ1VnQjtJQUVRO0EzRWloVXhCOztBMkUxaFVnQjtJQUVRO0EzRTRoVXhCOztBMkV2aFVnQjtJQUVRO0EzRXloVXhCOztBMkVsaVVnQjtJQUVRO0EzRW9pVXhCOztBMkUvaFVnQjtJQUVRO0EzRWlpVXhCOztBMkUxaVVnQjtJQUVRO0EzRTRpVXhCOztBMkV2aVVnQjtJQUVRO0EzRXlpVXhCOztBMkVsalVnQjtJQUVRO0EzRW9qVXhCOztBMkUvaVVnQjtJQUVRO0EzRWlqVXhCOztBMkUxalVnQjtJQUVRO0EzRTRqVXhCOztBMkV2alVnQjtJQUVRO0EzRXlqVXhCOztBMkVsa1VnQjtJQUVRO0EzRW9rVXhCOztBMkUvalVnQjtJQUVRO0EzRWlrVXhCOztBMkUxa1VnQjtJQUVRO0EzRTRrVXhCOztBMkV2a1VnQjtJQUVRO0EzRXlrVXhCOztBMkVsbFVnQjtJQUVRO0EzRW9sVXhCOztBMkUva1VnQjtJQUVRO0EzRWlsVXhCOztBMkUxbFVnQjtJQUVRO0EzRTRsVXhCOztBMkV2bFVnQjtJQUVRO0EzRXlsVXhCOztBMkVsbVVnQjtJQUVRO0EzRW9tVXhCOztBMkUvbFVnQjtJQUVRO0EzRWltVXhCOztBMkUxbVVnQjtJQUVRO0EzRTRtVXhCOztBMkV2bVVnQjtJQUVRO0EzRXltVXhCOztBMkVsblVnQjtJQUVRO0EzRW9uVXhCOztBMkUvbVVnQjtJQUVRO0EzRWluVXhCOztBMkUxblVnQjtJQUVRO0EzRTRuVXhCOztBMkV2blVnQjtJQUVRO0EzRXluVXhCOztBMkVsb1VnQjtJQUVRO0EzRW9vVXhCOztBMkUvblVnQjtJQUVRO0EzRWlvVXhCOztBMkUxb1VnQjtJQUVRO0EzRTRvVXhCOztBMkV2b1VnQjtJQUVRO0EzRXlvVXhCOztBMkVscFVnQjtJQUVRO0EzRW9wVXhCOztBMkUvb1VnQjtJQUVRO0EzRWlwVXhCOztBMkUxcFVnQjtJQUVRO0EzRTRwVXhCOztBMkV2cFVnQjtJQUVRO0EzRXlwVXhCOztBMkVscVVnQjtJQUVRO0EzRW9xVXhCOztBMkUvcFVnQjtJQUVRO0EzRWlxVXhCOztBMkUxcVVnQjtJQUVRO0EzRTRxVXhCOztBMkV2cVVnQjtJQUVRO0EzRXlxVXhCOztBMkVsclVnQjtJQUVRO0EzRW9yVXhCOztBMkUvcVVnQjtJQUVRO0EzRWlyVXhCOztBMkUxclVnQjtJQUVRO0EzRTRyVXhCOztBMkV2clVnQjtJQUVRO0EzRXlyVXhCOztBMkVsc1VnQjtJQUVRO0EzRW9zVXhCOztBMkUvclVnQjtJQUVRO0EzRWlzVXhCOztBMkUxc1VnQjtJQUVRO0EzRTRzVXhCOztBMkV2c1VnQjtJQUVRO0EzRXlzVXhCOztBMkVsdFVnQjtJQUVRO0EzRW90VXhCOztBMkUvc1VnQjtJQUVRO0EzRWl0VXhCOztBMkUxdFVnQjtJQUVRO0EzRTR0VXhCOztBMkV2dFVnQjtJQUVRO0EzRXl0VXhCOztBMkVsdVVnQjtJQUVRO0EzRW91VXhCOztBMkUvdFVnQjtJQUVRO0EzRWl1VXhCOztBMkUxdVVnQjtJQUVRO0EzRTR1VXhCOztBMkV2dVVnQjtJQUVRO0EzRXl1VXhCOztBMkVsdlVnQjtJQUVRO0EzRW92VXhCOztBMkUvdVVnQjtJQUVRO0EzRWl2VXhCOztBMkUxdlVnQjtJQUVRO0EzRTR2VXhCOztBMkV2dlVnQjtJQUVRO0EzRXl2VXhCOztBMkVsd1VnQjtJQUVRO0EzRW93VXhCOztBMkUvdlVnQjtJQUVRO0EzRWl3VXhCOztBMkUxd1VnQjtJQUVRO0EzRTR3VXhCOztBMkV2d1VnQjtJQUVRO0EzRXl3VXhCOztBMkVseFVnQjtJQUVRO0EzRW94VXhCOztBMkUvd1VnQjtJQUVRO0EzRWl4VXhCOztBMkUxeFVnQjtJQUVRO0EzRTR4VXhCOztBMkV2eFVnQjtJQUVRO0EzRXl4VXhCOztBMkVseVVnQjtJQUVRO0EzRW95VXhCOztBMkUveFVnQjtJQUVRO0EzRWl5VXhCOztBMkUxeVVnQjtJQUVRO0EzRTR5VXhCOztBMkV2eVVnQjtJQUVRO0EzRXl5VXhCOztBMkVselVnQjtJQUVRO0EzRW96VXhCOztBMkUveVVnQjtJQUVRO0EzRWl6VXhCOztBMkUxelVnQjtJQUVRO0EzRTR6VXhCOztBMkV2elVnQjtJQUVRO0EzRXl6VXhCOztBMkVsMFVnQjtJQUVRO0EzRW8wVXhCOztBMkUvelVnQjtJQUVRO0EzRWkwVXhCOztBMkUxMFVnQjtJQUVRO0EzRTQwVXhCOztBMkV2MFVnQjtJQUVRO0EzRXkwVXhCOztBMkVsMVVnQjtJQUVRO0EzRW8xVXhCOztBMkUvMFVnQjtJQUVRO0EzRWkxVXhCOztBMkUxMVVnQjtJQUVRO0EzRTQxVXhCOztBMkV2MVVnQjtJQUVRO0EzRXkxVXhCOztBMkVsMlVnQjtJQUVRO0EzRW8yVXhCOztBMkUvMVVnQjtJQUVRO0EzRWkyVXhCOztBMkUxMlVnQjtJQUVRO0EzRTQyVXhCOztBMkV2MlVnQjtJQUVRO0EzRXkyVXhCOztBMkVsM1VnQjtJQUVRO0EzRW8zVXhCOztBMkUvMlVnQjtJQUVRO0EzRWkzVXhCOztBMkUxM1VnQjtJQUVRO0EzRTQzVXhCOztBMkV2M1VnQjtJQUVRO0EzRXkzVXhCOztBMkVsNFVnQjtJQUVRO0EzRW80VXhCOztBMkUvM1VnQjtJQUVRO0EzRWk0VXhCOztBMkUxNFVnQjtJQUVRO0EzRTQ0VXhCOztBMkV2NFVnQjtJQUVRO0EzRXk0VXhCOztBMkVsNVVnQjtJQUVRO0EzRW81VXhCOztBMkUvNFVnQjtJQUVRO0EzRWk1VXhCOztBMkUxNVVnQjtJQUVRO0EzRTQ1VXhCOztBMkV2NVVnQjtJQUVRO0EzRXk1VXhCOztBMkVsNlVnQjtJQUVRO0EzRW82VXhCOztBMkUvNVVnQjtJQUVRO0EzRWk2VXhCOztBMkUxNlVnQjtJQUVRO0EzRTQ2VXhCOztBMkV2NlVnQjtJQUVRO0EzRXk2VXhCOztBMkVsN1VnQjtJQUVRO0EzRW83VXhCOztBMkUvNlVnQjtJQUVRO0EzRWk3VXhCOztBMkUxN1VnQjtJQUVRO0EzRTQ3VXhCOztBMkV2N1VnQjtJQUVRO0EzRXk3VXhCOztBMkVsOFVnQjtJQUVRO0EzRW84VXhCOztBMkUvN1VnQjtJQUVRO0EzRWk4VXhCOztBMkUxOFVnQjtJQUVRO0EzRTQ4VXhCOztBMkV2OFVnQjtJQUVRO0EzRXk4VXhCOztBMkVsOVVnQjtJQUVRO0EzRW85VXhCOztBMkUvOFVnQjtJQUVRO0EzRWk5VXhCOztBMkUxOVVnQjtJQUVRO0EzRTQ5VXhCOztBMkV2OVVnQjtJQUVRO0EzRXk5VXhCOztBMkVsK1VnQjtJQUVRO0EzRW8rVXhCOztBMkUvOVVnQjtJQUVRO0EzRWkrVXhCOztBMkUxK1VnQjtJQUVRO0EzRTQrVXhCOztBMkV2K1VnQjtJQUVRO0EzRXkrVXhCOztBMkVsL1VnQjtJQUVRO0EzRW8vVXhCOztBMkUvK1VnQjtJQUVRO0EzRWkvVXhCOztBMkUxL1VnQjtJQUVRO0EzRTQvVXhCOztBMkV2L1VnQjtJQUVRO0EzRXkvVXhCOztBMkVsZ1ZnQjtJQUVRO0EzRW9nVnhCOztBMkUvL1VnQjtJQUVRO0EzRWlnVnhCOztBMkUxZ1ZnQjtJQUVRO0EzRTRnVnhCOztBMkV2Z1ZnQjtJQUVRO0EzRXlnVnhCOztBMkVsaFZnQjtJQUVRO0EzRW9oVnhCOztBMkUvZ1ZnQjtJQUVRO0EzRWloVnhCOztBMkUxaFZnQjtJQUVRO0EzRTRoVnhCOztBMkV2aFZnQjtJQUVRO0EzRXloVnhCOztBMkVsaVZnQjtJQUVRO0EzRW9pVnhCOztBMkUvaFZnQjtJQUVRO0EzRWlpVnhCOztBMkUxaVZnQjtJQUVRO0EzRTRpVnhCOztBMkV2aVZnQjtJQUVRO0EzRXlpVnhCOztBMkVsalZnQjtJQUVRO0EzRW9qVnhCOztBMkUvaVZnQjtJQUVRO0EzRWlqVnhCOztBMkUxalZnQjtJQUVRO0EzRTRqVnhCOztBMkV2alZnQjtJQUVRO0EzRXlqVnhCOztBMkVsa1ZnQjtJQUVRO0EzRW9rVnhCOztBMkUvalZnQjtJQUVRO0EzRWlrVnhCOztBMkUxa1ZnQjtJQUVRO0EzRTRrVnhCOztBMkV2a1ZnQjtJQUVRO0EzRXlrVnhCOztBMkVsbFZnQjtJQUVRO0EzRW9sVnhCOztBMkUva1ZnQjtJQUVRO0EzRWlsVnhCOztBMkUxbFZnQjtJQUVRO0EzRTRsVnhCOztBMkV2bFZnQjtJQUVRO0EzRXlsVnhCOztBMkVsbVZnQjtJQUVRO0EzRW9tVnhCOztBMkUvbFZnQjtJQUVRO0EzRWltVnhCOztBMkUxbVZnQjtJQUVRO0EzRTRtVnhCOztBMkV2bVZnQjtJQUVRO0EzRXltVnhCOztBMkVsblZnQjtJQUVRO0EzRW9uVnhCOztBMkUvbVZnQjtJQUVRO0EzRWluVnhCOztBMkUxblZnQjtJQUVRO0EzRTRuVnhCOztBMkV2blZnQjtJQUVRO0EzRXluVnhCOztBMkVsb1ZnQjtJQUVRO0EzRW9vVnhCOztBMkUvblZnQjtJQUVRO0EzRWlvVnhCOztBMkUxb1ZnQjtJQUVRO0EzRTRvVnhCOztBMkV2b1ZnQjtJQUVRO0EzRXlvVnhCOztBMkVscFZnQjtJQUVRO0EzRW9wVnhCOztBMkUvb1ZnQjtJQUVRO0EzRWlwVnhCOztBMkUxcFZnQjtJQUVRO0EzRTRwVnhCOztBMkV2cFZnQjtJQUVRO0EzRXlwVnhCOztBMkVscVZnQjtJQUVRO0EzRW9xVnhCOztBMkUvcFZnQjtJQUVRO0EzRWlxVnhCOztBMkUxcVZnQjtJQUVRO0EzRTRxVnhCOztBMkV2cVZnQjtJQUVRO0EzRXlxVnhCOztBMkVsclZnQjtJQUVRO0EzRW9yVnhCOztBMkUvcVZnQjtJQUVRO0EzRWlyVnhCOztBMkUxclZnQjtJQUVRO0EzRTRyVnhCOztBMkV2clZnQjtJQUVRO0EzRXlyVnhCOztBMkVsc1ZnQjtJQUVRO0EzRW9zVnhCOztBMkUvclZnQjtJQUVRO0EzRWlzVnhCOztBMkUxc1ZnQjtJQUVRO0EzRTRzVnhCOztBMkV2c1ZnQjtJQUVRO0EzRXlzVnhCOztBMkVsdFZnQjtJQUVRO0EzRW90VnhCOztBMkUvc1ZnQjtJQUVRO0EzRWl0VnhCOztBMkUxdFZnQjtJQUVRO0EzRTR0VnhCOztBMkV2dFZnQjtJQUVRO0EzRXl0VnhCOztBMkVsdVZnQjtJQUVRO0EzRW91VnhCOztBMkUvdFZnQjtJQUVRO0EzRWl1VnhCOztBMkUxdVZnQjtJQUVRO0EzRTR1VnhCOztBMkV2dVZnQjtJQUVRO0EzRXl1VnhCOztBMkVsdlZnQjtJQUVRO0EzRW92VnhCOztBMkUvdVZnQjtJQUVRO0EzRWl2VnhCOztBMkUxdlZnQjtJQUVRO0EzRTR2VnhCOztBMkV2dlZnQjtJQUVRO0EzRXl2VnhCOztBMkVsd1ZnQjtJQUVRO0EzRW93VnhCOztBMkUvdlZnQjtJQUVRO0EzRWl3VnhCOztBMkUxd1ZnQjtJQUVRO0EzRTR3VnhCOztBMkV2d1ZnQjtJQUVRO0EzRXl3VnhCOztBMkVseFZnQjtJQUVRO0EzRW94VnhCOztBMkUvd1ZnQjtJQUVRO0EzRWl4VnhCOztBMkUxeFZnQjtJQUVRO0EzRTR4VnhCOztBMkV2eFZnQjtJQUVRO0EzRXl4VnhCOztBMkVseVZnQjtJQUVRO0EzRW95VnhCOztBMkUveFZnQjtJQUVRO0EzRWl5VnhCOztBMkUxeVZnQjtJQUVRO0EzRTR5VnhCOztBMkV2eVZnQjtJQUVRO0EzRXl5VnhCOztBMkVselZnQjtJQUVRO0EzRW96VnhCOztBMkUveVZnQjtJQUVRO0EzRWl6VnhCOztBMkUxelZnQjtJQUVRO0EzRTR6VnhCOztBMkV2elZnQjtJQUVRO0EzRXl6VnhCOztBMkVsMFZnQjtJQUVRO0EzRW8wVnhCOztBMkUvelZnQjtJQUVRO0EzRWkwVnhCOztBMkUxMFZnQjtJQUVRO0EzRTQwVnhCOztBMkV2MFZnQjtJQUVRO0EzRXkwVnhCOztBMkVsMVZnQjtJQUVRO0EzRW8xVnhCOztBMkUvMFZnQjtJQUVRO0EzRWkxVnhCOztBMkUxMVZnQjtJQUVRO0EzRTQxVnhCOztBMkV2MVZnQjtJQUVRO0EzRXkxVnhCOztBMkVsMlZnQjtJQUVRO0EzRW8yVnhCOztBMkUvMVZnQjtJQUVRO0EzRWkyVnhCOztBMkUxMlZnQjtJQUVRO0EzRTQyVnhCOztBMkV2MlZnQjtJQUVRO0EzRXkyVnhCOztBMkVsM1ZnQjtJQUVRO0EzRW8zVnhCOztBMkUvMlZnQjtJQUVRO0EzRWkzVnhCOztBMkUxM1ZnQjtJQUVRO0EzRTQzVnhCOztBMkV2M1ZnQjtJQUVRO0EzRXkzVnhCOztBMkVsNFZnQjtJQUVRO0EzRW80VnhCOztBMkUvM1ZnQjtJQUVRO0EzRWk0VnhCOztBMkUxNFZnQjtJQUVRO0EzRTQ0VnhCOztBMkV2NFZnQjtJQUVRO0EzRXk0VnhCOztBMkVsNVZnQjtJQUVRO0EzRW81VnhCOztBMkUvNFZnQjtJQUVRO0EzRWk1VnhCOztBMkUxNVZnQjtJQUVRO0EzRTQ1VnhCOztBMkV2NVZnQjtJQUVRO0EzRXk1VnhCOztBMkVsNlZnQjtJQUVRO0EzRW82VnhCOztBMkUvNVZnQjtJQUVRO0EzRWk2VnhCOztBMkUxNlZnQjtJQUVRO0EzRTQ2VnhCOztBMkV2NlZnQjtJQUVRO0EzRXk2VnhCOztBMkVsN1ZnQjtJQUVRO0EzRW83VnhCOztBMkUvNlZnQjtJQUVRO0EzRWk3VnhCOztBMkUxN1ZnQjtJQUVRO0EzRTQ3VnhCOztBMkV2N1ZnQjtJQUVRO0EzRXk3VnhCOztBMkVsOFZnQjtJQUVRO0EzRW84VnhCOztBMkUvN1ZnQjtJQUVRO0EzRWk4VnhCOztBMkUxOFZnQjtJQUVRO0EzRTQ4VnhCOztBMkV2OFZnQjtJQUVRO0EzRXk4VnhCOztBMkVsOVZnQjtJQUVRO0EzRW85VnhCOztBMkUvOFZnQjtJQUVRO0EzRWk5VnhCOztBMkUxOVZnQjtJQUVRO0EzRTQ5VnhCOztBMkV2OVZnQjtJQUVRO0EzRXk5VnhCOztBMkVsK1ZnQjtJQUVRO0EzRW8rVnhCOztBMkUvOVZnQjtJQUVRO0EzRWkrVnhCOztBMkUxK1ZnQjtJQUVRO0EzRTQrVnhCOztBMkV2K1ZnQjtJQUVRO0EzRXkrVnhCOztBMkVsL1ZnQjtJQUVRO0EzRW8vVnhCOztBMkUvK1ZnQjtJQUVRO0EzRWkvVnhCOztBMkUxL1ZnQjtJQUVRO0EzRTQvVnhCOztBMkV2L1ZnQjtJQUVRO0EzRXkvVnhCOztBMkVsZ1dnQjtJQUVRO0EzRW9nV3hCOztBMkUvL1ZnQjtJQUVRO0EzRWlnV3hCOztBMkUxZ1dnQjtJQUVRO0EzRTRnV3hCOztBMkV2Z1dnQjtJQUVRO0EzRXlnV3hCOztBMkVsaFdnQjtJQUVRO0EzRW9oV3hCOztBMkUvZ1dnQjtJQUVRO0EzRWloV3hCOztBMkUxaFdnQjtJQUVRO0EzRTRoV3hCOztBMkV2aFdnQjtJQUVRO0EzRXloV3hCOztBMkVsaVdnQjtJQUVRO0EzRW9pV3hCOztBMkUvaFdnQjtJQUVRO0EzRWlpV3hCOztBMkUxaVdnQjtJQUVRO0EzRTRpV3hCOztBMkV2aVdnQjtJQUVRO0EzRXlpV3hCOztBMkVsaldnQjtJQUVRO0EzRW9qV3hCOztBMkUvaVdnQjtJQUVRO0EzRWlqV3hCOztBMkUxaldnQjtJQUVRO0EzRTRqV3hCOztBMkV2aldnQjtJQUVRO0EzRXlqV3hCOztBMkVsa1dnQjtJQUVRO0EzRW9rV3hCOztBMkUvaldnQjtJQUVRO0EzRWlrV3hCOztBMkUxa1dnQjtJQUVRO0EzRTRrV3hCOztBMkV2a1dnQjtJQUVRO0EzRXlrV3hCOztBMkVsbFdnQjtJQUVRO0EzRW9sV3hCOztBMkUva1dnQjtJQUVRO0EzRWlsV3hCOztBMkUxbFdnQjtJQUVRO0EzRTRsV3hCOztBMkV2bFdnQjtJQUVRO0EzRXlsV3hCOztBMkVsbVdnQjtJQUVRO0EzRW9tV3hCOztBMkUvbFdnQjtJQUVRO0EzRWltV3hCOztBMkUxbVdnQjtJQUVRO0EzRTRtV3hCOztBMkV2bVdnQjtJQUVRO0EzRXltV3hCOztBMkVsbldnQjtJQUVRO0EzRW9uV3hCOztBMkUvbVdnQjtJQUVRO0EzRWluV3hCOztBMkUxbldnQjtJQUVRO0EzRTRuV3hCOztBMkV2bldnQjtJQUVRO0EzRXluV3hCOztBMkVsb1dnQjtJQUVRO0EzRW9vV3hCOztBMkUvbldnQjtJQUVRO0EzRWlvV3hCOztBMkUxb1dnQjtJQUVRO0EzRTRvV3hCOztBMkV2b1dnQjtJQUVRO0EzRXlvV3hCOztBMkVscFdnQjtJQUVRO0EzRW9wV3hCOztBMkUvb1dnQjtJQUVRO0EzRWlwV3hCOztBMkUxcFdnQjtJQUVRO0EzRTRwV3hCOztBMkV2cFdnQjtJQUVRO0EzRXlwV3hCOztBMkVscVdnQjtJQUVRO0EzRW9xV3hCOztBMkUvcFdnQjtJQUVRO0EzRWlxV3hCOztBMkUxcVdnQjtJQUVRO0EzRTRxV3hCOztBMkV2cVdnQjtJQUVRO0EzRXlxV3hCOztBMkVscldnQjtJQUVRO0EzRW9yV3hCOztBMkUvcVdnQjtJQUVRO0EzRWlyV3hCOztBMkUxcldnQjtJQUVRO0EzRTRyV3hCOztBMkV2cldnQjtJQUVRO0EzRXlyV3hCOztBMkVsc1dnQjtJQUVRO0EzRW9zV3hCOztBMkUvcldnQjtJQUVRO0EzRWlzV3hCOztBMkUxc1dnQjtJQUVRO0EzRTRzV3hCOztBMkV2c1dnQjtJQUVRO0EzRXlzV3hCOztBMkVsdFdnQjtJQUVRO0EzRW90V3hCOztBMkUvc1dnQjtJQUVRO0EzRWl0V3hCOztBMkUxdFdnQjtJQUVRO0EzRTR0V3hCOztBMkV2dFdnQjtJQUVRO0EzRXl0V3hCOztBMkVsdVdnQjtJQUVRO0EzRW91V3hCOztBMkUvdFdnQjtJQUVRO0EzRWl1V3hCOztBMkUxdVdnQjtJQUVRO0EzRTR1V3hCOztBMkV2dVdnQjtJQUVRO0EzRXl1V3hCOztBMkVsdldnQjtJQUVRO0EzRW92V3hCOztBMkUvdVdnQjtJQUVRO0EzRWl2V3hCOztBMkUxdldnQjtJQUVRO0EzRTR2V3hCOztBMkV2dldnQjtJQUVRO0EzRXl2V3hCOztBMkVsd1dnQjtJQUVRO0EzRW93V3hCOztBMkUvdldnQjtJQUVRO0EzRWl3V3hCOztBMkUxd1dnQjtJQUVRO0EzRTR3V3hCOztBMkV2d1dnQjtJQUVRO0EzRXl3V3hCOztBMkVseFdnQjtJQUVRO0EzRW94V3hCOztBMkUvd1dnQjtJQUVRO0EzRWl4V3hCOztBMkUxeFdnQjtJQUVRO0EzRTR4V3hCOztBMkV2eFdnQjtJQUVRO0EzRXl4V3hCOztBMkVseVdnQjtJQUVRO0EzRW95V3hCOztBMkUveFdnQjtJQUVRO0EzRWl5V3hCOztBMkUxeVdnQjtJQUVRO0EzRTR5V3hCOztBMkV2eVdnQjtJQUVRO0EzRXl5V3hCOztBMkVseldnQjtJQUVRO0EzRW96V3hCOztBMkUveVdnQjtJQUVRO0EzRWl6V3hCOztBMkUxeldnQjtJQUVRO0EzRTR6V3hCOztBMkV2eldnQjtJQUVRO0EzRXl6V3hCOztBMkVsMFdnQjtJQUVRO0EzRW8wV3hCOztBMkUveldnQjtJQUVRO0EzRWkwV3hCOztBMkUxMFdnQjtJQUVRO0EzRTQwV3hCOztBMkV2MFdnQjtJQUVRO0EzRXkwV3hCOztBMkVsMVdnQjtJQUVRO0EzRW8xV3hCOztBMkUvMFdnQjtJQUVRO0EzRWkxV3hCOztBMkUxMVdnQjtJQUVRO0EzRTQxV3hCOztBMkV2MVdnQjtJQUVRO0EzRXkxV3hCOztBMkVsMldnQjtJQUVRO0EzRW8yV3hCOztBMkUvMVdnQjtJQUVRO0EzRWkyV3hCOztBMkUxMldnQjtJQUVRO0EzRTQyV3hCOztBMkV2MldnQjtJQUVRO0EzRXkyV3hCOztBMkVsM1dnQjtJQUVRO0EzRW8zV3hCOztBMkUvMldnQjtJQUVRO0EzRWkzV3hCOztBMkUxM1dnQjtJQUVRO0EzRTQzV3hCOztBMkV2M1dnQjtJQUVRO0EzRXkzV3hCOztBMkVsNFdnQjtJQUVRO0EzRW80V3hCOztBMkUvM1dnQjtJQUVRO0EzRWk0V3hCOztBMkUxNFdnQjtJQUVRO0EzRTQ0V3hCOztBMkV2NFdnQjtJQUVRO0EzRXk0V3hCOztBMkVsNVdnQjtJQUVRO0EzRW81V3hCOztBMkUvNFdnQjtJQUVRO0EzRWk1V3hCOztBMkUxNVdnQjtJQUVRO0EzRTQ1V3hCOztBMkV2NVdnQjtJQUVRO0EzRXk1V3hCOztBMkVsNldnQjtJQUVRO0EzRW82V3hCOztBMkUvNVdnQjtJQUVRO0EzRWk2V3hCOztBMkUxNldnQjtJQUVRO0EzRTQ2V3hCOztBMkV2NldnQjtJQUVRO0EzRXk2V3hCOztBMkVsN1dnQjtJQUVRO0EzRW83V3hCOztBMkUvNldnQjtJQUVRO0EzRWk3V3hCOztBMkUxN1dnQjtJQUVRO0EzRTQ3V3hCOztBMkV2N1dnQjtJQUVRO0EzRXk3V3hCOztBMkVsOFdnQjtJQUVRO0EzRW84V3hCOztBMkUvN1dnQjtJQUVRO0EzRWk4V3hCOztBMkUxOFdnQjtJQUVRO0EzRTQ4V3hCOztBMkV2OFdnQjtJQUVRO0EzRXk4V3hCOztBMkVsOVdnQjtJQUVRO0EzRW85V3hCOztBMkUvOFdnQjtJQUVRO0EzRWk5V3hCOztBMkUxOVdnQjtJQUVRO0EzRTQ5V3hCOztBMkV2OVdnQjtJQUVRO0EzRXk5V3hCOztBMkVsK1dnQjtJQUVRO0EzRW8rV3hCOztBMkUvOVdnQjtJQUVRO0EzRWkrV3hCOztBMkUxK1dnQjtJQUVRO0EzRTQrV3hCOztBMkV2K1dnQjtJQUVRO0EzRXkrV3hCOztBMkVsL1dnQjtJQUVRO0EzRW8vV3hCOztBMkUvK1dnQjtJQUVRO0EzRWkvV3hCOztBMkUxL1dnQjtJQUVRO0EzRTQvV3hCOztBMkV2L1dnQjtJQUVRO0EzRXkvV3hCOztBMkVsZ1hnQjtJQUVRO0EzRW9nWHhCOztBMkUvL1dnQjtJQUVRO0EzRWlnWHhCOztBMkUxZ1hnQjtJQUVRO0EzRTRnWHhCOztBMkV2Z1hnQjtJQUVRO0EzRXlnWHhCOztBMkVsaFhnQjtJQUVRO0EzRW9oWHhCOztBMkUvZ1hnQjtJQUVRO0EzRWloWHhCOztBMkUxaFhnQjtJQUVRO0EzRTRoWHhCOztBMkV2aFhnQjtJQUVRO0EzRXloWHhCOztBMkVsaVhnQjtJQUVRO0EzRW9pWHhCOztBMkUvaFhnQjtJQUVRO0EzRWlpWHhCOztBMkUxaVhnQjtJQUVRO0EzRTRpWHhCOztBMkV2aVhnQjtJQUVRO0EzRXlpWHhCOztBMkVsalhnQjtJQUVRO0EzRW9qWHhCOztBMkUvaVhnQjtJQUVRO0EzRWlqWHhCOztBMkUxalhnQjtJQUVRO0EzRTRqWHhCOztBMkV2alhnQjtJQUVRO0EzRXlqWHhCOztBMkVsa1hnQjtJQUVRO0EzRW9rWHhCOztBMkUvalhnQjtJQUVRO0EzRWlrWHhCOztBMkUxa1hnQjtJQUVRO0EzRTRrWHhCOztBMkV2a1hnQjtJQUVRO0EzRXlrWHhCOztBMkVsbFhnQjtJQUVRO0EzRW9sWHhCOztBMkUva1hnQjtJQUVRO0EzRWlsWHhCOztBMkUxbFhnQjtJQUVRO0EzRTRsWHhCOztBMkV2bFhnQjtJQUVRO0EzRXlsWHhCOztBMkVsbVhnQjtJQUVRO0EzRW9tWHhCOztBMkUvbFhnQjtJQUVRO0EzRWltWHhCOztBMkUxbVhnQjtJQUVRO0EzRTRtWHhCOztBMkV2bVhnQjtJQUVRO0EzRXltWHhCOztBMkVsblhnQjtJQUVRO0EzRW9uWHhCOztBMkUvbVhnQjtJQUVRO0EzRWluWHhCOztBMkUxblhnQjtJQUVRO0EzRTRuWHhCOztBMkV2blhnQjtJQUVRO0EzRXluWHhCOztBMkVsb1hnQjtJQUVRO0EzRW9vWHhCOztBMkUvblhnQjtJQUVRO0EzRWlvWHhCOztBMkUxb1hnQjtJQUVRO0EzRTRvWHhCOztBMkV2b1hnQjtJQUVRO0EzRXlvWHhCOztBMkVscFhnQjtJQUVRO0EzRW9wWHhCOztBMkUvb1hnQjtJQUVRO0EzRWlwWHhCOztBMkUxcFhnQjtJQUVRO0EzRTRwWHhCOztBMkV2cFhnQjtJQUVRO0EzRXlwWHhCOztBMkVscVhnQjtJQUVRO0EzRW9xWHhCOztBMkUvcFhnQjtJQUVRO0EzRWlxWHhCOztBMkUxcVhnQjtJQUVRO0EzRTRxWHhCOztBMkV2cVhnQjtJQUVRO0EzRXlxWHhCOztBMkVsclhnQjtJQUVRO0EzRW9yWHhCOztBMkUvcVhnQjtJQUVRO0EzRWlyWHhCOztBMkUxclhnQjtJQUVRO0EzRTRyWHhCOztBMkV2clhnQjtJQUVRO0EzRXlyWHhCOztBMkVsc1hnQjtJQUVRO0EzRW9zWHhCOztBMkUvclhnQjtJQUVRO0EzRWlzWHhCOztBMkUxc1hnQjtJQUVRO0EzRTRzWHhCOztBMkV2c1hnQjtJQUVRO0EzRXlzWHhCOztBMkVsdFhnQjtJQUVRO0EzRW90WHhCOztBMkUvc1hnQjtJQUVRO0EzRWl0WHhCOztBMkUxdFhnQjtJQUVRO0EzRTR0WHhCOztBMkV2dFhnQjtJQUVRO0EzRXl0WHhCOztBMkVsdVhnQjtJQUVRO0EzRW91WHhCOztBMkUvdFhnQjtJQUVRO0EzRWl1WHhCOztBMkUxdVhnQjtJQUVRO0EzRTR1WHhCOztBMkV2dVhnQjtJQUVRO0EzRXl1WHhCOztBMkVsdlhnQjtJQUVRO0EzRW92WHhCOztBMkUvdVhnQjtJQUVRO0EzRWl2WHhCOztBMkUxdlhnQjtJQUVRO0EzRTR2WHhCOztBMkV2dlhnQjtJQUVRO0EzRXl2WHhCOztBMkVsd1hnQjtJQUVRO0EzRW93WHhCOztBMkUvdlhnQjtJQUVRO0EzRWl3WHhCOztBMkUxd1hnQjtJQUVRO0EzRTR3WHhCOztBMkV2d1hnQjtJQUVRO0EzRXl3WHhCOztBMkVseFhnQjtJQUVRO0EzRW94WHhCOztBMkUvd1hnQjtJQUVRO0EzRWl4WHhCOztBMkUxeFhnQjtJQUVRO0EzRTR4WHhCOztBMkV2eFhnQjtJQUVRO0EzRXl4WHhCOztBMkVseVhnQjtJQUVRO0EzRW95WHhCOztBMkUveFhnQjtJQUVRO0EzRWl5WHhCOztBMkUxeVhnQjtJQUVRO0EzRTR5WHhCOztBMkV2eVhnQjtJQUVRO0EzRXl5WHhCOztBMkVselhnQjtJQUVRO0EzRW96WHhCOztBMkUveVhnQjtJQUVRO0EzRWl6WHhCOztBMkUxelhnQjtJQUVRO0EzRTR6WHhCOztBMkV2elhnQjtJQUVRO0EzRXl6WHhCOztBMkVsMFhnQjtJQUVRO0EzRW8wWHhCOztBMkUvelhnQjtJQUVRO0EzRWkwWHhCOztBMkUxMFhnQjtJQUVRO0EzRTQwWHhCOztBMkV2MFhnQjtJQUVRO0EzRXkwWHhCOztBMkVsMVhnQjtJQUVRO0EzRW8xWHhCOztBMkUvMFhnQjtJQUVRO0EzRWkxWHhCOztBMkUxMVhnQjtJQUVRO0EzRTQxWHhCOztBMkV2MVhnQjtJQUVRO0EzRXkxWHhCOztBMkVsMlhnQjtJQUVRO0EzRW8yWHhCOztBMkUvMVhnQjtJQUVRO0EzRWkyWHhCOztBMkUxMlhnQjtJQUVRO0EzRTQyWHhCOztBMkV2MlhnQjtJQUVRO0EzRXkyWHhCOztBMkVsM1hnQjtJQUVRO0EzRW8zWHhCOztBMkUvMlhnQjtJQUVRO0EzRWkzWHhCOztBMkUxM1hnQjtJQUVRO0EzRTQzWHhCOztBMkV2M1hnQjtJQUVRO0EzRXkzWHhCOztBMkVsNFhnQjtJQUVRO0EzRW80WHhCOztBMkUvM1hnQjtJQUVRO0EzRWk0WHhCOztBMkUxNFhnQjtJQUVRO0EzRTQ0WHhCOztBMkV2NFhnQjtJQUVRO0EzRXk0WHhCOztBMkVsNVhnQjtJQUVRO0EzRW81WHhCOztBMkUvNFhnQjtJQUVRO0EzRWk1WHhCOztBMkUxNVhnQjtJQUVRO0EzRTQ1WHhCOztBMkV2NVhnQjtJQUVRO0EzRXk1WHhCOztBMkVsNlhnQjtJQUVRO0EzRW82WHhCOztBMkUvNVhnQjtJQUVRO0EzRWk2WHhCOztBMkUxNlhnQjtJQUVRO0EzRTQ2WHhCOztBMkV2NlhnQjtJQUVRO0EzRXk2WHhCOztBMkVsN1hnQjtJQUVRO0EzRW83WHhCOztBMkUvNlhnQjtJQUVRO0EzRWk3WHhCOztBMkUxN1hnQjtJQUVRO0EzRTQ3WHhCOztBMkV2N1hnQjtJQUVRO0EzRXk3WHhCOztBMkVsOFhnQjtJQUVRO0EzRW84WHhCOztBMkUvN1hnQjtJQUVRO0EzRWk4WHhCOztBMkUxOFhnQjtJQUVRO0EzRTQ4WHhCOztBMkV2OFhnQjtJQUVRO0EzRXk4WHhCOztBMkVsOVhnQjtJQUVRO0EzRW85WHhCOztBMkUvOFhnQjtJQUVRO0EzRWk5WHhCOztBMkUxOVhnQjtJQUVRO0EzRTQ5WHhCOztBMkV2OVhnQjtJQUVRO0EzRXk5WHhCOztBMkVsK1hnQjtJQUVRO0EzRW8rWHhCOztBMkUvOVhnQjtJQUVRO0EzRWkrWHhCOztBMkUxK1hnQjtJQUVRO0EzRTQrWHhCOztBMkV2K1hnQjtJQUVRO0EzRXkrWHhCOztBMkVsL1hnQjtJQUVRO0EzRW8vWHhCOztBMkUvK1hnQjtJQUVRO0EzRWkvWHhCOztBMkUxL1hnQjtJQUVRO0EzRTQvWHhCOztBMkV2L1hnQjtJQUVRO0EzRXkvWHhCOztBMkVsZ1lnQjtJQUVRO0EzRW9nWXhCOztBMkUvL1hnQjtJQUVRO0EzRWlnWXhCOztBMkUxZ1lnQjtJQUVRO0EzRTRnWXhCOztBMkV2Z1lnQjtJQUVRO0EzRXlnWXhCOztBMkVsaFlnQjtJQUVRO0EzRW9oWXhCOztBMkUvZ1lnQjtJQUVRO0EzRWloWXhCOztBMkUxaFlnQjtJQUVRO0EzRTRoWXhCOztBMkV2aFlnQjtJQUVRO0EzRXloWXhCOztBMkVsaVlnQjtJQUVRO0EzRW9pWXhCOztBMkUvaFlnQjtJQUVRO0EzRWlpWXhCOztBMkUxaVlnQjtJQUVRO0EzRTRpWXhCOztBMkV2aVlnQjtJQUVRO0EzRXlpWXhCOztBMkVsallnQjtJQUVRO0EzRW9qWXhCOztBMkUvaVlnQjtJQUVRO0EzRWlqWXhCOztBMkUxallnQjtJQUVRO0EzRTRqWXhCOztBMkV2allnQjtJQUVRO0EzRXlqWXhCOztBMkVsa1lnQjtJQUVRO0EzRW9rWXhCOztBMkUvallnQjtJQUVRO0EzRWlrWXhCOztBMkUxa1lnQjtJQUVRO0EzRTRrWXhCOztBMkV2a1lnQjtJQUVRO0EzRXlrWXhCOztBMkVsbFlnQjtJQUVRO0EzRW9sWXhCOztBMkUva1lnQjtJQUVRO0EzRWlsWXhCOztBMkUxbFlnQjtJQUVRO0EzRTRsWXhCOztBMkV2bFlnQjtJQUVRO0EzRXlsWXhCOztBMkVsbVlnQjtJQUVRO0EzRW9tWXhCOztBMkUvbFlnQjtJQUVRO0EzRWltWXhCOztBMkUxbVlnQjtJQUVRO0EzRTRtWXhCOztBMkV2bVlnQjtJQUVRO0EzRXltWXhCOztBMkVsbllnQjtJQUVRO0EzRW9uWXhCOztBMkUvbVlnQjtJQUVRO0EzRWluWXhCOztBMkUxbllnQjtJQUVRO0EzRTRuWXhCOztBMkV2bllnQjtJQUVRO0EzRXluWXhCOztBMkVsb1lnQjtJQUVRO0EzRW9vWXhCOztBMkUvbllnQjtJQUVRO0EzRWlvWXhCOztBMkUxb1lnQjtJQUVRO0EzRTRvWXhCOztBMkV2b1lnQjtJQUVRO0EzRXlvWXhCOztBMkVscFlnQjtJQUVRO0EzRW9wWXhCOztBMkUvb1lnQjtJQUVRO0EzRWlwWXhCOztBMkUxcFlnQjtJQUVRO0EzRTRwWXhCOztBMkV2cFlnQjtJQUVRO0EzRXlwWXhCOztBMkVscVlnQjtJQUVRO0EzRW9xWXhCOztBMkUvcFlnQjtJQUVRO0EzRWlxWXhCOztBMkUxcVlnQjtJQUVRO0EzRTRxWXhCOztBMkV2cVlnQjtJQUVRO0EzRXlxWXhCOztBMkVscllnQjtJQUVRO0EzRW9yWXhCOztBMkUvcVlnQjtJQUVRO0EzRWlyWXhCOztBMkUxcllnQjtJQUVRO0EzRTRyWXhCOztBMkV2cllnQjtJQUVRO0EzRXlyWXhCOztBMkVsc1lnQjtJQUVRO0EzRW9zWXhCOztBMkUvcllnQjtJQUVRO0EzRWlzWXhCOztBMkUxc1lnQjtJQUVRO0EzRTRzWXhCOztBMkV2c1lnQjtJQUVRO0EzRXlzWXhCOztBMkVsdFlnQjtJQUVRO0EzRW90WXhCOztBMkUvc1lnQjtJQUVRO0EzRWl0WXhCOztBMkUxdFlnQjtJQUVRO0EzRTR0WXhCOztBMkV2dFlnQjtJQUVRO0EzRXl0WXhCOztBMkVsdVlnQjtJQUVRO0EzRW91WXhCOztBMkUvdFlnQjtJQUVRO0EzRWl1WXhCOztBMkUxdVlnQjtJQUVRO0EzRTR1WXhCOztBMkV2dVlnQjtJQUVRO0EzRXl1WXhCOztBMkVsdllnQjtJQUVRO0EzRW92WXhCOztBMkUvdVlnQjtJQUVRO0EzRWl2WXhCOztBMkUxdllnQjtJQUVRO0EzRTR2WXhCOztBMkV2dllnQjtJQUVRO0EzRXl2WXhCOztBMkVsd1lnQjtJQUVRO0EzRW93WXhCOztBMkUvdllnQjtJQUVRO0EzRWl3WXhCOztBMkUxd1lnQjtJQUVRO0EzRTR3WXhCOztBMkV2d1lnQjtJQUVRO0EzRXl3WXhCOztBMkVseFlnQjtJQUVRO0EzRW94WXhCOztBMkUvd1lnQjtJQUVRO0EzRWl4WXhCOztBMkUxeFlnQjtJQUVRO0EzRTR4WXhCOztBMkV2eFlnQjtJQUVRO0EzRXl4WXhCOztBMkVseVlnQjtJQUVRO0EzRW95WXhCOztBMkUveFlnQjtJQUVRO0EzRWl5WXhCOztBMkUxeVlnQjtJQUVRO0EzRTR5WXhCOztBMkV2eVlnQjtJQUVRO0EzRXl5WXhCOztBMkVsellnQjtJQUVRO0EzRW96WXhCOztBMkUveVlnQjtJQUVRO0EzRWl6WXhCOztBMkUxellnQjtJQUVRO0EzRTR6WXhCOztBMkV2ellnQjtJQUVRO0EzRXl6WXhCOztBMkVsMFlnQjtJQUVRO0EzRW8wWXhCOztBMkUvellnQjtJQUVRO0EzRWkwWXhCOztBMkUxMFlnQjtJQUVRO0EzRTQwWXhCOztBMkV2MFlnQjtJQUVRO0EzRXkwWXhCOztBMkVsMVlnQjtJQUVRO0EzRW8xWXhCOztBMkUvMFlnQjtJQUVRO0EzRWkxWXhCOztBMkUxMVlnQjtJQUVRO0EzRTQxWXhCOztBMkV2MVlnQjtJQUVRO0EzRXkxWXhCOztBMkVsMllnQjtJQUVRO0EzRW8yWXhCOztBMkUvMVlnQjtJQUVRO0EzRWkyWXhCOztBMkUxMllnQjtJQUVRO0EzRTQyWXhCOztBMkV2MllnQjtJQUVRO0EzRXkyWXhCOztBMkVsM1lnQjtJQUVRO0EzRW8zWXhCOztBMkUvMllnQjtJQUVRO0EzRWkzWXhCOztBMkUxM1lnQjtJQUVRO0EzRTQzWXhCOztBMkV2M1lnQjtJQUVRO0EzRXkzWXhCOztBMkVsNFlnQjtJQUVRO0EzRW80WXhCOztBMkUvM1lnQjtJQUVRO0EzRWk0WXhCOztBMkUxNFlnQjtJQUVRO0EzRTQ0WXhCOztBMkV2NFlnQjtJQUVRO0EzRXk0WXhCOztBMkVsNVlnQjtJQUVRO0EzRW81WXhCOztBMkUvNFlnQjtJQUVRO0EzRWk1WXhCOztBMkUxNVlnQjtJQUVRO0EzRTQ1WXhCOztBMkV2NVlnQjtJQUVRO0EzRXk1WXhCOztBMkVsNllnQjtJQUVRO0EzRW82WXhCOztBMkUvNVlnQjtJQUVRO0EzRWk2WXhCOztBMkUxNllnQjtJQUVRO0EzRTQ2WXhCOztBMkV2NllnQjtJQUVRO0EzRXk2WXhCOztBMkVsN1lnQjtJQUVRO0EzRW83WXhCOztBMkUvNllnQjtJQUVRO0EzRWk3WXhCOztBMkUxN1lnQjtJQUVRO0EzRTQ3WXhCOztBMkV2N1lnQjtJQUVRO0EzRXk3WXhCOztBMkVsOFlnQjtJQUVRO0EzRW84WXhCOztBMkUvN1lnQjtJQUVRO0EzRWk4WXhCOztBMkUxOFlnQjtJQUVRO0EzRTQ4WXhCOztBMkV2OFlnQjtJQUVRO0EzRXk4WXhCOztBMkVsOVlnQjtJQUVRO0EzRW85WXhCOztBMkUvOFlnQjtJQUVRO0EzRWk5WXhCOztBMkUxOVlnQjtJQUVRO0EzRTQ5WXhCOztBMkV2OVlnQjtJQUVRO0EzRXk5WXhCOztBMkVsK1lnQjtJQUVRO0EzRW8rWXhCOztBMkUvOVlnQjtJQUVRO0EzRWkrWXhCOztBMkUxK1lnQjtJQUVRO0EzRTQrWXhCOztBMkV2K1lnQjtJQUVRO0EzRXkrWXhCOztBMkVsL1lnQjtJQUVRO0EzRW8vWXhCOztBMkUvK1lnQjtJQUVRO0EzRWkvWXhCOztBMkUxL1lnQjtJQUVRO0EzRTQvWXhCOztBMkV2L1lnQjtJQUVRO0EzRXkvWXhCOztBMkVsZ1pnQjtJQUVRO0EzRW9nWnhCOztBMkUvL1lnQjtJQUVRO0EzRWlnWnhCOztBMkUxZ1pnQjtJQUVRO0EzRTRnWnhCOztBMkV2Z1pnQjtJQUVRO0EzRXlnWnhCOztBMkVsaFpnQjtJQUVRO0EzRW9oWnhCOztBMkUvZ1pnQjtJQUVRO0EzRWloWnhCOztBMkUxaFpnQjtJQUVRO0EzRTRoWnhCOztBMkV2aFpnQjtJQUVRO0EzRXloWnhCOztBMkVsaVpnQjtJQUVRO0EzRW9pWnhCOztBMkUvaFpnQjtJQUVRO0EzRWlpWnhCOztBMkUxaVpnQjtJQUVRO0EzRTRpWnhCOztBMkV2aVpnQjtJQUVRO0EzRXlpWnhCOztBMkVsalpnQjtJQUVRO0EzRW9qWnhCOztBMkUvaVpnQjtJQUVRO0EzRWlqWnhCOztBMkUxalpnQjtJQUVRO0EzRTRqWnhCOztBMkV2alpnQjtJQUVRO0EzRXlqWnhCOztBMkVsa1pnQjtJQUVRO0EzRW9rWnhCOztBMkUvalpnQjtJQUVRO0EzRWlrWnhCOztBMkUxa1pnQjtJQUVRO0EzRTRrWnhCOztBMkV2a1pnQjtJQUVRO0EzRXlrWnhCOztBMkVsbFpnQjtJQUVRO0EzRW9sWnhCOztBMkUva1pnQjtJQUVRO0EzRWlsWnhCOztBMkUxbFpnQjtJQUVRO0EzRTRsWnhCOztBMkV2bFpnQjtJQUVRO0EzRXlsWnhCOztBMkVsbVpnQjtJQUVRO0EzRW9tWnhCOztBMkUvbFpnQjtJQUVRO0EzRWltWnhCOztBMkUxbVpnQjtJQUVRO0EzRTRtWnhCOztBMkV2bVpnQjtJQUVRO0EzRXltWnhCOztBMkVsblpnQjtJQUVRO0EzRW9uWnhCOztBMkUvbVpnQjtJQUVRO0EzRWluWnhCOztBMkUxblpnQjtJQUVRO0EzRTRuWnhCOztBMkV2blpnQjtJQUVRO0EzRXluWnhCOztBMkVsb1pnQjtJQUVRO0EzRW9vWnhCOztBMkUvblpnQjtJQUVRO0EzRWlvWnhCOztBMkUxb1pnQjtJQUVRO0EzRTRvWnhCOztBMkV2b1pnQjtJQUVRO0EzRXlvWnhCOztBMkVscFpnQjtJQUVRO0EzRW9wWnhCOztBMkUvb1pnQjtJQUVRO0EzRWlwWnhCOztBMkUxcFpnQjtJQUVRO0EzRTRwWnhCOztBMkV2cFpnQjtJQUVRO0EzRXlwWnhCOztBMkVscVpnQjtJQUVRO0EzRW9xWnhCOztBMkUvcFpnQjtJQUVRO0EzRWlxWnhCOztBMkUxcVpnQjtJQUVRO0EzRTRxWnhCOztBMkV2cVpnQjtJQUVRO0EzRXlxWnhCOztBMkVsclpnQjtJQUVRO0EzRW9yWnhCOztBMkUvcVpnQjtJQUVRO0EzRWlyWnhCOztBMkUxclpnQjtJQUVRO0EzRTRyWnhCOztBMkV2clpnQjtJQUVRO0EzRXlyWnhCOztBMkVsc1pnQjtJQUVRO0EzRW9zWnhCOztBMkUvclpnQjtJQUVRO0EzRWlzWnhCOztBMkUxc1pnQjtJQUVRO0EzRTRzWnhCOztBMkV2c1pnQjtJQUVRO0EzRXlzWnhCOztBMkVsdFpnQjtJQUVRO0EzRW90WnhCOztBMkUvc1pnQjtJQUVRO0EzRWl0WnhCOztBMkUxdFpnQjtJQUVRO0EzRTR0WnhCOztBMkV2dFpnQjtJQUVRO0EzRXl0WnhCOztBMkVsdVpnQjtJQUVRO0EzRW91WnhCOztBMkUvdFpnQjtJQUVRO0EzRWl1WnhCOztBMkUxdVpnQjtJQUVRO0EzRTR1WnhCOztBMkV2dVpnQjtJQUVRO0EzRXl1WnhCOztBMkVsdlpnQjtJQUVRO0EzRW92WnhCOztBMkUvdVpnQjtJQUVRO0EzRWl2WnhCOztBMkUxdlpnQjtJQUVRO0EzRTR2WnhCOztBMkV2dlpnQjtJQUVRO0EzRXl2WnhCOztBMkVsd1pnQjtJQUVRO0EzRW93WnhCOztBMkUvdlpnQjtJQUVRO0EzRWl3WnhCOztBMkUxd1pnQjtJQUVRO0EzRTR3WnhCOztBMkV2d1pnQjtJQUVRO0EzRXl3WnhCOztBMkVseFpnQjtJQUVRO0EzRW94WnhCOztBMkUvd1pnQjtJQUVRO0EzRWl4WnhCOztBMkUxeFpnQjtJQUVRO0EzRTR4WnhCOztBMkV2eFpnQjtJQUVRO0EzRXl4WnhCOztBMkVseVpnQjtJQUVRO0EzRW95WnhCOztBMkUveFpnQjtJQUVRO0EzRWl5WnhCOztBMkUxeVpnQjtJQUVRO0EzRTR5WnhCOztBMkV2eVpnQjtJQUVRO0EzRXl5WnhCOztBMkVselpnQjtJQUVRO0EzRW96WnhCOztBMkUveVpnQjtJQUVRO0EzRWl6WnhCOztBMkUxelpnQjtJQUVRO0EzRTR6WnhCOztBMkV2elpnQjtJQUVRO0EzRXl6WnhCOztBMkVsMFpnQjtJQUVRO0EzRW8wWnhCOztBMkUvelpnQjtJQUVRO0EzRWkwWnhCOztBMkUxMFpnQjtJQUVRO0EzRTQwWnhCOztBMkV2MFpnQjtJQUVRO0EzRXkwWnhCOztBMkVsMVpnQjtJQUVRO0EzRW8xWnhCOztBMkUvMFpnQjtJQUVRO0EzRWkxWnhCOztBMkUxMVpnQjtJQUVRO0EzRTQxWnhCOztBMkV2MVpnQjtJQUVRO0EzRXkxWnhCOztBMkVsMlpnQjtJQUVRO0EzRW8yWnhCOztBMkUvMVpnQjtJQUVRO0EzRWkyWnhCOztBMkUxMlpnQjtJQUVRO0EzRTQyWnhCOztBMkV2MlpnQjtJQUVRO0EzRXkyWnhCOztBMkVsM1pnQjtJQUVRO0EzRW8zWnhCOztBMkUvMlpnQjtJQUVRO0EzRWkzWnhCOztBMkUxM1pnQjtJQUVRO0EzRTQzWnhCOztBMkV2M1pnQjtJQUVRO0EzRXkzWnhCOztBMkVsNFpnQjtJQUVRO0EzRW80WnhCOztBMkUvM1pnQjtJQUVRO0EzRWk0WnhCOztBMkUxNFpnQjtJQUVRO0EzRTQ0WnhCOztBMkV2NFpnQjtJQUVRO0EzRXk0WnhCOztBMkVsNVpnQjtJQUVRO0EzRW81WnhCOztBMkUvNFpnQjtJQUVRO0EzRWk1WnhCOztBMkUxNVpnQjtJQUVRO0EzRTQ1WnhCOztBMkV2NVpnQjtJQUVRO0EzRXk1WnhCOztBMkVsNlpnQjtJQUVRO0EzRW82WnhCOztBMkUvNVpnQjtJQUVRO0EzRWk2WnhCOztBMkUxNlpnQjtJQUVRO0EzRTQ2WnhCOztBMkV2NlpnQjtJQUVRO0EzRXk2WnhCOztBMkVsN1pnQjtJQUVRO0EzRW83WnhCOztBMkUvNlpnQjtJQUVRO0EzRWk3WnhCOztBMkUxN1pnQjtJQUVRO0EzRTQ3WnhCOztBMkV2N1pnQjtJQUVRO0EzRXk3WnhCOztBMkVsOFpnQjtJQUVRO0EzRW84WnhCOztBMkUvN1pnQjtJQUVRO0EzRWk4WnhCOztBMkUxOFpnQjtJQUVRO0EzRTQ4WnhCOztBMkV2OFpnQjtJQUVRO0EzRXk4WnhCOztBMkVsOVpnQjtJQUVRO0EzRW85WnhCOztBMkUvOFpnQjtJQUVRO0EzRWk5WnhCOztBMkUxOVpnQjtJQUVRO0EzRTQ5WnhCOztBMkV2OVpnQjtJQUVRO0EzRXk5WnhCOztBMkVsK1pnQjtJQUVRO0EzRW8rWnhCOztBMkUvOVpnQjtJQUVRO0EzRWkrWnhCOztBMkUxK1pnQjtJQUVRO0EzRTQrWnhCOztBMkV2K1pnQjtJQUVRO0EzRXkrWnhCOztBMkVsL1pnQjtJQUVRO0EzRW8vWnhCOztBMkUvK1pnQjtJQUVRO0EzRWkvWnhCOztBMkUxL1pnQjtJQUVRO0EzRTQvWnhCOztBMkV2L1pnQjtJQUVRO0EzRXkvWnhCOztBMkVsZ2FnQjtJQUVRO0EzRW9nYXhCOztBMkUvL1pnQjtJQUVRO0EzRWlnYXhCOztBMkUxZ2FnQjtJQUVRO0EzRTRnYXhCOztBMkV2Z2FnQjtJQUVRO0EzRXlnYXhCOztBMkVsaGFnQjtJQUVRO0EzRW9oYXhCOztBMkUvZ2FnQjtJQUVRO0EzRWloYXhCOztBMkUxaGFnQjtJQUVRO0EzRTRoYXhCOztBMkV2aGFnQjtJQUVRO0EzRXloYXhCOztBMkVsaWFnQjtJQUVRO0EzRW9pYXhCOztBMkUvaGFnQjtJQUVRO0EzRWlpYXhCOztBMkUxaWFnQjtJQUVRO0EzRTRpYXhCOztBMkV2aWFnQjtJQUVRO0EzRXlpYXhCOztBMkVsamFnQjtJQUVRO0EzRW9qYXhCOztBMkUvaWFnQjtJQUVRO0EzRWlqYXhCOztBMkUxamFnQjtJQUVRO0EzRTRqYXhCOztBMkV2amFnQjtJQUVRO0EzRXlqYXhCOztBMkVsa2FnQjtJQUVRO0EzRW9rYXhCOztBMkUvamFnQjtJQUVRO0EzRWlrYXhCOztBMkUxa2FnQjtJQUVRO0EzRTRrYXhCOztBMkV2a2FnQjtJQUVRO0EzRXlrYXhCOztBMkVsbGFnQjtJQUVRO0EzRW9sYXhCOztBMkUva2FnQjtJQUVRO0EzRWlsYXhCOztBMkUxbGFnQjtJQUVRO0EzRTRsYXhCOztBMkV2bGFnQjtJQUVRO0EzRXlsYXhCOztBMkVsbWFnQjtJQUVRO0EzRW9tYXhCOztBMkUvbGFnQjtJQUVRO0EzRWltYXhCOztBMkUxbWFnQjtJQUVRO0EzRTRtYXhCOztBMkV2bWFnQjtJQUVRO0EzRXltYXhCOztBMkVsbmFnQjtJQUVRO0EzRW9uYXhCOztBMkUvbWFnQjtJQUVRO0EzRWluYXhCOztBMkUxbmFnQjtJQUVRO0EzRTRuYXhCOztBMkV2bmFnQjtJQUVRO0EzRXluYXhCOztBMkVsb2FnQjtJQUVRO0EzRW9vYXhCOztBMkUvbmFnQjtJQUVRO0EzRWlvYXhCOztBMkUxb2FnQjtJQUVRO0EzRTRvYXhCOztBMkV2b2FnQjtJQUVRO0EzRXlvYXhCOztBMkVscGFnQjtJQUVRO0EzRW9wYXhCOztBMkUvb2FnQjtJQUVRO0EzRWlwYXhCOztBMkUxcGFnQjtJQUVRO0EzRTRwYXhCOztBMkV2cGFnQjtJQUVRO0EzRXlwYXhCOztBMkVscWFnQjtJQUVRO0EzRW9xYXhCOztBMkUvcGFnQjtJQUVRO0EzRWlxYXhCOztBMkUxcWFnQjtJQUVRO0EzRTRxYXhCOztBMkV2cWFnQjtJQUVRO0EzRXlxYXhCOztBMkVscmFnQjtJQUVRO0EzRW9yYXhCOztBMkUvcWFnQjtJQUVRO0EzRWlyYXhCOztBMkUxcmFnQjtJQUVRO0EzRTRyYXhCOztBMkV2cmFnQjtJQUVRO0EzRXlyYXhCOztBMkVsc2FnQjtJQUVRO0EzRW9zYXhCOztBMkUvcmFnQjtJQUVRO0EzRWlzYXhCOztBMkUxc2FnQjtJQUVRO0EzRTRzYXhCOztBMkV2c2FnQjtJQUVRO0EzRXlzYXhCOztBMkVsdGFnQjtJQUVRO0EzRW90YXhCOztBMkUvc2FnQjtJQUVRO0EzRWl0YXhCOztBMkUxdGFnQjtJQUVRO0EzRTR0YXhCOztBMkV2dGFnQjtJQUVRO0EzRXl0YXhCOztBMkVsdWFnQjtJQUVRO0EzRW91YXhCOztBMkUvdGFnQjtJQUVRO0EzRWl1YXhCOztBMkUxdWFnQjtJQUVRO0EzRTR1YXhCOztBMkV2dWFnQjtJQUVRO0EzRXl1YXhCOztBMkVsdmFnQjtJQUVRO0EzRW92YXhCOztBMkUvdWFnQjtJQUVRO0EzRWl2YXhCOztBMkUxdmFnQjtJQUVRO0EzRTR2YXhCOztBMkV2dmFnQjtJQUVRO0EzRXl2YXhCOztBMkVsd2FnQjtJQUVRO0EzRW93YXhCOztBMkUvdmFnQjtJQUVRO0EzRWl3YXhCOztBMkUxd2FnQjtJQUVRO0EzRTR3YXhCOztBMkV2d2FnQjtJQUVRO0EzRXl3YXhCOztBMkVseGFnQjtJQUVRO0EzRW94YXhCOztBMkUvd2FnQjtJQUVRO0EzRWl4YXhCOztBMkUxeGFnQjtJQUVRO0EzRTR4YXhCOztBMkV2eGFnQjtJQUVRO0EzRXl4YXhCOztBMkVseWFnQjtJQUVRO0EzRW95YXhCOztBMkUveGFnQjtJQUVRO0EzRWl5YXhCOztBMkUxeWFnQjtJQUVRO0EzRTR5YXhCOztBMkV2eWFnQjtJQUVRO0EzRXl5YXhCOztBMkVsemFnQjtJQUVRO0EzRW96YXhCOztBMkUveWFnQjtJQUVRO0EzRWl6YXhCOztBMkUxemFnQjtJQUVRO0EzRTR6YXhCOztBMkV2emFnQjtJQUVRO0EzRXl6YXhCOztBMkVsMGFnQjtJQUVRO0EzRW8wYXhCOztBMkUvemFnQjtJQUVRO0EzRWkwYXhCOztBMkUxMGFnQjtJQUVRO0EzRTQwYXhCOztBMkV2MGFnQjtJQUVRO0EzRXkwYXhCOztBMkVsMWFnQjtJQUVRO0EzRW8xYXhCOztBMkUvMGFnQjtJQUVRO0EzRWkxYXhCOztBMkUxMWFnQjtJQUVRO0EzRTQxYXhCOztBMkV2MWFnQjtJQUVRO0EzRXkxYXhCOztBMkVsMmFnQjtJQUVRO0EzRW8yYXhCOztBMkUvMWFnQjtJQUVRO0EzRWkyYXhCOztBMkUxMmFnQjtJQUVRO0EzRTQyYXhCOztBMkV2MmFnQjtJQUVRO0EzRXkyYXhCOztBMkVsM2FnQjtJQUVRO0EzRW8zYXhCOztBMkUvMmFnQjtJQUVRO0EzRWkzYXhCOztBMkUxM2FnQjtJQUVRO0EzRTQzYXhCOztBMkV2M2FnQjtJQUVRO0EzRXkzYXhCOztBMkVsNGFnQjtJQUVRO0EzRW80YXhCOztBMkUvM2FnQjtJQUVRO0EzRWk0YXhCOztBMkUxNGFnQjtJQUVRO0EzRTQ0YXhCOztBMkV2NGFnQjtJQUVRO0EzRXk0YXhCOztBMkVsNWFnQjtJQUVRO0EzRW81YXhCOztBMkUvNGFnQjtJQUVRO0EzRWk1YXhCOztBMkUxNWFnQjtJQUVRO0EzRTQ1YXhCOztBMkV2NWFnQjtJQUVRO0EzRXk1YXhCOztBMkVsNmFnQjtJQUVRO0EzRW82YXhCOztBMkUvNWFnQjtJQUVRO0EzRWk2YXhCOztBMkUxNmFnQjtJQUVRO0EzRTQ2YXhCOztBMkV2NmFnQjtJQUVRO0EzRXk2YXhCOztBMkVsN2FnQjtJQUVRO0EzRW83YXhCOztBMkUvNmFnQjtJQUVRO0EzRWk3YXhCOztBMkUxN2FnQjtJQUVRO0EzRTQ3YXhCOztBMkV2N2FnQjtJQUVRO0EzRXk3YXhCOztBMkVsOGFnQjtJQUVRO0EzRW84YXhCOztBMkUvN2FnQjtJQUVRO0EzRWk4YXhCOztBMkUxOGFnQjtJQUVRO0EzRTQ4YXhCOztBMkV2OGFnQjtJQUVRO0EzRXk4YXhCOztBMkVsOWFnQjtJQUVRO0EzRW85YXhCOztBMkUvOGFnQjtJQUVRO0EzRWk5YXhCOztBMkUxOWFnQjtJQUVRO0EzRTQ5YXhCOztBMkV2OWFnQjtJQUVRO0EzRXk5YXhCOztBMkVsK2FnQjtJQUVRO0EzRW8rYXhCOztBMkUvOWFnQjtJQUVRO0EzRWkrYXhCOztBMkUxK2FnQjtJQUVRO0EzRTQrYXhCOztBMkV2K2FnQjtJQUVRO0EzRXkrYXhCOztBMkVsL2FnQjtJQUVRO0EzRW8vYXhCOztBMkUvK2FnQjtJQUVRO0EzRWkvYXhCOztBMkUxL2FnQjtJQUVRO0EzRTQvYXhCOztBMkV2L2FnQjtJQUVRO0EzRXkvYXhCOztBMkVsZ2JnQjtJQUVRO0EzRW9nYnhCOztBMkUvL2FnQjtJQUVRO0EzRWlnYnhCOztBMkUxZ2JnQjtJQUVRO0EzRTRnYnhCOztBMkV2Z2JnQjtJQUVRO0EzRXlnYnhCOztBMkVsaGJnQjtJQUVRO0EzRW9oYnhCOztBMkUvZ2JnQjtJQUVRO0EzRWloYnhCOztBMkUxaGJnQjtJQUVRO0EzRTRoYnhCOztBMkV2aGJnQjtJQUVRO0EzRXloYnhCOztBMkVsaWJnQjtJQUVRO0EzRW9pYnhCOztBMkUvaGJnQjtJQUVRO0EzRWlpYnhCOztBMkUxaWJnQjtJQUVRO0EzRTRpYnhCOztBMkV2aWJnQjtJQUVRO0EzRXlpYnhCOztBMkVsamJnQjtJQUVRO0EzRW9qYnhCOztBMkUvaWJnQjtJQUVRO0EzRWlqYnhCOztBMkUxamJnQjtJQUVRO0EzRTRqYnhCOztBMkV2amJnQjtJQUVRO0EzRXlqYnhCOztBMkVsa2JnQjtJQUVRO0EzRW9rYnhCOztBMkUvamJnQjtJQUVRO0EzRWlrYnhCOztBMkUxa2JnQjtJQUVRO0EzRTRrYnhCOztBMkV2a2JnQjtJQUVRO0EzRXlrYnhCOztBMkVsbGJnQjtJQUVRO0EzRW9sYnhCOztBMkUva2JnQjtJQUVRO0EzRWlsYnhCOztBMkUxbGJnQjtJQUVRO0EzRTRsYnhCOztBMkV2bGJnQjtJQUVRO0EzRXlsYnhCOztBMkVsbWJnQjtJQUVRO0EzRW9tYnhCOztBMkUvbGJnQjtJQUVRO0EzRWltYnhCOztBMkUxbWJnQjtJQUVRO0EzRTRtYnhCOztBMkV2bWJnQjtJQUVRO0EzRXltYnhCOztBMkVsbmJnQjtJQUVRO0EzRW9uYnhCOztBMkUvbWJnQjtJQUVRO0EzRWluYnhCOztBMkUxbmJnQjtJQUVRO0EzRTRuYnhCOztBMkV2bmJnQjtJQUVRO0EzRXluYnhCOztBMkVsb2JnQjtJQUVRO0EzRW9vYnhCOztBMkUvbmJnQjtJQUVRO0EzRWlvYnhCOztBMkUxb2JnQjtJQUVRO0EzRTRvYnhCOztBMkV2b2JnQjtJQUVRO0EzRXlvYnhCOztBMkVscGJnQjtJQUVRO0EzRW9wYnhCOztBMkUvb2JnQjtJQUVRO0EzRWlwYnhCOztBMkUxcGJnQjtJQUVRO0EzRTRwYnhCOztBMkV2cGJnQjtJQUVRO0EzRXlwYnhCOztBMkVscWJnQjtJQUVRO0EzRW9xYnhCOztBMkUvcGJnQjtJQUVRO0EzRWlxYnhCOztBMkUxcWJnQjtJQUVRO0EzRTRxYnhCOztBMkV2cWJnQjtJQUVRO0EzRXlxYnhCOztBMkVscmJnQjtJQUVRO0EzRW9yYnhCOztBMkUvcWJnQjtJQUVRO0EzRWlyYnhCOztBMkUxcmJnQjtJQUVRO0EzRTRyYnhCOztBMkV2cmJnQjtJQUVRO0EzRXlyYnhCOztBMkVsc2JnQjtJQUVRO0EzRW9zYnhCOztBMkUvcmJnQjtJQUVRO0EzRWlzYnhCOztBMkUxc2JnQjtJQUVRO0EzRTRzYnhCOztBMkV2c2JnQjtJQUVRO0EzRXlzYnhCOztBMkVsdGJnQjtJQUVRO0EzRW90YnhCOztBMkUvc2JnQjtJQUVRO0EzRWl0YnhCOztBMkUxdGJnQjtJQUVRO0EzRTR0YnhCOztBMkV2dGJnQjtJQUVRO0EzRXl0YnhCOztBMkVsdWJnQjtJQUVRO0EzRW91YnhCOztBMkUvdGJnQjtJQUVRO0EzRWl1YnhCOztBMkUxdWJnQjtJQUVRO0EzRTR1YnhCOztBMkV2dWJnQjtJQUVRO0EzRXl1YnhCOztBMkVsdmJnQjtJQUVRO0EzRW92YnhCOztBMkUvdWJnQjtJQUVRO0EzRWl2YnhCOztBMkUxdmJnQjtJQUVRO0EzRTR2YnhCOztBMkV2dmJnQjtJQUVRO0EzRXl2YnhCOztBMkVsd2JnQjtJQUVRO0EzRW93YnhCOztBMkUvdmJnQjtJQUVRO0EzRWl3YnhCOztBMkUxd2JnQjtJQUVRO0EzRTR3YnhCOztBMkV2d2JnQjtJQUVRO0EzRXl3YnhCOztBMkVseGJnQjtJQUVRO0EzRW94YnhCOztBMkUvd2JnQjtJQUVRO0EzRWl4YnhCOztBMkUxeGJnQjtJQUVRO0EzRTR4YnhCOztBMkV2eGJnQjtJQUVRO0EzRXl4YnhCOztBMkVseWJnQjtJQUVRO0EzRW95YnhCOztBMkUveGJnQjtJQUVRO0EzRWl5YnhCOztBMkUxeWJnQjtJQUVRO0EzRTR5YnhCOztBMkV2eWJnQjtJQUVRO0EzRXl5YnhCOztBMkVsemJnQjtJQUVRO0EzRW96YnhCOztBMkUveWJnQjtJQUVRO0EzRWl6YnhCOztBMkUxemJnQjtJQUVRO0EzRTR6YnhCOztBMkV2emJnQjtJQUVRO0EzRXl6YnhCOztBMkVsMGJnQjtJQUVRO0EzRW8wYnhCOztBMkUvemJnQjtJQUVRO0EzRWkwYnhCOztBMkUxMGJnQjtJQUVRO0EzRTQwYnhCOztBMkV2MGJnQjtJQUVRO0EzRXkwYnhCOztBMkVsMWJnQjtJQUVRO0EzRW8xYnhCOztBMkUvMGJnQjtJQUVRO0EzRWkxYnhCOztBMkUxMWJnQjtJQUVRO0EzRTQxYnhCOztBMkV2MWJnQjtJQUVRO0EzRXkxYnhCOztBMkVsMmJnQjtJQUVRO0EzRW8yYnhCOztBMkUvMWJnQjtJQUVRO0EzRWkyYnhCOztBMkUxMmJnQjtJQUVRO0EzRTQyYnhCOztBMkV2MmJnQjtJQUVRO0EzRXkyYnhCOztBMkVsM2JnQjtJQUVRO0EzRW8zYnhCOztBMkUvMmJnQjtJQUVRO0EzRWkzYnhCOztBMkUxM2JnQjtJQUVRO0EzRTQzYnhCOztBMkV2M2JnQjtJQUVRO0EzRXkzYnhCOztBMkVsNGJnQjtJQUVRO0EzRW80YnhCOztBMkUvM2JnQjtJQUVRO0EzRWk0YnhCOztBMkUxNGJnQjtJQUVRO0EzRTQ0YnhCOztBMkV2NGJnQjtJQUVRO0EzRXk0YnhCOztBMkVsNWJnQjtJQUVRO0EzRW81YnhCOztBMkUvNGJnQjtJQUVRO0EzRWk1YnhCOztBMkUxNWJnQjtJQUVRO0EzRTQ1YnhCOztBMkV2NWJnQjtJQUVRO0EzRXk1YnhCOztBMkVsNmJnQjtJQUVRO0EzRW82YnhCOztBMkUvNWJnQjtJQUVRO0EzRWk2YnhCOztBMkUxNmJnQjtJQUVRO0EzRTQ2YnhCOztBMkV2NmJnQjtJQUVRO0EzRXk2YnhCOztBMkVsN2JnQjtJQUVRO0EzRW83YnhCOztBMkUvNmJnQjtJQUVRO0EzRWk3YnhCOztBMkUxN2JnQjtJQUVRO0EzRTQ3YnhCOztBMkV2N2JnQjtJQUVRO0EzRXk3YnhCOztBMkVsOGJnQjtJQUVRO0EzRW84YnhCOztBMkUvN2JnQjtJQUVRO0EzRWk4YnhCOztBMkUxOGJnQjtJQUVRO0EzRTQ4YnhCOztBMkV2OGJnQjtJQUVRO0EzRXk4YnhCOztBMkVsOWJnQjtJQUVRO0EzRW85YnhCOztBMkUvOGJnQjtJQUVRO0EzRWk5YnhCOztBMkUxOWJnQjtJQUVRO0EzRTQ5YnhCOztBMkV2OWJnQjtJQUVRO0EzRXk5YnhCOztBMkVsK2JnQjtJQUVRO0EzRW8rYnhCOztBMkUvOWJnQjtJQUVRO0EzRWkrYnhCOztBMkUxK2JnQjtJQUVRO0EzRTQrYnhCOztBMkV2K2JnQjtJQUVRO0EzRXkrYnhCOztBMkVsL2JnQjtJQUVRO0EzRW8vYnhCOztBMkUvK2JnQjtJQUVRO0EzRWkvYnhCOztBMkUxL2JnQjtJQUVRO0EzRTQvYnhCOztBMkV2L2JnQjtJQUVRO0EzRXkvYnhCOztBMkVsZ2NnQjtJQUVRO0EzRW9nY3hCOztBMkUvL2JnQjtJQUVRO0EzRWlnY3hCOztBMkUxZ2NnQjtJQUVRO0EzRTRnY3hCOztBMkV2Z2NnQjtJQUVRO0EzRXlnY3hCOztBMkVsaGNnQjtJQUVRO0EzRW9oY3hCOztBMkUvZ2NnQjtJQUVRO0EzRWloY3hCOztBMkUxaGNnQjtJQUVRO0EzRTRoY3hCOztBMkV2aGNnQjtJQUVRO0EzRXloY3hCOztBMkVsaWNnQjtJQUVRO0EzRW9pY3hCOztBMkUvaGNnQjtJQUVRO0EzRWlpY3hCOztBMkUxaWNnQjtJQUVRO0EzRTRpY3hCOztBMkV2aWNnQjtJQUVRO0EzRXlpY3hCOztBMkVsamNnQjtJQUVRO0EzRW9qY3hCOztBMkUvaWNnQjtJQUVRO0EzRWlqY3hCOztBMkUxamNnQjtJQUVRO0EzRTRqY3hCOztBMkV2amNnQjtJQUVRO0EzRXlqY3hCOztBMkVsa2NnQjtJQUVRO0EzRW9rY3hCOztBMkUvamNnQjtJQUVRO0EzRWlrY3hCOztBMkUxa2NnQjtJQUVRO0EzRTRrY3hCOztBMkV2a2NnQjtJQUVRO0EzRXlrY3hCOztBMkVsbGNnQjtJQUVRO0EzRW9sY3hCOztBMkUva2NnQjtJQUVRO0EzRWlsY3hCOztBMkUxbGNnQjtJQUVRO0EzRTRsY3hCOztBMkV2bGNnQjtJQUVRO0EzRXlsY3hCOztBMkVsbWNnQjtJQUVRO0EzRW9tY3hCOztBMkUvbGNnQjtJQUVRO0EzRWltY3hCOztBMkUxbWNnQjtJQUVRO0EzRTRtY3hCOztBMkV2bWNnQjtJQUVRO0EzRXltY3hCOztBMkVsbmNnQjtJQUVRO0EzRW9uY3hCOztBMkUvbWNnQjtJQUVRO0EzRWluY3hCOztBMkUxbmNnQjtJQUVRO0EzRTRuY3hCOztBMkV2bmNnQjtJQUVRO0EzRXluY3hCOztBMkVsb2NnQjtJQUVRO0EzRW9vY3hCOztBMkUvbmNnQjtJQUVRO0EzRWlvY3hCOztBMkUxb2NnQjtJQUVRO0EzRTRvY3hCOztBMkV2b2NnQjtJQUVRO0EzRXlvY3hCOztBMkVscGNnQjtJQUVRO0EzRW9wY3hCOztBMkUvb2NnQjtJQUVRO0EzRWlwY3hCOztBMkUxcGNnQjtJQUVRO0EzRTRwY3hCOztBMkV2cGNnQjtJQUVRO0EzRXlwY3hCOztBMkVscWNnQjtJQUVRO0EzRW9xY3hCOztBMkUvcGNnQjtJQUVRO0EzRWlxY3hCOztBMkUxcWNnQjtJQUVRO0EzRTRxY3hCOztBMkV2cWNnQjtJQUVRO0EzRXlxY3hCOztBMkVscmNnQjtJQUVRO0EzRW9yY3hCOztBMkUvcWNnQjtJQUVRO0EzRWlyY3hCOztBMkUxcmNnQjtJQUVRO0EzRTRyY3hCOztBMkV2cmNnQjtJQUVRO0EzRXlyY3hCOztBMkVsc2NnQjtJQUVRO0EzRW9zY3hCOztBMkUvcmNnQjtJQUVRO0EzRWlzY3hCOztBMkUxc2NnQjtJQUVRO0EzRTRzY3hCOztBMkV2c2NnQjtJQUVRO0EzRXlzY3hCOztBMkVsdGNnQjtJQUVRO0EzRW90Y3hCOztBMkUvc2NnQjtJQUVRO0EzRWl0Y3hCOztBMkUxdGNnQjtJQUVRO0EzRTR0Y3hCOztBMkV2dGNnQjtJQUVRO0EzRXl0Y3hCOztBMkVsdWNnQjtJQUVRO0EzRW91Y3hCOztBMkUvdGNnQjtJQUVRO0EzRWl1Y3hCOztBMkUxdWNnQjtJQUVRO0EzRTR1Y3hCOztBMkV2dWNnQjtJQUVRO0EzRXl1Y3hCOztBMkVsdmNnQjtJQUVRO0EzRW92Y3hCOztBMkUvdWNnQjtJQUVRO0EzRWl2Y3hCOztBMkUxdmNnQjtJQUVRO0EzRTR2Y3hCOztBMkV2dmNnQjtJQUVRO0EzRXl2Y3hCOztBMkVsd2NnQjtJQUVRO0EzRW93Y3hCOztBMkUvdmNnQjtJQUVRO0EzRWl3Y3hCOztBMkUxd2NnQjtJQUVRO0EzRTR3Y3hCOztBMkV2d2NnQjtJQUVRO0EzRXl3Y3hCOztBMkVseGNnQjtJQUVRO0EzRW94Y3hCOztBMkUvd2NnQjtJQUVRO0EzRWl4Y3hCOztBMkUxeGNnQjtJQUVRO0EzRTR4Y3hCOztBMkV2eGNnQjtJQUVRO0EzRXl4Y3hCOztBMkVseWNnQjtJQUVRO0EzRW95Y3hCOztBMkUveGNnQjtJQUVRO0EzRWl5Y3hCOztBMkUxeWNnQjtJQUVRO0EzRTR5Y3hCOztBMkV2eWNnQjtJQUVRO0EzRXl5Y3hCOztBMkVsemNnQjtJQUVRO0EzRW96Y3hCOztBMkUveWNnQjtJQUVRO0EzRWl6Y3hCOztBMkUxemNnQjtJQUVRO0EzRTR6Y3hCOztBMkV2emNnQjtJQUVRO0EzRXl6Y3hCOztBMkVsMGNnQjtJQUVRO0EzRW8wY3hCOztBMkUvemNnQjtJQUVRO0EzRWkwY3hCOztBMkUxMGNnQjtJQUVRO0EzRTQwY3hCOztBMkV2MGNnQjtJQUVRO0EzRXkwY3hCOztBMkVsMWNnQjtJQUVRO0EzRW8xY3hCOztBMkUvMGNnQjtJQUVRO0EzRWkxY3hCOztBMkUxMWNnQjtJQUVRO0EzRTQxY3hCOztBMkV2MWNnQjtJQUVRO0EzRXkxY3hCOztBMkVsMmNnQjtJQUVRO0EzRW8yY3hCOztBMkUvMWNnQjtJQUVRO0EzRWkyY3hCOztBMkUxMmNnQjtJQUVRO0EzRTQyY3hCOztBMkV2MmNnQjtJQUVRO0EzRXkyY3hCOztBMkVsM2NnQjtJQUVRO0EzRW8zY3hCOztBMkUvMmNnQjtJQUVRO0EzRWkzY3hCOztBMkUxM2NnQjtJQUVRO0EzRTQzY3hCOztBMkV2M2NnQjtJQUVRO0EzRXkzY3hCOztBMkVsNGNnQjtJQUVRO0EzRW80Y3hCOztBMkUvM2NnQjtJQUVRO0EzRWk0Y3hCOztBMkUxNGNnQjtJQUVRO0EzRTQ0Y3hCOztBMkV2NGNnQjtJQUVRO0EzRXk0Y3hCOztBMkVsNWNnQjtJQUVRO0EzRW81Y3hCOztBMkUvNGNnQjtJQUVRO0EzRWk1Y3hCOztBMkUxNWNnQjtJQUVRO0EzRTQ1Y3hCOztBMkV2NWNnQjtJQUVRO0EzRXk1Y3hCOztBMkVsNmNnQjtJQUVRO0EzRW82Y3hCOztBMkUvNWNnQjtJQUVRO0EzRWk2Y3hCOztBMkUxNmNnQjtJQUVRO0EzRTQ2Y3hCOztBMkV2NmNnQjtJQUVRO0EzRXk2Y3hCOztBMkVsN2NnQjtJQUVRO0EzRW83Y3hCOztBMkUvNmNnQjtJQUVRO0EzRWk3Y3hCOztBMkUxN2NnQjtJQUVRO0EzRTQ3Y3hCOztBMkV2N2NnQjtJQUVRO0EzRXk3Y3hCOztBMkVsOGNnQjtJQUVRO0EzRW84Y3hCOztBMkUvN2NnQjtJQUVRO0EzRWk4Y3hCOztBMkUxOGNnQjtJQUVRO0EzRTQ4Y3hCOztBMkV2OGNnQjtJQUVRO0EzRXk4Y3hCOztBMkVsOWNnQjtJQUVRO0EzRW85Y3hCOztBMkUvOGNnQjtJQUVRO0EzRWk5Y3hCOztBMkUxOWNnQjtJQUVRO0EzRTQ5Y3hCOztBMkV2OWNnQjtJQUVRO0EzRXk5Y3hCOztBMkVsK2NnQjtJQUVRO0EzRW8rY3hCOztBMkUvOWNnQjtJQUVRO0EzRWkrY3hCOztBMkUxK2NnQjtJQUVRO0EzRTQrY3hCOztBMkV2K2NnQjtJQUVRO0EzRXkrY3hCOztBMkVsL2NnQjtJQUVRO0EzRW8vY3hCOztBMkUvK2NnQjtJQUVRO0EzRWkvY3hCOztBMkUxL2NnQjtJQUVRO0EzRTQvY3hCOztBMkV2L2NnQjtJQUVRO0EzRXkvY3hCOztBMkVsZ2RnQjtJQUVRO0EzRW9nZHhCOztBMkUvL2NnQjtJQUVRO0EzRWlnZHhCOztBMkUxZ2RnQjtJQUVRO0EzRTRnZHhCOztBMkV2Z2RnQjtJQUVRO0EzRXlnZHhCOztBMkVsaGRnQjtJQUVRO0EzRW9oZHhCOztBMkUvZ2RnQjtJQUVRO0EzRWloZHhCOztBMkUxaGRnQjtJQUVRO0EzRTRoZHhCOztBMkV2aGRnQjtJQUVRO0EzRXloZHhCOztBMkVsaWRnQjtJQUVRO0EzRW9pZHhCOztBMkUvaGRnQjtJQUVRO0EzRWlpZHhCOztBMkUxaWRnQjtJQUVRO0EzRTRpZHhCOztBMkV2aWRnQjtJQUVRO0EzRXlpZHhCOztBMkVsamRnQjtJQUVRO0EzRW9qZHhCOztBMkUvaWRnQjtJQUVRO0EzRWlqZHhCOztBMkUxamRnQjtJQUVRO0EzRTRqZHhCOztBMkV2amRnQjtJQUVRO0EzRXlqZHhCOztBMkVsa2RnQjtJQUVRO0EzRW9rZHhCOztBMkUvamRnQjtJQUVRO0EzRWlrZHhCOztBMkUxa2RnQjtJQUVRO0EzRTRrZHhCOztBMkV2a2RnQjtJQUVRO0EzRXlrZHhCOztBMkVsbGRnQjtJQUVRO0EzRW9sZHhCOztBMkUva2RnQjtJQUVRO0EzRWlsZHhCOztBMkUxbGRnQjtJQUVRO0EzRTRsZHhCOztBMkV2bGRnQjtJQUVRO0EzRXlsZHhCOztBMkVsbWRnQjtJQUVRO0EzRW9tZHhCOztBMkUvbGRnQjtJQUVRO0EzRWltZHhCOztBMkUxbWRnQjtJQUVRO0EzRTRtZHhCOztBMkV2bWRnQjtJQUVRO0EzRXltZHhCOztBMkVsbmRnQjtJQUVRO0EzRW9uZHhCOztBMkUvbWRnQjtJQUVRO0EzRWluZHhCOztBMkUxbmRnQjtJQUVRO0EzRTRuZHhCOztBMkV2bmRnQjtJQUVRO0EzRXluZHhCOztBMkVsb2RnQjtJQUVRO0EzRW9vZHhCOztBMkUvbmRnQjtJQUVRO0EzRWlvZHhCOztBMkUxb2RnQjtJQUVRO0EzRTRvZHhCOztBMkV2b2RnQjtJQUVRO0EzRXlvZHhCOztBMkVscGRnQjtJQUVRO0EzRW9wZHhCOztBMkUvb2RnQjtJQUVRO0EzRWlwZHhCOztBMkUxcGRnQjtJQUVRO0EzRTRwZHhCOztBMkV2cGRnQjtJQUVRO0EzRXlwZHhCOztBMkVscWRnQjtJQUVRO0EzRW9xZHhCOztBMkUvcGRnQjtJQUVRO0EzRWlxZHhCOztBMkUxcWRnQjtJQUVRO0EzRTRxZHhCOztBMkV2cWRnQjtJQUVRO0EzRXlxZHhCOztBMkVscmRnQjtJQUVRO0EzRW9yZHhCOztBMkUvcWRnQjtJQUVRO0EzRWlyZHhCOztBMkUxcmRnQjtJQUVRO0EzRTRyZHhCOztBMkV2cmRnQjtJQUVRO0EzRXlyZHhCOztBMkVsc2RnQjtJQUVRO0EzRW9zZHhCOztBMkUvcmRnQjtJQUVRO0EzRWlzZHhCOztBMkUxc2RnQjtJQUVRO0EzRTRzZHhCOztBMkV2c2RnQjtJQUVRO0EzRXlzZHhCOztBMkVsdGRnQjtJQUVRO0EzRW90ZHhCOztBMkUvc2RnQjtJQUVRO0EzRWl0ZHhCOztBMkUxdGRnQjtJQUVRO0EzRTR0ZHhCOztBMkV2dGRnQjtJQUVRO0EzRXl0ZHhCOztBMkVsdWRnQjtJQUVRO0EzRW91ZHhCOztBMkUvdGRnQjtJQUVRO0EzRWl1ZHhCOztBMkUxdWRnQjtJQUVRO0EzRTR1ZHhCOztBMkV2dWRnQjtJQUVRO0EzRXl1ZHhCOztBMkVsdmRnQjtJQUVRO0EzRW92ZHhCOztBMkUvdWRnQjtJQUVRO0EzRWl2ZHhCOztBMkUxdmRnQjtJQUVRO0EzRTR2ZHhCOztBMkV2dmRnQjtJQUVRO0EzRXl2ZHhCOztBMkVsd2RnQjtJQUVRO0EzRW93ZHhCOztBMkUvdmRnQjtJQUVRO0EzRWl3ZHhCOztBMkUxd2RnQjtJQUVRO0EzRTR3ZHhCOztBMkV2d2RnQjtJQUVRO0EzRXl3ZHhCOztBMkVseGRnQjtJQUVRO0EzRW94ZHhCOztBMkUvd2RnQjtJQUVRO0EzRWl4ZHhCOztBMkUxeGRnQjtJQUVRO0EzRTR4ZHhCOztBMkV2eGRnQjtJQUVRO0EzRXl4ZHhCOztBMkVseWRnQjtJQUVRO0EzRW95ZHhCOztBMkUveGRnQjtJQUVRO0EzRWl5ZHhCOztBMkUxeWRnQjtJQUVRO0EzRTR5ZHhCOztBMkV2eWRnQjtJQUVRO0EzRXl5ZHhCOztBMkVsemRnQjtJQUVRO0EzRW96ZHhCOztBMkUveWRnQjtJQUVRO0EzRWl6ZHhCOztBMkUxemRnQjtJQUVRO0EzRTR6ZHhCOztBMkV2emRnQjtJQUVRO0EzRXl6ZHhCOztBMkVsMGRnQjtJQUVRO0EzRW8wZHhCOztBMkUvemRnQjtJQUVRO0EzRWkwZHhCOztBMkUxMGRnQjtJQUVRO0EzRTQwZHhCOztBMkV2MGRnQjtJQUVRO0EzRXkwZHhCOztBMkVsMWRnQjtJQUVRO0EzRW8xZHhCOztBMkUvMGRnQjtJQUVRO0EzRWkxZHhCOztBMkUxMWRnQjtJQUVRO0EzRTQxZHhCOztBMkV2MWRnQjtJQUVRO0EzRXkxZHhCOztBMkVsMmRnQjtJQUVRO0EzRW8yZHhCOztBMkUvMWRnQjtJQUVRO0EzRWkyZHhCOztBMkUxMmRnQjtJQUVRO0EzRTQyZHhCOztBMkV2MmRnQjtJQUVRO0EzRXkyZHhCOztBMkVsM2RnQjtJQUVRO0EzRW8zZHhCOztBMkUvMmRnQjtJQUVRO0EzRWkzZHhCOztBMkUxM2RnQjtJQUVRO0EzRTQzZHhCOztBMkV2M2RnQjtJQUVRO0EzRXkzZHhCOztBMkVsNGRnQjtJQUVRO0EzRW80ZHhCOztBMkUvM2RnQjtJQUVRO0EzRWk0ZHhCOztBMkUxNGRnQjtJQUVRO0EzRTQ0ZHhCOztBMkV2NGRnQjtJQUVRO0EzRXk0ZHhCOztBMkVsNWRnQjtJQUVRO0EzRW81ZHhCOztBMkUvNGRnQjtJQUVRO0EzRWk1ZHhCOztBMkUxNWRnQjtJQUVRO0EzRTQ1ZHhCOztBMkV2NWRnQjtJQUVRO0EzRXk1ZHhCOztBMkVsNmRnQjtJQUVRO0EzRW82ZHhCOztBMkUvNWRnQjtJQUVRO0EzRWk2ZHhCOztBMkUxNmRnQjtJQUVRO0EzRTQ2ZHhCOztBMkV2NmRnQjtJQUVRO0EzRXk2ZHhCOztBMkVsN2RnQjtJQUVRO0EzRW83ZHhCOztBMkUvNmRnQjtJQUVRO0EzRWk3ZHhCOztBMkUxN2RnQjtJQUVRO0EzRTQ3ZHhCOztBMkV2N2RnQjtJQUVRO0EzRXk3ZHhCOztBMkVsOGRnQjtJQUVRO0EzRW84ZHhCOztBMkUvN2RnQjtJQUVRO0EzRWk4ZHhCOztBMkUxOGRnQjtJQUVRO0EzRTQ4ZHhCOztBMkV2OGRnQjtJQUVRO0EzRXk4ZHhCOztBMkVsOWRnQjtJQUVRO0EzRW85ZHhCOztBMkUvOGRnQjtJQUVRO0EzRWk5ZHhCOztBMkUxOWRnQjtJQUVRO0EzRTQ5ZHhCOztBMkV2OWRnQjtJQUVRO0EzRXk5ZHhCOztBMkVsK2RnQjtJQUVRO0EzRW8rZHhCOztBMkUvOWRnQjtJQUVRO0EzRWkrZHhCOztBMkUxK2RnQjtJQUVRO0EzRTQrZHhCOztBMkV2K2RnQjtJQUVRO0EzRXkrZHhCOztBMkVsL2RnQjtJQUVRO0EzRW8vZHhCOztBMkUvK2RnQjtJQUVRO0EzRWkvZHhCOztBMkUxL2RnQjtJQUVRO0EzRTQvZHhCOztBMkV2L2RnQjtJQUVRO0EzRXkvZHhCOztBMkVsZ2VnQjtJQUVRO0EzRW9nZXhCOztBMkUvL2RnQjtJQUVRO0EzRWlnZXhCOztBMkUxZ2VnQjtJQUVRO0EzRTRnZXhCOztBMkV2Z2VnQjtJQUVRO0EzRXlnZXhCOztBMkVsaGVnQjtJQUVRO0EzRW9oZXhCOztBMkUvZ2VnQjtJQUVRO0EzRWloZXhCOztBMkUxaGVnQjtJQUVRO0EzRTRoZXhCOztBMkV2aGVnQjtJQUVRO0EzRXloZXhCOztBMkVsaWVnQjtJQUVRO0EzRW9pZXhCOztBMkUvaGVnQjtJQUVRO0EzRWlpZXhCOztBMkUxaWVnQjtJQUVRO0EzRTRpZXhCOztBMkV2aWVnQjtJQUVRO0EzRXlpZXhCOztBMkVsamVnQjtJQUVRO0EzRW9qZXhCOztBMkUvaWVnQjtJQUVRO0EzRWlqZXhCOztBMkUxamVnQjtJQUVRO0EzRTRqZXhCOztBMkV2amVnQjtJQUVRO0EzRXlqZXhCOztBMkVsa2VnQjtJQUVRO0EzRW9rZXhCOztBMkUvamVnQjtJQUVRO0EzRWlrZXhCOztBMkUxa2VnQjtJQUVRO0EzRTRrZXhCOztBMkV2a2VnQjtJQUVRO0EzRXlrZXhCOztBMkVsbGVnQjtJQUVRO0EzRW9sZXhCOztBMkUva2VnQjtJQUVRO0EzRWlsZXhCOztBMkUxbGVnQjtJQUVRO0EzRTRsZXhCOztBMkV2bGVnQjtJQUVRO0EzRXlsZXhCOztBMkVsbWVnQjtJQUVRO0EzRW9tZXhCOztBMkUvbGVnQjtJQUVRO0EzRWltZXhCOztBMkUxbWVnQjtJQUVRO0EzRTRtZXhCOztBMkV2bWVnQjtJQUVRO0EzRXltZXhCOztBMkVsbmVnQjtJQUVRO0EzRW9uZXhCOztBMkUvbWVnQjtJQUVRO0EzRWluZXhCOztBMkUxbmVnQjtJQUVRO0EzRTRuZXhCOztBMkV2bmVnQjtJQUVRO0EzRXluZXhCOztBMkVsb2VnQjtJQUVRO0EzRW9vZXhCOztBMkUvbmVnQjtJQUVRO0EzRWlvZXhCOztBMkUxb2VnQjtJQUVRO0EzRTRvZXhCOztBMkV2b2VnQjtJQUVRO0EzRXlvZXhCOztBMkVscGVnQjtJQUVRO0EzRW9wZXhCOztBMkUvb2VnQjtJQUVRO0EzRWlwZXhCOztBMkUxcGVnQjtJQUVRO0EzRTRwZXhCOztBMkV2cGVnQjtJQUVRO0EzRXlwZXhCOztBMkVscWVnQjtJQUVRO0EzRW9xZXhCOztBMkUvcGVnQjtJQUVRO0EzRWlxZXhCOztBMkUxcWVnQjtJQUVRO0EzRTRxZXhCOztBMkV2cWVnQjtJQUVRO0EzRXlxZXhCOztBMkVscmVnQjtJQUVRO0EzRW9yZXhCOztBMkUvcWVnQjtJQUVRO0EzRWlyZXhCOztBMkUxcmVnQjtJQUVRO0EzRTRyZXhCOztBMkV2cmVnQjtJQUVRO0EzRXlyZXhCOztBMkVsc2VnQjtJQUVRO0EzRW9zZXhCOztBMkUvcmVnQjtJQUVRO0EzRWlzZXhCOztBMkUxc2VnQjtJQUVRO0EzRTRzZXhCOztBMkV2c2VnQjtJQUVRO0EzRXlzZXhCOztBMkVsdGVnQjtJQUVRO0EzRW90ZXhCOztBMkUvc2VnQjtJQUVRO0EzRWl0ZXhCOztBMkUxdGVnQjtJQUVRO0EzRTR0ZXhCOztBMkV2dGVnQjtJQUVRO0EzRXl0ZXhCOztBMkVsdWVnQjtJQUVRO0EzRW91ZXhCOztBMkUvdGVnQjtJQUVRO0EzRWl1ZXhCOztBMkUxdWVnQjtJQUVRO0EzRTR1ZXhCOztBMkV2dWVnQjtJQUVRO0EzRXl1ZXhCOztBMkVsdmVnQjtJQUVRO0EzRW92ZXhCOztBMkUvdWVnQjtJQUVRO0EzRWl2ZXhCOztBMkUxdmVnQjtJQUVRO0EzRTR2ZXhCOztBMkV2dmVnQjtJQUVRO0EzRXl2ZXhCOztBMkVsd2VnQjtJQUVRO0EzRW93ZXhCOztBMkUvdmVnQjtJQUVRO0EzRWl3ZXhCOztBMkUxd2VnQjtJQUVRO0EzRTR3ZXhCOztBMkV2d2VnQjtJQUVRO0EzRXl3ZXhCOztBMkVseGVnQjtJQUVRO0EzRW94ZXhCOztBMkUvd2VnQjtJQUVRO0EzRWl4ZXhCOztBMkUxeGVnQjtJQUVRO0EzRTR4ZXhCOztBMkV2eGVnQjtJQUVRO0EzRXl4ZXhCOztBMkVseWVnQjtJQUVRO0EzRW95ZXhCOztBMkUveGVnQjtJQUVRO0EzRWl5ZXhCOztBMkUxeWVnQjtJQUVRO0EzRTR5ZXhCOztBMkV2eWVnQjtJQUVRO0EzRXl5ZXhCOztBMkVsemVnQjtJQUVRO0EzRW96ZXhCOztBMkUveWVnQjtJQUVRO0EzRWl6ZXhCOztBMkUxemVnQjtJQUVRO0EzRTR6ZXhCOztBMkV2emVnQjtJQUVRO0EzRXl6ZXhCOztBMkVsMGVnQjtJQUVRO0EzRW8wZXhCOztBMkUvemVnQjtJQUVRO0EzRWkwZXhCOztBMkUxMGVnQjtJQUVRO0EzRTQwZXhCOztBMkV2MGVnQjtJQUVRO0EzRXkwZXhCOztBMkVsMWVnQjtJQUVRO0EzRW8xZXhCOztBMkUvMGVnQjtJQUVRO0EzRWkxZXhCOztBMkUxMWVnQjtJQUVRO0EzRTQxZXhCOztBMkV2MWVnQjtJQUVRO0EzRXkxZXhCOztBMkVsMmVnQjtJQUVRO0EzRW8yZXhCOztBMkUvMWVnQjtJQUVRO0EzRWkyZXhCOztBMkUxMmVnQjtJQUVRO0EzRTQyZXhCOztBMkV2MmVnQjtJQUVRO0EzRXkyZXhCOztBMkVsM2VnQjtJQUVRO0EzRW8zZXhCOztBMkUvMmVnQjtJQUVRO0EzRWkzZXhCOztBMkUxM2VnQjtJQUVRO0EzRTQzZXhCOztBMkV2M2VnQjtJQUVRO0EzRXkzZXhCOztBMkVsNGVnQjtJQUVRO0EzRW80ZXhCOztBMkUvM2VnQjtJQUVRO0EzRWk0ZXhCOztBMkUxNGVnQjtJQUVRO0EzRTQ0ZXhCOztBMkV2NGVnQjtJQUVRO0EzRXk0ZXhCOztBMkVsNWVnQjtJQUVRO0EzRW81ZXhCOztBMkUvNGVnQjtJQUVRO0EzRWk1ZXhCOztBMkUxNWVnQjtJQUVRO0EzRTQ1ZXhCOztBMkV2NWVnQjtJQUVRO0EzRXk1ZXhCOztBMkVsNmVnQjtJQUVRO0EzRW82ZXhCOztBMkUvNWVnQjtJQUVRO0EzRWk2ZXhCOztBMkUxNmVnQjtJQUVRO0EzRTQ2ZXhCOztBMkV2NmVnQjtJQUVRO0EzRXk2ZXhCOztBMkVsN2VnQjtJQUVRO0EzRW83ZXhCOztBMkUvNmVnQjtJQUVRO0EzRWk3ZXhCOztBMkUxN2VnQjtJQUVRO0EzRTQ3ZXhCOztBMkV2N2VnQjtJQUVRO0EzRXk3ZXhCOztBMkVsOGVnQjtJQUVRO0EzRW84ZXhCOztBMkUvN2VnQjtJQUVRO0EzRWk4ZXhCOztBMkUxOGVnQjtJQUVRO0EzRTQ4ZXhCOztBMkV2OGVnQjtJQUVRO0EzRXk4ZXhCOztBMkVsOWVnQjtJQUVRO0EzRW85ZXhCOztBMkUvOGVnQjtJQUVRO0EzRWk5ZXhCOztBMkUxOWVnQjtJQUVRO0EzRTQ5ZXhCOztBMkV2OWVnQjtJQUVRO0EzRXk5ZXhCOztBMkVsK2VnQjtJQUVRO0EzRW8rZXhCOztBMkUvOWVnQjtJQUVRO0EzRWkrZXhCOztBMkUxK2VnQjtJQUVRO0EzRTQrZXhCOztBMkV2K2VnQjtJQUVRO0EzRXkrZXhCOztBMkVsL2VnQjtJQUVRO0EzRW8vZXhCOztBMkUvK2VnQjtJQUVRO0EzRWkvZXhCOztBMkUxL2VnQjtJQUVRO0EzRTQvZXhCOztBMkV2L2VnQjtJQUVRO0EzRXkvZXhCOztBMkVsZ2ZnQjtJQUVRO0EzRW9nZnhCOztBMkUvL2VnQjtJQUVRO0EzRWlnZnhCOztBMkUxZ2ZnQjtJQUVRO0EzRTRnZnhCOztBMkV2Z2ZnQjtJQUVRO0EzRXlnZnhCOztBMkVsaGZnQjtJQUVRO0EzRW9oZnhCOztBMkUvZ2ZnQjtJQUVRO0EzRWloZnhCOztBMkUxaGZnQjtJQUVRO0EzRTRoZnhCOztBMkV2aGZnQjtJQUVRO0EzRXloZnhCOztBMkVsaWZnQjtJQUVRO0EzRW9pZnhCOztBMkUvaGZnQjtJQUVRO0EzRWlpZnhCOztBMkUxaWZnQjtJQUVRO0EzRTRpZnhCOztBMkV2aWZnQjtJQUVRO0EzRXlpZnhCOztBMkVsamZnQjtJQUVRO0EzRW9qZnhCOztBMkUvaWZnQjtJQUVRO0EzRWlqZnhCOztBMkUxamZnQjtJQUVRO0EzRTRqZnhCOztBMkV2amZnQjtJQUVRO0EzRXlqZnhCOztBMkVsa2ZnQjtJQUVRO0EzRW9rZnhCOztBMkUvamZnQjtJQUVRO0EzRWlrZnhCOztBMkUxa2ZnQjtJQUVRO0EzRTRrZnhCOztBMkV2a2ZnQjtJQUVRO0EzRXlrZnhCOztBMkVsbGZnQjtJQUVRO0EzRW9sZnhCOztBMkUva2ZnQjtJQUVRO0EzRWlsZnhCOztBMkUxbGZnQjtJQUVRO0EzRTRsZnhCOztBMkV2bGZnQjtJQUVRO0EzRXlsZnhCOztBMkVsbWZnQjtJQUVRO0EzRW9tZnhCOztBMkUvbGZnQjtJQUVRO0EzRWltZnhCOztBMkUxbWZnQjtJQUVRO0EzRTRtZnhCOztBMkV2bWZnQjtJQUVRO0EzRXltZnhCOztBMkVsbmZnQjtJQUVRO0EzRW9uZnhCOztBMkUvbWZnQjtJQUVRO0EzRWluZnhCOztBMkUxbmZnQjtJQUVRO0EzRTRuZnhCOztBMkV2bmZnQjtJQUVRO0EzRXluZnhCOztBMkVsb2ZnQjtJQUVRO0EzRW9vZnhCOztBMkUvbmZnQjtJQUVRO0EzRWlvZnhCOztBMkUxb2ZnQjtJQUVRO0EzRTRvZnhCOztBMkV2b2ZnQjtJQUVRO0EzRXlvZnhCOztBMkVscGZnQjtJQUVRO0EzRW9wZnhCOztBMkUvb2ZnQjtJQUVRO0EzRWlwZnhCOztBMkUxcGZnQjtJQUVRO0EzRTRwZnhCOztBMkV2cGZnQjtJQUVRO0EzRXlwZnhCOztBMkVscWZnQjtJQUVRO0EzRW9xZnhCOztBMkUvcGZnQjtJQUVRO0EzRWlxZnhCOztBMkUxcWZnQjtJQUVRO0EzRTRxZnhCOztBMkV2cWZnQjtJQUVRO0EzRXlxZnhCOztBMkVscmZnQjtJQUVRO0EzRW9yZnhCOztBMkUvcWZnQjtJQUVRO0EzRWlyZnhCOztBMkUxcmZnQjtJQUVRO0EzRTRyZnhCOztBMkV2cmZnQjtJQUVRO0EzRXlyZnhCOztBMkVsc2ZnQjtJQUVRO0EzRW9zZnhCOztBMkUvcmZnQjtJQUVRO0EzRWlzZnhCOztBMkUxc2ZnQjtJQUVRO0EzRTRzZnhCOztBMkV2c2ZnQjtJQUVRO0EzRXlzZnhCOztBMkVsdGZnQjtJQUVRO0EzRW90ZnhCOztBMkUvc2ZnQjtJQUVRO0EzRWl0ZnhCOztBMkUxdGZnQjtJQUVRO0EzRTR0ZnhCOztBMkV2dGZnQjtJQUVRO0EzRXl0ZnhCOztBMkVsdWZnQjtJQUVRO0EzRW91ZnhCOztBMkUvdGZnQjtJQUVRO0EzRWl1ZnhCOztBMkUxdWZnQjtJQUVRO0EzRTR1ZnhCOztBMkV2dWZnQjtJQUVRO0EzRXl1ZnhCOztBMkVsdmZnQjtJQUVRO0EzRW92ZnhCOztBMkUvdWZnQjtJQUVRO0EzRWl2ZnhCOztBMkUxdmZnQjtJQUVRO0EzRTR2ZnhCOztBMkV2dmZnQjtJQUVRO0EzRXl2ZnhCOztBMkVsd2ZnQjtJQUVRO0EzRW93ZnhCOztBMkUvdmZnQjtJQUVRO0EzRWl3ZnhCOztBMkUxd2ZnQjtJQUVRO0EzRTR3ZnhCOztBMkV2d2ZnQjtJQUVRO0EzRXl3ZnhCOztBMkVseGZnQjtJQUVRO0EzRW94ZnhCOztBMkUvd2ZnQjtJQUVRO0EzRWl4ZnhCOztBMkUxeGZnQjtJQUVRO0EzRTR4ZnhCOztBMkV2eGZnQjtJQUVRO0EzRXl4ZnhCOztBMkVseWZnQjtJQUVRO0EzRW95ZnhCOztBMkUveGZnQjtJQUVRO0EzRWl5ZnhCOztBMkUxeWZnQjtJQUVRO0EzRTR5ZnhCOztBMkV2eWZnQjtJQUVRO0EzRXl5ZnhCOztBMkVsemZnQjtJQUVRO0EzRW96ZnhCOztBMkUveWZnQjtJQUVRO0EzRWl6ZnhCOztBMkUxemZnQjtJQUVRO0EzRTR6ZnhCOztBMkV2emZnQjtJQUVRO0EzRXl6ZnhCOztBMkVsMGZnQjtJQUVRO0EzRW8wZnhCOztBMkUvemZnQjtJQUVRO0EzRWkwZnhCOztBMkUxMGZnQjtJQUVRO0EzRTQwZnhCOztBMkV2MGZnQjtJQUVRO0EzRXkwZnhCOztBMkVsMWZnQjtJQUVRO0EzRW8xZnhCOztBMkUvMGZnQjtJQUVRO0EzRWkxZnhCOztBMkUxMWZnQjtJQUVRO0EzRTQxZnhCOztBMkV2MWZnQjtJQUVRO0EzRXkxZnhCOztBMkVsMmZnQjtJQUVRO0EzRW8yZnhCOztBMkUvMWZnQjtJQUVRO0EzRWkyZnhCOztBMkUxMmZnQjtJQUVRO0EzRTQyZnhCOztBMkV2MmZnQjtJQUVRO0EzRXkyZnhCOztBMkVsM2ZnQjtJQUVRO0EzRW8zZnhCOztBMkUvMmZnQjtJQUVRO0EzRWkzZnhCOztBMkUxM2ZnQjtJQUVRO0EzRTQzZnhCOztBMkV2M2ZnQjtJQUVRO0EzRXkzZnhCOztBMkVsNGZnQjtJQUVRO0EzRW80ZnhCOztBMkUvM2ZnQjtJQUVRO0EzRWk0ZnhCOztBMkUxNGZnQjtJQUVRO0EzRTQ0ZnhCOztBMkV2NGZnQjtJQUVRO0EzRXk0ZnhCOztBMkVsNWZnQjtJQUVRO0EzRW81ZnhCOztBMkUvNGZnQjtJQUVRO0EzRWk1ZnhCOztBMkUxNWZnQjtJQUVRO0EzRTQ1ZnhCOztBMkV2NWZnQjtJQUVRO0EzRXk1ZnhCOztBMkVsNmZnQjtJQUVRO0EzRW82ZnhCOztBMkUvNWZnQjtJQUVRO0EzRWk2ZnhCOztBMkUxNmZnQjtJQUVRO0EzRTQ2ZnhCOztBMkV2NmZnQjtJQUVRO0EzRXk2ZnhCOztBMkVsN2ZnQjtJQUVRO0EzRW83ZnhCOztBMkUvNmZnQjtJQUVRO0EzRWk3ZnhCOztBMkUxN2ZnQjtJQUVRO0EzRTQ3ZnhCOztBMkV2N2ZnQjtJQUVRO0EzRXk3ZnhCOztBMkVsOGZnQjtJQUVRO0EzRW84ZnhCOztBMkUvN2ZnQjtJQUVRO0EzRWk4ZnhCOztBMkUxOGZnQjtJQUVRO0EzRTQ4ZnhCOztBMkV2OGZnQjtJQUVRO0EzRXk4ZnhCOztBMkVsOWZnQjtJQUVRO0EzRW85ZnhCOztBMkUvOGZnQjtJQUVRO0EzRWk5ZnhCOztBMkUxOWZnQjtJQUVRO0EzRTQ5ZnhCOztBMkV2OWZnQjtJQUVRO0EzRXk5ZnhCOztBMkVsK2ZnQjtJQUVRO0EzRW8rZnhCOztBMkUvOWZnQjtJQUVRO0EzRWkrZnhCOztBMkUxK2ZnQjtJQUVRO0EzRTQrZnhCOztBMkV2K2ZnQjtJQUVRO0EzRXkrZnhCOztBMkVsL2ZnQjtJQUVRO0EzRW8vZnhCOztBMkUvK2ZnQjtJQUVRO0EzRWkvZnhCOztBMkUxL2ZnQjtJQUVRO0EzRTQvZnhCOztBMkV2L2ZnQjtJQUVRO0EzRXkvZnhCOztBMkVsZ2dCZ0I7SUFFUTtBM0VvZ2dCeEI7O0EyRS8vZmdCO0lBRVE7QTNFaWdnQnhCOztBMkUxZ2dCZ0I7SUFFUTtBM0U0Z2dCeEI7O0EyRXZnZ0JnQjtJQUVRO0EzRXlnZ0J4Qjs7QTJFbGhnQmdCO0lBRVE7QTNFb2hnQnhCOztBMkUvZ2dCZ0I7SUFFUTtBM0VpaGdCeEI7O0EyRTFoZ0JnQjtJQUVRO0EzRTRoZ0J4Qjs7QTJFdmhnQmdCO0lBRVE7QTNFeWhnQnhCOztBMkVsaWdCZ0I7SUFFUTtBM0VvaWdCeEI7O0EyRS9oZ0JnQjtJQUVRO0EzRWlpZ0J4Qjs7QTJFMWlnQmdCO0lBRVE7QTNFNGlnQnhCOztBMkV2aWdCZ0I7SUFFUTtBM0V5aWdCeEI7O0EyRWxqZ0JnQjtJQUVRO0EzRW9qZ0J4Qjs7QTJFL2lnQmdCO0lBRVE7QTNFaWpnQnhCOztBMkUxamdCZ0I7SUFFUTtBM0U0amdCeEI7O0EyRXZqZ0JnQjtJQUVRO0EzRXlqZ0J4Qjs7QTJFbGtnQmdCO0lBRVE7QTNFb2tnQnhCOztBMkUvamdCZ0I7SUFFUTtBM0Vpa2dCeEI7O0EyRTFrZ0JnQjtJQUVRO0EzRTRrZ0J4Qjs7QTJFdmtnQmdCO0lBRVE7QTNFeWtnQnhCOztBMkVsbGdCZ0I7SUFFUTtBM0VvbGdCeEI7O0EyRS9rZ0JnQjtJQUVRO0EzRWlsZ0J4Qjs7QTJFMWxnQmdCO0lBRVE7QTNFNGxnQnhCOztBMkV2bGdCZ0I7SUFFUTtBM0V5bGdCeEI7O0EyRWxtZ0JnQjtJQUVRO0EzRW9tZ0J4Qjs7QTJFL2xnQmdCO0lBRVE7QTNFaW1nQnhCOztBMkUxbWdCZ0I7SUFFUTtBM0U0bWdCeEI7O0EyRXZtZ0JnQjtJQUVRO0EzRXltZ0J4Qjs7QTJFbG5nQmdCO0lBRVE7QTNFb25nQnhCOztBMkUvbWdCZ0I7SUFFUTtBM0VpbmdCeEI7O0EyRTFuZ0JnQjtJQUVRO0EzRTRuZ0J4Qjs7QTJFdm5nQmdCO0lBRVE7QTNFeW5nQnhCOztBMkVsb2dCZ0I7SUFFUTtBM0Vvb2dCeEI7O0EyRS9uZ0JnQjtJQUVRO0EzRWlvZ0J4Qjs7QTJFMW9nQmdCO0lBRVE7QTNFNG9nQnhCOztBMkV2b2dCZ0I7SUFFUTtBM0V5b2dCeEI7O0EyRWxwZ0JnQjtJQUVRO0EzRW9wZ0J4Qjs7QTJFL29nQmdCO0lBRVE7QTNFaXBnQnhCOztBMkUxcGdCZ0I7SUFFUTtBM0U0cGdCeEI7O0EyRXZwZ0JnQjtJQUVRO0EzRXlwZ0J4Qjs7QTJFbHFnQmdCO0lBRVE7QTNFb3FnQnhCOztBMkUvcGdCZ0I7SUFFUTtBM0VpcWdCeEI7O0EyRTFxZ0JnQjtJQUVRO0EzRTRxZ0J4Qjs7QTJFdnFnQmdCO0lBRVE7QTNFeXFnQnhCOztBMkVscmdCZ0I7SUFFUTtBM0VvcmdCeEI7O0EyRS9xZ0JnQjtJQUVRO0EzRWlyZ0J4Qjs7QTJFMXJnQmdCO0lBRVE7QTNFNHJnQnhCOztBMkV2cmdCZ0I7SUFFUTtBM0V5cmdCeEI7O0EyRWxzZ0JnQjtJQUVRO0EzRW9zZ0J4Qjs7QTJFL3JnQmdCO0lBRVE7QTNFaXNnQnhCOztBMkUxc2dCZ0I7SUFFUTtBM0U0c2dCeEI7O0EyRXZzZ0JnQjtJQUVRO0EzRXlzZ0J4Qjs7QTJFbHRnQmdCO0lBRVE7QTNFb3RnQnhCOztBMkUvc2dCZ0I7SUFFUTtBM0VpdGdCeEI7O0EyRTF0Z0JnQjtJQUVRO0EzRTR0Z0J4Qjs7QTJFdnRnQmdCO0lBRVE7QTNFeXRnQnhCOztBMkVsdWdCZ0I7SUFFUTtBM0VvdWdCeEI7O0EyRS90Z0JnQjtJQUVRO0EzRWl1Z0J4Qjs7QTJFMXVnQmdCO0lBRVE7QTNFNHVnQnhCOztBMkV2dWdCZ0I7SUFFUTtBM0V5dWdCeEI7O0EyRWx2Z0JnQjtJQUVRO0EzRW92Z0J4Qjs7QTJFL3VnQmdCO0lBRVE7QTNFaXZnQnhCOztBMkUxdmdCZ0I7SUFFUTtBM0U0dmdCeEI7O0EyRXZ2Z0JnQjtJQUVRO0EzRXl2Z0J4Qjs7QTJFbHdnQmdCO0lBRVE7QTNFb3dnQnhCOztBMkUvdmdCZ0I7SUFFUTtBM0Vpd2dCeEI7O0EyRTF3Z0JnQjtJQUVRO0EzRTR3Z0J4Qjs7QTJFdndnQmdCO0lBRVE7QTNFeXdnQnhCOztBMkVseGdCZ0I7SUFFUTtBM0VveGdCeEI7O0EyRS93Z0JnQjtJQUVRO0EzRWl4Z0J4Qjs7QTJFMXhnQmdCO0lBRVE7QTNFNHhnQnhCOztBMkV2eGdCZ0I7SUFFUTtBM0V5eGdCeEI7O0EyRWx5Z0JnQjtJQUVRO0EzRW95Z0J4Qjs7QTJFL3hnQmdCO0lBRVE7QTNFaXlnQnhCOztBMkUxeWdCZ0I7SUFFUTtBM0U0eWdCeEI7O0EyRXZ5Z0JnQjtJQUVRO0EzRXl5Z0J4Qjs7QTJFbHpnQmdCO0lBRVE7QTNFb3pnQnhCOztBMkUveWdCZ0I7SUFFUTtBM0VpemdCeEI7O0EyRTF6Z0JnQjtJQUVRO0EzRTR6Z0J4Qjs7QTJFdnpnQmdCO0lBRVE7QTNFeXpnQnhCOztBMkVsMGdCZ0I7SUFFUTtBM0VvMGdCeEI7O0EyRS96Z0JnQjtJQUVRO0EzRWkwZ0J4Qjs7QTJFMTBnQmdCO0lBRVE7QTNFNDBnQnhCOztBMkV2MGdCZ0I7SUFFUTtBM0V5MGdCeEI7O0EyRWwxZ0JnQjtJQUVRO0EzRW8xZ0J4Qjs7QTJFLzBnQmdCO0lBRVE7QTNFaTFnQnhCOztBMkUxMWdCZ0I7SUFFUTtBM0U0MWdCeEI7O0EyRXYxZ0JnQjtJQUVRO0EzRXkxZ0J4Qjs7QTJFbDJnQmdCO0lBRVE7QTNFbzJnQnhCOztBMkUvMWdCZ0I7SUFFUTtBM0VpMmdCeEI7O0EyRTEyZ0JnQjtJQUVRO0EzRTQyZ0J4Qjs7QTJFdjJnQmdCO0lBRVE7QTNFeTJnQnhCOztBMkVsM2dCZ0I7SUFFUTtBM0VvM2dCeEI7O0EyRS8yZ0JnQjtJQUVRO0EzRWkzZ0J4Qjs7QTJFMTNnQmdCO0lBRVE7QTNFNDNnQnhCOztBMkV2M2dCZ0I7SUFFUTtBM0V5M2dCeEI7O0EyRWw0Z0JnQjtJQUVRO0EzRW80Z0J4Qjs7QTJFLzNnQmdCO0lBRVE7QTNFaTRnQnhCOztBMkUxNGdCZ0I7SUFFUTtBM0U0NGdCeEI7O0EyRXY0Z0JnQjtJQUVRO0EzRXk0Z0J4Qjs7QTJFbDVnQmdCO0lBRVE7QTNFbzVnQnhCOztBMkUvNGdCZ0I7SUFFUTtBM0VpNWdCeEI7O0EyRTE1Z0JnQjtJQUVRO0EzRTQ1Z0J4Qjs7QTJFdjVnQmdCO0lBRVE7QTNFeTVnQnhCOztBMkVsNmdCZ0I7SUFFUTtBM0VvNmdCeEI7O0EyRS81Z0JnQjtJQUVRO0EzRWk2Z0J4Qjs7QTJFMTZnQmdCO0lBRVE7QTNFNDZnQnhCOztBMkV2NmdCZ0I7SUFFUTtBM0V5NmdCeEI7O0EyRWw3Z0JnQjtJQUVRO0EzRW83Z0J4Qjs7QTJFLzZnQmdCO0lBRVE7QTNFaTdnQnhCOztBMkUxN2dCZ0I7SUFFUTtBM0U0N2dCeEI7O0EyRXY3Z0JnQjtJQUVRO0EzRXk3Z0J4Qjs7QTJFbDhnQmdCO0lBRVE7QTNFbzhnQnhCOztBMkUvN2dCZ0I7SUFFUTtBM0VpOGdCeEI7O0EyRTE4Z0JnQjtJQUVRO0EzRTQ4Z0J4Qjs7QTJFdjhnQmdCO0lBRVE7QTNFeThnQnhCOztBMkVsOWdCZ0I7SUFFUTtBM0VvOWdCeEI7O0EyRS84Z0JnQjtJQUVRO0EzRWk5Z0J4Qjs7QTJFMTlnQmdCO0lBRVE7QTNFNDlnQnhCOztBMkV2OWdCZ0I7SUFFUTtBM0V5OWdCeEI7O0EyRWwrZ0JnQjtJQUVRO0EzRW8rZ0J4Qjs7QTJFLzlnQmdCO0lBRVE7QTNFaStnQnhCOztBMkUxK2dCZ0I7SUFFUTtBM0U0K2dCeEI7O0EyRXYrZ0JnQjtJQUVRO0EzRXkrZ0J4Qjs7QTJFbC9nQmdCO0lBRVE7QTNFby9nQnhCOztBMkUvK2dCZ0I7SUFFUTtBM0VpL2dCeEI7O0EyRTEvZ0JnQjtJQUVRO0EzRTQvZ0J4Qjs7QTJFdi9nQmdCO0lBRVE7QTNFeS9nQnhCOztBMkVsZ2hCZ0I7SUFFUTtBM0VvZ2hCeEI7O0EyRS8vZ0JnQjtJQUVRO0EzRWlnaEJ4Qjs7QTJFMWdoQmdCO0lBRVE7QTNFNGdoQnhCOztBMkV2Z2hCZ0I7SUFFUTtBM0V5Z2hCeEI7O0EyRWxoaEJnQjtJQUVRO0EzRW9oaEJ4Qjs7QTJFL2doQmdCO0lBRVE7QTNFaWhoQnhCOztBMkUxaGhCZ0I7SUFFUTtBM0U0aGhCeEI7O0EyRXZoaEJnQjtJQUVRO0EzRXloaEJ4Qjs7QTJFbGloQmdCO0lBRVE7QTNFb2loQnhCOztBMkUvaGhCZ0I7SUFFUTtBM0VpaWhCeEI7O0EyRTFpaEJnQjtJQUVRO0EzRTRpaEJ4Qjs7QTJFdmloQmdCO0lBRVE7QTNFeWloQnhCOztBMkVsamhCZ0I7SUFFUTtBM0VvamhCeEI7O0EyRS9paEJnQjtJQUVRO0EzRWlqaEJ4Qjs7QTJFMWpoQmdCO0lBRVE7QTNFNGpoQnhCOztBMkV2amhCZ0I7SUFFUTtBM0V5amhCeEI7O0EyRWxraEJnQjtJQUVRO0EzRW9raEJ4Qjs7QTJFL2poQmdCO0lBRVE7QTNFaWtoQnhCOztBMkUxa2hCZ0I7SUFFUTtBM0U0a2hCeEI7O0EyRXZraEJnQjtJQUVRO0EzRXlraEJ4Qjs7QTJFbGxoQmdCO0lBRVE7QTNFb2xoQnhCOztBMkUva2hCZ0I7SUFFUTtBM0VpbGhCeEI7O0EyRTFsaEJnQjtJQUVRO0EzRTRsaEJ4Qjs7QTJFdmxoQmdCO0lBRVE7QTNFeWxoQnhCOztBMkVsbWhCZ0I7SUFFUTtBM0VvbWhCeEI7O0EyRS9saEJnQjtJQUVRO0EzRWltaEJ4Qjs7QTJFMW1oQmdCO0lBRVE7QTNFNG1oQnhCOztBMkV2bWhCZ0I7SUFFUTtBM0V5bWhCeEI7O0EyRWxuaEJnQjtJQUVRO0EzRW9uaEJ4Qjs7QTJFL21oQmdCO0lBRVE7QTNFaW5oQnhCOztBMkUxbmhCZ0I7SUFFUTtBM0U0bmhCeEI7O0EyRXZuaEJnQjtJQUVRO0EzRXluaEJ4Qjs7QTJFbG9oQmdCO0lBRVE7QTNFb29oQnhCOztBMkUvbmhCZ0I7SUFFUTtBM0Vpb2hCeEI7O0EyRTFvaEJnQjtJQUVRO0EzRTRvaEJ4Qjs7QTJFdm9oQmdCO0lBRVE7QTNFeW9oQnhCOztBMkVscGhCZ0I7SUFFUTtBM0VvcGhCeEI7O0EyRS9vaEJnQjtJQUVRO0EzRWlwaEJ4Qjs7QTJFMXBoQmdCO0lBRVE7QTNFNHBoQnhCOztBMkV2cGhCZ0I7SUFFUTtBM0V5cGhCeEI7O0EyRWxxaEJnQjtJQUVRO0EzRW9xaEJ4Qjs7QTJFL3BoQmdCO0lBRVE7QTNFaXFoQnhCOztBMkUxcWhCZ0I7SUFFUTtBM0U0cWhCeEI7O0EyRXZxaEJnQjtJQUVRO0EzRXlxaEJ4Qjs7QTJFbHJoQmdCO0lBRVE7QTNFb3JoQnhCOztBMkUvcWhCZ0I7SUFFUTtBM0VpcmhCeEI7O0EyRTFyaEJnQjtJQUVRO0EzRTRyaEJ4Qjs7QTJFdnJoQmdCO0lBRVE7QTNFeXJoQnhCOztBMkVsc2hCZ0I7SUFFUTtBM0Vvc2hCeEI7O0EyRS9yaEJnQjtJQUVRO0EzRWlzaEJ4Qjs7QTJFMXNoQmdCO0lBRVE7QTNFNHNoQnhCOztBMkV2c2hCZ0I7SUFFUTtBM0V5c2hCeEI7O0EyRWx0aEJnQjtJQUVRO0EzRW90aEJ4Qjs7QTJFL3NoQmdCO0lBRVE7QTNFaXRoQnhCOztBMkUxdGhCZ0I7SUFFUTtBM0U0dGhCeEI7O0EyRXZ0aEJnQjtJQUVRO0EzRXl0aEJ4Qjs7QTJFbHVoQmdCO0lBRVE7QTNFb3VoQnhCOztBMkUvdGhCZ0I7SUFFUTtBM0VpdWhCeEI7O0EyRTF1aEJnQjtJQUVRO0EzRTR1aEJ4Qjs7QTJFdnVoQmdCO0lBRVE7QTNFeXVoQnhCOztBMkVsdmhCZ0I7SUFFUTtBM0VvdmhCeEI7O0EyRS91aEJnQjtJQUVRO0EzRWl2aEJ4Qjs7QTJFMXZoQmdCO0lBRVE7QTNFNHZoQnhCOztBMkV2dmhCZ0I7SUFFUTtBM0V5dmhCeEI7O0EyRWx3aEJnQjtJQUVRO0EzRW93aEJ4Qjs7QTJFL3ZoQmdCO0lBRVE7QTNFaXdoQnhCOztBMkUxd2hCZ0I7SUFFUTtBM0U0d2hCeEI7O0EyRXZ3aEJnQjtJQUVRO0EzRXl3aEJ4Qjs7QTJFbHhoQmdCO0lBRVE7QTNFb3hoQnhCOztBMkUvd2hCZ0I7SUFFUTtBM0VpeGhCeEI7O0EyRTF4aEJnQjtJQUVRO0EzRTR4aEJ4Qjs7QTJFdnhoQmdCO0lBRVE7QTNFeXhoQnhCOztBMkVseWhCZ0I7SUFFUTtBM0VveWhCeEI7O0EyRS94aEJnQjtJQUVRO0EzRWl5aEJ4Qjs7QTJFMXloQmdCO0lBRVE7QTNFNHloQnhCOztBMkV2eWhCZ0I7SUFFUTtBM0V5eWhCeEI7O0EyRWx6aEJnQjtJQUVRO0EzRW96aEJ4Qjs7QTJFL3loQmdCO0lBRVE7QTNFaXpoQnhCOztBMkUxemhCZ0I7SUFFUTtBM0U0emhCeEI7O0EyRXZ6aEJnQjtJQUVRO0EzRXl6aEJ4Qjs7QTJFbDBoQmdCO0lBRVE7QTNFbzBoQnhCOztBMkUvemhCZ0I7SUFFUTtBM0VpMGhCeEI7O0EyRTEwaEJnQjtJQUVRO0EzRTQwaEJ4Qjs7QTJFdjBoQmdCO0lBRVE7QTNFeTBoQnhCOztBMkVsMWhCZ0I7SUFFUTtBM0VvMWhCeEI7O0EyRS8waEJnQjtJQUVRO0EzRWkxaEJ4Qjs7QTJFMTFoQmdCO0lBRVE7QTNFNDFoQnhCOztBMkV2MWhCZ0I7SUFFUTtBM0V5MWhCeEI7O0EyRWwyaEJnQjtJQUVRO0EzRW8yaEJ4Qjs7QTJFLzFoQmdCO0lBRVE7QTNFaTJoQnhCOztBMkUxMmhCZ0I7SUFFUTtBM0U0MmhCeEI7O0EyRXYyaEJnQjtJQUVRO0EzRXkyaEJ4Qjs7QTJFbDNoQmdCO0lBRVE7QTNFbzNoQnhCOztBMkUvMmhCZ0I7SUFFUTtBM0VpM2hCeEI7O0EyRTEzaEJnQjtJQUVRO0EzRTQzaEJ4Qjs7QTJFdjNoQmdCO0lBRVE7QTNFeTNoQnhCOztBMkVsNGhCZ0I7SUFFUTtBM0VvNGhCeEI7O0EyRS8zaEJnQjtJQUVRO0EzRWk0aEJ4Qjs7QTJFMTRoQmdCO0lBRVE7QTNFNDRoQnhCOztBMkV2NGhCZ0I7SUFFUTtBM0V5NGhCeEI7O0EyRWw1aEJnQjtJQUVRO0EzRW81aEJ4Qjs7QTJFLzRoQmdCO0lBRVE7QTNFaTVoQnhCOztBMkUxNWhCZ0I7SUFFUTtBM0U0NWhCeEI7O0EyRXY1aEJnQjtJQUVRO0EzRXk1aEJ4Qjs7QTJFbDZoQmdCO0lBRVE7QTNFbzZoQnhCOztBMkUvNWhCZ0I7SUFFUTtBM0VpNmhCeEI7O0EyRTE2aEJnQjtJQUVRO0EzRTQ2aEJ4Qjs7QTJFdjZoQmdCO0lBRVE7QTNFeTZoQnhCOztBMkVsN2hCZ0I7SUFFUTtBM0VvN2hCeEI7O0EyRS82aEJnQjtJQUVRO0EzRWk3aEJ4Qjs7QTJFMTdoQmdCO0lBRVE7QTNFNDdoQnhCOztBMkV2N2hCZ0I7SUFFUTtBM0V5N2hCeEI7O0EyRWw4aEJnQjtJQUVRO0EzRW84aEJ4Qjs7QTJFLzdoQmdCO0lBRVE7QTNFaThoQnhCOztBMkUxOGhCZ0I7SUFFUTtBM0U0OGhCeEI7O0EyRXY4aEJnQjtJQUVRO0EzRXk4aEJ4Qjs7QTJFbDloQmdCO0lBRVE7QTNFbzloQnhCOztBMkUvOGhCZ0I7SUFFUTtBM0VpOWhCeEI7O0EyRTE5aEJnQjtJQUVRO0EzRTQ5aEJ4Qjs7QTJFdjloQmdCO0lBRVE7QTNFeTloQnhCOztBMkVsK2hCZ0I7SUFFUTtBM0VvK2hCeEI7O0EyRS85aEJnQjtJQUVRO0EzRWkraEJ4Qjs7QTJFMStoQmdCO0lBRVE7QTNFNCtoQnhCOztBMkV2K2hCZ0I7SUFFUTtBM0V5K2hCeEI7O0EyRWwvaEJnQjtJQUVRO0EzRW8vaEJ4Qjs7QTJFLytoQmdCO0lBRVE7QTNFaS9oQnhCOztBMkUxL2hCZ0I7SUFFUTtBM0U0L2hCeEI7O0EyRXYvaEJnQjtJQUVRO0EzRXkvaEJ4Qjs7QTJFbGdpQmdCO0lBRVE7QTNFb2dpQnhCOztBMkUvL2hCZ0I7SUFFUTtBM0VpZ2lCeEI7O0EyRXArWkk7SUFDSTtJQUNBO0lBQ0E7QTNFdStaUjs7QTJFcitaSTtJQUNJO0lBQ0E7SUFDQTtBM0V3K1pSOztBMkV0aGlCZ0I7SUFFUTtBM0V3aGlCeEI7O0EyRW5oaUJnQjtJQUVRO0EzRXFoaUJ4Qjs7QTJFOWhpQmdCO0lBRVE7QTNFZ2lpQnhCOztBMkUzaGlCZ0I7SUFFUTtBM0U2aGlCeEI7O0EyRXRpaUJnQjtJQUVRO0EzRXdpaUJ4Qjs7QTJFbmlpQmdCO0lBRVE7QTNFcWlpQnhCOztBMkU5aWlCZ0I7SUFFUTtBM0VnamlCeEI7O0EyRTNpaUJnQjtJQUVRO0EzRTZpaUJ4Qjs7QTJFdGppQmdCO0lBRVE7QTNFd2ppQnhCOztBMkVuamlCZ0I7SUFFUTtBM0VxamlCeEI7O0EyRTlqaUJnQjtJQUVRO0EzRWdraUJ4Qjs7QTJFM2ppQmdCO0lBRVE7QTNFNmppQnhCOztBMkV0a2lCZ0I7SUFFUTtBM0V3a2lCeEI7O0EyRW5raUJnQjtJQUVRO0EzRXFraUJ4Qjs7QTJFOWtpQmdCO0lBRVE7QTNFZ2xpQnhCOztBMkUza2lCZ0I7SUFFUTtBM0U2a2lCeEI7O0EyRXRsaUJnQjtJQUVRO0EzRXdsaUJ4Qjs7QTJFbmxpQmdCO0lBRVE7QTNFcWxpQnhCOztBMkU5bGlCZ0I7SUFFUTtBM0VnbWlCeEI7O0EyRTNsaUJnQjtJQUVRO0EzRTZsaUJ4Qjs7QTJFdG1pQmdCO0lBRVE7QTNFd21pQnhCOztBMkVubWlCZ0I7SUFFUTtBM0VxbWlCeEI7O0EyRTltaUJnQjtJQUVRO0EzRWduaUJ4Qjs7QTJFM21pQmdCO0lBRVE7QTNFNm1pQnhCOztBMkV0bmlCZ0I7SUFFUTtBM0V3bmlCeEI7O0EyRW5uaUJnQjtJQUVRO0EzRXFuaUJ4Qjs7QTJFOW5pQmdCO0lBRVE7QTNFZ29pQnhCOztBMkUzbmlCZ0I7SUFFUTtBM0U2bmlCeEI7O0EyRXRvaUJnQjtJQUVRO0EzRXdvaUJ4Qjs7QTJFbm9pQmdCO0lBRVE7QTNFcW9pQnhCOztBMkU5b2lCZ0I7SUFFUTtBM0VncGlCeEI7O0EyRTNvaUJnQjtJQUVRO0EzRTZvaUJ4Qjs7QTJFdHBpQmdCO0lBRVE7QTNFd3BpQnhCOztBMkVucGlCZ0I7SUFFUTtBM0VxcGlCeEI7O0EyRTlwaUJnQjtJQUVRO0EzRWdxaUJ4Qjs7QTJFM3BpQmdCO0lBRVE7QTNFNnBpQnhCOztBMkV0cWlCZ0I7SUFFUTtBM0V3cWlCeEI7O0EyRW5xaUJnQjtJQUVRO0EzRXFxaUJ4Qjs7QTJFOXFpQmdCO0lBRVE7QTNFZ3JpQnhCOztBMkUzcWlCZ0I7SUFFUTtBM0U2cWlCeEI7O0EyRXRyaUJnQjtJQUVRO0EzRXdyaUJ4Qjs7QTJFbnJpQmdCO0lBRVE7QTNFcXJpQnhCOztBMkU5cmlCZ0I7SUFFUTtBM0Vnc2lCeEI7O0EyRTNyaUJnQjtJQUVRO0EzRTZyaUJ4Qjs7QTJFdHNpQmdCO0lBRVE7QTNFd3NpQnhCOztBMkVuc2lCZ0I7SUFFUTtBM0Vxc2lCeEI7O0EyRTlzaUJnQjtJQUVRO0EzRWd0aUJ4Qjs7QTJFM3NpQmdCO0lBRVE7QTNFNnNpQnhCOztBMkV0dGlCZ0I7SUFFUTtBM0V3dGlCeEI7O0EyRW50aUJnQjtJQUVRO0EzRXF0aUJ4Qjs7QTJFOXRpQmdCO0lBRVE7QTNFZ3VpQnhCOztBMkUzdGlCZ0I7SUFFUTtBM0U2dGlCeEI7O0EyRXR1aUJnQjtJQUVRO0EzRXd1aUJ4Qjs7QTJFbnVpQmdCO0lBRVE7QTNFcXVpQnhCOztBMkU5dWlCZ0I7SUFFUTtBM0VndmlCeEI7O0EyRTN1aUJnQjtJQUVRO0EzRTZ1aUJ4Qjs7QTJFdHZpQmdCO0lBRVE7QTNFd3ZpQnhCOztBMkVudmlCZ0I7SUFFUTtBM0VxdmlCeEI7O0EyRTl2aUJnQjtJQUVRO0EzRWd3aUJ4Qjs7QTJFM3ZpQmdCO0lBRVE7QTNFNnZpQnhCOztBMkV0d2lCZ0I7SUFFUTtBM0V3d2lCeEI7O0EyRW53aUJnQjtJQUVRO0EzRXF3aUJ4Qjs7QTJFOXdpQmdCO0lBRVE7QTNFZ3hpQnhCOztBMkUzd2lCZ0I7SUFFUTtBM0U2d2lCeEI7O0EyRXR4aUJnQjtJQUVRO0EzRXd4aUJ4Qjs7QTJFbnhpQmdCO0lBRVE7QTNFcXhpQnhCOztBMkU5eGlCZ0I7SUFFUTtBM0VneWlCeEI7O0EyRTN4aUJnQjtJQUVRO0EzRTZ4aUJ4Qjs7QTJFdHlpQmdCO0lBRVE7QTNFd3lpQnhCOztBMkVueWlCZ0I7SUFFUTtBM0VxeWlCeEI7O0EyRTl5aUJnQjtJQUVRO0EzRWd6aUJ4Qjs7QTJFM3lpQmdCO0lBRVE7QTNFNnlpQnhCOztBMkV0emlCZ0I7SUFFUTtBM0V3emlCeEI7O0EyRW56aUJnQjtJQUVRO0EzRXF6aUJ4Qjs7QTJFOXppQmdCO0lBRVE7QTNFZzBpQnhCOztBMkUzemlCZ0I7SUFFUTtBM0U2emlCeEI7O0EyRXQwaUJnQjtJQUVRO0EzRXcwaUJ4Qjs7QTJFbjBpQmdCO0lBRVE7QTNFcTBpQnhCOztBMkU5MGlCZ0I7SUFFUTtBM0VnMWlCeEI7O0EyRTMwaUJnQjtJQUVRO0EzRTYwaUJ4Qjs7QTJFdDFpQmdCO0lBRVE7QTNFdzFpQnhCOztBMkVuMWlCZ0I7SUFFUTtBM0VxMWlCeEI7O0EyRTkxaUJnQjtJQUVRO0EzRWcyaUJ4Qjs7QTJFMzFpQmdCO0lBRVE7QTNFNjFpQnhCOztBMkV0MmlCZ0I7SUFFUTtBM0V3MmlCeEI7O0EyRW4yaUJnQjtJQUVRO0EzRXEyaUJ4Qjs7QTJFOTJpQmdCO0lBRVE7QTNFZzNpQnhCOztBMkUzMmlCZ0I7SUFFUTtBM0U2MmlCeEI7O0EyRXQzaUJnQjtJQUVRO0EzRXczaUJ4Qjs7QTJFbjNpQmdCO0lBRVE7QTNFcTNpQnhCOztBMkU5M2lCZ0I7SUFFUTtBM0VnNGlCeEI7O0EyRTMzaUJnQjtJQUVRO0EzRTYzaUJ4Qjs7QTJFdDRpQmdCO0lBRVE7QTNFdzRpQnhCOztBMkVuNGlCZ0I7SUFFUTtBM0VxNGlCeEI7O0EyRTk0aUJnQjtJQUVRO0EzRWc1aUJ4Qjs7QTJFMzRpQmdCO0lBRVE7QTNFNjRpQnhCOztBMkV0NWlCZ0I7SUFFUTtBM0V3NWlCeEI7O0EyRW41aUJnQjtJQUVRO0EzRXE1aUJ4Qjs7QTJFOTVpQmdCO0lBRVE7QTNFZzZpQnhCOztBMkUzNWlCZ0I7SUFFUTtBM0U2NWlCeEI7O0EyRXQ2aUJnQjtJQUVRO0EzRXc2aUJ4Qjs7QTJFbjZpQmdCO0lBRVE7QTNFcTZpQnhCOztBMkU5NmlCZ0I7SUFFUTtBM0VnN2lCeEI7O0EyRTM2aUJnQjtJQUVRO0EzRTY2aUJ4Qjs7QTJFdDdpQmdCO0lBRVE7QTNFdzdpQnhCOztBMkVuN2lCZ0I7SUFFUTtBM0VxN2lCeEI7O0EyRTk3aUJnQjtJQUVRO0EzRWc4aUJ4Qjs7QTJFMzdpQmdCO0lBRVE7QTNFNjdpQnhCOztBMkV0OGlCZ0I7SUFFUTtBM0V3OGlCeEI7O0EyRW44aUJnQjtJQUVRO0EzRXE4aUJ4Qjs7QTJFOThpQmdCO0lBRVE7QTNFZzlpQnhCOztBMkUzOGlCZ0I7SUFFUTtBM0U2OGlCeEI7O0EyRXQ5aUJnQjtJQUVRO0EzRXc5aUJ4Qjs7QTJFbjlpQmdCO0lBRVE7QTNFcTlpQnhCOztBMkU5OWlCZ0I7SUFFUTtBM0VnK2lCeEI7O0EyRTM5aUJnQjtJQUVRO0EzRTY5aUJ4Qjs7QTJFdCtpQmdCO0lBRVE7QTNFdytpQnhCOztBMkVuK2lCZ0I7SUFFUTtBM0VxK2lCeEI7O0EyRTkraUJnQjtJQUVRO0EzRWcvaUJ4Qjs7QTJFMytpQmdCO0lBRVE7QTNFNitpQnhCOztBMkV0L2lCZ0I7SUFFUTtBM0V3L2lCeEI7O0EyRW4vaUJnQjtJQUVRO0EzRXEvaUJ4Qjs7QTJFOS9pQmdCO0lBRVE7QTNFZ2dqQnhCOztBMkUzL2lCZ0I7SUFFUTtBM0U2L2lCeEI7O0EyRXRnakJnQjtJQUVRO0EzRXdnakJ4Qjs7QTJFbmdqQmdCO0lBRVE7QTNFcWdqQnhCOztBMkU5Z2pCZ0I7SUFFUTtBM0VnaGpCeEI7O0EyRTNnakJnQjtJQUVRO0EzRTZnakJ4Qjs7QTJFdGhqQmdCO0lBRVE7QTNFd2hqQnhCOztBMkVuaGpCZ0I7SUFFUTtBM0VxaGpCeEI7O0EyRTloakJnQjtJQUVRO0EzRWdpakJ4Qjs7QTJFM2hqQmdCO0lBRVE7QTNFNmhqQnhCOztBMkV0aWpCZ0I7SUFFUTtBM0V3aWpCeEI7O0EyRW5pakJnQjtJQUVRO0EzRXFpakJ4Qjs7QTJFOWlqQmdCO0lBRVE7QTNFZ2pqQnhCOztBMkUzaWpCZ0I7SUFFUTtBM0U2aWpCeEI7O0EyRXRqakJnQjtJQUVRO0EzRXdqakJ4Qjs7QTJFbmpqQmdCO0lBRVE7QTNFcWpqQnhCOztBMkU5ampCZ0I7SUFFUTtBM0Vna2pCeEI7O0EyRTNqakJnQjtJQUVRO0EzRTZqakJ4Qjs7QTJFdGtqQmdCO0lBRVE7QTNFd2tqQnhCOztBMkVua2pCZ0I7SUFFUTtBM0Vxa2pCeEI7O0EyRTlrakJnQjtJQUVRO0EzRWdsakJ4Qjs7QTJFM2tqQmdCO0lBRVE7QTNFNmtqQnhCOztBMkV0bGpCZ0I7SUFFUTtBM0V3bGpCeEI7O0EyRW5sakJnQjtJQUVRO0EzRXFsakJ4Qjs7QTJFOWxqQmdCO0lBRVE7QTNFZ21qQnhCOztBMkUzbGpCZ0I7SUFFUTtBM0U2bGpCeEI7O0EyRXRtakJnQjtJQUVRO0EzRXdtakJ4Qjs7QTJFbm1qQmdCO0lBRVE7QTNFcW1qQnhCOztBMkU5bWpCZ0I7SUFFUTtBM0VnbmpCeEI7O0EyRTNtakJnQjtJQUVRO0EzRTZtakJ4Qjs7QTJFdG5qQmdCO0lBRVE7QTNFd25qQnhCOztBMkVubmpCZ0I7SUFFUTtBM0VxbmpCeEI7O0EyRTluakJnQjtJQUVRO0EzRWdvakJ4Qjs7QTJFM25qQmdCO0lBRVE7QTNFNm5qQnhCOztBMkV0b2pCZ0I7SUFFUTtBM0V3b2pCeEI7O0EyRW5vakJnQjtJQUVRO0EzRXFvakJ4Qjs7QTJFOW9qQmdCO0lBRVE7QTNFZ3BqQnhCOztBMkUzb2pCZ0I7SUFFUTtBM0U2b2pCeEI7O0EyRXRwakJnQjtJQUVRO0EzRXdwakJ4Qjs7QTJFbnBqQmdCO0lBRVE7QTNFcXBqQnhCOztBMkU5cGpCZ0I7SUFFUTtBM0VncWpCeEI7O0EyRTNwakJnQjtJQUVRO0EzRTZwakJ4Qjs7QTJFdHFqQmdCO0lBRVE7QTNFd3FqQnhCOztBMkVucWpCZ0I7SUFFUTtBM0VxcWpCeEI7O0EyRTlxakJnQjtJQUVRO0EzRWdyakJ4Qjs7QTJFM3FqQmdCO0lBRVE7QTNFNnFqQnhCOztBMkV0cmpCZ0I7SUFFUTtBM0V3cmpCeEI7O0EyRW5yakJnQjtJQUVRO0EzRXFyakJ4Qjs7QTJFOXJqQmdCO0lBRVE7QTNFZ3NqQnhCOztBMkUzcmpCZ0I7SUFFUTtBM0U2cmpCeEI7O0EyRXRzakJnQjtJQUVRO0EzRXdzakJ4Qjs7QTJFbnNqQmdCO0lBRVE7QTNFcXNqQnhCOztBMkU5c2pCZ0I7SUFFUTtBM0VndGpCeEI7O0EyRTNzakJnQjtJQUVRO0EzRTZzakJ4Qjs7QTJFdHRqQmdCO0lBRVE7QTNFd3RqQnhCOztBMkVudGpCZ0I7SUFFUTtBM0VxdGpCeEI7O0EyRTl0akJnQjtJQUVRO0EzRWd1akJ4Qjs7QTJFM3RqQmdCO0lBRVE7QTNFNnRqQnhCOztBMkV0dWpCZ0I7SUFFUTtBM0V3dWpCeEI7O0EyRW51akJnQjtJQUVRO0EzRXF1akJ4Qjs7QTJFOXVqQmdCO0lBRVE7QTNFZ3ZqQnhCOztBMkUzdWpCZ0I7SUFFUTtBM0U2dWpCeEI7O0EyRXR2akJnQjtJQUVRO0EzRXd2akJ4Qjs7QTJFbnZqQmdCO0lBRVE7QTNFcXZqQnhCOztBMkU5dmpCZ0I7SUFFUTtBM0Vnd2pCeEI7O0EyRTN2akJnQjtJQUVRO0EzRTZ2akJ4Qjs7QTJFdHdqQmdCO0lBRVE7QTNFd3dqQnhCOztBMkVud2pCZ0I7SUFFUTtBM0Vxd2pCeEI7O0EyRTl3akJnQjtJQUVRO0EzRWd4akJ4Qjs7QTJFM3dqQmdCO0lBRVE7QTNFNndqQnhCOztBMkV0eGpCZ0I7SUFFUTtBM0V3eGpCeEI7O0EyRW54akJnQjtJQUVRO0EzRXF4akJ4Qjs7QTJFOXhqQmdCO0lBRVE7QTNFZ3lqQnhCOztBMkUzeGpCZ0I7SUFFUTtBM0U2eGpCeEI7O0EyRXR5akJnQjtJQUVRO0EzRXd5akJ4Qjs7QTJFbnlqQmdCO0lBRVE7QTNFcXlqQnhCOztBMkU5eWpCZ0I7SUFFUTtBM0VnempCeEI7O0EyRTN5akJnQjtJQUVRO0EzRTZ5akJ4Qjs7QTJFdHpqQmdCO0lBRVE7QTNFd3pqQnhCOztBMkVuempCZ0I7SUFFUTtBM0VxempCeEI7O0EyRTl6akJnQjtJQUVRO0EzRWcwakJ4Qjs7QTJFM3pqQmdCO0lBRVE7QTNFNnpqQnhCOztBMkV0MGpCZ0I7SUFFUTtBM0V3MGpCeEI7O0EyRW4wakJnQjtJQUVRO0EzRXEwakJ4Qjs7QTJFOTBqQmdCO0lBRVE7QTNFZzFqQnhCOztBMkUzMGpCZ0I7SUFFUTtBM0U2MGpCeEI7O0EyRXQxakJnQjtJQUVRO0EzRXcxakJ4Qjs7QTJFbjFqQmdCO0lBRVE7QTNFcTFqQnhCOztBMkU5MWpCZ0I7SUFFUTtBM0VnMmpCeEI7O0EyRTMxakJnQjtJQUVRO0EzRTYxakJ4Qjs7QTJFdDJqQmdCO0lBRVE7QTNFdzJqQnhCOztBMkVuMmpCZ0I7SUFFUTtBM0VxMmpCeEI7O0EyRTkyakJnQjtJQUVRO0EzRWczakJ4Qjs7QTJFMzJqQmdCO0lBRVE7QTNFNjJqQnhCOztBMkV0M2pCZ0I7SUFFUTtBM0V3M2pCeEI7O0EyRW4zakJnQjtJQUVRO0EzRXEzakJ4Qjs7QTJFOTNqQmdCO0lBRVE7QTNFZzRqQnhCOztBMkUzM2pCZ0I7SUFFUTtBM0U2M2pCeEI7O0EyRXQ0akJnQjtJQUVRO0EzRXc0akJ4Qjs7QTJFbjRqQmdCO0lBRVE7QTNFcTRqQnhCOztBMkU5NGpCZ0I7SUFFUTtBM0VnNWpCeEI7O0EyRTM0akJnQjtJQUVRO0EzRTY0akJ4Qjs7QTJFdDVqQmdCO0lBRVE7QTNFdzVqQnhCOztBMkVuNWpCZ0I7SUFFUTtBM0VxNWpCeEI7O0EyRTk1akJnQjtJQUVRO0EzRWc2akJ4Qjs7QTJFMzVqQmdCO0lBRVE7QTNFNjVqQnhCOztBMkV0NmpCZ0I7SUFFUTtBM0V3NmpCeEI7O0EyRW42akJnQjtJQUVRO0EzRXE2akJ4Qjs7QTJFOTZqQmdCO0lBRVE7QTNFZzdqQnhCOztBMkUzNmpCZ0I7SUFFUTtBM0U2NmpCeEI7O0EyRXQ3akJnQjtJQUVRO0EzRXc3akJ4Qjs7QTJFbjdqQmdCO0lBRVE7QTNFcTdqQnhCOztBMkU5N2pCZ0I7SUFFUTtBM0VnOGpCeEI7O0EyRTM3akJnQjtJQUVRO0EzRTY3akJ4Qjs7QTJFdDhqQmdCO0lBRVE7QTNFdzhqQnhCOztBMkVuOGpCZ0I7SUFFUTtBM0VxOGpCeEI7O0EyRTk4akJnQjtJQUVRO0EzRWc5akJ4Qjs7QTJFMzhqQmdCO0lBRVE7QTNFNjhqQnhCOztBMkV0OWpCZ0I7SUFFUTtBM0V3OWpCeEI7O0EyRW45akJnQjtJQUVRO0EzRXE5akJ4Qjs7QTJFOTlqQmdCO0lBRVE7QTNFZytqQnhCOztBMkUzOWpCZ0I7SUFFUTtBM0U2OWpCeEI7O0EyRXQrakJnQjtJQUVRO0EzRXcrakJ4Qjs7QTJFbitqQmdCO0lBRVE7QTNFcStqQnhCOztBMkU5K2pCZ0I7SUFFUTtBM0VnL2pCeEI7O0EyRTMrakJnQjtJQUVRO0EzRTYrakJ4Qjs7QTJFdC9qQmdCO0lBRVE7QTNFdy9qQnhCOztBMkVuL2pCZ0I7SUFFUTtBM0VxL2pCeEI7O0EyRTkvakJnQjtJQUVRO0EzRWdna0J4Qjs7QTJFMy9qQmdCO0lBRVE7QTNFNi9qQnhCOztBMkV0Z2tCZ0I7SUFFUTtBM0V3Z2tCeEI7O0EyRW5na0JnQjtJQUVRO0EzRXFna0J4Qjs7QTJFOWdrQmdCO0lBRVE7QTNFZ2hrQnhCOztBMkUzZ2tCZ0I7SUFFUTtBM0U2Z2tCeEI7O0EyRXRoa0JnQjtJQUVRO0EzRXdoa0J4Qjs7QTJFbmhrQmdCO0lBRVE7QTNFcWhrQnhCOztBMkU5aGtCZ0I7SUFFUTtBM0VnaWtCeEI7O0EyRTNoa0JnQjtJQUVRO0EzRTZoa0J4Qjs7QTJFdGlrQmdCO0lBRVE7QTNFd2lrQnhCOztBMkVuaWtCZ0I7SUFFUTtBM0VxaWtCeEI7O0EyRTlpa0JnQjtJQUVRO0EzRWdqa0J4Qjs7QTJFM2lrQmdCO0lBRVE7QTNFNmlrQnhCOztBMkV0amtCZ0I7SUFFUTtBM0V3amtCeEI7O0EyRW5qa0JnQjtJQUVRO0EzRXFqa0J4Qjs7QTJFOWprQmdCO0lBRVE7QTNFZ2trQnhCOztBMkUzamtCZ0I7SUFFUTtBM0U2amtCeEI7O0EyRXRra0JnQjtJQUVRO0EzRXdra0J4Qjs7QTJFbmtrQmdCO0lBRVE7QTNFcWtrQnhCOztBMkU5a2tCZ0I7SUFFUTtBM0VnbGtCeEI7O0EyRTNra0JnQjtJQUVRO0EzRTZra0J4Qjs7QTJFdGxrQmdCO0lBRVE7QTNFd2xrQnhCOztBMkVubGtCZ0I7SUFFUTtBM0VxbGtCeEI7O0EyRTlsa0JnQjtJQUVRO0EzRWdta0J4Qjs7QTJFM2xrQmdCO0lBRVE7QTNFNmxrQnhCOztBMkV0bWtCZ0I7SUFFUTtBM0V3bWtCeEI7O0EyRW5ta0JnQjtJQUVRO0EzRXFta0J4Qjs7QTJFOW1rQmdCO0lBRVE7QTNFZ25rQnhCOztBMkUzbWtCZ0I7SUFFUTtBM0U2bWtCeEI7O0EyRXRua0JnQjtJQUVRO0EzRXdua0J4Qjs7QTJFbm5rQmdCO0lBRVE7QTNFcW5rQnhCOztBMkU5bmtCZ0I7SUFFUTtBM0Vnb2tCeEI7O0EyRTNua0JnQjtJQUVRO0EzRTZua0J4Qjs7QTJFdG9rQmdCO0lBRVE7QTNFd29rQnhCOztBMkVub2tCZ0I7SUFFUTtBM0Vxb2tCeEI7O0EyRTlva0JnQjtJQUVRO0EzRWdwa0J4Qjs7QTJFM29rQmdCO0lBRVE7QTNFNm9rQnhCOztBMkV0cGtCZ0I7SUFFUTtBM0V3cGtCeEI7O0EyRW5wa0JnQjtJQUVRO0EzRXFwa0J4Qjs7QTJFOXBrQmdCO0lBRVE7QTNFZ3FrQnhCOztBMkUzcGtCZ0I7SUFFUTtBM0U2cGtCeEI7O0EyRXRxa0JnQjtJQUVRO0EzRXdxa0J4Qjs7QTJFbnFrQmdCO0lBRVE7QTNFcXFrQnhCOztBMkU5cWtCZ0I7SUFFUTtBM0VncmtCeEI7O0EyRTNxa0JnQjtJQUVRO0EzRTZxa0J4Qjs7QTJFdHJrQmdCO0lBRVE7QTNFd3JrQnhCOztBMkVucmtCZ0I7SUFFUTtBM0VxcmtCeEI7O0EyRTlya0JnQjtJQUVRO0EzRWdza0J4Qjs7QTJFM3JrQmdCO0lBRVE7QTNFNnJrQnhCOztBMkV0c2tCZ0I7SUFFUTtBM0V3c2tCeEI7O0EyRW5za0JnQjtJQUVRO0EzRXFza0J4Qjs7QTJFOXNrQmdCO0lBRVE7QTNFZ3RrQnhCOztBMkUzc2tCZ0I7SUFFUTtBM0U2c2tCeEI7O0EyRXR0a0JnQjtJQUVRO0EzRXd0a0J4Qjs7QTJFbnRrQmdCO0lBRVE7QTNFcXRrQnhCOztBMkU5dGtCZ0I7SUFFUTtBM0VndWtCeEI7O0EyRTN0a0JnQjtJQUVRO0EzRTZ0a0J4Qjs7QTJFdHVrQmdCO0lBRVE7QTNFd3VrQnhCOztBMkVudWtCZ0I7SUFFUTtBM0VxdWtCeEI7O0EyRTl1a0JnQjtJQUVRO0EzRWd2a0J4Qjs7QTJFM3VrQmdCO0lBRVE7QTNFNnVrQnhCOztBMkV0dmtCZ0I7SUFFUTtBM0V3dmtCeEI7O0EyRW52a0JnQjtJQUVRO0EzRXF2a0J4Qjs7QTJFOXZrQmdCO0lBRVE7QTNFZ3drQnhCOztBMkUzdmtCZ0I7SUFFUTtBM0U2dmtCeEI7O0EyRXR3a0JnQjtJQUVRO0EzRXd3a0J4Qjs7QTJFbndrQmdCO0lBRVE7QTNFcXdrQnhCOztBMkU5d2tCZ0I7SUFFUTtBM0VneGtCeEI7O0EyRTN3a0JnQjtJQUVRO0EzRTZ3a0J4Qjs7QTJFdHhrQmdCO0lBRVE7QTNFd3hrQnhCOztBMkVueGtCZ0I7SUFFUTtBM0VxeGtCeEI7O0EyRTl4a0JnQjtJQUVRO0EzRWd5a0J4Qjs7QTJFM3hrQmdCO0lBRVE7QTNFNnhrQnhCOztBMkV0eWtCZ0I7SUFFUTtBM0V3eWtCeEI7O0EyRW55a0JnQjtJQUVRO0EzRXF5a0J4Qjs7QTJFOXlrQmdCO0lBRVE7QTNFZ3prQnhCOztBMkUzeWtCZ0I7SUFFUTtBM0U2eWtCeEI7O0EyRXR6a0JnQjtJQUVRO0EzRXd6a0J4Qjs7QTJFbnprQmdCO0lBRVE7QTNFcXprQnhCOztBMkU5emtCZ0I7SUFFUTtBM0VnMGtCeEI7O0EyRTN6a0JnQjtJQUVRO0EzRTZ6a0J4Qjs7QTJFdDBrQmdCO0lBRVE7QTNFdzBrQnhCOztBMkVuMGtCZ0I7SUFFUTtBM0VxMGtCeEI7O0EyRTkwa0JnQjtJQUVRO0EzRWcxa0J4Qjs7QTJFMzBrQmdCO0lBRVE7QTNFNjBrQnhCOztBMkV0MWtCZ0I7SUFFUTtBM0V3MWtCeEI7O0EyRW4xa0JnQjtJQUVRO0EzRXExa0J4Qjs7QTJFOTFrQmdCO0lBRVE7QTNFZzJrQnhCOztBMkUzMWtCZ0I7SUFFUTtBM0U2MWtCeEI7O0EyRXQya0JnQjtJQUVRO0EzRXcya0J4Qjs7QTJFbjJrQmdCO0lBRVE7QTNFcTJrQnhCOztBMkU5MmtCZ0I7SUFFUTtBM0VnM2tCeEI7O0EyRTMya0JnQjtJQUVRO0EzRTYya0J4Qjs7QTJFdDNrQmdCO0lBRVE7QTNFdzNrQnhCOztBMkVuM2tCZ0I7SUFFUTtBM0VxM2tCeEI7O0EyRTkza0JnQjtJQUVRO0EzRWc0a0J4Qjs7QTJFMzNrQmdCO0lBRVE7QTNFNjNrQnhCOztBMkV0NGtCZ0I7SUFFUTtBM0V3NGtCeEI7O0EyRW40a0JnQjtJQUVRO0EzRXE0a0J4Qjs7QTJFOTRrQmdCO0lBRVE7QTNFZzVrQnhCOztBMkUzNGtCZ0I7SUFFUTtBM0U2NGtCeEI7O0EyRXQ1a0JnQjtJQUVRO0EzRXc1a0J4Qjs7QTJFbjVrQmdCO0lBRVE7QTNFcTVrQnhCOztBMkU5NWtCZ0I7SUFFUTtBM0VnNmtCeEI7O0EyRTM1a0JnQjtJQUVRO0EzRTY1a0J4Qjs7QTJFdDZrQmdCO0lBRVE7QTNFdzZrQnhCOztBMkVuNmtCZ0I7SUFFUTtBM0VxNmtCeEI7O0EyRTk2a0JnQjtJQUVRO0EzRWc3a0J4Qjs7QTJFMzZrQmdCO0lBRVE7QTNFNjZrQnhCOztBMkV0N2tCZ0I7SUFFUTtBM0V3N2tCeEI7O0EyRW43a0JnQjtJQUVRO0EzRXE3a0J4Qjs7QTJFOTdrQmdCO0lBRVE7QTNFZzhrQnhCOztBMkUzN2tCZ0I7SUFFUTtBM0U2N2tCeEI7O0EyRXQ4a0JnQjtJQUVRO0EzRXc4a0J4Qjs7QTJFbjhrQmdCO0lBRVE7QTNFcThrQnhCOztBMkU5OGtCZ0I7SUFFUTtBM0VnOWtCeEI7O0EyRTM4a0JnQjtJQUVRO0EzRTY4a0J4Qjs7QTJFdDlrQmdCO0lBRVE7QTNFdzlrQnhCOztBMkVuOWtCZ0I7SUFFUTtBM0VxOWtCeEI7O0EyRTk5a0JnQjtJQUVRO0EzRWcra0J4Qjs7QTJFMzlrQmdCO0lBRVE7QTNFNjlrQnhCOztBMkV0K2tCZ0I7SUFFUTtBM0V3K2tCeEI7O0EyRW4ra0JnQjtJQUVRO0EzRXEra0J4Qjs7QTJFOStrQmdCO0lBRVE7QTNFZy9rQnhCOztBMkUzK2tCZ0I7SUFFUTtBM0U2K2tCeEI7O0EyRXQva0JnQjtJQUVRO0EzRXcva0J4Qjs7QTJFbi9rQmdCO0lBRVE7QTNFcS9rQnhCOztBMkU5L2tCZ0I7SUFFUTtJQUFBO0EzRWlnbEJ4Qjs7QTJFNS9rQmdCO0lBRVE7SUFBQTtBM0UrL2tCeEI7O0EyRXhnbEJnQjtJQUVRO0lBQUE7QTNFMmdsQnhCOztBMkV0Z2xCZ0I7SUFFUTtJQUFBO0EzRXlnbEJ4Qjs7QTJFbGhsQmdCO0lBRVE7SUFBQTtBM0VxaGxCeEI7O0EyRWhobEJnQjtJQUVRO0lBQUE7QTNFbWhsQnhCOztBMkU1aGxCZ0I7SUFFUTtJQUFBO0EzRStobEJ4Qjs7QTJFMWhsQmdCO0lBRVE7SUFBQTtBM0U2aGxCeEI7O0EyRXRpbEJnQjtJQUVRO0lBQUE7QTNFeWlsQnhCOztBMkVwaWxCZ0I7SUFFUTtJQUFBO0EzRXVpbEJ4Qjs7QTJFaGpsQmdCO0lBRVE7SUFBQTtBM0VtamxCeEI7O0EyRTlpbEJnQjtJQUVRO0lBQUE7QTNFaWpsQnhCOztBMkUxamxCZ0I7SUFFUTtJQUFBO0EzRTZqbEJ4Qjs7QTJFeGpsQmdCO0lBRVE7SUFBQTtBM0UyamxCeEI7O0EyRXBrbEJnQjtJQUVRO0lBQUE7QTNFdWtsQnhCOztBMkVsa2xCZ0I7SUFFUTtJQUFBO0EzRXFrbEJ4Qjs7QTJFOWtsQmdCO0lBRVE7SUFBQTtBM0VpbGxCeEI7O0EyRTVrbEJnQjtJQUVRO0lBQUE7QTNFK2tsQnhCOztBMkV4bGxCZ0I7SUFFUTtJQUFBO0EzRTJsbEJ4Qjs7QTJFdGxsQmdCO0lBRVE7SUFBQTtBM0V5bGxCeEI7O0EyRWxtbEJnQjtJQUVRO0lBQUE7QTNFcW1sQnhCOztBMkVobWxCZ0I7SUFFUTtJQUFBO0EzRW1tbEJ4Qjs7QTJFNW1sQmdCO0lBRVE7SUFBQTtBM0UrbWxCeEI7O0EyRTFtbEJnQjtJQUVRO0lBQUE7QTNFNm1sQnhCOztBMkV0bmxCZ0I7SUFFUTtJQUFBO0EzRXlubEJ4Qjs7QTJFcG5sQmdCO0lBRVE7SUFBQTtBM0V1bmxCeEI7O0EyRWhvbEJnQjtJQUVRO0lBQUE7QTNFbW9sQnhCOztBMkU5bmxCZ0I7SUFFUTtJQUFBO0EzRWlvbEJ4Qjs7QTJFMW9sQmdCO0lBRVE7SUFBQTtBM0U2b2xCeEI7O0EyRXhvbEJnQjtJQUVRO0lBQUE7QTNFMm9sQnhCOztBMkVwcGxCZ0I7SUFFUTtJQUFBO0EzRXVwbEJ4Qjs7QTJFbHBsQmdCO0lBRVE7SUFBQTtBM0VxcGxCeEI7O0EyRTlwbEJnQjtJQUVRO0lBQUE7QTNFaXFsQnhCOztBMkU1cGxCZ0I7SUFFUTtJQUFBO0EzRStwbEJ4Qjs7QTJFeHFsQmdCO0lBRVE7SUFBQTtBM0UycWxCeEI7O0EyRXRxbEJnQjtJQUVRO0lBQUE7QTNFeXFsQnhCOztBMkVscmxCZ0I7SUFFUTtJQUFBO0EzRXFybEJ4Qjs7QTJFaHJsQmdCO0lBRVE7SUFBQTtBM0VtcmxCeEI7O0EyRTVybEJnQjtJQUVRO0lBQUE7QTNFK3JsQnhCOztBMkUxcmxCZ0I7SUFFUTtJQUFBO0EzRTZybEJ4Qjs7QTJFdHNsQmdCO0lBRVE7SUFBQTtBM0V5c2xCeEI7O0EyRXBzbEJnQjtJQUVRO0lBQUE7QTNFdXNsQnhCOztBMkVodGxCZ0I7SUFFUTtJQUFBO0EzRW10bEJ4Qjs7QTJFOXNsQmdCO0lBRVE7SUFBQTtBM0VpdGxCeEI7O0EyRTF0bEJnQjtJQUVRO0lBQUE7QTNFNnRsQnhCOztBMkV4dGxCZ0I7SUFFUTtJQUFBO0EzRTJ0bEJ4Qjs7QTJFcHVsQmdCO0lBRVE7SUFBQTtBM0V1dWxCeEI7O0EyRWx1bEJnQjtJQUVRO0lBQUE7QTNFcXVsQnhCOztBMkU5dWxCZ0I7SUFFUTtBM0VndmxCeEI7O0EyRTN1bEJnQjtJQUVRO0EzRTZ1bEJ4Qjs7QTJFdHZsQmdCO0lBRVE7QTNFd3ZsQnhCOztBMkVudmxCZ0I7SUFFUTtBM0VxdmxCeEI7O0EyRTl2bEJnQjtJQUVRO0EzRWd3bEJ4Qjs7QTJFM3ZsQmdCO0lBRVE7QTNFNnZsQnhCOztBMkV0d2xCZ0I7SUFFUTtBM0V3d2xCeEI7O0EyRW53bEJnQjtJQUVRO0EzRXF3bEJ4Qjs7QTJFOXdsQmdCO0lBRVE7QTNFZ3hsQnhCOztBMkUzd2xCZ0I7SUFFUTtBM0U2d2xCeEI7O0EyRXR4bEJnQjtJQUVRO0EzRXd4bEJ4Qjs7QTJFbnhsQmdCO0lBRVE7QTNFcXhsQnhCOztBMkU5eGxCZ0I7SUFFUTtBM0VneWxCeEI7O0EyRTN4bEJnQjtJQUVRO0EzRTZ4bEJ4Qjs7QTJFdHlsQmdCO0lBRVE7QTNFd3lsQnhCOztBMkVueWxCZ0I7SUFFUTtBM0VxeWxCeEI7O0EyRTl5bEJnQjtJQUVRO0EzRWd6bEJ4Qjs7QTJFM3lsQmdCO0lBRVE7QTNFNnlsQnhCOztBMkV0emxCZ0I7SUFFUTtBM0V3emxCeEI7O0EyRW56bEJnQjtJQUVRO0EzRXF6bEJ4Qjs7QTJFOXpsQmdCO0lBRVE7QTNFZzBsQnhCOztBMkUzemxCZ0I7SUFFUTtBM0U2emxCeEI7O0EyRXQwbEJnQjtJQUVRO0EzRXcwbEJ4Qjs7QTJFbjBsQmdCO0lBRVE7QTNFcTBsQnhCOztBMkU5MGxCZ0I7SUFFUTtBM0VnMWxCeEI7O0EyRTMwbEJnQjtJQUVRO0EzRTYwbEJ4Qjs7QTJFdDFsQmdCO0lBRVE7QTNFdzFsQnhCOztBMkVuMWxCZ0I7SUFFUTtBM0VxMWxCeEI7O0EyRTkxbEJnQjtJQUVRO0EzRWcybEJ4Qjs7QTJFMzFsQmdCO0lBRVE7QTNFNjFsQnhCOztBMkV0MmxCZ0I7SUFFUTtBM0V3MmxCeEI7O0EyRW4ybEJnQjtJQUVRO0EzRXEybEJ4Qjs7QTJFOTJsQmdCO0lBRVE7QTNFZzNsQnhCOztBMkUzMmxCZ0I7SUFFUTtBM0U2MmxCeEI7O0EyRXQzbEJnQjtJQUVRO0EzRXczbEJ4Qjs7QTJFbjNsQmdCO0lBRVE7QTNFcTNsQnhCOztBMkU5M2xCZ0I7SUFFUTtBM0VnNGxCeEI7O0EyRTMzbEJnQjtJQUVRO0EzRTYzbEJ4Qjs7QTJFdDRsQmdCO0lBRVE7QTNFdzRsQnhCOztBMkVuNGxCZ0I7SUFFUTtBM0VxNGxCeEI7O0EyRTk0bEJnQjtJQUVRO0EzRWc1bEJ4Qjs7QTJFMzRsQmdCO0lBRVE7QTNFNjRsQnhCOztBMkV0NWxCZ0I7SUFFUTtBM0V3NWxCeEI7O0EyRW41bEJnQjtJQUVRO0EzRXE1bEJ4Qjs7QTJFOTVsQmdCO0lBRVE7QTNFZzZsQnhCOztBMkUzNWxCZ0I7SUFFUTtBM0U2NWxCeEI7O0EyRXQ2bEJnQjtJQUVRO0EzRXc2bEJ4Qjs7QTJFbjZsQmdCO0lBRVE7QTNFcTZsQnhCOztBMkU5NmxCZ0I7SUFFUTtBM0VnN2xCeEI7O0EyRTM2bEJnQjtJQUVRO0EzRTY2bEJ4Qjs7QTJFdDdsQmdCO0lBRVE7QTNFdzdsQnhCOztBMkVuN2xCZ0I7SUFFUTtBM0VxN2xCeEI7O0EyRTk3bEJnQjtJQUVRO0EzRWc4bEJ4Qjs7QTJFMzdsQmdCO0lBRVE7QTNFNjdsQnhCOztBMkV0OGxCZ0I7SUFFUTtBM0V3OGxCeEI7O0EyRW44bEJnQjtJQUVRO0EzRXE4bEJ4Qjs7QTJFOThsQmdCO0lBRVE7QTNFZzlsQnhCOztBMkUzOGxCZ0I7SUFFUTtBM0U2OGxCeEI7O0EyRXQ5bEJnQjtJQUVRO0EzRXc5bEJ4Qjs7QTJFbjlsQmdCO0lBRVE7QTNFcTlsQnhCOztBMkU5OWxCZ0I7SUFFUTtBM0VnK2xCeEI7O0EyRTM5bEJnQjtJQUVRO0EzRTY5bEJ4Qjs7QTJFdCtsQmdCO0lBRVE7QTNFdytsQnhCOztBMkVuK2xCZ0I7SUFFUTtBM0VxK2xCeEI7O0EyRTkrbEJnQjtJQUVRO0EzRWcvbEJ4Qjs7QTJFMytsQmdCO0lBRVE7QTNFNitsQnhCOztBMkV0L2xCZ0I7SUFFUTtBM0V3L2xCeEI7O0EyRW4vbEJnQjtJQUVRO0EzRXEvbEJ4Qjs7QTJFOS9sQmdCO0lBRVE7QTNFZ2dtQnhCOztBMkUzL2xCZ0I7SUFFUTtBM0U2L2xCeEI7O0EyRXRnbUJnQjtJQUVRO0EzRXdnbUJ4Qjs7QTJFbmdtQmdCO0lBRVE7QTNFcWdtQnhCOztBMkU5Z21CZ0I7SUFFUTtBM0VnaG1CeEI7O0EyRTNnbUJnQjtJQUVRO0EzRTZnbUJ4Qjs7QTJFdGhtQmdCO0lBRVE7QTNFd2htQnhCOztBMkVuaG1CZ0I7SUFFUTtBM0VxaG1CeEI7O0EyRTlobUJnQjtJQUVRO0EzRWdpbUJ4Qjs7QTJFM2htQmdCO0lBRVE7QTNFNmhtQnhCOztBMkV0aW1CZ0I7SUFFUTtBM0V3aW1CeEI7O0EyRW5pbUJnQjtJQUVRO0EzRXFpbUJ4Qjs7QTJFOWltQmdCO0lBRVE7QTNFZ2ptQnhCOztBMkUzaW1CZ0I7SUFFUTtBM0U2aW1CeEI7O0EyRXRqbUJnQjtJQUVRO0EzRXdqbUJ4Qjs7QTJFbmptQmdCO0lBRVE7QTNFcWptQnhCOztBMkU5am1CZ0I7SUFFUTtBM0Vna21CeEI7O0EyRTNqbUJnQjtJQUVRO0EzRTZqbUJ4Qjs7QTJFdGttQmdCO0lBRVE7QTNFd2ttQnhCOztBMkVua21CZ0I7SUFFUTtBM0Vxa21CeEI7O0EyRTlrbUJnQjtJQUVRO0EzRWdsbUJ4Qjs7QTJFM2ttQmdCO0lBRVE7QTNFNmttQnhCOztBMkV0bG1CZ0I7SUFFUTtBM0V3bG1CeEI7O0EyRW5sbUJnQjtJQUVRO0EzRXFsbUJ4Qjs7QTJFOWxtQmdCO0lBRVE7QTNFZ21tQnhCOztBMkUzbG1CZ0I7SUFFUTtBM0U2bG1CeEI7O0EyRXRtbUJnQjtJQUVRO0EzRXdtbUJ4Qjs7QTJFbm1tQmdCO0lBRVE7QTNFcW1tQnhCOztBMkU5bW1CZ0I7SUFFUTtBM0Vnbm1CeEI7O0EyRTNtbUJnQjtJQUVRO0EzRTZtbUJ4Qjs7QTJFdG5tQmdCO0lBRVE7QTNFd25tQnhCOztBMkVubm1CZ0I7SUFFUTtBM0Vxbm1CeEI7O0EyRTlubUJnQjtJQUVRO0EzRWdvbUJ4Qjs7QTJFM25tQmdCO0lBRVE7QTNFNm5tQnhCOztBMkV0b21CZ0I7SUFFUTtBM0V3b21CeEI7O0EyRW5vbUJnQjtJQUVRO0EzRXFvbUJ4Qjs7QTJFOW9tQmdCO0lBRVE7QTNFZ3BtQnhCOztBMkUzb21CZ0I7SUFFUTtBM0U2b21CeEI7O0EyRXRwbUJnQjtJQUVRO0EzRXdwbUJ4Qjs7QTJFbnBtQmdCO0lBRVE7QTNFcXBtQnhCOztBMkU5cG1CZ0I7SUFFUTtBM0VncW1CeEI7O0EyRTNwbUJnQjtJQUVRO0EzRTZwbUJ4Qjs7QTJFdHFtQmdCO0lBRVE7QTNFd3FtQnhCOztBMkVucW1CZ0I7SUFFUTtBM0VxcW1CeEI7O0EyRTlxbUJnQjtJQUVRO0EzRWdybUJ4Qjs7QTJFM3FtQmdCO0lBRVE7QTNFNnFtQnhCOztBMkV0cm1CZ0I7SUFFUTtBM0V3cm1CeEI7O0EyRW5ybUJnQjtJQUVRO0EzRXFybUJ4Qjs7QTJFOXJtQmdCO0lBRVE7QTNFZ3NtQnhCOztBMkUzcm1CZ0I7SUFFUTtBM0U2cm1CeEI7O0EyRXRzbUJnQjtJQUVRO0EzRXdzbUJ4Qjs7QTJFbnNtQmdCO0lBRVE7QTNFcXNtQnhCOztBMkU5c21CZ0I7SUFFUTtBM0VndG1CeEI7O0EyRTNzbUJnQjtJQUVRO0EzRTZzbUJ4Qjs7QTJFdHRtQmdCO0lBRVE7QTNFd3RtQnhCOztBMkVudG1CZ0I7SUFFUTtBM0VxdG1CeEI7O0EyRTl0bUJnQjtJQUVRO0EzRWd1bUJ4Qjs7QTJFM3RtQmdCO0lBRVE7QTNFNnRtQnhCOztBMkV0dW1CZ0I7SUFFUTtBM0V3dW1CeEI7O0EyRW51bUJnQjtJQUVRO0EzRXF1bUJ4Qjs7QTJFOXVtQmdCO0lBRVE7QTNFZ3ZtQnhCOztBMkUzdW1CZ0I7SUFFUTtBM0U2dW1CeEI7O0EyRXR2bUJnQjtJQUVRO0EzRXd2bUJ4Qjs7QTJFbnZtQmdCO0lBRVE7QTNFcXZtQnhCOztBMkU5dm1CZ0I7SUFFUTtBM0Vnd21CeEI7O0EyRTN2bUJnQjtJQUVRO0EzRTZ2bUJ4Qjs7QTJFdHdtQmdCO0lBRVE7QTNFd3dtQnhCOztBMkVud21CZ0I7SUFFUTtBM0Vxd21CeEI7O0EyRTl3bUJnQjtJQUVRO0EzRWd4bUJ4Qjs7QTJFM3dtQmdCO0lBRVE7QTNFNndtQnhCOztBMkV0eG1CZ0I7SUFFUTtBM0V3eG1CeEI7O0EyRW54bUJnQjtJQUVRO0EzRXF4bUJ4Qjs7QTJFOXhtQmdCO0lBRVE7QTNFZ3ltQnhCOztBMkUzeG1CZ0I7SUFFUTtBM0U2eG1CeEI7O0EyRXR5bUJnQjtJQUVRO0EzRXd5bUJ4Qjs7QTJFbnltQmdCO0lBRVE7QTNFcXltQnhCOztBMkU5eW1CZ0I7SUFFUTtBM0Vnem1CeEI7O0EyRTN5bUJnQjtJQUVRO0EzRTZ5bUJ4Qjs7QTJFdHptQmdCO0lBRVE7QTNFd3ptQnhCOztBMkVuem1CZ0I7SUFFUTtBM0Vxem1CeEI7O0EyRTl6bUJnQjtJQUVRO0EzRWcwbUJ4Qjs7QTJFM3ptQmdCO0lBRVE7QTNFNnptQnhCOztBMkV0MG1CZ0I7SUFFUTtBM0V3MG1CeEI7O0EyRW4wbUJnQjtJQUVRO0EzRXEwbUJ4Qjs7QTJFOTBtQmdCO0lBRVE7QTNFZzFtQnhCOztBMkUzMG1CZ0I7SUFFUTtBM0U2MG1CeEI7O0EyRXQxbUJnQjtJQUVRO0EzRXcxbUJ4Qjs7QTJFbjFtQmdCO0lBRVE7QTNFcTFtQnhCOztBMkU5MW1CZ0I7SUFFUTtBM0VnMm1CeEI7O0EyRTMxbUJnQjtJQUVRO0EzRTYxbUJ4Qjs7QTJFdDJtQmdCO0lBRVE7QTNFdzJtQnhCOztBMkVuMm1CZ0I7SUFFUTtBM0VxMm1CeEI7O0EyRTkybUJnQjtJQUVRO0EzRWczbUJ4Qjs7QTJFMzJtQmdCO0lBRVE7QTNFNjJtQnhCOztBMkV0M21CZ0I7SUFFUTtBM0V3M21CeEI7O0EyRW4zbUJnQjtJQUVRO0EzRXEzbUJ4Qjs7QTJFOTNtQmdCO0lBRVE7QTNFZzRtQnhCOztBMkUzM21CZ0I7SUFFUTtBM0U2M21CeEI7O0EyRXQ0bUJnQjtJQUVRO0EzRXc0bUJ4Qjs7QTJFbjRtQmdCO0lBRVE7QTNFcTRtQnhCOztBMkU5NG1CZ0I7SUFFUTtBM0VnNW1CeEI7O0EyRTM0bUJnQjtJQUVRO0EzRTY0bUJ4Qjs7QTJFdDVtQmdCO0lBRVE7QTNFdzVtQnhCOztBMkVuNW1CZ0I7SUFFUTtBM0VxNW1CeEI7O0EyRTk1bUJnQjtJQUVRO0EzRWc2bUJ4Qjs7QTJFMzVtQmdCO0lBRVE7QTNFNjVtQnhCOztBMkV0Nm1CZ0I7SUFFUTtBM0V3Nm1CeEI7O0EyRW42bUJnQjtJQUVRO0EzRXE2bUJ4Qjs7QTJFOTZtQmdCO0lBRVE7QTNFZzdtQnhCOztBMkUzNm1CZ0I7SUFFUTtBM0U2Nm1CeEI7O0EyRXQ3bUJnQjtJQUVRO0EzRXc3bUJ4Qjs7QTJFbjdtQmdCO0lBRVE7QTNFcTdtQnhCOztBMkU5N21CZ0I7SUFFUTtBM0VnOG1CeEI7O0EyRTM3bUJnQjtJQUVRO0EzRTY3bUJ4Qjs7QTJFdDhtQmdCO0lBRVE7QTNFdzhtQnhCOztBMkVuOG1CZ0I7SUFFUTtBM0VxOG1CeEI7O0EyRTk4bUJnQjtJQUVRO0EzRWc5bUJ4Qjs7QTJFMzhtQmdCO0lBRVE7QTNFNjhtQnhCOztBMkV0OW1CZ0I7SUFFUTtBM0V3OW1CeEI7O0EyRW45bUJnQjtJQUVRO0EzRXE5bUJ4Qjs7QTJFOTltQmdCO0lBRVE7QTNFZyttQnhCOztBMkUzOW1CZ0I7SUFFUTtBM0U2OW1CeEI7O0EyRXQrbUJnQjtJQUVRO0EzRXcrbUJ4Qjs7QTJFbittQmdCO0lBRVE7QTNFcSttQnhCOztBMkU5K21CZ0I7SUFFUTtBM0VnL21CeEI7O0EyRTMrbUJnQjtJQUVRO0EzRTYrbUJ4Qjs7QTJFdC9tQmdCO0lBRVE7QTNFdy9tQnhCOztBMkVuL21CZ0I7SUFFUTtBM0VxL21CeEI7O0EyRTkvbUJnQjtJQUVRO0EzRWdnbkJ4Qjs7QTJFMy9tQmdCO0lBRVE7QTNFNi9tQnhCOztBMkV0Z25CZ0I7SUFFUTtBM0V3Z25CeEI7O0EyRW5nbkJnQjtJQUVRO0EzRXFnbkJ4Qjs7QTJFOWduQmdCO0lBRVE7QTNFZ2huQnhCOztBMkUzZ25CZ0I7SUFFUTtBM0U2Z25CeEI7O0EyRXRobkJnQjtJQUVRO0EzRXdobkJ4Qjs7QTJFbmhuQmdCO0lBRVE7QTNFcWhuQnhCOztBMkU5aG5CZ0I7SUFFUTtBM0VnaW5CeEI7O0EyRTNobkJnQjtJQUVRO0EzRTZobkJ4Qjs7QTJFdGluQmdCO0lBRVE7QTNFd2luQnhCOztBMkVuaW5CZ0I7SUFFUTtBM0VxaW5CeEI7O0EyRTlpbkJnQjtJQUVRO0EzRWdqbkJ4Qjs7QTJFM2luQmdCO0lBRVE7QTNFNmluQnhCOztBMkV0am5CZ0I7SUFFUTtBM0V3am5CeEI7O0EyRW5qbkJnQjtJQUVRO0EzRXFqbkJ4Qjs7QTJFOWpuQmdCO0lBRVE7QTNFZ2tuQnhCOztBMkUzam5CZ0I7SUFFUTtBM0U2am5CeEI7O0EyRXRrbkJnQjtJQUVRO0EzRXdrbkJ4Qjs7QTJFbmtuQmdCO0lBRVE7QTNFcWtuQnhCOztBMkU5a25CZ0I7SUFFUTtBM0VnbG5CeEI7O0EyRTNrbkJnQjtJQUVRO0EzRTZrbkJ4Qjs7QTJFdGxuQmdCO0lBRVE7QTNFd2xuQnhCOztBMkVubG5CZ0I7SUFFUTtBM0VxbG5CeEI7O0EyRTlsbkJnQjtJQUVRO0EzRWdtbkJ4Qjs7QTJFM2xuQmdCO0lBRVE7QTNFNmxuQnhCOztBMkV0bW5CZ0I7SUFFUTtBM0V3bW5CeEI7O0EyRW5tbkJnQjtJQUVRO0EzRXFtbkJ4Qjs7QTJFOW1uQmdCO0lBRVE7QTNFZ25uQnhCOztBMkUzbW5CZ0I7SUFFUTtBM0U2bW5CeEI7O0EyRXRubkJnQjtJQUVRO0EzRXdubkJ4Qjs7QTJFbm5uQmdCO0lBRVE7QTNFcW5uQnhCOztBMkU5bm5CZ0I7SUFFUTtBM0Vnb25CeEI7O0EyRTNubkJnQjtJQUVRO0EzRTZubkJ4Qjs7QTJFdG9uQmdCO0lBRVE7QTNFd29uQnhCOztBMkVub25CZ0I7SUFFUTtBM0Vxb25CeEI7O0EyRTlvbkJnQjtJQUVRO0EzRWdwbkJ4Qjs7QTJFM29uQmdCO0lBRVE7QTNFNm9uQnhCOztBMkV0cG5CZ0I7SUFFUTtBM0V3cG5CeEI7O0EyRW5wbkJnQjtJQUVRO0EzRXFwbkJ4Qjs7QTJFOXBuQmdCO0lBRVE7QTNFZ3FuQnhCOztBMkUzcG5CZ0I7SUFFUTtBM0U2cG5CeEI7O0EyRXRxbkJnQjtJQUVRO0EzRXdxbkJ4Qjs7QTJFbnFuQmdCO0lBRVE7QTNFcXFuQnhCOztBMkU5cW5CZ0I7SUFFUTtBM0Vncm5CeEI7O0EyRTNxbkJnQjtJQUVRO0EzRTZxbkJ4Qjs7QTJFdHJuQmdCO0lBRVE7QTNFd3JuQnhCOztBMkVucm5CZ0I7SUFFUTtBM0Vxcm5CeEI7O0EyRTlybkJnQjtJQUVRO0EzRWdzbkJ4Qjs7QTJFM3JuQmdCO0lBRVE7QTNFNnJuQnhCOztBMkV0c25CZ0I7SUFFUTtBM0V3c25CeEI7O0EyRW5zbkJnQjtJQUVRO0EzRXFzbkJ4Qjs7QTJFOXNuQmdCO0lBRVE7QTNFZ3RuQnhCOztBMkUzc25CZ0I7SUFFUTtBM0U2c25CeEI7O0EyRXR0bkJnQjtJQUVRO0EzRXd0bkJ4Qjs7QTJFbnRuQmdCO0lBRVE7QTNFcXRuQnhCOztBMkU5dG5CZ0I7SUFFUTtBM0VndW5CeEI7O0EyRTN0bkJnQjtJQUVRO0EzRTZ0bkJ4Qjs7QTJFdHVuQmdCO0lBRVE7QTNFd3VuQnhCOztBMkVudW5CZ0I7SUFFUTtBM0VxdW5CeEI7O0EyRTl1bkJnQjtJQUVRO0EzRWd2bkJ4Qjs7QTJFM3VuQmdCO0lBRVE7QTNFNnVuQnhCOztBMkV0dm5CZ0I7SUFFUTtBM0V3dm5CeEI7O0EyRW52bkJnQjtJQUVRO0EzRXF2bkJ4Qjs7QTJFOXZuQmdCO0lBRVE7QTNFZ3duQnhCOztBMkUzdm5CZ0I7SUFFUTtBM0U2dm5CeEI7O0EyRXR3bkJnQjtJQUVRO0EzRXd3bkJ4Qjs7QTJFbnduQmdCO0lBRVE7QTNFcXduQnhCOztBMkU5d25CZ0I7SUFFUTtBM0VneG5CeEI7O0EyRTN3bkJnQjtJQUVRO0EzRTZ3bkJ4Qjs7QTJFdHhuQmdCO0lBRVE7QTNFd3huQnhCOztBMkVueG5CZ0I7SUFFUTtBM0VxeG5CeEI7O0EyRTl4bkJnQjtJQUVRO0EzRWd5bkJ4Qjs7QTJFM3huQmdCO0lBRVE7QTNFNnhuQnhCOztBMkV0eW5CZ0I7SUFFUTtBM0V3eW5CeEI7O0EyRW55bkJnQjtJQUVRO0EzRXF5bkJ4Qjs7QTJFOXluQmdCO0lBRVE7QTNFZ3puQnhCOztBMkUzeW5CZ0I7SUFFUTtBM0U2eW5CeEI7O0EyRXR6bkJnQjtJQUVRO0EzRXd6bkJ4Qjs7QTJFbnpuQmdCO0lBRVE7QTNFcXpuQnhCOztBMkU5em5CZ0I7SUFFUTtBM0VnMG5CeEI7O0EyRTN6bkJnQjtJQUVRO0EzRTZ6bkJ4Qjs7QTJFdDBuQmdCO0lBRVE7QTNFdzBuQnhCOztBMkVuMG5CZ0I7SUFFUTtBM0VxMG5CeEI7O0EyRTkwbkJnQjtJQUVRO0EzRWcxbkJ4Qjs7QTJFMzBuQmdCO0lBRVE7QTNFNjBuQnhCOztBMkV0MW5CZ0I7SUFFUTtBM0V3MW5CeEI7O0EyRW4xbkJnQjtJQUVRO0EzRXExbkJ4Qjs7QTJFOTFuQmdCO0lBRVE7QTNFZzJuQnhCOztBMkUzMW5CZ0I7SUFFUTtBM0U2MW5CeEI7O0EyRXQybkJnQjtJQUVRO0EzRXcybkJ4Qjs7QTJFbjJuQmdCO0lBRVE7QTNFcTJuQnhCOztBMkU5Mm5CZ0I7SUFFUTtBM0VnM25CeEI7O0EyRTMybkJnQjtJQUVRO0EzRTYybkJ4Qjs7QTJFdDNuQmdCO0lBRVE7QTNFdzNuQnhCOztBMkVuM25CZ0I7SUFFUTtBM0VxM25CeEI7O0EyRTkzbkJnQjtJQUVRO0EzRWc0bkJ4Qjs7QTJFMzNuQmdCO0lBRVE7QTNFNjNuQnhCOztBMkV0NG5CZ0I7SUFFUTtBM0V3NG5CeEI7O0EyRW40bkJnQjtJQUVRO0EzRXE0bkJ4Qjs7QTJFOTRuQmdCO0lBRVE7QTNFZzVuQnhCOztBMkUzNG5CZ0I7SUFFUTtBM0U2NG5CeEI7O0EyRXQ1bkJnQjtJQUVRO0EzRXc1bkJ4Qjs7QTJFbjVuQmdCO0lBRVE7QTNFcTVuQnhCOztBMkU5NW5CZ0I7SUFFUTtBM0VnNm5CeEI7O0EyRTM1bkJnQjtJQUVRO0EzRTY1bkJ4Qjs7QTJFdDZuQmdCO0lBRVE7QTNFdzZuQnhCOztBMkVuNm5CZ0I7SUFFUTtBM0VxNm5CeEI7O0EyRTk2bkJnQjtJQUVRO0EzRWc3bkJ4Qjs7QTJFMzZuQmdCO0lBRVE7QTNFNjZuQnhCOztBMkV0N25CZ0I7SUFFUTtBM0V3N25CeEI7O0EyRW43bkJnQjtJQUVRO0EzRXE3bkJ4Qjs7QTJFOTduQmdCO0lBRVE7QTNFZzhuQnhCOztBMkUzN25CZ0I7SUFFUTtBM0U2N25CeEI7O0EyRXQ4bkJnQjtJQUVRO0EzRXc4bkJ4Qjs7QTJFbjhuQmdCO0lBRVE7QTNFcThuQnhCOztBMkU5OG5CZ0I7SUFFUTtBM0VnOW5CeEI7O0EyRTM4bkJnQjtJQUVRO0EzRTY4bkJ4Qjs7QTJFdDluQmdCO0lBRVE7QTNFdzluQnhCOztBMkVuOW5CZ0I7SUFFUTtBM0VxOW5CeEI7O0EyRTk5bkJnQjtJQUVRO0EzRWcrbkJ4Qjs7QTJFMzluQmdCO0lBRVE7QTNFNjluQnhCOztBMkV0K25CZ0I7SUFFUTtBM0V3K25CeEI7O0EyRW4rbkJnQjtJQUVRO0EzRXErbkJ4Qjs7QTJFOStuQmdCO0lBRVE7QTNFZy9uQnhCOztBMkUzK25CZ0I7SUFFUTtBM0U2K25CeEI7O0EyRXQvbkJnQjtJQUVRO0EzRXcvbkJ4Qjs7QTJFbi9uQmdCO0lBRVE7QTNFcS9uQnhCOztBMkU5L25CZ0I7SUFFUTtBM0VnZ29CeEI7O0EyRTMvbkJnQjtJQUVRO0EzRTYvbkJ4Qjs7QTJFdGdvQmdCO0lBRVE7QTNFd2dvQnhCOztBMkVuZ29CZ0I7SUFFUTtBM0VxZ29CeEI7O0EyRTlnb0JnQjtJQUVRO0EzRWdob0J4Qjs7QTJFM2dvQmdCO0lBRVE7QTNFNmdvQnhCOztBMkV0aG9CZ0I7SUFFUTtBM0V3aG9CeEI7O0EyRW5ob0JnQjtJQUVRO0EzRXFob0J4Qjs7QTJFejljUTtJQUEwQjtBM0U2OWNsQzs7QTJFNTljUTtJQUE0QjtBM0VnK2NwQzs7QTJFLzljUTtJQUEwQjtBM0VtK2NsQzs7QTJFbCtjUTtJQUE0QjtBM0VzK2NwQzs7QTJFcitjUTtJQUFpRDtBM0V5K2N6RDs7QTJFeCtjUTtJQUFxRDtBM0U0K2M3RDs7QTJFdGpvQmdCO0lBRVE7QTNFd2pvQnhCOztBMkVuam9CZ0I7SUFFUTtBM0Vxam9CeEI7O0EyRTlqb0JnQjtJQUVRO0EzRWdrb0J4Qjs7QTJFM2pvQmdCO0lBRVE7QTNFNmpvQnhCOztBMkV0a29CZ0I7SUFFUTtBM0V3a29CeEI7O0EyRW5rb0JnQjtJQUVRO0EzRXFrb0J4Qjs7QTJFOWtvQmdCO0lBRVE7QTNFZ2xvQnhCOztBMkUza29CZ0I7SUFFUTtBM0U2a29CeEI7O0EyRXRsb0JnQjtJQUVRO0EzRXdsb0J4Qjs7QTJFbmxvQmdCO0lBRVE7QTNFcWxvQnhCOztBMkU5bG9CZ0I7SUFFUTtBM0VnbW9CeEI7O0EyRTNsb0JnQjtJQUVRO0EzRTZsb0J4Qjs7QTJFdG1vQmdCO0lBRVE7QTNFd21vQnhCOztBMkVubW9CZ0I7SUFFUTtBM0VxbW9CeEI7O0EyRTltb0JnQjtJQUVRO0EzRWdub0J4Qjs7QTJFM21vQmdCO0lBRVE7QTNFNm1vQnhCOztBMkV0bm9CZ0I7SUFFUTtBM0V3bm9CeEI7O0EyRW5ub0JnQjtJQUVRO0EzRXFub0J4Qjs7QTJFOW5vQmdCO0lBRVE7QTNFZ29vQnhCOztBMkUzbm9CZ0I7SUFFUTtBM0U2bm9CeEI7O0EyRXRvb0JnQjtJQUVRO0EzRXdvb0J4Qjs7QTJFbm9vQmdCO0lBRVE7QTNFcW9vQnhCOztBMkU5b29CZ0I7SUFFUTtBM0VncG9CeEI7O0EyRTNvb0JnQjtJQUVRO0EzRTZvb0J4Qjs7QTJFdHBvQmdCO0lBRVE7QTNFd3BvQnhCOztBMkVucG9CZ0I7SUFFUTtBM0VxcG9CeEI7O0EyRTlwb0JnQjtJQUVRO0EzRWdxb0J4Qjs7QTJFM3BvQmdCO0lBRVE7QTNFNnBvQnhCOztBMkV0cW9CZ0I7SUFFUTtBM0V3cW9CeEI7O0EyRW5xb0JnQjtJQUVRO0EzRXFxb0J4Qjs7QTJFOXFvQmdCO0lBRVE7QTNFZ3JvQnhCOztBMkUzcW9CZ0I7SUFFUTtBM0U2cW9CeEI7O0EyRXRyb0JnQjtJQUVRO0EzRXdyb0J4Qjs7QTJFbnJvQmdCO0lBRVE7QTNFcXJvQnhCOztBMkU5cm9CZ0I7SUFFUTtBM0Vnc29CeEI7O0EyRTNyb0JnQjtJQUVRO0EzRTZyb0J4Qjs7QTJFdHNvQmdCO0lBRVE7QTNFd3NvQnhCOztBMkVuc29CZ0I7SUFFUTtBM0Vxc29CeEI7O0EyRTlzb0JnQjtJQUVRO0EzRWd0b0J4Qjs7QTJFM3NvQmdCO0lBRVE7QTNFNnNvQnhCOztBMkV0dG9CZ0I7SUFFUTtBM0V3dG9CeEI7O0EyRW50b0JnQjtJQUVRO0EzRXF0b0J4Qjs7QTJFOXRvQmdCO0lBRVE7QTNFZ3VvQnhCOztBMkUzdG9CZ0I7SUFFUTtBM0U2dG9CeEI7O0EyRXR1b0JnQjtJQUVRO0EzRXd1b0J4Qjs7QTJFbnVvQmdCO0lBRVE7QTNFcXVvQnhCOztBMkU5dW9CZ0I7SUFFUTtBM0Vndm9CeEI7O0EyRTN1b0JnQjtJQUVRO0EzRTZ1b0J4Qjs7QTJFdHZvQmdCO0lBRVE7QTNFd3ZvQnhCOztBMkVudm9CZ0I7SUFFUTtBM0Vxdm9CeEI7O0EyRTl2b0JnQjtJQUVRO0EzRWd3b0J4Qjs7QTJFM3ZvQmdCO0lBRVE7QTNFNnZvQnhCOztBMkV0d29CZ0I7SUFFUTtBM0V3d29CeEI7O0EyRW53b0JnQjtJQUVRO0EzRXF3b0J4Qjs7QTJFOXdvQmdCO0lBRVE7QTNFZ3hvQnhCOztBMkUzd29CZ0I7SUFFUTtBM0U2d29CeEI7O0EyRXR4b0JnQjtJQUVRO0EzRXd4b0J4Qjs7QTJFbnhvQmdCO0lBRVE7QTNFcXhvQnhCOztBMkU5eG9CZ0I7SUFFUTtBM0VneW9CeEI7O0EyRTN4b0JnQjtJQUVRO0EzRTZ4b0J4Qjs7QTJFdHlvQmdCO0lBRVE7QTNFd3lvQnhCOztBMkVueW9CZ0I7SUFFUTtBM0VxeW9CeEI7O0EyRTl5b0JnQjtJQUVRO0EzRWd6b0J4Qjs7QTJFM3lvQmdCO0lBRVE7QTNFNnlvQnhCOztBMkV0em9CZ0I7SUFFUTtBM0V3em9CeEI7O0EyRW56b0JnQjtJQUVRO0EzRXF6b0J4Qjs7QTJFOXpvQmdCO0lBRVE7QTNFZzBvQnhCOztBMkUzem9CZ0I7SUFFUTtBM0U2em9CeEI7O0EyRXQwb0JnQjtJQUVRO0EzRXcwb0J4Qjs7QTJFbjBvQmdCO0lBRVE7QTNFcTBvQnhCOztBMkU5MG9CZ0I7SUFFUTtBM0VnMW9CeEI7O0EyRTMwb0JnQjtJQUVRO0EzRTYwb0J4Qjs7QTJFdDFvQmdCO0lBRVE7QTNFdzFvQnhCOztBMkVuMW9CZ0I7SUFFUTtBM0VxMW9CeEI7O0EyRTkxb0JnQjtJQUVRO0EzRWcyb0J4Qjs7QTJFMzFvQmdCO0lBRVE7QTNFNjFvQnhCOztBMkV0Mm9CZ0I7SUFFUTtBM0V3Mm9CeEI7O0EyRW4yb0JnQjtJQUVRO0EzRXEyb0J4Qjs7QTJFOTJvQmdCO0lBRVE7QTNFZzNvQnhCOztBMkUzMm9CZ0I7SUFFUTtBM0U2Mm9CeEI7O0EyRXQzb0JnQjtJQUVRO0EzRXczb0J4Qjs7QTJFbjNvQmdCO0lBRVE7QTNFcTNvQnhCOztBMkU5M29CZ0I7SUFFUTtBM0VnNG9CeEI7O0EyRTMzb0JnQjtJQUVRO0EzRTYzb0J4Qjs7QTJFdDRvQmdCO0lBRVE7QTNFdzRvQnhCOztBMkVuNG9CZ0I7SUFFUTtBM0VxNG9CeEI7O0EyRTk0b0JnQjtJQUVRO0EzRWc1b0J4Qjs7QTJFMzRvQmdCO0lBRVE7QTNFNjRvQnhCOztBMkV0NW9CZ0I7SUFFUTtBM0V3NW9CeEI7O0EyRW41b0JnQjtJQUVRO0EzRXE1b0J4Qjs7QTJFOTVvQmdCO0lBRVE7QTNFZzZvQnhCOztBMkUzNW9CZ0I7SUFFUTtBM0U2NW9CeEI7O0EyRXQ2b0JnQjtJQUVRO0EzRXc2b0J4Qjs7QTJFbjZvQmdCO0lBRVE7QTNFcTZvQnhCOztBMkU5Nm9CZ0I7SUFFUTtBM0VnN29CeEI7O0EyRTM2b0JnQjtJQUVRO0EzRTY2b0J4Qjs7QTJFdDdvQmdCO0lBRVE7QTNFdzdvQnhCOztBMkVuN29CZ0I7SUFFUTtBM0VxN29CeEI7O0EyRTk3b0JnQjtJQUVRO0EzRWc4b0J4Qjs7QTJFMzdvQmdCO0lBRVE7QTNFNjdvQnhCOztBMkV0OG9CZ0I7SUFFUTtBM0V3OG9CeEI7O0EyRW44b0JnQjtJQUVRO0EzRXE4b0J4Qjs7QTJFOThvQmdCO0lBRVE7QTNFZzlvQnhCOztBMkUzOG9CZ0I7SUFFUTtBM0U2OG9CeEI7O0EyRXQ5b0JnQjtJQUVRO0EzRXc5b0J4Qjs7QTJFbjlvQmdCO0lBRVE7QTNFcTlvQnhCOztBMkU5OW9CZ0I7SUFFUTtBM0VnK29CeEI7O0EyRTM5b0JnQjtJQUVRO0EzRTY5b0J4Qjs7QTJFdCtvQmdCO0lBRVE7QTNFdytvQnhCOztBMkVuK29CZ0I7SUFFUTtBM0VxK29CeEI7O0EyRTkrb0JnQjtJQUVRO0EzRWcvb0J4Qjs7QTJFMytvQmdCO0lBRVE7QTNFNitvQnhCOztBMkV0L29CZ0I7SUFFUTtBM0V3L29CeEI7O0EyRW4vb0JnQjtJQUVRO0EzRXEvb0J4Qjs7QTJFOS9vQmdCO0lBRVE7QTNFZ2dwQnhCOztBMkUzL29CZ0I7SUFFUTtBM0U2L29CeEI7O0EyRXRncEJnQjtJQUVRO0EzRXdncEJ4Qjs7QTJFbmdwQmdCO0lBRVE7QTNFcWdwQnhCOztBMkU5Z3BCZ0I7SUFFUTtBM0VnaHBCeEI7O0EyRTNncEJnQjtJQUVRO0EzRTZncEJ4Qjs7QTJFdGhwQmdCO0lBRVE7QTNFd2hwQnhCOztBMkVuaHBCZ0I7SUFFUTtBM0VxaHBCeEI7O0EyRTlocEJnQjtJQUVRO0EzRWdpcEJ4Qjs7QTJFM2hwQmdCO0lBRVE7QTNFNmhwQnhCOztBMkV0aXBCZ0I7SUFFUTtBM0V3aXBCeEI7O0EyRW5pcEJnQjtJQUVRO0EzRXFpcEJ4Qjs7QTJFOWlwQmdCO0lBRVE7QTNFZ2pwQnhCOztBMkUzaXBCZ0I7SUFFUTtBM0U2aXBCeEI7O0EyRXRqcEJnQjtJQUVRO0EzRXdqcEJ4Qjs7QTJFbmpwQmdCO0lBRVE7QTNFcWpwQnhCOztBMkU5anBCZ0I7SUFFUTtBM0Vna3BCeEI7O0EyRTNqcEJnQjtJQUVRO0EzRTZqcEJ4Qjs7QTJFdGtwQmdCO0lBRVE7QTNFd2twQnhCOztBMkVua3BCZ0I7SUFFUTtBM0Vxa3BCeEI7O0EyRTlrcEJnQjtJQUVRO0EzRWdscEJ4Qjs7QTJFM2twQmdCO0lBRVE7QTNFNmtwQnhCOztBMkV0bHBCZ0I7SUFFUTtBM0V3bHBCeEI7O0EyRW5scEJnQjtJQUVRO0EzRXFscEJ4Qjs7QTJFOWxwQmdCO0lBRVE7QTNFZ21wQnhCOztBMkUzbHBCZ0I7SUFFUTtBM0U2bHBCeEI7O0EyRXRtcEJnQjtJQUVRO0EzRXdtcEJ4Qjs7QTJFbm1wQmdCO0lBRVE7QTNFcW1wQnhCOztBMkU5bXBCZ0I7SUFFUTtBM0VnbnBCeEI7O0EyRTNtcEJnQjtJQUVRO0EzRTZtcEJ4Qjs7QTJFdG5wQmdCO0lBRVE7QTNFd25wQnhCOztBMkVubnBCZ0I7SUFFUTtBM0VxbnBCeEI7O0EyRTlucEJnQjtJQUVRO0EzRWdvcEJ4Qjs7QTJFM25wQmdCO0lBRVE7QTNFNm5wQnhCOztBMkV0b3BCZ0I7SUFFUTtBM0V3b3BCeEI7O0EyRW5vcEJnQjtJQUVRO0EzRXFvcEJ4Qjs7QTJFOW9wQmdCO0lBRVE7QTNFZ3BwQnhCOztBMkUzb3BCZ0I7SUFFUTtBM0U2b3BCeEI7O0EyRXRwcEJnQjtJQUVRO0EzRXdwcEJ4Qjs7QTJFbnBwQmdCO0lBRVE7QTNFcXBwQnhCOztBMkU5cHBCZ0I7SUFFUTtBM0VncXBCeEI7O0EyRTNwcEJnQjtJQUVRO0EzRTZwcEJ4Qjs7QTJFdHFwQmdCO0lBRVE7QTNFd3FwQnhCOztBMkVucXBCZ0I7SUFFUTtBM0VxcXBCeEI7O0EyRTlxcEJnQjtJQUVRO0EzRWdycEJ4Qjs7QTJFM3FwQmdCO0lBRVE7QTNFNnFwQnhCOztBMkV0cnBCZ0I7SUFFUTtBM0V3cnBCeEI7O0EyRW5ycEJnQjtJQUVRO0EzRXFycEJ4Qjs7QTJFOXJwQmdCO0lBRVE7QTNFZ3NwQnhCOztBMkUzcnBCZ0I7SUFFUTtBM0U2cnBCeEI7O0EyRXRzcEJnQjtJQUVRO0EzRXdzcEJ4Qjs7QTJFbnNwQmdCO0lBRVE7QTNFcXNwQnhCOztBMkU5c3BCZ0I7SUFFUTtBM0VndHBCeEI7O0EyRTNzcEJnQjtJQUVRO0EzRTZzcEJ4Qjs7QTJFdHRwQmdCO0lBRVE7QTNFd3RwQnhCOztBMkVudHBCZ0I7SUFFUTtBM0VxdHBCeEI7O0EyRTl0cEJnQjtJQUVRO0EzRWd1cEJ4Qjs7QTJFM3RwQmdCO0lBRVE7QTNFNnRwQnhCOztBMkV0dXBCZ0I7SUFFUTtBM0V3dXBCeEI7O0EyRW51cEJnQjtJQUVRO0EzRXF1cEJ4Qjs7QTJFOXVwQmdCO0lBRVE7QTNFZ3ZwQnhCOztBMkUzdXBCZ0I7SUFFUTtBM0U2dXBCeEI7O0EyRXR2cEJnQjtJQUVRO0EzRXd2cEJ4Qjs7QTJFbnZwQmdCO0lBRVE7QTNFcXZwQnhCOztBMkU5dnBCZ0I7SUFFUTtBM0Vnd3BCeEI7O0EyRTN2cEJnQjtJQUVRO0EzRTZ2cEJ4Qjs7QTJFdHdwQmdCO0lBRVE7QTNFd3dwQnhCOztBMkVud3BCZ0I7SUFFUTtBM0Vxd3BCeEI7O0EyRTl3cEJnQjtJQUVRO0EzRWd4cEJ4Qjs7QTJFM3dwQmdCO0lBRVE7QTNFNndwQnhCOztBMkV0eHBCZ0I7SUFFUTtBM0V3eHBCeEI7O0EyRW54cEJnQjtJQUVRO0EzRXF4cEJ4Qjs7QTJFOXhwQmdCO0lBRVE7QTNFZ3lwQnhCOztBMkUzeHBCZ0I7SUFFUTtBM0U2eHBCeEI7O0EyRXR5cEJnQjtJQUVRO0EzRXd5cEJ4Qjs7QTJFbnlwQmdCO0lBRVE7QTNFcXlwQnhCOztBMkU5eXBCZ0I7SUFFUTtBM0VnenBCeEI7O0EyRTN5cEJnQjtJQUVRO0EzRTZ5cEJ4Qjs7QTJFdHpwQmdCO0lBRVE7QTNFd3pwQnhCOztBMkVuenBCZ0I7SUFFUTtBM0VxenBCeEI7O0EyRTl6cEJnQjtJQUVRO0EzRWcwcEJ4Qjs7QTJFM3pwQmdCO0lBRVE7QTNFNnpwQnhCOztBMkV0MHBCZ0I7SUFFUTtBM0V3MHBCeEI7O0EyRW4wcEJnQjtJQUVRO0EzRXEwcEJ4Qjs7QTJFOTBwQmdCO0lBRVE7QTNFZzFwQnhCOztBMkUzMHBCZ0I7SUFFUTtBM0U2MHBCeEI7O0EyRXQxcEJnQjtJQUVRO0EzRXcxcEJ4Qjs7QTJFbjFwQmdCO0lBRVE7QTNFcTFwQnhCOztBMkU5MXBCZ0I7SUFFUTtBM0VnMnBCeEI7O0EyRTMxcEJnQjtJQUVRO0EzRTYxcEJ4Qjs7QTJFdDJwQmdCO0lBRVE7QTNFdzJwQnhCOztBMkVuMnBCZ0I7SUFFUTtBM0VxMnBCeEI7O0EyRTkycEJnQjtJQUVRO0EzRWczcEJ4Qjs7QTJFMzJwQmdCO0lBRVE7QTNFNjJwQnhCOztBMkV0M3BCZ0I7SUFFUTtBM0V3M3BCeEI7O0EyRW4zcEJnQjtJQUVRO0EzRXEzcEJ4Qjs7QTJFOTNwQmdCO0lBRVE7QTNFZzRwQnhCOztBMkUzM3BCZ0I7SUFFUTtBM0U2M3BCeEI7O0EyRXQ0cEJnQjtJQUVRO0EzRXc0cEJ4Qjs7QTJFbjRwQmdCO0lBRVE7QTNFcTRwQnhCOztBMkU5NHBCZ0I7SUFFUTtBM0VnNXBCeEI7O0EyRTM0cEJnQjtJQUVRO0EzRTY0cEJ4Qjs7QTJFdDVwQmdCO0lBRVE7QTNFdzVwQnhCOztBMkVuNXBCZ0I7SUFFUTtBM0VxNXBCeEI7O0EyRTk1cEJnQjtJQUVRO0EzRWc2cEJ4Qjs7QTJFMzVwQmdCO0lBRVE7QTNFNjVwQnhCOztBMkV0NnBCZ0I7SUFFUTtBM0V3NnBCeEI7O0EyRW42cEJnQjtJQUVRO0EzRXE2cEJ4Qjs7QTJFOTZwQmdCO0lBRVE7QTNFZzdwQnhCOztBMkUzNnBCZ0I7SUFFUTtBM0U2NnBCeEI7O0EyRXQ3cEJnQjtJQUVRO0EzRXc3cEJ4Qjs7QTJFbjdwQmdCO0lBRVE7QTNFcTdwQnhCOztBMkU5N3BCZ0I7SUFFUTtBM0VnOHBCeEI7O0EyRTM3cEJnQjtJQUVRO0EzRTY3cEJ4Qjs7QTJFdDhwQmdCO0lBRVE7QTNFdzhwQnhCOztBMkVuOHBCZ0I7SUFFUTtBM0VxOHBCeEI7O0EyRTk4cEJnQjtJQUVRO0EzRWc5cEJ4Qjs7QTJFMzhwQmdCO0lBRVE7QTNFNjhwQnhCOztBMkV0OXBCZ0I7SUFFUTtBM0V3OXBCeEI7O0EyRW45cEJnQjtJQUVRO0EzRXE5cEJ4Qjs7QTJFOTlwQmdCO0lBRVE7QTNFZytwQnhCOztBMkUzOXBCZ0I7SUFFUTtBM0U2OXBCeEI7O0EyRXQrcEJnQjtJQUVRO0EzRXcrcEJ4Qjs7QTJFbitwQmdCO0lBRVE7QTNFcStwQnhCOztBMkU5K3BCZ0I7SUFFUTtBM0VnL3BCeEI7O0EyRTMrcEJnQjtJQUVRO0EzRTYrcEJ4Qjs7QTJFdC9wQmdCO0lBRVE7QTNFdy9wQnhCOztBMkVuL3BCZ0I7SUFFUTtBM0VxL3BCeEI7O0EyRTkvcEJnQjtJQUVRO0EzRWdncUJ4Qjs7QTJFMy9wQmdCO0lBRVE7QTNFNi9wQnhCOztBMkV0Z3FCZ0I7SUFFUTtBM0V3Z3FCeEI7O0EyRW5ncUJnQjtJQUVRO0EzRXFncUJ4Qjs7QTJFOWdxQmdCO0lBRVE7QTNFZ2hxQnhCOztBMkUzZ3FCZ0I7SUFFUTtBM0U2Z3FCeEI7O0EyRXRocUJnQjtJQUVRO0EzRXdocUJ4Qjs7QTJFbmhxQmdCO0lBRVE7QTNFcWhxQnhCOztBMkU5aHFCZ0I7SUFFUTtBM0VnaXFCeEI7O0EyRTNocUJnQjtJQUVRO0EzRTZocUJ4Qjs7QTJFdGlxQmdCO0lBRVE7QTNFd2lxQnhCOztBMkVuaXFCZ0I7SUFFUTtBM0VxaXFCeEI7O0EyRTlpcUJnQjtJQUVRO0EzRWdqcUJ4Qjs7QTJFM2lxQmdCO0lBRVE7QTNFNmlxQnhCOztBMkV0anFCZ0I7SUFFUTtBM0V3anFCeEI7O0EyRW5qcUJnQjtJQUVRO0EzRXFqcUJ4Qjs7QTJFOWpxQmdCO0lBRVE7QTNFZ2txQnhCOztBMkUzanFCZ0I7SUFFUTtBM0U2anFCeEI7O0EyRXRrcUJnQjtJQUVRO0EzRXdrcUJ4Qjs7QTJFbmtxQmdCO0lBRVE7QTNFcWtxQnhCOztBMkU5a3FCZ0I7SUFFUTtBM0VnbHFCeEI7O0EyRTNrcUJnQjtJQUVRO0EzRTZrcUJ4Qjs7QTJFdGxxQmdCO0lBRVE7QTNFd2xxQnhCOztBMkVubHFCZ0I7SUFFUTtBM0VxbHFCeEI7O0EyRTlscUJnQjtJQUVRO0EzRWdtcUJ4Qjs7QTJFM2xxQmdCO0lBRVE7QTNFNmxxQnhCOztBMkV0bXFCZ0I7SUFFUTtBM0V3bXFCeEI7O0EyRW5tcUJnQjtJQUVRO0EzRXFtcUJ4Qjs7QTJFOW1xQmdCO0lBRVE7QTNFZ25xQnhCOztBMkUzbXFCZ0I7SUFFUTtBM0U2bXFCeEI7O0EyRXRucUJnQjtJQUVRO0EzRXducUJ4Qjs7QTJFbm5xQmdCO0lBRVE7QTNFcW5xQnhCOztBMkU5bnFCZ0I7SUFFUTtBM0Vnb3FCeEI7O0EyRTNucUJnQjtJQUVRO0EzRTZucUJ4Qjs7QTJFdG9xQmdCO0lBRVE7QTNFd29xQnhCOztBMkVub3FCZ0I7SUFFUTtBM0Vxb3FCeEI7O0EyRTlvcUJnQjtJQUVRO0EzRWdwcUJ4Qjs7QTJFM29xQmdCO0lBRVE7QTNFNm9xQnhCOztBMkV0cHFCZ0I7SUFFUTtBM0V3cHFCeEI7O0EyRW5wcUJnQjtJQUVRO0EzRXFwcUJ4Qjs7QTJFOXBxQmdCO0lBRVE7QTNFZ3FxQnhCOztBMkUzcHFCZ0I7SUFFUTtBM0U2cHFCeEI7O0EyRXRxcUJnQjtJQUVRO0EzRXdxcUJ4Qjs7QTJFbnFxQmdCO0lBRVE7QTNFcXFxQnhCOztBMkU5cXFCZ0I7SUFFUTtBM0VncnFCeEI7O0EyRTNxcUJnQjtJQUVRO0EzRTZxcUJ4Qjs7QTJFdHJxQmdCO0lBRVE7QTNFd3JxQnhCOztBMkVucnFCZ0I7SUFFUTtBM0VxcnFCeEI7O0EyRTlycUJnQjtJQUVRO0EzRWdzcUJ4Qjs7QTJFM3JxQmdCO0lBRVE7QTNFNnJxQnhCOztBMkV0c3FCZ0I7SUFFUTtBM0V3c3FCeEI7O0EyRW5zcUJnQjtJQUVRO0EzRXFzcUJ4Qjs7QTJFOXNxQmdCO0lBRVE7QTNFZ3RxQnhCOztBMkUzc3FCZ0I7SUFFUTtBM0U2c3FCeEI7O0EyRXR0cUJnQjtJQUVRO0EzRXd0cUJ4Qjs7QTJFbnRxQmdCO0lBRVE7QTNFcXRxQnhCOztBMkU5dHFCZ0I7SUFFUTtBM0VndXFCeEI7O0EyRTN0cUJnQjtJQUVRO0EzRTZ0cUJ4Qjs7QTJFdHVxQmdCO0lBRVE7QTNFd3VxQnhCOztBMkVudXFCZ0I7SUFFUTtBM0VxdXFCeEI7O0EyRTl1cUJnQjtJQUVRO0EzRWd2cUJ4Qjs7QTJFM3VxQmdCO0lBRVE7QTNFNnVxQnhCOztBMkV0dnFCZ0I7SUFFUTtBM0V3dnFCeEI7O0EyRW52cUJnQjtJQUVRO0EzRXF2cUJ4Qjs7QTJFOXZxQmdCO0lBRVE7QTNFZ3dxQnhCOztBMkUzdnFCZ0I7SUFFUTtBM0U2dnFCeEI7O0EyRXR3cUJnQjtJQUVRO0EzRXd3cUJ4Qjs7QTJFbndxQmdCO0lBRVE7QTNFcXdxQnhCOztBMkU5d3FCZ0I7SUFFUTtBM0VneHFCeEI7O0EyRTN3cUJnQjtJQUVRO0EzRTZ3cUJ4Qjs7QTJFdHhxQmdCO0lBRVE7QTNFd3hxQnhCOztBMkVueHFCZ0I7SUFFUTtBM0VxeHFCeEI7O0EyRTl4cUJnQjtJQUVRO0EzRWd5cUJ4Qjs7QTJFM3hxQmdCO0lBRVE7QTNFNnhxQnhCOztBMkV0eXFCZ0I7SUFFUTtBM0V3eXFCeEI7O0EyRW55cUJnQjtJQUVRO0EzRXF5cUJ4Qjs7QTJFOXlxQmdCO0lBRVE7QTNFZ3pxQnhCOztBMkUzeXFCZ0I7SUFFUTtBM0U2eXFCeEI7O0EyRXR6cUJnQjtJQUVRO0EzRXd6cUJ4Qjs7QTJFbnpxQmdCO0lBRVE7QTNFcXpxQnhCOztBMkU5enFCZ0I7SUFFUTtBM0VnMHFCeEI7O0EyRTN6cUJnQjtJQUVRO0EzRTZ6cUJ4Qjs7QTJFdDBxQmdCO0lBRVE7QTNFdzBxQnhCOztBMkVuMHFCZ0I7SUFFUTtBM0VxMHFCeEI7O0EyRTkwcUJnQjtJQUVRO0EzRWcxcUJ4Qjs7QTJFMzBxQmdCO0lBRVE7QTNFNjBxQnhCOztBMkV0MXFCZ0I7SUFFUTtBM0V3MXFCeEI7O0EyRW4xcUJnQjtJQUVRO0EzRXExcUJ4Qjs7QTJFOTFxQmdCO0lBRVE7QTNFZzJxQnhCOztBMkUzMXFCZ0I7SUFFUTtBM0U2MXFCeEI7O0EyRXQycUJnQjtJQUVRO0EzRXcycUJ4Qjs7QTJFbjJxQmdCO0lBRVE7QTNFcTJxQnhCOztBMkU5MnFCZ0I7SUFFUTtBM0VnM3FCeEI7O0EyRTMycUJnQjtJQUVRO0EzRTYycUJ4Qjs7QTJFdDNxQmdCO0lBRVE7QTNFdzNxQnhCOztBMkVuM3FCZ0I7SUFFUTtBM0VxM3FCeEI7O0EyRTkzcUJnQjtJQUVRO0EzRWc0cUJ4Qjs7QTJFMzNxQmdCO0lBRVE7QTNFNjNxQnhCOztBMkV0NHFCZ0I7SUFFUTtBM0V3NHFCeEI7O0EyRW40cUJnQjtJQUVRO0EzRXE0cUJ4Qjs7QTJFOTRxQmdCO0lBRVE7QTNFZzVxQnhCOztBMkUzNHFCZ0I7SUFFUTtBM0U2NHFCeEI7O0EyRXQ1cUJnQjtJQUVRO0EzRXc1cUJ4Qjs7QTJFbjVxQmdCO0lBRVE7QTNFcTVxQnhCOztBMkU5NXFCZ0I7SUFFUTtBM0VnNnFCeEI7O0EyRTM1cUJnQjtJQUVRO0EzRTY1cUJ4Qjs7QTJFdDZxQmdCO0lBRVE7QTNFdzZxQnhCOztBMkVuNnFCZ0I7SUFFUTtBM0VxNnFCeEI7O0EyRTk2cUJnQjtJQUVRO0EzRWc3cUJ4Qjs7QTJFMzZxQmdCO0lBRVE7QTNFNjZxQnhCOztBMkV0N3FCZ0I7SUFFUTtBM0V3N3FCeEI7O0EyRW43cUJnQjtJQUVRO0EzRXE3cUJ4Qjs7QTJFOTdxQmdCO0lBRVE7QTNFZzhxQnhCOztBMkUzN3FCZ0I7SUFFUTtBM0U2N3FCeEI7O0EyRXQ4cUJnQjtJQUVRO0EzRXc4cUJ4Qjs7QTJFbjhxQmdCO0lBRVE7QTNFcThxQnhCOztBMkU5OHFCZ0I7SUFFUTtBM0VnOXFCeEI7O0EyRTM4cUJnQjtJQUVRO0EzRTY4cUJ4Qjs7QTJFdDlxQmdCO0lBRVE7QTNFdzlxQnhCOztBMkVuOXFCZ0I7SUFFUTtBM0VxOXFCeEI7O0EyRTk5cUJnQjtJQUVRO0EzRWcrcUJ4Qjs7QTJFMzlxQmdCO0lBRVE7QTNFNjlxQnhCOztBMkV0K3FCZ0I7SUFFUTtBM0V3K3FCeEI7O0EyRW4rcUJnQjtJQUVRO0EzRXErcUJ4Qjs7QTJFOStxQmdCO0lBRVE7QTNFZy9xQnhCOztBMkUzK3FCZ0I7SUFFUTtBM0U2K3FCeEI7O0EyRXQvcUJnQjtJQUVRO0EzRXcvcUJ4Qjs7QTJFbi9xQmdCO0lBRVE7QTNFcS9xQnhCOztBMkU5L3FCZ0I7SUFFUTtBM0VnZ3JCeEI7O0EyRTMvcUJnQjtJQUVRO0EzRTYvcUJ4Qjs7QTJFdGdyQmdCO0lBRVE7QTNFd2dyQnhCOztBMkVuZ3JCZ0I7SUFFUTtBM0VxZ3JCeEI7O0EyRTlnckJnQjtJQUVRO0EzRWdockJ4Qjs7QTJFM2dyQmdCO0lBRVE7QTNFNmdyQnhCOztBMkV0aHJCZ0I7SUFFUTtBM0V3aHJCeEI7O0EyRW5ockJnQjtJQUVRO0EzRXFockJ4Qjs7QTJFOWhyQmdCO0lBRVE7QTNFZ2lyQnhCOztBMkUzaHJCZ0I7SUFFUTtBM0U2aHJCeEI7O0EyRXRpckJnQjtJQUVRO0EzRXdpckJ4Qjs7QTJFbmlyQmdCO0lBRVE7QTNFcWlyQnhCOztBMkU5aXJCZ0I7SUFFUTtBM0VnanJCeEI7O0EyRTNpckJnQjtJQUVRO0EzRTZpckJ4Qjs7QTJFdGpyQmdCO0lBRVE7QTNFd2pyQnhCOztBMkVuanJCZ0I7SUFFUTtBM0VxanJCeEI7O0EyRTlqckJnQjtJQUVRO0EzRWdrckJ4Qjs7QTJFM2pyQmdCO0lBRVE7QTNFNmpyQnhCOztBMkV0a3JCZ0I7SUFFUTtBM0V3a3JCeEI7O0EyRW5rckJnQjtJQUVRO0EzRXFrckJ4Qjs7QTJFOWtyQmdCO0lBRVE7QTNFZ2xyQnhCOztBMkUza3JCZ0I7SUFFUTtBM0U2a3JCeEI7O0EyRXRsckJnQjtJQUVRO0EzRXdsckJ4Qjs7QTJFbmxyQmdCO0lBRVE7QTNFcWxyQnhCOztBMkU5bHJCZ0I7SUFFUTtBM0VnbXJCeEI7O0EyRTNsckJnQjtJQUVRO0EzRTZsckJ4Qjs7QTJFdG1yQmdCO0lBRVE7QTNFd21yQnhCOztBMkVubXJCZ0I7SUFFUTtBM0VxbXJCeEI7O0EyRTltckJnQjtJQUVRO0EzRWduckJ4Qjs7QTJFM21yQmdCO0lBRVE7QTNFNm1yQnhCOztBMkV0bnJCZ0I7SUFFUTtBM0V3bnJCeEI7O0EyRW5uckJnQjtJQUVRO0EzRXFuckJ4Qjs7QTJFOW5yQmdCO0lBRVE7QTNFZ29yQnhCOztBMkUzbnJCZ0I7SUFFUTtBM0U2bnJCeEI7O0EyRXRvckJnQjtJQUVRO0EzRXdvckJ4Qjs7QTJFbm9yQmdCO0lBRVE7QTNFcW9yQnhCOztBMkU5b3JCZ0I7SUFFUTtBM0VncHJCeEI7O0EyRTNvckJnQjtJQUVRO0EzRTZvckJ4Qjs7QTJFdHByQmdCO0lBRVE7QTNFd3ByQnhCOztBMkVucHJCZ0I7SUFFUTtBM0VxcHJCeEI7O0EyRTlwckJnQjtJQUVRO0EzRWdxckJ4Qjs7QTJFM3ByQmdCO0lBRVE7QTNFNnByQnhCOztBMkV0cXJCZ0I7SUFFUTtBM0V3cXJCeEI7O0EyRW5xckJnQjtJQUVRO0EzRXFxckJ4Qjs7QTJFOXFyQmdCO0lBRVE7QTNFZ3JyQnhCOztBMkUzcXJCZ0I7SUFFUTtBM0U2cXJCeEI7O0EyRXRyckJnQjtJQUVRO0EzRXdyckJ4Qjs7QTJFbnJyQmdCO0lBRVE7QTNFcXJyQnhCOztBMkU5cnJCZ0I7SUFFUTtBM0Vnc3JCeEI7O0EyRTNyckJnQjtJQUVRO0EzRTZyckJ4Qjs7QTJFdHNyQmdCO0lBRVE7QTNFd3NyQnhCOztBMkVuc3JCZ0I7SUFFUTtBM0Vxc3JCeEI7O0EyRTlzckJnQjtJQUVRO0EzRWd0ckJ4Qjs7QTJFM3NyQmdCO0lBRVE7QTNFNnNyQnhCOztBMkV0dHJCZ0I7SUFFUTtBM0V3dHJCeEI7O0EyRW50ckJnQjtJQUVRO0EzRXF0ckJ4Qjs7QTJFOXRyQmdCO0lBRVE7QTNFZ3VyQnhCOztBMkUzdHJCZ0I7SUFFUTtBM0U2dHJCeEI7O0EyRXR1ckJnQjtJQUVRO0EzRXd1ckJ4Qjs7QTJFbnVyQmdCO0lBRVE7QTNFcXVyQnhCOztBMkU5dXJCZ0I7SUFFUTtBM0VndnJCeEI7O0EyRTN1ckJnQjtJQUVRO0EzRTZ1ckJ4Qjs7QTJFdHZyQmdCO0lBRVE7QTNFd3ZyQnhCOztBMkVudnJCZ0I7SUFFUTtBM0VxdnJCeEI7O0EyRTl2ckJnQjtJQUVRO0EzRWd3ckJ4Qjs7QTJFM3ZyQmdCO0lBRVE7QTNFNnZyQnhCOztBMkV0d3JCZ0I7SUFFUTtBM0V3d3JCeEI7O0EyRW53ckJnQjtJQUVRO0EzRXF3ckJ4Qjs7QTJFOXdyQmdCO0lBRVE7QTNFZ3hyQnhCOztBMkUzd3JCZ0I7SUFFUTtBM0U2d3JCeEI7O0EyRXR4ckJnQjtJQUVRO0EzRXd4ckJ4Qjs7QTJFbnhyQmdCO0lBRVE7QTNFcXhyQnhCOztBMkU5eHJCZ0I7SUFFUTtBM0VneXJCeEI7O0EyRTN4ckJnQjtJQUVRO0EzRTZ4ckJ4Qjs7QTJFdHlyQmdCO0lBRVE7QTNFd3lyQnhCOztBMkVueXJCZ0I7SUFFUTtBM0VxeXJCeEI7O0EyRTl5ckJnQjtJQUVRO0EzRWd6ckJ4Qjs7QTJFM3lyQmdCO0lBRVE7QTNFNnlyQnhCOztBMkV0enJCZ0I7SUFFUTtBM0V3enJCeEI7O0EyRW56ckJnQjtJQUVRO0EzRXF6ckJ4Qjs7QTJFOXpyQmdCO0lBRVE7QTNFZzByQnhCOztBMkUzenJCZ0I7SUFFUTtBM0U2enJCeEI7O0EyRXQwckJnQjtJQUVRO0EzRXcwckJ4Qjs7QTJFbjByQmdCO0lBRVE7QTNFcTByQnhCOztBMkU5MHJCZ0I7SUFFUTtBM0VnMXJCeEI7O0EyRTMwckJnQjtJQUVRO0EzRTYwckJ4Qjs7QTJFdDFyQmdCO0lBRVE7QTNFdzFyQnhCOztBMkVuMXJCZ0I7SUFFUTtBM0VxMXJCeEI7O0EyRTkxckJnQjtJQUVRO0EzRWcyckJ4Qjs7QTJFMzFyQmdCO0lBRVE7QTNFNjFyQnhCOztBMkV0MnJCZ0I7SUFFUTtBM0V3MnJCeEI7O0EyRW4yckJnQjtJQUVRO0EzRXEyckJ4Qjs7QTJFOTJyQmdCO0lBRVE7QTNFZzNyQnhCOztBMkUzMnJCZ0I7SUFFUTtBM0U2MnJCeEI7O0EyRXQzckJnQjtJQUVRO0EzRXczckJ4Qjs7QTJFbjNyQmdCO0lBRVE7QTNFcTNyQnhCOztBMkU5M3JCZ0I7SUFFUTtBM0VnNHJCeEI7O0EyRTMzckJnQjtJQUVRO0EzRTYzckJ4Qjs7QTJFdDRyQmdCO0lBRVE7QTNFdzRyQnhCOztBMkVuNHJCZ0I7SUFFUTtBM0VxNHJCeEI7O0EyRTk0ckJnQjtJQUVRO0EzRWc1ckJ4Qjs7QTJFMzRyQmdCO0lBRVE7QTNFNjRyQnhCOztBMkV0NXJCZ0I7SUFFUTtBM0V3NXJCeEI7O0EyRW41ckJnQjtJQUVRO0EzRXE1ckJ4Qjs7QTJFOTVyQmdCO0lBRVE7QTNFZzZyQnhCOztBMkUzNXJCZ0I7SUFFUTtBM0U2NXJCeEI7O0EyRXQ2ckJnQjtJQUVRO0EzRXc2ckJ4Qjs7QTJFbjZyQmdCO0lBRVE7QTNFcTZyQnhCOztBMkU5NnJCZ0I7SUFFUTtBM0VnN3JCeEI7O0EyRTM2ckJnQjtJQUVRO0EzRTY2ckJ4Qjs7QTJFdDdyQmdCO0lBRVE7QTNFdzdyQnhCOztBMkVuN3JCZ0I7SUFFUTtBM0VxN3JCeEI7O0EyRTk3ckJnQjtJQUVRO0EzRWc4ckJ4Qjs7QTJFMzdyQmdCO0lBRVE7QTNFNjdyQnhCOztBMkV0OHJCZ0I7SUFFUTtBM0V3OHJCeEI7O0EyRW44ckJnQjtJQUVRO0EzRXE4ckJ4Qjs7QTJFOThyQmdCO0lBRVE7QTNFZzlyQnhCOztBMkUzOHJCZ0I7SUFFUTtBM0U2OHJCeEI7O0EyRXQ5ckJnQjtJQUVRO0EzRXc5ckJ4Qjs7QTJFbjlyQmdCO0lBRVE7QTNFcTlyQnhCOztBMkU5OXJCZ0I7SUFFUTtBM0VnK3JCeEI7O0EyRTM5ckJnQjtJQUVRO0EzRTY5ckJ4Qjs7QTJFdCtyQmdCO0lBRVE7QTNFdytyQnhCOztBMkVuK3JCZ0I7SUFFUTtBM0VxK3JCeEI7O0EyRTkrckJnQjtJQUVRO0EzRWcvckJ4Qjs7QTJFMytyQmdCO0lBRVE7QTNFNityQnhCOztBMkV6b2ZJO0lBQXlDO0EzRTZvZjdDOztBMkU1b2ZJO0lBQXlDO0EzRWdwZjdDOztBMkU5L3JCZ0I7SUFFUTtBM0VnZ3NCeEI7O0EyRTMvckJnQjtJQUVRO0EzRTYvckJ4Qjs7QTJFdGdzQmdCO0lBRVE7QTNFd2dzQnhCOztBMkVuZ3NCZ0I7SUFFUTtBM0VxZ3NCeEI7O0EyRTlnc0JnQjtJQUVRO0EzRWdoc0J4Qjs7QTJFM2dzQmdCO0lBRVE7QTNFNmdzQnhCOztBMkV0aHNCZ0I7SUFFUTtBM0V3aHNCeEI7O0EyRW5oc0JnQjtJQUVRO0EzRXFoc0J4Qjs7QTJFOWhzQmdCO0lBRVE7QTNFZ2lzQnhCOztBMkUzaHNCZ0I7SUFFUTtBM0U2aHNCeEI7O0EyRXRpc0JnQjtJQUVRO0EzRXdpc0J4Qjs7QTJFbmlzQmdCO0lBRVE7QTNFcWlzQnhCOztBMkU5aXNCZ0I7SUFFUTtBM0VnanNCeEI7O0EyRTNpc0JnQjtJQUVRO0EzRTZpc0J4Qjs7QTJFdGpzQmdCO0lBRVE7QTNFd2pzQnhCOztBMkVuanNCZ0I7SUFFUTtBM0VxanNCeEI7O0EyRTlqc0JnQjtJQUVRO0EzRWdrc0J4Qjs7QTJFM2pzQmdCO0lBRVE7QTNFNmpzQnhCOztBMkV0a3NCZ0I7SUFFUTtBM0V3a3NCeEI7O0EyRW5rc0JnQjtJQUVRO0EzRXFrc0J4Qjs7QTJFOWtzQmdCO0lBRVE7QTNFZ2xzQnhCOztBMkUza3NCZ0I7SUFFUTtBM0U2a3NCeEI7O0EyRXRsc0JnQjtJQUVRO0EzRXdsc0J4Qjs7QTJFbmxzQmdCO0lBRVE7QTNFcWxzQnhCOztBMkU5bHNCZ0I7SUFFUTtBM0VnbXNCeEI7O0EyRTNsc0JnQjtJQUVRO0EzRTZsc0J4Qjs7QTJFdG1zQmdCO0lBRVE7QTNFd21zQnhCOztBMkVubXNCZ0I7SUFFUTtBM0VxbXNCeEI7O0EyRTltc0JnQjtJQUVRO0EzRWduc0J4Qjs7QTJFM21zQmdCO0lBRVE7QTNFNm1zQnhCOztBMkV0bnNCZ0I7SUFFUTtBM0V3bnNCeEI7O0EyRW5uc0JnQjtJQUVRO0EzRXFuc0J4Qjs7QTJFOW5zQmdCO0lBRVE7QTNFZ29zQnhCOztBMkUzbnNCZ0I7SUFFUTtBM0U2bnNCeEI7O0EyRXRvc0JnQjtJQUVRO0EzRXdvc0J4Qjs7QTJFbm9zQmdCO0lBRVE7QTNFcW9zQnhCOztBMkU5b3NCZ0I7SUFFUTtBM0VncHNCeEI7O0EyRTNvc0JnQjtJQUVRO0EzRTZvc0J4Qjs7QTJFdHBzQmdCO0lBRVE7QTNFd3BzQnhCOztBMkVucHNCZ0I7SUFFUTtBM0VxcHNCeEI7O0EyRTlwc0JnQjtJQUVRO0EzRWdxc0J4Qjs7QTJFM3BzQmdCO0lBRVE7QTNFNnBzQnhCOztBMkV0cXNCZ0I7SUFFUTtBM0V3cXNCeEI7O0EyRW5xc0JnQjtJQUVRO0EzRXFxc0J4Qjs7QTJFOXFzQmdCO0lBRVE7QTNFZ3JzQnhCOztBMkUzcXNCZ0I7SUFFUTtBM0U2cXNCeEI7O0EyRXRyc0JnQjtJQUVRO0EzRXdyc0J4Qjs7QTJFbnJzQmdCO0lBRVE7QTNFcXJzQnhCOztBMkU5cnNCZ0I7SUFFUTtBM0Vnc3NCeEI7O0EyRTNyc0JnQjtJQUVRO0EzRTZyc0J4Qjs7QTJFdHNzQmdCO0lBRVE7QTNFd3NzQnhCOztBMkVuc3NCZ0I7SUFFUTtBM0Vxc3NCeEI7O0EyRTlzc0JnQjtJQUVRO0EzRWd0c0J4Qjs7QTJFM3NzQmdCO0lBRVE7QTNFNnNzQnhCOztBMkV0dHNCZ0I7SUFFUTtBM0V3dHNCeEI7O0EyRW50c0JnQjtJQUVRO0EzRXF0c0J4Qjs7QTJFOXRzQmdCO0lBRVE7QTNFZ3VzQnhCOztBMkUzdHNCZ0I7SUFFUTtBM0U2dHNCeEI7O0EyRXR1c0JnQjtJQUVRO0EzRXd1c0J4Qjs7QTJFbnVzQmdCO0lBRVE7QTNFcXVzQnhCOztBMkU5dXNCZ0I7SUFFUTtBM0VndnNCeEI7O0EyRTN1c0JnQjtJQUVRO0EzRTZ1c0J4Qjs7QTJFdHZzQmdCO0lBRVE7QTNFd3ZzQnhCOztBMkVudnNCZ0I7SUFFUTtBM0VxdnNCeEI7O0EyRTl2c0JnQjtJQUVRO0EzRWd3c0J4Qjs7QTJFM3ZzQmdCO0lBRVE7QTNFNnZzQnhCOztBMkV0d3NCZ0I7SUFFUTtBM0V3d3NCeEI7O0EyRW53c0JnQjtJQUVRO0EzRXF3c0J4Qjs7QTJFOXdzQmdCO0lBRVE7QTNFZ3hzQnhCOztBMkUzd3NCZ0I7SUFFUTtBM0U2d3NCeEI7O0EyRXR4c0JnQjtJQUVRO0EzRXd4c0J4Qjs7QTJFbnhzQmdCO0lBRVE7QTNFcXhzQnhCOztBMkU5eHNCZ0I7SUFFUTtBM0VneXNCeEI7O0EyRTN4c0JnQjtJQUVRO0EzRTZ4c0J4Qjs7QTJFdHlzQmdCO0lBRVE7QTNFd3lzQnhCOztBMkVueXNCZ0I7SUFFUTtBM0VxeXNCeEI7O0EyRTl5c0JnQjtJQUVRO0EzRWd6c0J4Qjs7QTJFM3lzQmdCO0lBRVE7QTNFNnlzQnhCOztBMkV0enNCZ0I7SUFFUTtBM0V3enNCeEI7O0EyRW56c0JnQjtJQUVRO0EzRXF6c0J4Qjs7QTJFOXpzQmdCO0lBRVE7QTNFZzBzQnhCOztBMkUzenNCZ0I7SUFFUTtBM0U2enNCeEI7O0EyRXQwc0JnQjtJQUVRO0EzRXcwc0J4Qjs7QTJFbjBzQmdCO0lBRVE7QTNFcTBzQnhCOztBMkU5MHNCZ0I7SUFFUTtBM0VnMXNCeEI7O0EyRTMwc0JnQjtJQUVRO0EzRTYwc0J4Qjs7QTJFdDFzQmdCO0lBRVE7QTNFdzFzQnhCOztBMkVuMXNCZ0I7SUFFUTtBM0VxMXNCeEI7O0EyRTkxc0JnQjtJQUVRO0EzRWcyc0J4Qjs7QTJFMzFzQmdCO0lBRVE7QTNFNjFzQnhCOztBMkV0MnNCZ0I7SUFFUTtBM0V3MnNCeEI7O0EyRW4yc0JnQjtJQUVRO0EzRXEyc0J4Qjs7QTJFOTJzQmdCO0lBRVE7QTNFZzNzQnhCOztBMkUzMnNCZ0I7SUFFUTtBM0U2MnNCeEI7O0EyRXQzc0JnQjtJQUVRO0EzRXczc0J4Qjs7QTJFbjNzQmdCO0lBRVE7QTNFcTNzQnhCOztBMkU5M3NCZ0I7SUFFUTtBM0VnNHNCeEI7O0EyRTMzc0JnQjtJQUVRO0EzRTYzc0J4Qjs7QTJFdDRzQmdCO0lBRVE7QTNFdzRzQnhCOztBMkVuNHNCZ0I7SUFFUTtBM0VxNHNCeEI7O0EyRTk0c0JnQjtJQUVRO0EzRWc1c0J4Qjs7QTJFMzRzQmdCO0lBRVE7QTNFNjRzQnhCOztBMkV0NXNCZ0I7SUFFUTtBM0V3NXNCeEI7O0EyRW41c0JnQjtJQUVRO0EzRXE1c0J4Qjs7QTJFOTVzQmdCO0lBRVE7QTNFZzZzQnhCOztBMkUzNXNCZ0I7SUFFUTtBM0U2NXNCeEI7O0EyRXQ2c0JnQjtJQUVRO0EzRXc2c0J4Qjs7QTJFbjZzQmdCO0lBRVE7QTNFcTZzQnhCOztBMkU5NnNCZ0I7SUFFUTtBM0VnN3NCeEI7O0EyRTM2c0JnQjtJQUVRO0EzRTY2c0J4Qjs7QTJFdDdzQmdCO0lBRVE7QTNFdzdzQnhCOztBMkVuN3NCZ0I7SUFFUTtBM0VxN3NCeEI7O0EyRTk3c0JnQjtJQUVRO0EzRWc4c0J4Qjs7QTJFMzdzQmdCO0lBRVE7QTNFNjdzQnhCOztBMkV0OHNCZ0I7SUFFUTtBM0V3OHNCeEI7O0EyRW44c0JnQjtJQUVRO0EzRXE4c0J4Qjs7QTJFOThzQmdCO0lBRVE7QTNFZzlzQnhCOztBMkUzOHNCZ0I7SUFFUTtBM0U2OHNCeEI7O0EyRXQ5c0JnQjtJQUVRO0EzRXc5c0J4Qjs7QTJFbjlzQmdCO0lBRVE7QTNFcTlzQnhCOztBMkU5OXNCZ0I7SUFFUTtBM0VnK3NCeEI7O0EyRTM5c0JnQjtJQUVRO0EzRTY5c0J4Qjs7QTJFdCtzQmdCO0lBRVE7QTNFdytzQnhCOztBMkVuK3NCZ0I7SUFFUTtBM0VxK3NCeEI7O0EyRTkrc0JnQjtJQUVRO0EzRWcvc0J4Qjs7QTJFMytzQmdCO0lBRVE7QTNFNitzQnhCOztBMkV0L3NCZ0I7SUFFUTtBM0V3L3NCeEI7O0EyRW4vc0JnQjtJQUVRO0EzRXEvc0J4Qjs7QTJFOS9zQmdCO0lBRVE7QTNFZ2d0QnhCOztBMkUzL3NCZ0I7SUFFUTtBM0U2L3NCeEI7O0EyRXRndEJnQjtJQUVRO0EzRXdndEJ4Qjs7QTJFbmd0QmdCO0lBRVE7QTNFcWd0QnhCOztBMkU5Z3RCZ0I7SUFFUTtBM0VnaHRCeEI7O0EyRTNndEJnQjtJQUVRO0EzRTZndEJ4Qjs7QTJFdGh0QmdCO0lBRVE7QTNFd2h0QnhCOztBMkVuaHRCZ0I7SUFFUTtBM0VxaHRCeEI7O0EyRTlodEJnQjtJQUVRO0EzRWdpdEJ4Qjs7QTJFM2h0QmdCO0lBRVE7QTNFNmh0QnhCOztBMkV0aXRCZ0I7SUFFUTtBM0V3aXRCeEI7O0EyRW5pdEJnQjtJQUVRO0EzRXFpdEJ4Qjs7QTJFOWl0QmdCO0lBRVE7QTNFZ2p0QnhCOztBMkUzaXRCZ0I7SUFFUTtBM0U2aXRCeEI7O0EyRXRqdEJnQjtJQUVRO0EzRXdqdEJ4Qjs7QTJFbmp0QmdCO0lBRVE7QTNFcWp0QnhCOztBMkU5anRCZ0I7SUFFUTtBM0Vna3RCeEI7O0EyRTNqdEJnQjtJQUVRO0EzRTZqdEJ4Qjs7QTJFdGt0QmdCO0lBRVE7QTNFd2t0QnhCOztBMkVua3RCZ0I7SUFFUTtBM0Vxa3RCeEI7O0EyRTlrdEJnQjtJQUVRO0EzRWdsdEJ4Qjs7QTJFM2t0QmdCO0lBRVE7QTNFNmt0QnhCOztBMkV0bHRCZ0I7SUFFUTtBM0V3bHRCeEI7O0EyRW5sdEJnQjtJQUVRO0EzRXFsdEJ4Qjs7QTJFOWx0QmdCO0lBRVE7QTNFZ210QnhCOztBMkUzbHRCZ0I7SUFFUTtBM0U2bHRCeEI7O0EyRXRtdEJnQjtJQUVRO0EzRXdtdEJ4Qjs7QTJFbm10QmdCO0lBRVE7QTNFcW10QnhCOztBMkU5bXRCZ0I7SUFFUTtBM0VnbnRCeEI7O0EyRTNtdEJnQjtJQUVRO0EzRTZtdEJ4Qjs7QTJFdG50QmdCO0lBRVE7QTNFd250QnhCOztBMkVubnRCZ0I7SUFFUTtBM0VxbnRCeEI7O0EyRTludEJnQjtJQUVRO0EzRWdvdEJ4Qjs7QTJFM250QmdCO0lBRVE7QTNFNm50QnhCOztBMkV0b3RCZ0I7SUFFUTtBM0V3b3RCeEI7O0EyRW5vdEJnQjtJQUVRO0EzRXFvdEJ4Qjs7QTJFOW90QmdCO0lBRVE7QTNFZ3B0QnhCOztBMkUzb3RCZ0I7SUFFUTtBM0U2b3RCeEI7O0EyRXRwdEJnQjtJQUVRO0EzRXdwdEJ4Qjs7QTJFbnB0QmdCO0lBRVE7QTNFcXB0QnhCOztBMkU5cHRCZ0I7SUFFUTtBM0VncXRCeEI7O0EyRTNwdEJnQjtJQUVRO0EzRTZwdEJ4Qjs7QTJFdHF0QmdCO0lBRVE7QTNFd3F0QnhCOztBMkVucXRCZ0I7SUFFUTtBM0VxcXRCeEI7O0EyRTlxdEJnQjtJQUVRO0EzRWdydEJ4Qjs7QTJFM3F0QmdCO0lBRVE7QTNFNnF0QnhCOztBMkV0cnRCZ0I7SUFFUTtBM0V3cnRCeEI7O0EyRW5ydEJnQjtJQUVRO0EzRXFydEJ4Qjs7QTJFOXJ0QmdCO0lBRVE7QTNFZ3N0QnhCOztBMkUzcnRCZ0I7SUFFUTtBM0U2cnRCeEI7O0EyRXRzdEJnQjtJQUVRO0EzRXdzdEJ4Qjs7QTJFbnN0QmdCO0lBRVE7QTNFcXN0QnhCOztBMkU5c3RCZ0I7SUFFUTtBM0VndHRCeEI7O0EyRTNzdEJnQjtJQUVRO0EzRTZzdEJ4Qjs7QTJFdHR0QmdCO0lBRVE7QTNFd3R0QnhCOztBMkVudHRCZ0I7SUFFUTtBM0VxdHRCeEI7O0EyRTl0dEJnQjtJQUVRO0EzRWd1dEJ4Qjs7QTJFM3R0QmdCO0lBRVE7QTNFNnR0QnhCOztBMkV0dXRCZ0I7SUFFUTtBM0V3dXRCeEI7O0EyRW51dEJnQjtJQUVRO0EzRXF1dEJ4Qjs7QTJFOXV0QmdCO0lBRVE7QTNFZ3Z0QnhCOztBMkUzdXRCZ0I7SUFFUTtBM0U2dXRCeEI7O0EyRXR2dEJnQjtJQUVRO0EzRXd2dEJ4Qjs7QTJFbnZ0QmdCO0lBRVE7QTNFcXZ0QnhCOztBMkU5dnRCZ0I7SUFFUTtBM0Vnd3RCeEI7O0EyRTN2dEJnQjtJQUVRO0EzRTZ2dEJ4Qjs7QTJFdHd0QmdCO0lBRVE7QTNFd3d0QnhCOztBMkVud3RCZ0I7SUFFUTtBM0Vxd3RCeEI7O0EyRTl3dEJnQjtJQUVRO0EzRWd4dEJ4Qjs7QTJFM3d0QmdCO0lBRVE7QTNFNnd0QnhCOztBMkV0eHRCZ0I7SUFFUTtBM0V3eHRCeEI7O0EyRW54dEJnQjtJQUVRO0EzRXF4dEJ4Qjs7QTJFOXh0QmdCO0lBRVE7QTNFZ3l0QnhCOztBMkUzeHRCZ0I7SUFFUTtBM0U2eHRCeEI7O0EyRXR5dEJnQjtJQUVRO0EzRXd5dEJ4Qjs7QTJFbnl0QmdCO0lBRVE7QTNFcXl0QnhCOztBMkU5eXRCZ0I7SUFFUTtBM0VnenRCeEI7O0EyRTN5dEJnQjtJQUVRO0EzRTZ5dEJ4Qjs7QTJFdHp0QmdCO0lBRVE7QTNFd3p0QnhCOztBMkVuenRCZ0I7SUFFUTtBM0VxenRCeEI7O0EyRTl6dEJnQjtJQUVRO0EzRWcwdEJ4Qjs7QTJFM3p0QmdCO0lBRVE7QTNFNnp0QnhCOztBMkV0MHRCZ0I7SUFFUTtBM0V3MHRCeEI7O0EyRW4wdEJnQjtJQUVRO0EzRXEwdEJ4Qjs7QTJFOTB0QmdCO0lBRVE7QTNFZzF0QnhCOztBMkUzMHRCZ0I7SUFFUTtBM0U2MHRCeEI7O0EyRXQxdEJnQjtJQUVRO0EzRXcxdEJ4Qjs7QTJFbjF0QmdCO0lBRVE7QTNFcTF0QnhCOztBMkU5MXRCZ0I7SUFFUTtBM0VnMnRCeEI7O0EyRTMxdEJnQjtJQUVRO0EzRTYxdEJ4Qjs7QTJFdDJ0QmdCO0lBRVE7QTNFdzJ0QnhCOztBMkVuMnRCZ0I7SUFFUTtBM0VxMnRCeEI7O0EyRTkydEJnQjtJQUVRO0EzRWczdEJ4Qjs7QTJFMzJ0QmdCO0lBRVE7QTNFNjJ0QnhCOztBMkV0M3RCZ0I7SUFFUTtBM0V3M3RCeEI7O0EyRW4zdEJnQjtJQUVRO0EzRXEzdEJ4Qjs7QTJFOTN0QmdCO0lBRVE7QTNFZzR0QnhCOztBMkUzM3RCZ0I7SUFFUTtBM0U2M3RCeEI7O0EyRXQ0dEJnQjtJQUVRO0EzRXc0dEJ4Qjs7QTJFbjR0QmdCO0lBRVE7QTNFcTR0QnhCOztBMkU5NHRCZ0I7SUFFUTtBM0VnNXRCeEI7O0EyRTM0dEJnQjtJQUVRO0EzRTY0dEJ4Qjs7QTJFdDV0QmdCO0lBRVE7QTNFdzV0QnhCOztBMkVuNXRCZ0I7SUFFUTtBM0VxNXRCeEI7O0EyRTk1dEJnQjtJQUVRO0EzRWc2dEJ4Qjs7QTJFMzV0QmdCO0lBRVE7QTNFNjV0QnhCOztBMkV0NnRCZ0I7SUFFUTtBM0V3NnRCeEI7O0EyRW42dEJnQjtJQUVRO0EzRXE2dEJ4Qjs7QTJFOTZ0QmdCO0lBRVE7QTNFZzd0QnhCOztBMkUzNnRCZ0I7SUFFUTtBM0U2NnRCeEI7O0EyRXQ3dEJnQjtJQUVRO0EzRXc3dEJ4Qjs7QTJFbjd0QmdCO0lBRVE7QTNFcTd0QnhCOztBMkU5N3RCZ0I7SUFFUTtBM0VnOHRCeEI7O0EyRTM3dEJnQjtJQUVRO0EzRTY3dEJ4Qjs7QTJFdDh0QmdCO0lBRVE7QTNFdzh0QnhCOztBMkVuOHRCZ0I7SUFFUTtBM0VxOHRCeEI7O0EyRTk4dEJnQjtJQUVRO0EzRWc5dEJ4Qjs7QTJFMzh0QmdCO0lBRVE7QTNFNjh0QnhCOztBMkV0OXRCZ0I7SUFFUTtBM0V3OXRCeEI7O0EyRW45dEJnQjtJQUVRO0EzRXE5dEJ4Qjs7QTJFOTl0QmdCO0lBRVE7QTNFZyt0QnhCOztBMkUzOXRCZ0I7SUFFUTtBM0U2OXRCeEI7O0EyRXQrdEJnQjtJQUVRO0EzRXcrdEJ4Qjs7QTJFbit0QmdCO0lBRVE7QTNFcSt0QnhCOztBMkU5K3RCZ0I7SUFFUTtBM0VnL3RCeEI7O0EyRTMrdEJnQjtJQUVRO0EzRTYrdEJ4Qjs7QTJFdC90QmdCO0lBRVE7QTNFdy90QnhCOztBMkVuL3RCZ0I7SUFFUTtBM0VxL3RCeEI7O0EyRTkvdEJnQjtJQUVRO0EzRWdndUJ4Qjs7QTJFMy90QmdCO0lBRVE7QTNFNi90QnhCOztBMkV0Z3VCZ0I7SUFFUTtBM0V3Z3VCeEI7O0EyRW5ndUJnQjtJQUVRO0EzRXFndUJ4Qjs7QTJFOWd1QmdCO0lBRVE7QTNFZ2h1QnhCOztBMkUzZ3VCZ0I7SUFFUTtBM0U2Z3VCeEI7O0EyRXRodUJnQjtJQUVRO0EzRXdodUJ4Qjs7QTJFbmh1QmdCO0lBRVE7QTNFcWh1QnhCOztBMkU5aHVCZ0I7SUFFUTtBM0VnaXVCeEI7O0EyRTNodUJnQjtJQUVRO0EzRTZodUJ4Qjs7QTJFdGl1QmdCO0lBRVE7QTNFd2l1QnhCOztBMkVuaXVCZ0I7SUFFUTtBM0VxaXVCeEI7O0EyRTlpdUJnQjtJQUVRO0EzRWdqdUJ4Qjs7QTJFM2l1QmdCO0lBRVE7QTNFNml1QnhCOztBMkV0anVCZ0I7SUFFUTtBM0V3anVCeEI7O0EyRW5qdUJnQjtJQUVRO0EzRXFqdUJ4Qjs7QTJFOWp1QmdCO0lBRVE7QTNFZ2t1QnhCOztBMkUzanVCZ0I7SUFFUTtBM0U2anVCeEI7O0EyRXRrdUJnQjtJQUVRO0EzRXdrdUJ4Qjs7QTJFbmt1QmdCO0lBRVE7QTNFcWt1QnhCOztBMkU5a3VCZ0I7SUFFUTtBM0VnbHVCeEI7O0EyRTNrdUJnQjtJQUVRO0EzRTZrdUJ4Qjs7QTJFdGx1QmdCO0lBRVE7QTNFd2x1QnhCOztBMkVubHVCZ0I7SUFFUTtBM0VxbHVCeEI7O0EyRTlsdUJnQjtJQUVRO0EzRWdtdUJ4Qjs7QTJFM2x1QmdCO0lBRVE7QTNFNmx1QnhCOztBMkV0bXVCZ0I7SUFFUTtBM0V3bXVCeEI7O0EyRW5tdUJnQjtJQUVRO0EzRXFtdUJ4Qjs7QTJFOW11QmdCO0lBRVE7QTNFZ251QnhCOztBMkUzbXVCZ0I7SUFFUTtBM0U2bXVCeEI7O0EyRXRudUJnQjtJQUVRO0EzRXdudUJ4Qjs7QTJFbm51QmdCO0lBRVE7QTNFcW51QnhCOztBMkU5bnVCZ0I7SUFFUTtBM0Vnb3VCeEI7O0EyRTNudUJnQjtJQUVRO0EzRTZudUJ4Qjs7QTJFdG91QmdCO0lBRVE7QTNFd291QnhCOztBMkVub3VCZ0I7SUFFUTtBM0Vxb3VCeEI7O0EyRTlvdUJnQjtJQUVRO0EzRWdwdUJ4Qjs7QTJFM291QmdCO0lBRVE7QTNFNm91QnhCOztBMkV0cHVCZ0I7SUFFUTtBM0V3cHVCeEI7O0EyRW5wdUJnQjtJQUVRO0EzRXFwdUJ4Qjs7QTJFOXB1QmdCO0lBRVE7QTNFZ3F1QnhCOztBMkUzcHVCZ0I7SUFFUTtBM0U2cHVCeEI7O0EyRXRxdUJnQjtJQUVRO0EzRXdxdUJ4Qjs7QTJFbnF1QmdCO0lBRVE7QTNFcXF1QnhCOztBMkU5cXVCZ0I7SUFFUTtBM0VncnVCeEI7O0EyRTNxdUJnQjtJQUVRO0EzRTZxdUJ4Qjs7QTJFdHJ1QmdCO0lBRVE7QTNFd3J1QnhCOztBMkVucnVCZ0I7SUFFUTtBM0VxcnVCeEI7O0EyRTlydUJnQjtJQUVRO0EzRWdzdUJ4Qjs7QTJFM3J1QmdCO0lBRVE7QTNFNnJ1QnhCOztBMkV0c3VCZ0I7SUFFUTtBM0V3c3VCeEI7O0EyRW5zdUJnQjtJQUVRO0EzRXFzdUJ4Qjs7QTJFOXN1QmdCO0lBRVE7QTNFZ3R1QnhCOztBMkUzc3VCZ0I7SUFFUTtBM0U2c3VCeEI7O0EyRXR0dUJnQjtJQUVRO0EzRXd0dUJ4Qjs7QTJFbnR1QmdCO0lBRVE7QTNFcXR1QnhCOztBMkU5dHVCZ0I7SUFFUTtBM0VndXVCeEI7O0EyRTN0dUJnQjtJQUVRO0EzRTZ0dUJ4Qjs7QTJFdHV1QmdCO0lBRVE7QTNFd3V1QnhCOztBMkVudXVCZ0I7SUFFUTtBM0VxdXVCeEI7O0EyRTl1dUJnQjtJQUVRO0EzRWd2dUJ4Qjs7QTJFM3V1QmdCO0lBRVE7QTNFNnV1QnhCOztBMkV0dnVCZ0I7SUFFUTtBM0V3dnVCeEI7O0EyRW52dUJnQjtJQUVRO0EzRXF2dUJ4Qjs7QTJFOXZ1QmdCO0lBRVE7QTNFZ3d1QnhCOztBMkUzdnVCZ0I7SUFFUTtBM0U2dnVCeEI7O0EyRXR3dUJnQjtJQUVRO0EzRXd3dUJ4Qjs7QTJFbnd1QmdCO0lBRVE7QTNFcXd1QnhCOztBMkU5d3VCZ0I7SUFFUTtBM0VneHVCeEI7O0EyRTN3dUJnQjtJQUVRO0EzRTZ3dUJ4Qjs7QTJFdHh1QmdCO0lBRVE7QTNFd3h1QnhCOztBMkVueHVCZ0I7SUFFUTtBM0VxeHVCeEI7O0EyRTl4dUJnQjtJQUVRO0EzRWd5dUJ4Qjs7QTJFM3h1QmdCO0lBRVE7QTNFNnh1QnhCOztBMkV0eXVCZ0I7SUFFUTtBM0V3eXVCeEI7O0EyRW55dUJnQjtJQUVRO0EzRXF5dUJ4Qjs7QTJFOXl1QmdCO0lBRVE7QTNFZ3p1QnhCOztBMkUzeXVCZ0I7SUFFUTtBM0U2eXVCeEI7O0EyRXR6dUJnQjtJQUVRO0EzRXd6dUJ4Qjs7QTJFbnp1QmdCO0lBRVE7QTNFcXp1QnhCOztBMkU5enVCZ0I7SUFFUTtBM0VnMHVCeEI7O0EyRTN6dUJnQjtJQUVRO0EzRTZ6dUJ4Qjs7QTJFdDB1QmdCO0lBRVE7QTNFdzB1QnhCOztBMkVuMHVCZ0I7SUFFUTtBM0VxMHVCeEI7O0EyRTkwdUJnQjtJQUVRO0EzRWcxdUJ4Qjs7QTJFMzB1QmdCO0lBRVE7QTNFNjB1QnhCOztBMkV0MXVCZ0I7SUFFUTtBM0V3MXVCeEI7O0EyRW4xdUJnQjtJQUVRO0EzRXExdUJ4Qjs7QTJFOTF1QmdCO0lBRVE7QTNFZzJ1QnhCOztBMkUzMXVCZ0I7SUFFUTtBM0U2MXVCeEI7O0EyRXQydUJnQjtJQUVRO0EzRXcydUJ4Qjs7QTJFbjJ1QmdCO0lBRVE7QTNFcTJ1QnhCOztBMkU5MnVCZ0I7SUFFUTtBM0VnM3VCeEI7O0EyRTMydUJnQjtJQUVRO0EzRTYydUJ4Qjs7QTJFdDN1QmdCO0lBRVE7QTNFdzN1QnhCOztBMkVuM3VCZ0I7SUFFUTtBM0VxM3VCeEI7O0EyRTkzdUJnQjtJQUVRO0EzRWc0dUJ4Qjs7QTJFMzN1QmdCO0lBRVE7QTNFNjN1QnhCOztBMkV0NHVCZ0I7SUFFUTtBM0V3NHVCeEI7O0EyRW40dUJnQjtJQUVRO0EzRXE0dUJ4Qjs7QTJFOTR1QmdCO0lBRVE7QTNFZzV1QnhCOztBMkUzNHVCZ0I7SUFFUTtBM0U2NHVCeEI7O0EyRXQ1dUJnQjtJQUVRO0EzRXc1dUJ4Qjs7QTJFbjV1QmdCO0lBRVE7QTNFcTV1QnhCOztBMkU5NXVCZ0I7SUFFUTtBM0VnNnVCeEI7O0EyRTM1dUJnQjtJQUVRO0EzRTY1dUJ4Qjs7QTJFdDZ1QmdCO0lBRVE7QTNFdzZ1QnhCOztBMkVuNnVCZ0I7SUFFUTtBM0VxNnVCeEI7O0EyRTk2dUJnQjtJQUVRO0EzRWc3dUJ4Qjs7QTJFMzZ1QmdCO0lBRVE7QTNFNjZ1QnhCOztBMkV0N3VCZ0I7SUFFUTtBM0V3N3VCeEI7O0EyRW43dUJnQjtJQUVRO0EzRXE3dUJ4Qjs7QTJFOTd1QmdCO0lBRVE7QTNFZzh1QnhCOztBMkUzN3VCZ0I7SUFFUTtBM0U2N3VCeEI7O0EyRXQ4dUJnQjtJQUVRO0EzRXc4dUJ4Qjs7QTJFbjh1QmdCO0lBRVE7QTNFcTh1QnhCOztBMkU5OHVCZ0I7SUFFUTtBM0VnOXVCeEI7O0EyRTM4dUJnQjtJQUVRO0EzRTY4dUJ4Qjs7QTJFdDl1QmdCO0lBRVE7QTNFdzl1QnhCOztBMkVuOXVCZ0I7SUFFUTtBM0VxOXVCeEI7O0EyRTk5dUJnQjtJQUVRO0EzRWcrdUJ4Qjs7QTJFMzl1QmdCO0lBRVE7QTNFNjl1QnhCOztBMkV0K3VCZ0I7SUFFUTtBM0V3K3VCeEI7O0EyRW4rdUJnQjtJQUVRO0EzRXErdUJ4Qjs7QTJFOSt1QmdCO0lBRVE7QTNFZy91QnhCOztBMkUzK3VCZ0I7SUFFUTtBM0U2K3VCeEI7O0EyRXQvdUJnQjtJQUVRO0EzRXcvdUJ4Qjs7QTJFbi91QmdCO0lBRVE7QTNFcS91QnhCOztBMkU5L3VCZ0I7SUFFUTtBM0VnZ3ZCeEI7O0EyRTMvdUJnQjtJQUVRO0EzRTYvdUJ4Qjs7QTJFdGd2QmdCO0lBRVE7QTNFd2d2QnhCOztBMkVuZ3ZCZ0I7SUFFUTtBM0VxZ3ZCeEI7O0EyRTlndkJnQjtJQUVRO0EzRWdodkJ4Qjs7QTJFM2d2QmdCO0lBRVE7QTNFNmd2QnhCOztBMkV0aHZCZ0I7SUFFUTtBM0V3aHZCeEI7O0EyRW5odkJnQjtJQUVRO0EzRXFodkJ4Qjs7QTJFOWh2QmdCO0lBRVE7QTNFZ2l2QnhCOztBMkUzaHZCZ0I7SUFFUTtBM0U2aHZCeEI7O0EyRXRpdkJnQjtJQUVRO0EzRXdpdkJ4Qjs7QTJFbml2QmdCO0lBRVE7QTNFcWl2QnhCOztBMkU5aXZCZ0I7SUFFUTtBM0VnanZCeEI7O0EyRTNpdkJnQjtJQUVRO0EzRTZpdkJ4Qjs7QTJFdGp2QmdCO0lBRVE7QTNFd2p2QnhCOztBMkVuanZCZ0I7SUFFUTtBM0VxanZCeEI7O0EyRTlqdkJnQjtJQUVRO0EzRWdrdkJ4Qjs7QTJFM2p2QmdCO0lBRVE7QTNFNmp2QnhCOztBMkV0a3ZCZ0I7SUFFUTtBM0V3a3ZCeEI7O0EyRW5rdkJnQjtJQUVRO0EzRXFrdkJ4Qjs7QTJFOWt2QmdCO0lBRVE7QTNFZ2x2QnhCOztBMkUza3ZCZ0I7SUFFUTtBM0U2a3ZCeEI7O0EyRXRsdkJnQjtJQUVRO0EzRXdsdkJ4Qjs7QTJFbmx2QmdCO0lBRVE7QTNFcWx2QnhCOztBMkU5bHZCZ0I7SUFFUTtBM0VnbXZCeEI7O0EyRTNsdkJnQjtJQUVRO0EzRTZsdkJ4Qjs7QTJFdG12QmdCO0lBRVE7QTNFd212QnhCOztBMkVubXZCZ0I7SUFFUTtBM0VxbXZCeEI7O0EyRTltdkJnQjtJQUVRO0EzRWdudkJ4Qjs7QTJFM212QmdCO0lBRVE7QTNFNm12QnhCOztBMkV0bnZCZ0I7SUFFUTtBM0V3bnZCeEI7O0EyRW5udkJnQjtJQUVRO0EzRXFudkJ4Qjs7QTJFOW52QmdCO0lBRVE7QTNFZ292QnhCOztBMkUzbnZCZ0I7SUFFUTtBM0U2bnZCeEI7O0EyRXRvdkJnQjtJQUVRO0EzRXdvdkJ4Qjs7QTJFbm92QmdCO0lBRVE7QTNFcW92QnhCOztBMkU5b3ZCZ0I7SUFFUTtBM0VncHZCeEI7O0EyRTNvdkJnQjtJQUVRO0EzRTZvdkJ4Qjs7QTJFdHB2QmdCO0lBRVE7QTNFd3B2QnhCOztBMkVucHZCZ0I7SUFFUTtBM0VxcHZCeEI7O0EyRTlwdkJnQjtJQUVRO0EzRWdxdkJ4Qjs7QTJFM3B2QmdCO0lBRVE7QTNFNnB2QnhCOztBMkV0cXZCZ0I7SUFFUTtBM0V3cXZCeEI7O0EyRW5xdkJnQjtJQUVRO0EzRXFxdkJ4Qjs7QTJFOXF2QmdCO0lBRVE7QTNFZ3J2QnhCOztBMkUzcXZCZ0I7SUFFUTtBM0U2cXZCeEI7O0EyRXRydkJnQjtJQUVRO0EzRXdydkJ4Qjs7QTJFbnJ2QmdCO0lBRVE7QTNFcXJ2QnhCOztBMkU5cnZCZ0I7SUFFUTtBM0Vnc3ZCeEI7O0EyRTNydkJnQjtJQUVRO0EzRTZydkJ4Qjs7QTJFdHN2QmdCO0lBRVE7QTNFd3N2QnhCOztBMkVuc3ZCZ0I7SUFFUTtBM0Vxc3ZCeEI7O0EyRTlzdkJnQjtJQUVRO0EzRWd0dkJ4Qjs7QTJFM3N2QmdCO0lBRVE7QTNFNnN2QnhCOztBMkV0dHZCZ0I7SUFFUTtBM0V3dHZCeEI7O0EyRW50dkJnQjtJQUVRO0EzRXF0dkJ4Qjs7QTJFOXR2QmdCO0lBRVE7QTNFZ3V2QnhCOztBMkUzdHZCZ0I7SUFFUTtBM0U2dHZCeEI7O0EyRXR1dkJnQjtJQUVRO0EzRXd1dkJ4Qjs7QTJFbnV2QmdCO0lBRVE7QTNFcXV2QnhCOztBMkU5dXZCZ0I7SUFFUTtBM0VndnZCeEI7O0EyRTN1dkJnQjtJQUVRO0EzRTZ1dkJ4Qjs7QTJFdHZ2QmdCO0lBRVE7QTNFd3Z2QnhCOztBMkVudnZCZ0I7SUFFUTtBM0VxdnZCeEI7O0EyRTl2dkJnQjtJQUVRO0EzRWd3dkJ4Qjs7QTJFM3Z2QmdCO0lBRVE7QTNFNnZ2QnhCOztBMkV0d3ZCZ0I7SUFFUTtBM0V3d3ZCeEI7O0EyRW53dkJnQjtJQUVRO0EzRXF3dkJ4Qjs7QTJFOXd2QmdCO0lBRVE7QTNFZ3h2QnhCOztBMkUzd3ZCZ0I7SUFFUTtBM0U2d3ZCeEI7O0EyRXR4dkJnQjtJQUVRO0EzRXd4dkJ4Qjs7QTJFbnh2QmdCO0lBRVE7QTNFcXh2QnhCOztBMkU5eHZCZ0I7SUFFUTtBM0VneXZCeEI7O0EyRTN4dkJnQjtJQUVRO0EzRTZ4dkJ4Qjs7QTJFdHl2QmdCO0lBRVE7QTNFd3l2QnhCOztBMkVueXZCZ0I7SUFFUTtBM0VxeXZCeEI7O0EyRTl5dkJnQjtJQUVRO0EzRWd6dkJ4Qjs7QTJFM3l2QmdCO0lBRVE7QTNFNnl2QnhCOztBMkV0enZCZ0I7SUFFUTtBM0V3enZCeEI7O0EyRW56dkJnQjtJQUVRO0EzRXF6dkJ4Qjs7QTJFOXp2QmdCO0lBRVE7QTNFZzB2QnhCOztBMkUzenZCZ0I7SUFFUTtBM0U2enZCeEI7O0EyRXQwdkJnQjtJQUVRO0EzRXcwdkJ4Qjs7QTJFbjB2QmdCO0lBRVE7QTNFcTB2QnhCOztBMkU5MHZCZ0I7SUFFUTtBM0VnMXZCeEI7O0EyRTMwdkJnQjtJQUVRO0EzRTYwdkJ4Qjs7QTJFdDF2QmdCO0lBRVE7QTNFdzF2QnhCOztBMkVuMXZCZ0I7SUFFUTtBM0VxMXZCeEI7O0EyRTkxdkJnQjtJQUVRO0EzRWcydkJ4Qjs7QTJFMzF2QmdCO0lBRVE7QTNFNjF2QnhCOztBMkV0MnZCZ0I7SUFFUTtBM0V3MnZCeEI7O0EyRW4ydkJnQjtJQUVRO0EzRXEydkJ4Qjs7QTJFOTJ2QmdCO0lBRVE7QTNFZzN2QnhCOztBMkUzMnZCZ0I7SUFFUTtBM0U2MnZCeEI7O0EyRXQzdkJnQjtJQUVRO0EzRXczdkJ4Qjs7QTJFbjN2QmdCO0lBRVE7QTNFcTN2QnhCOztBMkU5M3ZCZ0I7SUFFUTtBM0VnNHZCeEI7O0EyRTMzdkJnQjtJQUVRO0EzRTYzdkJ4Qjs7QTJFdDR2QmdCO0lBRVE7QTNFdzR2QnhCOztBMkVuNHZCZ0I7SUFFUTtBM0VxNHZCeEI7O0EyRTk0dkJnQjtJQUVRO0EzRWc1dkJ4Qjs7QTJFMzR2QmdCO0lBRVE7QTNFNjR2QnhCOztBMkV0NXZCZ0I7SUFFUTtBM0V3NXZCeEI7O0EyRW41dkJnQjtJQUVRO0EzRXE1dkJ4Qjs7QTJFOTV2QmdCO0lBRVE7QTNFZzZ2QnhCOztBMkUzNXZCZ0I7SUFFUTtBM0U2NXZCeEI7O0EyRXQ2dkJnQjtJQUVRO0EzRXc2dkJ4Qjs7QTJFbjZ2QmdCO0lBRVE7QTNFcTZ2QnhCOztBMkU5NnZCZ0I7SUFFUTtBM0VnN3ZCeEI7O0EyRTM2dkJnQjtJQUVRO0EzRTY2dkJ4Qjs7QTJFdDd2QmdCO0lBRVE7QTNFdzd2QnhCOztBMkVuN3ZCZ0I7SUFFUTtBM0VxN3ZCeEI7O0EyRTk3dkJnQjtJQUVRO0EzRWc4dkJ4Qjs7QTJFMzd2QmdCO0lBRVE7QTNFNjd2QnhCOztBMkV0OHZCZ0I7SUFFUTtBM0V3OHZCeEI7O0EyRW44dkJnQjtJQUVRO0EzRXE4dkJ4Qjs7QTJFOTh2QmdCO0lBRVE7QTNFZzl2QnhCOztBMkUzOHZCZ0I7SUFFUTtBM0U2OHZCeEI7O0EyRXQ5dkJnQjtJQUVRO0EzRXc5dkJ4Qjs7QTJFbjl2QmdCO0lBRVE7QTNFcTl2QnhCOztBMkU5OXZCZ0I7SUFFUTtBM0VnK3ZCeEI7O0EyRTM5dkJnQjtJQUVRO0EzRTY5dkJ4Qjs7QTJFdCt2QmdCO0lBRVE7QTNFdyt2QnhCOztBMkVuK3ZCZ0I7SUFFUTtBM0VxK3ZCeEI7O0EyRTkrdkJnQjtJQUVRO0EzRWcvdkJ4Qjs7QTJFMyt2QmdCO0lBRVE7QTNFNit2QnhCOztBMkV0L3ZCZ0I7SUFFUTtBM0V3L3ZCeEI7O0EyRW4vdkJnQjtJQUVRO0EzRXEvdkJ4Qjs7QTJFOS92QmdCO0lBRVE7QTNFZ2d3QnhCOztBMkUzL3ZCZ0I7SUFFUTtBM0U2L3ZCeEI7O0EyRXRnd0JnQjtJQUVRO0EzRXdnd0J4Qjs7QTJFbmd3QmdCO0lBRVE7QTNFcWd3QnhCOztBMkU5Z3dCZ0I7SUFFUTtBM0VnaHdCeEI7O0EyRTNnd0JnQjtJQUVRO0EzRTZnd0J4Qjs7QTJFdGh3QmdCO0lBRVE7QTNFd2h3QnhCOztBMkVuaHdCZ0I7SUFFUTtBM0VxaHdCeEI7O0EyRTlod0JnQjtJQUVRO0EzRWdpd0J4Qjs7QTJFM2h3QmdCO0lBRVE7QTNFNmh3QnhCOztBMkV0aXdCZ0I7SUFFUTtBM0V3aXdCeEI7O0EyRW5pd0JnQjtJQUVRO0EzRXFpd0J4Qjs7QTJFOWl3QmdCO0lBRVE7QTNFZ2p3QnhCOztBMkUzaXdCZ0I7SUFFUTtBM0U2aXdCeEI7O0EyRXRqd0JnQjtJQUVRO0EzRXdqd0J4Qjs7QTJFbmp3QmdCO0lBRVE7QTNFcWp3QnhCOztBMkU5andCZ0I7SUFFUTtBM0Vna3dCeEI7O0EyRTNqd0JnQjtJQUVRO0EzRTZqd0J4Qjs7QTJFdGt3QmdCO0lBRVE7QTNFd2t3QnhCOztBMkVua3dCZ0I7SUFFUTtBM0Vxa3dCeEI7O0EyRTlrd0JnQjtJQUVRO0EzRWdsd0J4Qjs7QTJFM2t3QmdCO0lBRVE7QTNFNmt3QnhCOztBMkV0bHdCZ0I7SUFFUTtBM0V3bHdCeEI7O0EyRW5sd0JnQjtJQUVRO0EzRXFsd0J4Qjs7QTJFOWx3QmdCO0lBRVE7QTNFZ213QnhCOztBMkUzbHdCZ0I7SUFFUTtBM0U2bHdCeEI7O0EyRXRtd0JnQjtJQUVRO0EzRXdtd0J4Qjs7QTJFbm13QmdCO0lBRVE7QTNFcW13QnhCOztBMkU5bXdCZ0I7SUFFUTtBM0VnbndCeEI7O0EyRTNtd0JnQjtJQUVRO0EzRTZtd0J4Qjs7QTJFdG53QmdCO0lBRVE7QTNFd253QnhCOztBMkVubndCZ0I7SUFFUTtBM0VxbndCeEI7O0EyRTlud0JnQjtJQUVRO0EzRWdvd0J4Qjs7QTJFM253QmdCO0lBRVE7QTNFNm53QnhCOztBMkV0b3dCZ0I7SUFFUTtBM0V3b3dCeEI7O0EyRW5vd0JnQjtJQUVRO0EzRXFvd0J4Qjs7QTJFOW93QmdCO0lBRVE7QTNFZ3B3QnhCOztBMkUzb3dCZ0I7SUFFUTtBM0U2b3dCeEI7O0EyRXRwd0JnQjtJQUVRO0EzRXdwd0J4Qjs7QTJFbnB3QmdCO0lBRVE7QTNFcXB3QnhCOztBMkU5cHdCZ0I7SUFFUTtBM0VncXdCeEI7O0EyRTNwd0JnQjtJQUVRO0EzRTZwd0J4Qjs7QTJFdHF3QmdCO0lBRVE7QTNFd3F3QnhCOztBMkVucXdCZ0I7SUFFUTtBM0VxcXdCeEI7O0EyRTlxd0JnQjtJQUVRO0EzRWdyd0J4Qjs7QTJFM3F3QmdCO0lBRVE7QTNFNnF3QnhCOztBMkV0cndCZ0I7SUFFUTtBM0V3cndCeEI7O0EyRW5yd0JnQjtJQUVRO0EzRXFyd0J4Qjs7QTJFOXJ3QmdCO0lBRVE7QTNFZ3N3QnhCOztBMkUzcndCZ0I7SUFFUTtBM0U2cndCeEI7O0EyRXRzd0JnQjtJQUVRO0EzRXdzd0J4Qjs7QTJFbnN3QmdCO0lBRVE7QTNFcXN3QnhCOztBMkU5c3dCZ0I7SUFFUTtBM0VndHdCeEI7O0EyRTNzd0JnQjtJQUVRO0EzRTZzd0J4Qjs7QTJFdHR3QmdCO0lBRVE7QTNFd3R3QnhCOztBMkVudHdCZ0I7SUFFUTtBM0VxdHdCeEI7O0EyRTl0d0JnQjtJQUVRO0EzRWd1d0J4Qjs7QTJFM3R3QmdCO0lBRVE7QTNFNnR3QnhCOztBMkV0dXdCZ0I7SUFFUTtBM0V3dXdCeEI7O0EyRW51d0JnQjtJQUVRO0EzRXF1d0J4Qjs7QTJFOXV3QmdCO0lBRVE7QTNFZ3Z3QnhCOztBMkUzdXdCZ0I7SUFFUTtBM0U2dXdCeEI7O0EyRXR2d0JnQjtJQUVRO0EzRXd2d0J4Qjs7QTJFbnZ3QmdCO0lBRVE7QTNFcXZ3QnhCOztBMkU5dndCZ0I7SUFFUTtBM0Vnd3dCeEI7O0EyRTN2d0JnQjtJQUVRO0EzRTZ2d0J4Qjs7QTJFdHd3QmdCO0lBRVE7QTNFd3d3QnhCOztBMkVud3dCZ0I7SUFFUTtBM0Vxd3dCeEI7O0EyRTl3d0JnQjtJQUVRO0EzRWd4d0J4Qjs7QTJFM3d3QmdCO0lBRVE7QTNFNnd3QnhCOztBMkV0eHdCZ0I7SUFFUTtBM0V3eHdCeEI7O0EyRW54d0JnQjtJQUVRO0EzRXF4d0J4Qjs7QTJFOXh3QmdCO0lBRVE7QTNFZ3l3QnhCOztBMkUzeHdCZ0I7SUFFUTtBM0U2eHdCeEI7O0EyRXR5d0JnQjtJQUVRO0EzRXd5d0J4Qjs7QTJFbnl3QmdCO0lBRVE7QTNFcXl3QnhCOztBMkU5eXdCZ0I7SUFFUTtBM0VnendCeEI7O0EyRTN5d0JnQjtJQUVRO0EzRTZ5d0J4Qjs7QTJFdHp3QmdCO0lBRVE7QTNFd3p3QnhCOztBMkVuendCZ0I7SUFFUTtBM0VxendCeEI7O0EyRTl6d0JnQjtJQUVRO0EzRWcwd0J4Qjs7QTJFM3p3QmdCO0lBRVE7QTNFNnp3QnhCOztBMkV0MHdCZ0I7SUFFUTtBM0V3MHdCeEI7O0EyRW4wd0JnQjtJQUVRO0EzRXEwd0J4Qjs7QTJFOTB3QmdCO0lBRVE7QTNFZzF3QnhCOztBMkUzMHdCZ0I7SUFFUTtBM0U2MHdCeEI7O0EyRXQxd0JnQjtJQUVRO0EzRXcxd0J4Qjs7QTJFbjF3QmdCO0lBRVE7QTNFcTF3QnhCOztBMkU5MXdCZ0I7SUFFUTtBM0VnMndCeEI7O0EyRTMxd0JnQjtJQUVRO0EzRTYxd0J4Qjs7QTJFdDJ3QmdCO0lBRVE7QTNFdzJ3QnhCOztBMkVuMndCZ0I7SUFFUTtBM0VxMndCeEI7O0EyRTkyd0JnQjtJQUVRO0EzRWczd0J4Qjs7QTJFMzJ3QmdCO0lBRVE7QTNFNjJ3QnhCOztBMkV0M3dCZ0I7SUFFUTtBM0V3M3dCeEI7O0EyRW4zd0JnQjtJQUVRO0EzRXEzd0J4Qjs7QTJFOTN3QmdCO0lBRVE7QTNFZzR3QnhCOztBMkUzM3dCZ0I7SUFFUTtBM0U2M3dCeEI7O0EyRXQ0d0JnQjtJQUVRO0EzRXc0d0J4Qjs7QTJFbjR3QmdCO0lBRVE7QTNFcTR3QnhCOztBMkU5NHdCZ0I7SUFFUTtBM0VnNXdCeEI7O0EyRTM0d0JnQjtJQUVRO0EzRTY0d0J4Qjs7QTJFdDV3QmdCO0lBRVE7QTNFdzV3QnhCOztBMkVuNXdCZ0I7SUFFUTtBM0VxNXdCeEI7O0EyRTk1d0JnQjtJQUVRO0EzRWc2d0J4Qjs7QTJFMzV3QmdCO0lBRVE7QTNFNjV3QnhCOztBMkV0NndCZ0I7SUFFUTtBM0V3NndCeEI7O0EyRW42d0JnQjtJQUVRO0EzRXE2d0J4Qjs7QTJFOTZ3QmdCO0lBRVE7QTNFZzd3QnhCOztBMkUzNndCZ0I7SUFFUTtBM0U2NndCeEI7O0EyRXQ3d0JnQjtJQUVRO0EzRXc3d0J4Qjs7QTJFbjd3QmdCO0lBRVE7QTNFcTd3QnhCOztBMkU5N3dCZ0I7SUFFUTtBM0VnOHdCeEI7O0EyRTM3d0JnQjtJQUVRO0EzRTY3d0J4Qjs7QTJFdDh3QmdCO0lBRVE7QTNFdzh3QnhCOztBMkVuOHdCZ0I7SUFFUTtBM0VxOHdCeEI7O0EyRTk4d0JnQjtJQUVRO0EzRWc5d0J4Qjs7QTJFMzh3QmdCO0lBRVE7QTNFNjh3QnhCOztBMkV0OXdCZ0I7SUFFUTtBM0V3OXdCeEI7O0EyRW45d0JnQjtJQUVRO0EzRXE5d0J4Qjs7QTJFOTl3QmdCO0lBRVE7QTNFZyt3QnhCOztBMkUzOXdCZ0I7SUFFUTtBM0U2OXdCeEI7O0EyRXQrd0JnQjtJQUVRO0EzRXcrd0J4Qjs7QTJFbit3QmdCO0lBRVE7QTNFcSt3QnhCOztBMkU5K3dCZ0I7SUFFUTtBM0VnL3dCeEI7O0EyRTMrd0JnQjtJQUVRO0EzRTYrd0J4Qjs7QTJFdC93QmdCO0lBRVE7QTNFdy93QnhCOztBMkVuL3dCZ0I7SUFFUTtBM0VxL3dCeEI7O0EyRTkvd0JnQjtJQUVRO0EzRWdneEJ4Qjs7QTJFMy93QmdCO0lBRVE7QTNFNi93QnhCOztBMkV0Z3hCZ0I7SUFFUTtBM0V3Z3hCeEI7O0EyRW5neEJnQjtJQUVRO0EzRXFneEJ4Qjs7QTJFOWd4QmdCO0lBRVE7QTNFZ2h4QnhCOztBMkUzZ3hCZ0I7SUFFUTtBM0U2Z3hCeEI7O0EyRXRoeEJnQjtJQUVRO0EzRXdoeEJ4Qjs7QTJFbmh4QmdCO0lBRVE7QTNFcWh4QnhCOztBMkU5aHhCZ0I7SUFFUTtBM0VnaXhCeEI7O0EyRTNoeEJnQjtJQUVRO0EzRTZoeEJ4Qjs7QTJFdGl4QmdCO0lBRVE7QTNFd2l4QnhCOztBMkVuaXhCZ0I7SUFFUTtBM0VxaXhCeEI7O0EyRTlpeEJnQjtJQUVRO0EzRWdqeEJ4Qjs7QTJFM2l4QmdCO0lBRVE7QTNFNml4QnhCOztBMkV0anhCZ0I7SUFFUTtBM0V3anhCeEI7O0EyRW5qeEJnQjtJQUVRO0EzRXFqeEJ4Qjs7QTJFOWp4QmdCO0lBRVE7QTNFZ2t4QnhCOztBMkUzanhCZ0I7SUFFUTtBM0U2anhCeEI7O0EyRXRreEJnQjtJQUVRO0EzRXdreEJ4Qjs7QTJFbmt4QmdCO0lBRVE7QTNFcWt4QnhCOztBMkU5a3hCZ0I7SUFFUTtBM0VnbHhCeEI7O0EyRTNreEJnQjtJQUVRO0EzRTZreEJ4Qjs7QTJFdGx4QmdCO0lBRVE7QTNFd2x4QnhCOztBMkVubHhCZ0I7SUFFUTtBM0VxbHhCeEI7O0EyRTlseEJnQjtJQUVRO0EzRWdteEJ4Qjs7QTJFM2x4QmdCO0lBRVE7QTNFNmx4QnhCOztBMkV0bXhCZ0I7SUFFUTtBM0V3bXhCeEI7O0EyRW5teEJnQjtJQUVRO0EzRXFteEJ4Qjs7QTJFOW14QmdCO0lBRVE7QTNFZ254QnhCOztBMkUzbXhCZ0I7SUFFUTtBM0U2bXhCeEI7O0EyRXRueEJnQjtJQUVRO0EzRXdueEJ4Qjs7QTJFbm54QmdCO0lBRVE7QTNFcW54QnhCOztBMkU5bnhCZ0I7SUFFUTtBM0Vnb3hCeEI7O0EyRTNueEJnQjtJQUVRO0EzRTZueEJ4Qjs7QTJFdG94QmdCO0lBRVE7QTNFd294QnhCOztBMkVub3hCZ0I7SUFFUTtBM0Vxb3hCeEI7O0EyRTlveEJnQjtJQUVRO0EzRWdweEJ4Qjs7QTJFM294QmdCO0lBRVE7QTNFNm94QnhCOztBMkV0cHhCZ0I7SUFFUTtBM0V3cHhCeEI7O0EyRW5weEJnQjtJQUVRO0EzRXFweEJ4Qjs7QTJFOXB4QmdCO0lBRVE7QTNFZ3F4QnhCOztBMkUzcHhCZ0I7SUFFUTtBM0U2cHhCeEI7O0EyRXRxeEJnQjtJQUVRO0EzRXdxeEJ4Qjs7QTJFbnF4QmdCO0lBRVE7QTNFcXF4QnhCOztBMkU5cXhCZ0I7SUFFUTtBM0VncnhCeEI7O0EyRTNxeEJnQjtJQUVRO0EzRTZxeEJ4Qjs7QTJFdHJ4QmdCO0lBRVE7QTNFd3J4QnhCOztBMkVucnhCZ0I7SUFFUTtBM0VxcnhCeEI7O0EyRTlyeEJnQjtJQUVRO0EzRWdzeEJ4Qjs7QTJFM3J4QmdCO0lBRVE7QTNFNnJ4QnhCOztBMkV0c3hCZ0I7SUFFUTtBM0V3c3hCeEI7O0EyRW5zeEJnQjtJQUVRO0EzRXFzeEJ4Qjs7QTJFOXN4QmdCO0lBRVE7QTNFZ3R4QnhCOztBMkUzc3hCZ0I7SUFFUTtBM0U2c3hCeEI7O0EyRXR0eEJnQjtJQUVRO0EzRXd0eEJ4Qjs7QTJFbnR4QmdCO0lBRVE7QTNFcXR4QnhCOztBMkU5dHhCZ0I7SUFFUTtBM0VndXhCeEI7O0EyRTN0eEJnQjtJQUVRO0EzRTZ0eEJ4Qjs7QTJFdHV4QmdCO0lBRVE7QTNFd3V4QnhCOztBMkVudXhCZ0I7SUFFUTtBM0VxdXhCeEI7O0EyRTl1eEJnQjtJQUVRO0EzRWd2eEJ4Qjs7QTJFM3V4QmdCO0lBRVE7QTNFNnV4QnhCOztBMkV0dnhCZ0I7SUFFUTtBM0V3dnhCeEI7O0EyRW52eEJnQjtJQUVRO0EzRXF2eEJ4Qjs7QTJFOXZ4QmdCO0lBRVE7QTNFZ3d4QnhCOztBMkUzdnhCZ0I7SUFFUTtBM0U2dnhCeEI7O0EyRXR3eEJnQjtJQUVRO0EzRXd3eEJ4Qjs7QTJFbnd4QmdCO0lBRVE7QTNFcXd4QnhCOztBMkU5d3hCZ0I7SUFFUTtBM0VneHhCeEI7O0EyRTN3eEJnQjtJQUVRO0EzRTZ3eEJ4Qjs7QTJFdHh4QmdCO0lBRVE7QTNFd3h4QnhCOztBMkVueHhCZ0I7SUFFUTtBM0VxeHhCeEI7O0EyRTl4eEJnQjtJQUVRO0EzRWd5eEJ4Qjs7QTJFM3h4QmdCO0lBRVE7QTNFNnh4QnhCOztBMkV0eXhCZ0I7SUFFUTtBM0V3eXhCeEI7O0EyRW55eEJnQjtJQUVRO0EzRXF5eEJ4Qjs7QTJFOXl4QmdCO0lBRVE7QTNFZ3p4QnhCOztBMkUzeXhCZ0I7SUFFUTtBM0U2eXhCeEI7O0EyRXR6eEJnQjtJQUVRO0EzRXd6eEJ4Qjs7QTJFbnp4QmdCO0lBRVE7QTNFcXp4QnhCOztBMkU5enhCZ0I7SUFFUTtBM0VnMHhCeEI7O0EyRTN6eEJnQjtJQUVRO0EzRTZ6eEJ4Qjs7QTJFdDB4QmdCO0lBRVE7QTNFdzB4QnhCOztBMkVuMHhCZ0I7SUFFUTtBM0VxMHhCeEI7O0EyRTkweEJnQjtJQUVRO0EzRWcxeEJ4Qjs7QTJFMzB4QmdCO0lBRVE7QTNFNjB4QnhCOztBMkV0MXhCZ0I7SUFFUTtBM0V3MXhCeEI7O0EyRW4xeEJnQjtJQUVRO0EzRXExeEJ4Qjs7QTJFOTF4QmdCO0lBRVE7QTNFZzJ4QnhCOztBMkUzMXhCZ0I7SUFFUTtBM0U2MXhCeEI7O0EyRXQyeEJnQjtJQUVRO0EzRXcyeEJ4Qjs7QTJFbjJ4QmdCO0lBRVE7QTNFcTJ4QnhCOztBMkU5MnhCZ0I7SUFFUTtBM0VnM3hCeEI7O0EyRTMyeEJnQjtJQUVRO0EzRTYyeEJ4Qjs7QTJFdDN4QmdCO0lBRVE7QTNFdzN4QnhCOztBMkVuM3hCZ0I7SUFFUTtBM0VxM3hCeEI7O0EyRTkzeEJnQjtJQUVRO0EzRWc0eEJ4Qjs7QTJFMzN4QmdCO0lBRVE7QTNFNjN4QnhCOztBMkV0NHhCZ0I7SUFFUTtBM0V3NHhCeEI7O0EyRW40eEJnQjtJQUVRO0EzRXE0eEJ4Qjs7QTJFOTR4QmdCO0lBRVE7QTNFZzV4QnhCOztBMkUzNHhCZ0I7SUFFUTtBM0U2NHhCeEI7O0EyRXQ1eEJnQjtJQUVRO0EzRXc1eEJ4Qjs7QTJFbjV4QmdCO0lBRVE7QTNFcTV4QnhCOztBMkU5NXhCZ0I7SUFFUTtBM0VnNnhCeEI7O0EyRTM1eEJnQjtJQUVRO0EzRTY1eEJ4Qjs7QTJFdDZ4QmdCO0lBRVE7QTNFdzZ4QnhCOztBMkVuNnhCZ0I7SUFFUTtBM0VxNnhCeEI7O0EyRTk2eEJnQjtJQUVRO0EzRWc3eEJ4Qjs7QTJFMzZ4QmdCO0lBRVE7QTNFNjZ4QnhCOztBMkV0N3hCZ0I7SUFFUTtBM0V3N3hCeEI7O0EyRW43eEJnQjtJQUVRO0EzRXE3eEJ4Qjs7QTJFOTd4QmdCO0lBRVE7QTNFZzh4QnhCOztBMkUzN3hCZ0I7SUFFUTtBM0U2N3hCeEI7O0EyRXQ4eEJnQjtJQUVRO0EzRXc4eEJ4Qjs7QTJFbjh4QmdCO0lBRVE7QTNFcTh4QnhCOztBMkU5OHhCZ0I7SUFFUTtBM0VnOXhCeEI7O0EyRTM4eEJnQjtJQUVRO0EzRTY4eEJ4Qjs7QTJFdDl4QmdCO0lBRVE7QTNFdzl4QnhCOztBMkVuOXhCZ0I7SUFFUTtBM0VxOXhCeEI7O0EyRTk5eEJnQjtJQUVRO0EzRWcreEJ4Qjs7QTJFMzl4QmdCO0lBRVE7QTNFNjl4QnhCOztBMkV0K3hCZ0I7SUFFUTtBM0V3K3hCeEI7O0EyRW4reEJnQjtJQUVRO0EzRXEreEJ4Qjs7QTJFOSt4QmdCO0lBRVE7QTNFZy94QnhCOztBMkUzK3hCZ0I7SUFFUTtBM0U2K3hCeEI7O0EyRXQveEJnQjtJQUVRO0EzRXcveEJ4Qjs7QTJFbi94QmdCO0lBRVE7QTNFcS94QnhCOztBMkU5L3hCZ0I7SUFFUTtBM0VnZ3lCeEI7O0EyRTMveEJnQjtJQUVRO0EzRTYveEJ4Qjs7QTJFdGd5QmdCO0lBRVE7QTNFd2d5QnhCOztBMkVuZ3lCZ0I7SUFFUTtBM0VxZ3lCeEI7O0EyRTlneUJnQjtJQUVRO0EzRWdoeUJ4Qjs7QTJFM2d5QmdCO0lBRVE7QTNFNmd5QnhCOztBMkV0aHlCZ0I7SUFFUTtBM0V3aHlCeEI7O0EyRW5oeUJnQjtJQUVRO0EzRXFoeUJ4Qjs7QTJFOWh5QmdCO0lBRVE7QTNFZ2l5QnhCOztBMkUzaHlCZ0I7SUFFUTtBM0U2aHlCeEI7O0EyRXRpeUJnQjtJQUVRO0EzRXdpeUJ4Qjs7QTJFbml5QmdCO0lBRVE7QTNFcWl5QnhCOztBMkU5aXlCZ0I7SUFFUTtBM0VnanlCeEI7O0EyRTNpeUJnQjtJQUVRO0EzRTZpeUJ4Qjs7QTJFdGp5QmdCO0lBRVE7QTNFd2p5QnhCOztBMkVuanlCZ0I7SUFFUTtBM0VxanlCeEI7O0EyRTlqeUJnQjtJQUVRO0EzRWdreUJ4Qjs7QTJFM2p5QmdCO0lBRVE7QTNFNmp5QnhCOztBMkV0a3lCZ0I7SUFFUTtBM0V3a3lCeEI7O0EyRW5reUJnQjtJQUVRO0EzRXFreUJ4Qjs7QTJFOWt5QmdCO0lBRVE7QTNFZ2x5QnhCOztBMkUza3lCZ0I7SUFFUTtBM0U2a3lCeEI7O0EyRXRseUJnQjtJQUVRO0EzRXdseUJ4Qjs7QTJFbmx5QmdCO0lBRVE7QTNFcWx5QnhCOztBMkU5bHlCZ0I7SUFFUTtBM0VnbXlCeEI7O0EyRTNseUJnQjtJQUVRO0EzRTZseUJ4Qjs7QTJFdG15QmdCO0lBRVE7QTNFd215QnhCOztBMkVubXlCZ0I7SUFFUTtBM0VxbXlCeEI7O0EyRTlteUJnQjtJQUVRO0EzRWdueUJ4Qjs7QTJFM215QmdCO0lBRVE7QTNFNm15QnhCOztBMkV0bnlCZ0I7SUFFUTtBM0V3bnlCeEI7O0EyRW5ueUJnQjtJQUVRO0EzRXFueUJ4Qjs7QTJFOW55QmdCO0lBRVE7QTNFZ295QnhCOztBMkUzbnlCZ0I7SUFFUTtBM0U2bnlCeEI7O0EyRXRveUJnQjtJQUVRO0EzRXdveUJ4Qjs7QTJFbm95QmdCO0lBRVE7QTNFcW95QnhCOztBMkU5b3lCZ0I7SUFFUTtBM0VncHlCeEI7O0EyRTNveUJnQjtJQUVRO0EzRTZveUJ4Qjs7QTJFdHB5QmdCO0lBRVE7QTNFd3B5QnhCOztBMkVucHlCZ0I7SUFFUTtBM0VxcHlCeEI7O0EyRTlweUJnQjtJQUVRO0EzRWdxeUJ4Qjs7QTJFM3B5QmdCO0lBRVE7QTNFNnB5QnhCOztBMkV0cXlCZ0I7SUFFUTtBM0V3cXlCeEI7O0EyRW5xeUJnQjtJQUVRO0EzRXFxeUJ4Qjs7QTJFOXF5QmdCO0lBRVE7QTNFZ3J5QnhCOztBMkUzcXlCZ0I7SUFFUTtBM0U2cXlCeEI7O0EyRXRyeUJnQjtJQUVRO0EzRXdyeUJ4Qjs7QTJFbnJ5QmdCO0lBRVE7QTNFcXJ5QnhCOztBMkU5cnlCZ0I7SUFFUTtBM0Vnc3lCeEI7O0EyRTNyeUJnQjtJQUVRO0EzRTZyeUJ4Qjs7QTJFdHN5QmdCO0lBRVE7QTNFd3N5QnhCOztBMkVuc3lCZ0I7SUFFUTtBM0Vxc3lCeEI7O0EyRTlzeUJnQjtJQUVRO0EzRWd0eUJ4Qjs7QTJFM3N5QmdCO0lBRVE7QTNFNnN5QnhCOztBMkV0dHlCZ0I7SUFFUTtBM0V3dHlCeEI7O0EyRW50eUJnQjtJQUVRO0EzRXF0eUJ4Qjs7QTJFOXR5QmdCO0lBRVE7QTNFZ3V5QnhCOztBMkUzdHlCZ0I7SUFFUTtBM0U2dHlCeEI7O0EyRXR1eUJnQjtJQUVRO0EzRXd1eUJ4Qjs7QTJFbnV5QmdCO0lBRVE7QTNFcXV5QnhCOztBMkU5dXlCZ0I7SUFFUTtBM0VndnlCeEI7O0EyRTN1eUJnQjtJQUVRO0EzRTZ1eUJ4Qjs7QTJFdHZ5QmdCO0lBRVE7QTNFd3Z5QnhCOztBMkVudnlCZ0I7SUFFUTtBM0VxdnlCeEI7O0EyRTl2eUJnQjtJQUVRO0EzRWd3eUJ4Qjs7QTJFM3Z5QmdCO0lBRVE7QTNFNnZ5QnhCOztBMkV0d3lCZ0I7SUFFUTtBM0V3d3lCeEI7O0EyRW53eUJnQjtJQUVRO0EzRXF3eUJ4Qjs7QTJFOXd5QmdCO0lBRVE7QTNFZ3h5QnhCOztBMkUzd3lCZ0I7SUFFUTtBM0U2d3lCeEI7O0EyRXR4eUJnQjtJQUVRO0EzRXd4eUJ4Qjs7QTJFbnh5QmdCO0lBRVE7QTNFcXh5QnhCOztBMkU5eHlCZ0I7SUFFUTtBM0VneXlCeEI7O0EyRTN4eUJnQjtJQUVRO0EzRTZ4eUJ4Qjs7QTJFdHl5QmdCO0lBRVE7QTNFd3l5QnhCOztBMkVueXlCZ0I7SUFFUTtBM0VxeXlCeEI7O0EyRTl5eUJnQjtJQUVRO0EzRWd6eUJ4Qjs7QTJFM3l5QmdCO0lBRVE7QTNFNnl5QnhCOztBMkV0enlCZ0I7SUFFUTtBM0V3enlCeEI7O0EyRW56eUJnQjtJQUVRO0EzRXF6eUJ4Qjs7QTJFOXp5QmdCO0lBRVE7QTNFZzB5QnhCOztBMkUzenlCZ0I7SUFFUTtBM0U2enlCeEI7O0EyRXQweUJnQjtJQUVRO0EzRXcweUJ4Qjs7QTJFbjB5QmdCO0lBRVE7QTNFcTB5QnhCOztBMkU5MHlCZ0I7SUFFUTtBM0VnMXlCeEI7O0EyRTMweUJnQjtJQUVRO0EzRTYweUJ4Qjs7QTJFdDF5QmdCO0lBRVE7QTNFdzF5QnhCOztBMkVuMXlCZ0I7SUFFUTtBM0VxMXlCeEI7O0EyRTkxeUJnQjtJQUVRO0EzRWcyeUJ4Qjs7QTJFMzF5QmdCO0lBRVE7QTNFNjF5QnhCOztBMkV0MnlCZ0I7SUFFUTtBM0V3MnlCeEI7O0EyRW4yeUJnQjtJQUVRO0EzRXEyeUJ4Qjs7QTJFOTJ5QmdCO0lBRVE7QTNFZzN5QnhCOztBMkUzMnlCZ0I7SUFFUTtBM0U2MnlCeEI7O0EyRXQzeUJnQjtJQUVRO0EzRXczeUJ4Qjs7QTJFbjN5QmdCO0lBRVE7QTNFcTN5QnhCOztBMkU5M3lCZ0I7SUFFUTtBM0VnNHlCeEI7O0EyRTMzeUJnQjtJQUVRO0EzRTYzeUJ4Qjs7QTJFdDR5QmdCO0lBRVE7QTNFdzR5QnhCOztBMkVuNHlCZ0I7SUFFUTtBM0VxNHlCeEI7O0EyRTk0eUJnQjtJQUVRO0EzRWc1eUJ4Qjs7QTJFMzR5QmdCO0lBRVE7QTNFNjR5QnhCOztBMkV0NXlCZ0I7SUFFUTtBM0V3NXlCeEI7O0EyRW41eUJnQjtJQUVRO0EzRXE1eUJ4Qjs7QTJFOTV5QmdCO0lBRVE7QTNFZzZ5QnhCOztBMkUzNXlCZ0I7SUFFUTtBM0U2NXlCeEI7O0EyRXQ2eUJnQjtJQUVRO0EzRXc2eUJ4Qjs7QTJFbjZ5QmdCO0lBRVE7QTNFcTZ5QnhCOztBMkU5NnlCZ0I7SUFFUTtBM0VnN3lCeEI7O0EyRTM2eUJnQjtJQUVRO0EzRTY2eUJ4Qjs7QTJFdDd5QmdCO0lBRVE7QTNFdzd5QnhCOztBMkVuN3lCZ0I7SUFFUTtBM0VxN3lCeEI7O0EyRTk3eUJnQjtJQUVRO0EzRWc4eUJ4Qjs7QTJFMzd5QmdCO0lBRVE7QTNFNjd5QnhCOztBMkV0OHlCZ0I7SUFFUTtBM0V3OHlCeEI7O0EyRW44eUJnQjtJQUVRO0EzRXE4eUJ4Qjs7QTJFOTh5QmdCO0lBRVE7QTNFZzl5QnhCOztBMkUzOHlCZ0I7SUFFUTtBM0U2OHlCeEI7O0EyRXQ5eUJnQjtJQUVRO0EzRXc5eUJ4Qjs7QTJFbjl5QmdCO0lBRVE7QTNFcTl5QnhCOztBMkU5OXlCZ0I7SUFFUTtBM0VnK3lCeEI7O0EyRTM5eUJnQjtJQUVRO0EzRTY5eUJ4Qjs7QTJFdCt5QmdCO0lBRVE7QTNFdyt5QnhCOztBMkVuK3lCZ0I7SUFFUTtBM0VxK3lCeEI7O0EyRTkreUJnQjtJQUVRO0EzRWcveUJ4Qjs7QTJFMyt5QmdCO0lBRVE7QTNFNit5QnhCOztBMkV0L3lCZ0I7SUFFUTtBM0V3L3lCeEI7O0EyRW4veUJnQjtJQUVRO0EzRXEveUJ4Qjs7QTJFOS95QmdCO0lBRVE7QTNFZ2d6QnhCOztBMkUzL3lCZ0I7SUFFUTtBM0U2L3lCeEI7O0EyRXRnekJnQjtJQUVRO0EzRXdnekJ4Qjs7QTJFbmd6QmdCO0lBRVE7QTNFcWd6QnhCOztBMkU5Z3pCZ0I7SUFFUTtBM0VnaHpCeEI7O0EyRTNnekJnQjtJQUVRO0EzRTZnekJ4Qjs7QTJFdGh6QmdCO0lBRVE7QTNFd2h6QnhCOztBMkVuaHpCZ0I7SUFFUTtBM0VxaHpCeEI7O0EyRTloekJnQjtJQUVRO0EzRWdpekJ4Qjs7QTJFM2h6QmdCO0lBRVE7QTNFNmh6QnhCOztBMkV0aXpCZ0I7SUFFUTtBM0V3aXpCeEI7O0EyRW5pekJnQjtJQUVRO0EzRXFpekJ4Qjs7QTJFOWl6QmdCO0lBRVE7QTNFZ2p6QnhCOztBMkUzaXpCZ0I7SUFFUTtBM0U2aXpCeEI7O0EyRXRqekJnQjtJQUVRO0EzRXdqekJ4Qjs7QTJFbmp6QmdCO0lBRVE7QTNFcWp6QnhCOztBMkU5anpCZ0I7SUFFUTtBM0Vna3pCeEI7O0EyRTNqekJnQjtJQUVRO0EzRTZqekJ4Qjs7QTJFdGt6QmdCO0lBRVE7QTNFd2t6QnhCOztBMkVua3pCZ0I7SUFFUTtBM0Vxa3pCeEI7O0EyRTlrekJnQjtJQUVRO0EzRWdsekJ4Qjs7QTJFM2t6QmdCO0lBRVE7QTNFNmt6QnhCOztBMkV0bHpCZ0I7SUFFUTtBM0V3bHpCeEI7O0EyRW5sekJnQjtJQUVRO0EzRXFsekJ4Qjs7QTJFOWx6QmdCO0lBRVE7QTNFZ216QnhCOztBMkUzbHpCZ0I7SUFFUTtBM0U2bHpCeEI7O0EyRXRtekJnQjtJQUVRO0EzRXdtekJ4Qjs7QTJFbm16QmdCO0lBRVE7QTNFcW16QnhCOztBMkU5bXpCZ0I7SUFFUTtBM0VnbnpCeEI7O0EyRTNtekJnQjtJQUVRO0EzRTZtekJ4Qjs7QTJFdG56QmdCO0lBRVE7QTNFd256QnhCOztBMkVubnpCZ0I7SUFFUTtBM0VxbnpCeEI7O0EyRTluekJnQjtJQUVRO0EzRWdvekJ4Qjs7QTJFM256QmdCO0lBRVE7QTNFNm56QnhCOztBMkV0b3pCZ0I7SUFFUTtBM0V3b3pCeEI7O0EyRW5vekJnQjtJQUVRO0EzRXFvekJ4Qjs7QTJFOW96QmdCO0lBRVE7QTNFZ3B6QnhCOztBMkUzb3pCZ0I7SUFFUTtBM0U2b3pCeEI7O0EyRXRwekJnQjtJQUVRO0EzRXdwekJ4Qjs7QTJFbnB6QmdCO0lBRVE7QTNFcXB6QnhCOztBMkU5cHpCZ0I7SUFFUTtBM0VncXpCeEI7O0EyRTNwekJnQjtJQUVRO0EzRTZwekJ4Qjs7QTJFdHF6QmdCO0lBRVE7QTNFd3F6QnhCOztBMkVucXpCZ0I7SUFFUTtBM0VxcXpCeEI7O0EyRTlxekJnQjtJQUVRO0EzRWdyekJ4Qjs7QTJFM3F6QmdCO0lBRVE7QTNFNnF6QnhCOztBMkV0cnpCZ0I7SUFFUTtBM0V3cnpCeEI7O0EyRW5yekJnQjtJQUVRO0EzRXFyekJ4Qjs7QTJFOXJ6QmdCO0lBRVE7QTNFZ3N6QnhCOztBMkUzcnpCZ0I7SUFFUTtBM0U2cnpCeEI7O0EyRXRzekJnQjtJQUVRO0EzRXdzekJ4Qjs7QTJFbnN6QmdCO0lBRVE7QTNFcXN6QnhCOztBMkU5c3pCZ0I7SUFFUTtBM0VndHpCeEI7O0EyRTNzekJnQjtJQUVRO0EzRTZzekJ4Qjs7QTJFdHR6QmdCO0lBRVE7QTNFd3R6QnhCOztBMkVudHpCZ0I7SUFFUTtBM0VxdHpCeEI7O0EyRTl0ekJnQjtJQUVRO0EzRWd1ekJ4Qjs7QTJFM3R6QmdCO0lBRVE7QTNFNnR6QnhCOztBMkV0dXpCZ0I7SUFFUTtBM0V3dXpCeEI7O0EyRW51ekJnQjtJQUVRO0EzRXF1ekJ4Qjs7QTJFOXV6QmdCO0lBRVE7QTNFZ3Z6QnhCOztBMkUzdXpCZ0I7SUFFUTtBM0U2dXpCeEI7O0EyRXR2ekJnQjtJQUVRO0EzRXd2ekJ4Qjs7QTJFbnZ6QmdCO0lBRVE7QTNFcXZ6QnhCOztBMkU5dnpCZ0I7SUFFUTtBM0Vnd3pCeEI7O0EyRTN2ekJnQjtJQUVRO0EzRTZ2ekJ4Qjs7QTJFdHd6QmdCO0lBRVE7QTNFd3d6QnhCOztBMkVud3pCZ0I7SUFFUTtBM0Vxd3pCeEI7O0EyRTl3ekJnQjtJQUVRO0EzRWd4ekJ4Qjs7QTJFM3d6QmdCO0lBRVE7QTNFNnd6QnhCOztBMkV0eHpCZ0I7SUFFUTtBM0V3eHpCeEI7O0EyRW54ekJnQjtJQUVRO0EzRXF4ekJ4Qjs7QTJFOXh6QmdCO0lBRVE7QTNFZ3l6QnhCOztBMkUzeHpCZ0I7SUFFUTtBM0U2eHpCeEI7O0EyRXR5ekJnQjtJQUVRO0EzRXd5ekJ4Qjs7QTJFbnl6QmdCO0lBRVE7QTNFcXl6QnhCOztBMkU5eXpCZ0I7SUFFUTtBM0VnenpCeEI7O0EyRTN5ekJnQjtJQUVRO0EzRTZ5ekJ4Qjs7QTJFdHp6QmdCO0lBRVE7QTNFd3p6QnhCOztBMkVuenpCZ0I7SUFFUTtBM0VxenpCeEI7O0EyRTl6ekJnQjtJQUVRO0EzRWcwekJ4Qjs7QTJFM3p6QmdCO0lBRVE7QTNFNnp6QnhCOztBMkV0MHpCZ0I7SUFFUTtBM0V3MHpCeEI7O0EyRW4wekJnQjtJQUVRO0EzRXEwekJ4Qjs7QTJFOTB6QmdCO0lBRVE7QTNFZzF6QnhCOztBMkUzMHpCZ0I7SUFFUTtBM0U2MHpCeEI7O0EyRXQxekJnQjtJQUVRO0EzRXcxekJ4Qjs7QTJFbjF6QmdCO0lBRVE7QTNFcTF6QnhCOztBMkU5MXpCZ0I7SUFFUTtBM0VnMnpCeEI7O0EyRTMxekJnQjtJQUVRO0EzRTYxekJ4Qjs7QTJFdDJ6QmdCO0lBRVE7QTNFdzJ6QnhCOztBMkVuMnpCZ0I7SUFFUTtBM0VxMnpCeEI7O0EyRTkyekJnQjtJQUVRO0EzRWczekJ4Qjs7QTJFMzJ6QmdCO0lBRVE7QTNFNjJ6QnhCOztBMkV0M3pCZ0I7SUFFUTtBM0V3M3pCeEI7O0EyRW4zekJnQjtJQUVRO0EzRXEzekJ4Qjs7QTJFOTN6QmdCO0lBRVE7QTNFZzR6QnhCOztBMkUzM3pCZ0I7SUFFUTtBM0U2M3pCeEI7O0EyRXQ0ekJnQjtJQUVRO0EzRXc0ekJ4Qjs7QTJFbjR6QmdCO0lBRVE7QTNFcTR6QnhCOztBMkU5NHpCZ0I7SUFFUTtBM0VnNXpCeEI7O0EyRTM0ekJnQjtJQUVRO0EzRTY0ekJ4Qjs7QTJFdDV6QmdCO0lBRVE7QTNFdzV6QnhCOztBMkVuNXpCZ0I7SUFFUTtBM0VxNXpCeEI7O0EyRTk1ekJnQjtJQUVRO0EzRWc2ekJ4Qjs7QTJFMzV6QmdCO0lBRVE7QTNFNjV6QnhCOztBMkV0NnpCZ0I7SUFFUTtBM0V3NnpCeEI7O0EyRW42ekJnQjtJQUVRO0EzRXE2ekJ4Qjs7QTJFOTZ6QmdCO0lBRVE7QTNFZzd6QnhCOztBMkUzNnpCZ0I7SUFFUTtBM0U2NnpCeEI7O0EyRXQ3ekJnQjtJQUVRO0EzRXc3ekJ4Qjs7QTJFbjd6QmdCO0lBRVE7QTNFcTd6QnhCOztBMkU5N3pCZ0I7SUFFUTtBM0VnOHpCeEI7O0EyRTM3ekJnQjtJQUVRO0EzRTY3ekJ4Qjs7QTJFdDh6QmdCO0lBRVE7QTNFdzh6QnhCOztBMkVuOHpCZ0I7SUFFUTtBM0VxOHpCeEI7O0EyRTk4ekJnQjtJQUVRO0EzRWc5ekJ4Qjs7QTJFMzh6QmdCO0lBRVE7QTNFNjh6QnhCOztBMkV0OXpCZ0I7SUFFUTtBM0V3OXpCeEI7O0EyRW45ekJnQjtJQUVRO0EzRXE5ekJ4Qjs7QTJFOTl6QmdCO0lBRVE7QTNFZyt6QnhCOztBMkUzOXpCZ0I7SUFFUTtBM0U2OXpCeEI7O0EyRXQrekJnQjtJQUVRO0EzRXcrekJ4Qjs7QTJFbit6QmdCO0lBRVE7QTNFcSt6QnhCOztBMkU5K3pCZ0I7SUFFUTtBM0VnL3pCeEI7O0EyRTMrekJnQjtJQUVRO0EzRTYrekJ4Qjs7QTJFdC96QmdCO0lBRVE7QTNFdy96QnhCOztBMkVuL3pCZ0I7SUFFUTtBM0VxL3pCeEI7O0EyRTkvekJnQjtJQUVRO0EzRWdnMEJ4Qjs7QTJFMy96QmdCO0lBRVE7QTNFNi96QnhCOztBMkV0ZzBCZ0I7SUFFUTtBM0V3ZzBCeEI7O0EyRW5nMEJnQjtJQUVRO0EzRXFnMEJ4Qjs7QTJFOWcwQmdCO0lBRVE7QTNFZ2gwQnhCOztBMkUzZzBCZ0I7SUFFUTtBM0U2ZzBCeEI7O0EyRXRoMEJnQjtJQUVRO0EzRXdoMEJ4Qjs7QTJFbmgwQmdCO0lBRVE7QTNFcWgwQnhCOztBMkU5aDBCZ0I7SUFFUTtBM0VnaTBCeEI7O0EyRTNoMEJnQjtJQUVRO0EzRTZoMEJ4Qjs7QTJFdGkwQmdCO0lBRVE7QTNFd2kwQnhCOztBMkVuaTBCZ0I7SUFFUTtBM0VxaTBCeEI7O0EyRTlpMEJnQjtJQUVRO0EzRWdqMEJ4Qjs7QTJFM2kwQmdCO0lBRVE7QTNFNmkwQnhCOztBMkV0ajBCZ0I7SUFFUTtBM0V3ajBCeEI7O0EyRW5qMEJnQjtJQUVRO0EzRXFqMEJ4Qjs7QTJFOWowQmdCO0lBRVE7QTNFZ2swQnhCOztBMkUzajBCZ0I7SUFFUTtBM0U2ajBCeEI7O0EyRXRrMEJnQjtJQUVRO0EzRXdrMEJ4Qjs7QTJFbmswQmdCO0lBRVE7QTNFcWswQnhCOztBMkU5d21CSTs7SUExMlVBLGV0RWprTDBCO0lzRWtrTDFCLDRNdEUza0wwQjtJc0U0a0wxQixnQnRFdGpMMEI7SXNFdWpMMUIsZ0JyRTFqTWlCO0lxRTA2Z0JiO0EzRTh3bUJSO0EyRTV3bUJROztJQUNJLGdCQW5GYTtBM0VrMm1CekI7O0EyRTF3bUJJO0lBMzNVQSxpQnRFaGpMMEI7SXNFaWpMMUIsbU1yRXRsTW1CO0lxRXVsTW5CLGdCdEUxaEwwQjtJc0UyaEwxQixnQnJFempNbUI7SXFFeTdnQmYsa0JBekdVO0EzRW0zbUJsQjs7QTJFeHdtQkk7SUFyNFVBLGV0RS9pTDBCO0lzRWdqTDFCLG1NckV0bE1tQjtJcUV1bE1uQixnQnRFMWhMMEI7SXNFMmhMMUIsZ0JyRXpqTW1CO0lxRW04Z0JmLGtCQWxIVTtBM0UwM21CbEI7O0EyRXR3bUJJO0lBLzRVQSxrQnRFOWlMMEI7SXNFK2lMMUIsbU1yRXRsTW1CO0lxRXVsTW5CLGdCdEUxaEwwQjtJc0UyaEwxQixnQnJFempNbUI7SXFFNjhnQmYsa0JBM0hVO0EzRWk0bUJsQjs7QTJFcHdtQkk7SUF6NVVBLGlCdEU3aUwwQjtJc0U4aUwxQixtTXJFdGxNbUI7SXFFdWxNbkIsZ0J0RTFoTDBCO0lzRTJoTDFCLGdCckV6ak1tQjtJcUV1OWdCZixrQkFwSVU7QTNFdzRtQmxCOztBMkVsd21CSTtJQW42VUEsa0J0RTVpTDBCO0lzRTZpTDFCLG1NckV0bE1tQjtJcUV1bE1uQixnQnRFMWhMMEI7SXNFMmhMMUIsZ0JyRXpqTW1CO0lxRWkrZ0JmLGtCQTdJVTtBM0UrNG1CbEI7O0EyRWh3bUJJO0lBNzZVQSxldEVqa0wwQjtJc0Vra0wxQixtTXJFdGxNbUI7SXFFdWxNbkIsZ0J0RTFoTDBCO0lzRTJoTDFCLGdCckV6ak1tQjtJcUUyK2dCZixrQkF0SlU7QTNFczVtQmxCOztBMkU1dm1CSTtJQXo3VUEsZXRFamtMMEI7SXNFa2tMMUIsNE10RTNrTDBCO0lzRTRrTDFCLGdCdEV0akwwQjtJc0V1akwxQixnQnJFMWpNaUI7SXFFdy9nQmIsZ0JBOUppQjtBM0UwNW1CekI7O0EyRXh2bUJJOztJQXI4VUEsbUJ0RWhrTDBCO0lzRWlrTDFCLGlHdEUxa0wwQjtJc0Uya0wxQixnQnRFdGpMMEI7SXNFdWpMMUIsZ0JyRTFqTWlCO0lxRXFnaEJiO0lBQ0EsaUJBekprQjtBM0VpNW1CMUI7O0EyRXJ2bUJJO0lBQ0ksbUJBOUpjO0lBK0pkLG9CQWhLYztJQWlLZDtBM0V3dm1CUjs7QTJFcnZtQkk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFd3ZtQlI7O0EyRXJ2bUJJO0lBQ0ksa0JBL0tlO0lBZ0xmLG1CQWpMZTtBM0V5Nm1CdkI7O0EyRXB2bUJJO0lBditVQSxlQTh6VXVCO0lBNXpVdkIsZ0J0RTFoTDBCO0lzRTJoTDFCLGdCdEUzZ0xrQjtBTHl1bUN0Qjs7QTJFanZtQkk7SUFoL1VBLGlCQSt6VXVCO0lBN3pVdkIsZ0J0RTFoTDBCO0lzRTJoTDFCLGdCdEUzZ0xrQjtBTCt1bUN0Qjs7QTJFOXVtQkk7SUF6L1VBLGVBZzBVdUI7SUE5elV2QixnQnRFMWhMMEI7SXNFMmhMMUIsZ0J0RTNnTGtCO0FMcXZtQ3RCOztBMkUzdW1CSTtJQWxnVkEsaUJBaTBVdUI7SUEvelV2QixnQnRFMWhMMEI7SXNFMmhMMUIsZ0J0RTNnTGtCO0FMMnZtQ3RCOztBMkVwdG1CSTtJQTVwVkksY0EzMkRVO0lBODJEVix5QkF4dElRO0EzRTBra0NoQjs7QTJFanRtQkk7O0lBdnFWSSxxQkE5c0lpQjtJQWl0SWpCLGNBbHRJZTtJQXF0SWYseUJ0RXIrTEc7QUw4MW5DWDs7QTJFL21tQkk7SUFDSSxXQXIrWVU7SUFzK1lWLFlBdCtZVTtJQXUrWVY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0Vrbm1CUjtBMkVobm1CUTtJQUNJO0lBQ0E7QTNFa25tQlo7O0EyRTVtbUJRO0lBQ0ksd0JBN0NNO0lBOENOLHlCQTlDTTtBM0U2cG1CbEI7QTJFN21tQlE7SUFDSSx5QkFoRE07SUFpRE4sMEJBakRNO0EzRWdxbUJsQjtBMkU3bW1CUTtJQUNJLFdBamdaTTtJQWtnWk4sWUFsZ1pNO0EzRWluL0JsQjtBMkU3bW1CUTtJQUNJLHdCQXRETTtJQXVETix5QkF2RE07QTNFc3FtQmxCO0EyRTdtbUJRO0lBQ0ksdUJBekRNO0lBMEROLHdCQTFETTtBM0V5cW1CbEI7QTJFN21tQlE7SUFDSSxxQkE1RE87SUE2RFAsc0JBN0RPO0EzRTRxbUJuQjtBMkU3bW1CUTtJQUNJLHFCQS9EUTtJQWdFUixzQkFoRVE7QTNFK3FtQnBCOztBMkV0bW1CUTs7OztJQUNJO0EzRTRtbUJaOztBMkV4bW1CUTtJQUNJO0EzRTJtbUJaOztBMkV2bW1CUTtJQUNJO0EzRTBtbUJaOztBMkVybW1CUTs7SUFDSTtBM0V5bW1CWjs7QTJFam1tQlk7SUFDSTtBM0VvbW1CaEI7QTJFam1tQlk7SUFDSTtBM0VtbW1CaEI7O0EyRXhtbUJZO0lBQ0k7QTNFMm1tQmhCO0EyRXhtbUJZO0lBQ0k7QTNFMG1tQmhCOztBMkUvbW1CWTtJQUNJO0EzRWtubUJoQjtBMkUvbW1CWTtJQUNJO0EzRWlubUJoQjs7QTJFdG5tQlk7SUFDSTtBM0V5bm1CaEI7QTJFdG5tQlk7SUFDSTtBM0V3bm1CaEI7O0EyRTdubUJZO0lBQ0k7QTNFZ29tQmhCO0EyRTdubUJZO0lBQ0k7QTNFK25tQmhCOztBMkVwb21CWTtJQUNJO0EzRXVvbUJoQjtBMkVwb21CWTtJQUNJO0EzRXNvbUJoQjs7QTJFM29tQlk7SUFDSTtBM0U4b21CaEI7QTJFM29tQlk7SUFDSTtBM0U2b21CaEI7O0EyRWxwbUJZO0lBQ0k7QTNFcXBtQmhCO0EyRWxwbUJZO0lBQ0k7QTNFb3BtQmhCOztBMkV0b21CSTtJQUNJO0lBQ0E7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N0ttQjtJQThLbkI7QTNFOGdqQlI7QTJFNWdqQlE7SUFDSTtBM0U4Z2pCWjs7QTJFeGdqQkk7Ozs7O0lBS0k7SUFDQTtBM0UyZ2pCUjs7QTJFemdqQkk7O0lBSUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0UwZ2pCUjtBMkV4Z2pCUTs7SUFDSTtBM0UyZ2pCWjs7QTJFeGdqQkk7SUFDSTtBM0UyZ2pCUjs7QTJFdGdqQkk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtBM0V5Z2pCUjtBMkV2Z2pCUTtJQUNJO0EzRXlnakJaOztBMkV0Z2pCSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0V5Z2pCUjs7QTJFcmdqQlE7O0lBQ0k7QTNFeWdqQlo7O0EyRXRnakJJO0lBQ0k7QTNFeWdqQlI7QTJFdmdqQlE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtBM0V5Z2pCWjs7QTJFbmdqQkk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFc2dqQlI7QTJFcGdqQlE7SUFDSTtBM0VzZ2pCWjtBMkVuZ2pCUTs7SUFFSTtJQUNBO0lBQ0E7QTNFcWdqQlo7QTJFbmdqQlE7SUFDSTtBM0VxZ2pCWjtBMkVsZ2pCUTs7SUFFSTtBM0VvZ2pCWjtBMkVqZ2pCUTtJQUNJO0EzRW1nakJaO0EyRWpnakJZO0lBQ0k7SUFFQTtJQUNBO0lBQ0E7SUFDQTtBM0VrZ2pCaEI7QTJFLy9pQlk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFaWdqQmhCO0EyRTUvaUJRO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7QTNFOC9pQlo7QTJFNS9pQlE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRTgvaUJaO0EyRTUvaUJZO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7QTNFOC9pQmhCOztBMkV0L2lCSTs7SUFFSTtJQUNBO0EzRXkvaUJSOztBMkVwL2lCSTtJQUNJO0lBQ0E7QTNFdS9pQlI7QTJFci9pQlE7SUFDSTtBM0V1L2lCWjs7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QjtBMkVqc2lCWTs7O0lBRVE7QTNFb3NpQnBCO0EyRWpzaUJZOzs7SUFFUTtBM0Vvc2lCcEI7O0EyRWx2aUJRO0lBQ0k7SUFDQTtBM0VxdmlCWjtBMkVudmlCWTtJQUVRO0EzRW92aUJwQjtBMkVqdmlCWTtJQUVRO0EzRWt2aUJwQjtBMkUvdWlCWTtJQUVRO0EzRWd2aUJwQjtBMkU3dWlCWTtJQUVRO0EzRTh1aUJwQjs7QTJFdHVpQlk7OztJQUVRO0EzRTB1aUJwQjtBMkV2dWlCWTs7O0lBRVE7QTNFMHVpQnBCO0EyRXZ1aUJZOzs7SUFFUTtBM0UwdWlCcEI7QTJFdnVpQlk7OztJQUVRO0EzRTB1aUJwQjs7QTJFbHVpQkk7SUFDSTtBM0VxdWlCUjs7QTJFN3NpQlE7SUFDSSx1QkFqN2dCUztJQWs3Z0JUO0lBQ0EsMkJBbjdnQlM7QTNFbW9qQ3JCOztBMkVudGlCUTtJQUNJLHFCQWo3Z0JTO0lBazdnQlQ7SUFDQSx5QkFuN2dCUztBM0V5b2pDckI7O0EyRXp0aUJRO0lBQ0kscUJBajdnQlM7SUFrN2dCVDtJQUNBLHlCQW43Z0JTO0EzRStvakNyQjs7QTJFL3RpQlE7SUFDSSxxQkFqN2dCUztJQWs3Z0JUO0lBQ0EseUJBbjdnQlM7QTNFcXBqQ3JCOztBMkVydWlCUTtJQUNJLHFCQWo3Z0JTO0lBazdnQlQ7SUFDQSx5QkFuN2dCUztBM0UycGpDckI7O0EyRTN1aUJRO0lBQ0kscUJBajdnQlM7SUFrN2dCVDtJQUNBLHlCQW43Z0JTO0EzRWlxakNyQjs7QTJFanZpQlE7SUFDSSxxQkFqN2dCUztJQWs3Z0JUO0lBQ0EseUJBbjdnQlM7QTNFdXFqQ3JCOztBMkV2dmlCUTtJQUNJLHFCQWo3Z0JTO0lBazdnQlQ7SUFDQSx5QkFuN2dCUztBM0U2cWpDckI7O0EyRTd2aUJRO0lBQ0kscUJBajdnQlM7SUFrN2dCVDtJQUNBLHlCQW43Z0JTO0EzRW1yakNyQjs7QTJFbndpQlE7SUFDSSxxQkFqN2dCUztJQWs3Z0JUO0lBQ0EseUJBbjdnQlM7QTNFeXJqQ3JCOztBMkVqd2lCSTtJQUNJO0lBQ0EseUJBbHhsQlE7QTNF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O0kyRXgrZ0JJO1FBQU87STNFMitnQlg7QUFDSjtBMkVyK2dCUTtJQUNJO0EzRXUrZ0JaO0EyRXArZ0JRO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VzK2dCWjtBMkVwK2dCUTtJQUNJO0lBQ0E7SUFDQTtBM0VzK2dCWjtBMkVsK2dCWTtJQUNJO0lBQ0E7QTNFbytnQmhCO0EyRS85Z0JZO0lBQ0k7SUFDQTtBM0VpK2dCaEI7QTJFNTlnQlk7SUFDSTtJQUNBO0EzRTg5Z0JoQjs7QTJFcjlnQkk7SUFDSTtRQUNJO1FBQ0E7STNFdzlnQlI7STJFcjlnQkk7UUFDSTtRQUNBO0kzRXU5Z0JSO0kyRXA5Z0JJO1FBQ0k7UUFDQTtJM0VzOWdCUjtJMkVuOWdCSTtRQUNJO1FBQ0E7STNFcTlnQlI7QUFDSjtBMkV6OGdCUTtJQUNJO0EzRTI4Z0JaO0EyRXo4Z0JRO0lBQ0k7SUFDQTtJQUNBO0EzRTI4Z0JaO0EyRXo4Z0JRO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7QTNFMjhnQlo7QTJFejhnQlE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtBM0UyOGdCWjtBMkV0OGdCWTtJQUNJO0lBQ0E7SUFDQTtBM0V3OGdCaEI7QTJFbjhnQlk7SUFDSTtJQUNBO0lBQ0E7QTNFcThnQmhCO0EyRWg4Z0JZO0lBQ0k7SUFDQTtJQUNBO0EzRWs4Z0JoQjs7QTJFejdnQkk7SUFDSTtRQUNJO1FBQ0E7UUFDQTtJM0U0N2dCUjtJMkV6N2dCSTtRQUNJO1FBQ0E7UUFDQTtJM0UyN2dCUjtJMkV4N2dCSTtRQUNJO1FBQ0E7UUFDQTtJM0UwN2dCUjtJMkV2N2dCSTtRQUNJO1FBQ0E7UUFDQTtJM0V5N2dCUjtBQUNKO0EyRXY3Z0JJO0lBQ0k7UUFDSTtRQUNBO1FBQ0E7STNFeTdnQlI7STJFdDdnQkk7UUFDSTtRQUNBO1FBQ0E7STNFdzdnQlI7STJFcjdnQkk7UUFDSTtRQUNBO1FBQ0E7STNFdTdnQlI7STJFcDdnQkk7UUFDSTtRQUNBO1FBQ0E7STNFczdnQlI7QUFDSjtBMkVwN2dCSTtJQUNJO1FBQ0k7UUFDQTtRQUNBO0kzRXM3Z0JSO0kyRW43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QlE7SUFDSSxjQUZlO0EzRXMzZ0IzQjtBMkVyM2dCUTtJQUNJLGNBRmU7QTNFeTNnQjNCO0EyRXgzZ0JRO0lBQ0ksY0FGZTtBM0U0M2dCM0I7QTJFMzNnQlE7SUFDSSxjQUZlO0EzRSszZ0IzQjtBMkU5M2dCUTtJQUNJLGNBRmU7QTNFazRnQjNCO0EyRWo0Z0JRO0lBQ0ksY0FGZTtBM0VxNGdCM0I7QTJFcDRnQlE7SUFDSSxjQUZlO0EzRXc0Z0IzQjtBMkV2NGdCUTtJQUNJLGNBRmU7QTNFMjRnQjNCO0EyRTE0Z0JRO0lBQ0ksY0FGZTtBM0U4NGdCM0I7QTJFLzNnQlE7SUFDSSxnQkFGZTtBM0VtNGdCM0I7QTJFOTNnQlk7SUFLUTtBM0U0M2dCcEI7QTJFdjNnQlk7SUEveWlCSixrREFrRkE7QTNFdWxqQ1I7QTJFOTJnQlk7SUFLUTtBM0U0MmdCcEI7QTJFdjJnQlk7SUFJUTtBM0VzMmdCcEI7QTJFOTRnQlE7SUFDSSxjQUZlO0EzRWs1Z0IzQjtBMkU3NGdCWTtJQUtRO0EzRTI0Z0JwQjtBMkV0NGdCWTtJQS95aUJKLG1EQWtGQTtBM0VzbWpDUjtBMkU3M2dCWTtJQUtRO0EzRTIzZ0JwQjtBMkV0M2dCWTtJQUlRO0EzRXEzZ0JwQjtBMkU3NWdCUTtJQUNJLGNBRmU7QTNFaTZnQjNCO0EyRTU1Z0JZO0lBS1E7QTNFMDVnQnBCO0EyRXI1Z0JZO0lBL3lpQkosbURBa0ZBO0EzRXFuakNSO0EyRTU0Z0JZO0lBS1E7QTNFMDRnQnBCO0EyRXI0Z0JZO0lBSVE7QTNFbzRnQnBCO0EyRTU2Z0JRO0lBQ0ksY0FGZTtBM0VnN2dCM0I7QTJFMzZnQlk7SUFLUTtBM0V5NmdCcEI7QTJFcDZnQlk7SUEveWlCSixtREFrRkE7QTNFb29qQ1I7QTJFMzVnQlk7SUFLUTtBM0V5NWdCcEI7QTJFcDVnQlk7SUFJUTtBM0VtNWdCcEI7QTJFMzdnQlE7SUFDSSxjQUZlO0EzRSs3Z0IzQjtBMkUxN2dCWTtJQUtRO0EzRXc3Z0JwQjtBMkVuN2dCWTtJQS95aUJKLGtEQWtGQTtBM0VtcGpDUjtBMkUxNmdCWTtJQUtRO0EzRXc2Z0JwQjtBMkVuNmdCWTtJQUlRO0EzRWs2Z0JwQjtBMkUxOGdCUTtJQUNJLGNBRmU7QTNFODhnQjNCO0EyRXo4Z0JZO0lBS1E7QTNFdThnQnBCO0EyRWw4Z0JZO0lBL3lpQkosa0RBa0ZBO0EzRWtxakNSO0EyRXo3Z0JZO0lBS1E7QTNFdTdnQnBCO0EyRWw3Z0JZO0lBSVE7QTNFaTdnQnBCO0EyRXo5Z0JRO0lBQ0ksY0FGZTtBM0U2OWdCM0I7QTJFeDlnQlk7SUFLUTtBM0VzOWdCcEI7QTJFajlnQlk7SUEveWlCSixrREFrRkE7QTNFaXJqQ1I7QTJFeDhnQlk7SUFLUTtBM0VzOGdCcEI7QTJFajhnQlk7SUFJUTtBM0VnOGdCcEI7QTJFeCtnQlE7SUFDSSxjQUZlO0EzRTQrZ0IzQjtBMkV2K2dCWTtJQUtRO0EzRXErZ0JwQjtBMkVoK2dCWTtJQS95aUJKLGlEQWtGQTtBM0Vnc2pDUjtBMkV2OWdCWTtJQUtRO0EzRXE5Z0JwQjtBMkVoOWdCWTtJQUlRO0EzRSs4Z0JwQjtBMkV2L2dCUTtJQUNJLGNBRmU7QTNFMi9nQjNCO0EyRXQvZ0JZO0lBS1E7QTNFby9nQnBCO0EyRS8rZ0JZO0lBL3lpQkosb0RBa0ZBO0EzRStzakNSO0EyRXQrZ0JZO0lBS1E7QTNFbytnQnBCO0EyRS85Z0JZO0lBSVE7QTNFODlnQnBCO0EyRXRnaEJRO0lBQ0ksY0FGZTtBM0UwZ2hCM0I7QTJFcmdoQlk7SUFLUTtBM0VtZ2hCcEI7QTJFOS9nQlk7SUEveWlCSixpREFrRkE7QTNFOHRqQ1I7QTJFci9nQlk7SUFLUTtBM0VtL2dCcEI7QTJFOStnQlk7SUFJUTtBM0U2K2dCcEI7QTJFcmhoQlE7SUFDSSxjQUZlO0EzRXloaEIzQjtBMkVwaGhCWTtJQUdRO0EzRW9oaEJwQjtBMkU3Z2hCWTtJQS95aUJKLGlEQWtGQTtBM0U2dWpDUjtBMkVwZ2hCWTtJQUdRO0EzRW9naEJwQjtBMkU3L2dCWTtJQUVRO0EzRTgvZ0JwQjtBMkU3K2dCUTtJQUNJLGdCQUZlO0EzRWkvZ0IzQjtBMkUxK2dCZ0I7SUFDSTtJQUNBLFlBejdFZTtJQTA3RWY7QTNFNCtnQnBCO0EyRXIvZ0JRO0lBQ0ksY0FGZTtBM0V5L2dCM0I7QTJFbC9nQmdCO0lBQ0k7SUFDQSxZQXo3RWU7SUEwN0VmO0EzRW8vZ0JwQjtBMkU3L2dCUTtJQUNJLGNBRmU7QTNFaWdoQjNCO0EyRTEvZ0JnQjtJQUNJO0lBQ0EsWUF6N0VlO0lBMDdFZjtBM0U0L2dCcEI7QTJFcmdoQlE7SUFDSSxjQUZlO0EzRXlnaEIzQjtBMkVsZ2hCZ0I7SUFDSTtJQUNBLFlBejdFZTtJQTA3RWY7QTNFb2doQnBCO0EyRTdnaEJRO0lBQ0ksY0FGZTtBM0VpaGhCM0I7QTJFMWdoQmdCO0lBQ0k7SUFDQSxZQXo3RWU7SUEwN0VmO0EzRTRnaEJwQjtBMkVyaGhCUTtJQUNJLGNBRmU7QTNFeWhoQjNCO0EyRWxoaEJnQjtJQUNJO0lBQ0EsWUF6N0VlO0lBMDdFZjtBM0VvaGhCcEI7QTJFN2hoQlE7SUFDSSxjQUZlO0EzRWlpaEIzQjtBMkUxaGhCZ0I7SUFDSTtJQUNBLFlBejdFZTtJQTA3RWY7QTNFNGhoQnBCO0EyRXJpaEJRO0lBQ0ksY0FGZTtBM0V5aWhCM0I7QTJFbGloQmdCO0lBQ0k7SUFDQSxZQXo3RWU7SUEwN0VmO0EzRW9paEJwQjtBMkU3aWhCUTtJQUNJLGNBRmU7QTNFaWpoQjNCO0EyRTFpaEJnQjtJQUNJO0lBQ0EsWUF6N0VlO0lBMDdFZjtBM0U0aWhCcEI7QTJFcmpoQlE7SUFDSSxjQUZlO0EzRXlqaEIzQjtBMkVsamhCZ0I7SUFDSTtJQUNBLFlBejdFZTtJQTA3RWY7QTNFb2poQnBCO0EyRTdqaEJRO0lBQ0ksY0FGZTtBM0Vpa2hCM0I7QTJFMWpoQmdCO0lBQ0k7SUFDQSxZQXo3RWU7SUEwN0VmO0EzRTRqaEJwQjtBMkUzeWdCSTtJQUNJLGlCQWhMa0I7SUFpTGxCO0lBQ0E7SUFDQTtJQUNBLDRNdEVoaHVCc0I7SXNFaWh1QnRCLGV0RXhndUJzQjtJc0V5Z3VCdEIsZ0J0RTUvdEJzQjtJc0U2L3RCdEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsNkNBNzByQnVCO0EzRTBuc0MvQjtBMkUzeWdCUTs7Ozs7SUFHSTtBM0UreWdCWjs7QTJFeHlnQkk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0UyeWdCUjs7QTJFenlnQkk7SUFDSTtJQUNBO0lBQ0E7QTNFNHlnQlI7QTJFMXlnQlE7OztJQUNJO0EzRTh5Z0JaOztBMkV4eWdCSTtJQUNJLHFCQXBOb0I7SUFxTnBCLHNCQXROb0I7SUF1TnBCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxXQWwwbUJhO0lBbTBtQmI7SUFDQTtJQUNBO0lBQ0E7QTNFMnlnQlI7O0EyRXR5Z0JJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0V5eWdCUjs7QTJFcHlnQkk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFdXlnQlI7O0EyRWx5Z0JJO0lBQ0k7QTNFcXlnQlI7QTJFbnlnQlE7SUFDSSxzQkE1UGM7QTNFaWloQjFCO0EyRWx5Z0JRO0lBQ0k7SUFDQSxzQkE3T21CO0lBOE9uQjtJQUNBO0lBQ0E7SUFDQTtBM0VveWdCWjs7QTJFOXhnQkk7SUFDSTtBM0VpeWdCUjtBMkUveGdCUTtJQUNJLGFBL1FjO0EzRWdqaEIxQjtBMkU5eGdCUTtJQUNJLHNCQTdMc0I7SUE4THRCLG9CQXJNc0I7SUFzTXRCLHFDQXhMd0I7QTNFdzlnQnBDO0EyRTd4Z0JRO0lBQ0kseUJBeE15QjtJQXlNekIsMERBL0srQjtBM0U4OGdCM0M7QTJFNXhnQlE7SUFDSSxxQkExUW1CO0lBMlFuQjtJQUNBO0lBQ0E7SUFDQTtJQUNBLHFCQS80ckJhO0lBZzVyQmI7QTNFOHhnQlo7O0EyRXh4Z0JJO0lBR0k7SUFDQSxpQkF6cEptQjtJQTBwSm5CO0lBQ0E7SUFDQTtBM0V5eGdCUjtBMkV2eGdCUTs7O0lBR0k7QTNFeXhnQlo7O0EyRW54Z0JJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRXN4Z0JSO0EyRXB4Z0JRO0lBQ0ksZUFyTm9CO0EzRTIrZ0JoQztBMkVueGdCUTtJQUNJLHFCQXJUbUI7SUFzVG5CO0lBQ0E7SUFDQTtJQUNBO0lBQ0EscUJBMTdyQmE7SUEyN3JCYjtBM0VxeGdCWjs7QTJFbHhnQkk7SUFDSTtBM0VxeGdCUjs7QTJFaHhnQkk7SUFDSSxldEV4cnVCc0I7SXNFeXJ1QnRCLGdCdEU1cXVCc0I7QUwrN3VDOUI7QTJFaHhnQlE7SUFDSSxldEU3cnVCa0I7SXNFOHJ1QmxCLGdCdEVqcnVCa0I7QUxtOHVDOUI7QTJFL3dnQlE7SUFDSSx1QkE1UXlCO0lBNlF6QixvQkFwUnlCO0lBcVJ6QixxQ0F2UTJCO0EzRXdoaEJ2QztBMkU5d2dCUTtJQUNJLHlCQXpSeUI7SUEwUnpCLDBEQWhRK0I7QTNFZ2hoQjNDOztBMkU3d2dCSTtJQUNJLGV0RTdzdUJzQjtJc0U4c3VCdEIsZ0J0RWpzdUJzQjtBTGk5dUM5QjtBMkU3d2dCUTtJQUNJLGV0RWx0dUJrQjtJc0VtdHVCbEIsZ0J0RXRzdUJrQjtBTHE5dUM5QjtBMkU1d2dCUTtJQUNJLHNCQWhTeUI7SUFpU3pCLG9CQXhTeUI7SUF5U3pCLHFDQTNSMkI7QTNFeWloQnZDO0EyRTN3Z0JRO0lBQ0kseUJBN1N5QjtJQThTekIsMERBcFIrQjtBM0VpaWhCM0M7O0EyRTF3Z0JJO0lBQ0ksa0J0RWh1dUJzQjtJc0VpdXVCdEIsZ0J0RXR0dUJzQjtBTG0rdUM5QjtBMkUxd2dCUTtJQUNJLGtCdEVydXVCa0I7SXNFc3V1QmxCLGdCdEUzdHVCa0I7QUx1K3VDOUI7QTJFendnQlE7SUFDSSx1QkFwVHlCO0lBcVR6QixvQkE1VHlCO0lBNlR6QixxQ0EvUzJCO0EzRTBqaEJ2QztBMkV4d2dCUTtJQUNJLHlCQWpVeUI7SUFrVXpCLDBEQXhTK0I7QTNFa2poQjNDOztBMkVwd2dCSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0EzRXV3Z0JSOztBMkVyd2dCSTtJQUNJO0lBR0EsaUJBL3dKbUI7SUFneEpuQjtBM0Vzd2dCUjtBMkUvdmdCSTtJQUVJO0lBQ0E7QTNFZ3dnQlI7O0EyRTl2Z0JJO0lBQ0k7QTNFaXdnQlI7QTJFL3ZnQlE7SUFDSTtBM0Vpd2dCWjs7QTJFOXZnQkk7O0lBRUk7QTNFaXdnQlI7O0EyRTV2Z0JJO0lBQ0k7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UTtJQUNJO0EzRTY1ZFo7QTJFMTVkUTtJQUNJO0EzRTQ1ZFo7O0EyRXg0ZFE7O0lBQ0k7SUFDQTtJQUNBLGdCdEUvM3lCa0I7SXNFZzR5QmxCO0EzRTQ0ZFo7QTJFejRkUTs7SUFDSTtBM0U0NGRaOztBMkV2NGRRO0lBQ0kscUJBdnByQlM7QTNFaWlwQ3JCO0EyRXY0ZFE7SUFDSTtJQUNBO0EzRXk0ZFo7O0EyRXA0ZFE7SUFDSTtBM0V1NGRaO0EyRW40ZFk7SUFDSTtJQUNBLG1CQXpxckJLO0EzRThpcENyQjs7QTJFaDRkSTtJQUNJO0EzRW00ZFI7O0EyRXozZEk7O0lBcC9uQkksY0EzMkRVO0EzRTZ0cENsQjtBMkVwM2RROztJQWpnb0JBLHFCQTlzSWlCO0EzRXVrdUN6QjtBMkVwM2RROztJQWxnb0JBLGNBejJEWTtBM0VtdXBDcEI7QTJFcDNkUTs7SUF0Z29CQSxjdEVqOExFO0FMK3p4Q1Y7O0EyRW4zZEk7OztJQTNnb0JJLGN0RWo4TEU7QUxxMHhDVjs7QTJFbjNkSTtJQXBob0JJLHFCQTlzSWlCO0EzRXlsdUN6Qjs7QTJFaHhkSTtJQXh1b0JJLHVCdEU3NEtzQjtJc0V1bnpCdEI7SUFDQSxzQnRFcDF4QjRCO0lzRXExeEI1QixzQnRFcDF4QjRCO0lzRXExeEI1QixpQkEvNkJxQjtJQWc3QnJCO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsNE10RS9rekJzQjtJc0VnbHpCdEIsbUJ0RXRrekJzQjtJc0V1a3pCdEIsZ0J0RTNqekJzQjtJc0U0anpCdEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsNkNBNTR3QnVCO0EzRStwdUMvQjtBMkVqeGRROzs7SUFHSTtBM0VteGRaOztBMkUvd2RJO0lBQ0kseUJBbDJyQmE7SUFtMnJCYjtBM0VreGRSOztBMkUvd2RJO0lBQ0k7SUFDQSxxQkE1N0J3QjtJQTY3QnhCLGNBMTdCMEI7QTNFNHNmbEM7O0EyRS93ZEk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtBM0VreGRSOztBMkUvd2RJO0lBQ0ksMkJBcDNyQmE7SUFxM3JCYjtBM0VreGRSO0EyRWh4ZFE7SUFDSTtJ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Ozs7OztJQUVJO0lBQ0E7QTNFbXBkaEI7O0EyRS9vZEk7SUFDSTtBM0VrcGRSOztBMkU3b2RJO0lBQ0k7QTNFZ3BkUjs7QTJFOW9kSTtJQUNJLHVCdEVqMHpCc0I7SXNFazB6QnRCLHVCdEVqMHpCc0I7SXNFazB6QnRCO0EzRWlwZFI7QTJFL29kUTtJQWhrcEJKO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VrdG1DSjtBMkVucGRZO0lBRUk7SUFDQTtBM0VvcGRoQjs7QTJFN29kSTtJQUNJLHVCdEVwMXpCc0I7SXNFcTF6QnRCLHVCdEVwMXpCc0I7SXNFcTF6QnRCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VncGRSO0EyRTdvZFE7SUFDSSxjdEVwaTFCRDtJc0VxaTFCQyxVQXJsRHNCO0lBc2xEdEI7QTNFK29kWjtBMkUzb2RRO0lBQ0k7QTNFNm9kWjs7QTJFMW9kSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0EzRTZvZFI7O0EyRTNvZEk7SUFDSTtBM0U4b2RSOztBMkV6b2RJO0lBQ0k7QTNFNG9kUjs7QTJFMW9kSTtJQUNJO0lBQ0E7SUFDQTtBM0U2b2RSOztBMkUzb2RJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRThvZFI7O0EyRXpvZEk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFNG9kUjs7QTJFMW9kSTtJQUNJO0EzRTZvZFI7O0EyRXZvZFE7SUFDSSxpQnRFOTV6QmtCO0lzRWs2ekJsQjtBM0V1b2RaOztBMkVqb2RJOztJQUVJO0lBQ0E7SUFDQTtJQUNBO0EzRW9vZFI7QTJFbG9kUTs7SUFDSTtJQUNBO0EzRXFvZFo7QTJFbG9kUTs7SUFDSTtBM0Vxb2RaO0EyRWxvZFE7O0lBQ0k7QTNFcW9kWjs7QTJFL25kSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsWUE3M3NCVTtJQTgzc0JWO0EzRWtvZFI7QTJFaG9kUTtJQUNJO0lBQ0EsdUJ0RXo4ekJrQjtJc0UwOHpCbEI7SUFDQTtBM0Vrb2RaO0EyRS9uZFE7SUFDSTtJQUNBLHNCdEVoOXpCa0I7SXNFaTl6QmxCO0lBQ0E7QTNFaW9kWjs7QTJFM25kSTs7O0lBR0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFOG5kUjs7QTJFM25kSTtJQUNJO0lBQ0E7SUFDQSxlQWg2c0JVO0EzRThocUNsQjs7QTJFdm5kUTs7Ozs7SUFFSSxXQXo2c0JNO0lBMDZzQk4sWUExNnNCTTtBM0V1aXFDbEI7QTJFMW5kUTs7O0lBQ0ksd0JBNTZzQlM7SUE2NnNCVCx5QkE3NnNCUztBM0UyaXFDckI7QTJFM25kUTs7O0lBQ0kseUJBaDdzQlM7SUFpN3NCVCwwQkFqN3NCUztBM0VnanFDckI7QTJFNW5kUTs7O0lBQ0ksd0JBbjdzQlM7SUFvN3NCVCx5QkFwN3NCUztBM0VvanFDckI7QTJFN25kUTs7O0lBQ0ksdUJBdjdzQlM7SUF3N3NCVCx3QkF4N3NCUztBM0V5anFDckI7QTJFOW5kUTs7O0lBQ0kscUJBMzdzQlU7SUE0N3NCVixzQkE1N3NCVTtBM0U4anFDdEI7QTJFL25kUTs7O0lBQ0kscUJBLzdzQlc7SUFnOHNCWCxzQkFoOHNCVztBM0Vta3FDdkI7O0EyRTduZEk7SUFDSTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFlBdHdEMEI7QTNFcTRnQmxDOztBMkU3bmRJOztJQUdJLFVBcndEZ0M7QTNFbzRnQnhDOztBMkU3bmRJO0lBQ0k7SUFDQTtBM0Vnb2RSOztBMkUzbmRJO0lBQ0k7SUFDQTtJQUNBLDhCQW53RDBCO0lBb3dEMUI7SUFDQTtJQUNBO0EzRThuZFI7QTJFNW5kUTtJQUNJO0EzRThuZFo7QTJFMW5kUTtJQUNJO0EzRTRuZFo7O0EyRXpuZEk7SUFDSTtJQUNBO0lBQ0E7QTNFNG5kUjs7QTJFdm5kSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0EzRTBuZFI7QTJFeG5kUTs7SUFFSTtJQUNBLDhCQWx5RHNCO0lBbXlEdEI7SUFDQTtJQUNBO0lBQ0E7QTNFMG5kWjtBMkV4bmRZOztJQUNJO0lBQ0E7SUFDQTtJQUNBO0EzRTJuZGhCO0EyRXhuZFE7SUFDSTtBM0UwbmRaO0EyRXhuZFE7SUFDSTtBM0UwbmRaOztBMkVwbmRJO0lBQ0k7SUFDQTtJQUNBO0EzRXVuZFI7O0EyRWxuZEk7Ozs7O0lBS0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRXFuZFI7O0EyRWhuZEk7O0lBNzdwQkksd0NBKzdwQitCO0lBOTdwQi9CLHVDQTg3cEIrQjtJQUMvQjtJQUNBO0lBQ0E7QTNFb25kUjs7QTJFam5kSTtJQUNJO0EzRW9uZFI7O0EyRXZtZFE7O0lBRUksbUJBUFM7SUFRVCx5QkFQVztBM0VpbmR2QjtBMkV4bWRZOztJQUNJO0lBQ0E7QTNFMm1kaEI7QTJFem1kWTs7OztJQUVJO0EzRTZtZGhCO0EyRTFtZFk7O0lBQ0ksc0JBckJLO0lBc0JMLHNCQXZCSztBM0Vvb2RyQjtBMkUxbWRZOzs7Ozs7SUFHSSxzQkF4Qlk7SUF5QlosdUJBMUJZO0EzRXlvZDVCO0EyRTVtZFk7Ozs7Ozs7Ozs7Ozs7Ozs7SUFRSSxzQkF4Q0s7SUF5Q0wsdUJBekNLO0lBMENMO0EzRXNuZGhCO0EyRWxuZGdCOztJQUNJLHNCQS9DQztBM0VvcWRyQjtBMkVsbmRnQjs7SUFDSSxxQkFuREM7QTNFd3FkckI7QTJFam5kWTs7SUFDSTtJQUNBO0lBQ0EsZ0JBMURLO0lBMkRMO0EzRW9uZGhCOztBMkVobmRZO0lBQ0ksZ0JBaEVLO0EzRW1yZHJCOztBMkVobmRRO0lBQ0ksc0JBcEVTO0lBcUVULHNCQXRFUztBM0V5cmRyQjs7QTJFbHJkUTs7SUFFSSxlQVBTO0lBUVQsZ0JBUFc7QTNFNHJkdkI7QTJFbnJkWTs7SUFDSTtJQUNBO0EzRXNyZGhCO0EyRXByZFk7Ozs7SUFFSTtBM0V3cmRoQjtBMkVycmRZOztJQUNJLHVCQXJCSztJQXNCTCx1QkF2Qks7QTNFK3NkckI7QTJFcnJkWTs7Ozs7O0lBR0ksdUJBeEJZO0lBeUJaLHdCQTFCWTtBM0VvdGQ1QjtBMkV2cmRZOzs7Ozs7Ozs7Ozs7Ozs7O0lBUUksdUJBeENLO0lBeUNMLHdCQXpDSztJQTBDTDtBM0Vpc2RoQjtBMkU3cmRnQjs7SUFDSSx1QkEvQ0M7QTNFK3VkckI7QTJFN3JkZ0I7O0lBQ0ksc0JBbkRDO0EzRW12ZHJCO0EyRTVyZFk7O0lBQ0k7SUFDQTtJQUNBLGlCQTFESztJQTJETDtBM0UrcmRoQjs7QTJFM3JkWTtJQUNJLGlCQWhFSztBM0U4dmRyQjs7QTJFM3JkUTtJQUNJLHVCQXBFUztJQXFFVCx1QkF0RVM7QTNFb3dkckI7O0EyRTd2ZFE7O0lBRUksZUFQUztJQVFULGdCQVBXO0EzRXV3ZHZCO0EyRTl2ZFk7O0lBQ0k7SUFDQTtBM0Vpd2RoQjtBMkUvdmRZOzs7O0lBRUk7QTNFbXdkaEI7QTJFaHdkWTs7SUFDSSxxQkFyQks7SUFzQkwsb0JBdkJLO0EzRTB4ZHJCO0EyRWh3ZFk7Ozs7OztJQUdJLHFCQXhCWTtJQXlCWixzQkExQlk7QTNFK3hkNUI7QTJFbHdkWTs7Ozs7Ozs7Ozs7Ozs7OztJQVFJLHFCQXhDSztJQXlDTCxzQkF6Q0s7SUEwQ0w7QTNFNHdkaEI7QTJFeHdkZ0I7O0lBQ0kscUJBL0NDO0EzRTB6ZHJCO0EyRXh3ZGdCOztJQUNJLG9CQW5EQztBM0U4emRyQjtBMkV2d2RZOztJQUNJO0lBQ0E7SUFDQSxlQTFESztJQTJETDtBM0Uwd2RoQjs7QTJFdHdkWTtJQUNJLGVBaEVLO0EzRXkwZHJCOztBMkV0d2RRO0lBQ0kscUJBcEVTO0lBcUVULG9CQXRFUztBM0UrMGRyQjs7QTJFbndkSTs7SUFFSTtBM0Vzd2RSOztBMkUvdmRJO0FBSUE7QUFNQTtJQUNJO0EzRTB2ZFI7O0EyRXh2ZEk7SUFDSTtBM0UydmRSOztBMkV2dmRJO0lBQ0k7QTNFMHZkUjs7QTJFeHZkSTtJQUNJO0EzRTJ2ZFI7O0EyRTF1ZEk7SUFDSSxpSUFsbXRCVztBM0UrMHFDbkI7O0EyRWx1ZEk7SUEzL3BCSSxxQnRFNTlMRztJc0UrOUxILGN0RTE5TEc7SXNFNjlMSCxzQnRFdCtMRztBTG1zekNYO0EyRXJ0ZFE7SUE5Z3FCQSxxQnRFL3BLZ0M7SXNFa3FLaEMsY3RFMTlMRztJc0U2OUxILHNCdEV0K0xHO0lzRSs2TEgsaURBa0ZBO0EzRXdzbkNSO0EyRWx0ZFE7SUF2aHFCQSxxQnRFL3BLZ0M7SXNFa3FLaEMsY3RFMTlMRztJc0U2OUxILHNCdEV0K0xHO0lzRSs2TEgsaURBa0ZBO0EzRThzbkNSO0EyRWpzZFE7SUE5aXFCQSxxQnRFOTdMRTtBTGdyekNWO0EyRS9yZFk7SUFDSSxjdEVsLzFCTjtBTG1yekNWO0EyRTlyZFk7SUF4bXFCSixpREFrRkE7QTNFdXRuQ1I7QTJFN3JkWTtJQTVtcUJKLGlEQWtGQTtBM0UwdG5DUjtBMkUxcmRRO0lBQ0ksY0F4NnRCUTtBM0VvbXJDcEI7QTJFenJkUTtJQUNJLGNBNTZ0QlE7QTNFdW1yQ3BCO0EyRXhyZFE7SUFDSSxxQkF4eHlCYTtBM0VrOXZDekI7O0EyRXByZEk7SUFobHFCSSxxQkEwdmRVO0lBdnZkVixjQTB2ZFk7SUF2dmRaLHlCQW92ZFU7QTNFZ2hxQmxCO0EyRWpyZFE7SUF6bHFCQSxxQkFneGRvQjtJQTF3ZHBCLHlCQW93ZGdCO0EzRW9ncUJ4QjtBMkV6cWRRO0lBcm1xQkEscUJBZzBkb0I7SUExemRwQix5QkFveGRpQjtJQTMwZGpCLGtEQWtGQTtBM0Vrdm5DUjtBMkVwcWRRO0lBL21xQkEscUJBZzBkb0I7SUExemRwQix5QkFveGRpQjtJQTMwZGpCLGtEQWtGQTtBM0V1dm5DUjtBMkVqcGRRO0lBdm9xQkEscUJ0RTk3TEU7QUx5dHpDVjtBMkUvb2RZO0lBQ0ksY3RFM2syQk47QUw0dHpDVjtBMkU5b2RZO0lBanNxQkosaURBa0ZBO0EzRWd3bkNSO0EyRTdvZFk7SUFyc3FCSixpREFrRkE7QTNFbXduQ1I7O0EyRXhvZEk7SUE1cHFCSSxtQ0F1N2xCcUI7SUFwN2xCckIsY0EzMkRVO0EzRWlwckNsQjtBMkV0b2RRO0lBQ0k7QTNFd29kWjtBMkVyb2RRO0lBQ0k7QTNFdW9kWjtBMkVyb2RZO0lBRUk7QTNFc29kaEI7QTJFdm5kUTtJQTNycUJBLHFCdEUvcEtnQztJc0U4bUtoQyxpREFrRkE7QTNFcXhuQ1I7QTJFbG5kUTtJQXBzcUJBLHFCdEUvcEtnQztJc0U4bUtoQyxpREFrRkE7QTNFeXhuQ1I7QTJFL2xkUTtJQTN0cUJBLHFCdEU5N0xFO0FMMnZ6Q1Y7QTJFN2xkWTtJQUNJLGN0RS9wMkJOO0FMOHZ6Q1Y7QTJFNWxkWTtJQXJ4cUJKLGlEQWtGQTtBM0VreW5DUjtBMkUzbGRZO0lBenhxQkosaURBa0ZBO0EzRXF5bkNSO0EyRXhsZFE7SUFDSSxjQXJsdUJRO0EzRStxckNwQjtBMkV2bGRRO0lBQ0ksY0F6bHVCUTtBM0VrcnJDcEI7QTJFdGxkUTtJQUNJLHFCQXI4eUJhO0EzRTZod0N6Qjs7QTJFbGxkSTtJQTd2cUJJLG1DQXNubUJzQjtJQW5ubUJ0QixjQTB2ZFk7QTNFdWxxQnBCO0EyRS9rZFE7SUFyd3FCQSxxQkE2dmRZO0lBMXZkWixZQTBubUIwQjtJQXZubUIxQix5QkF1dmRZO0EzRTRscUJwQjtBMkUxa2RRO0lBaDBxQkEsa0RBa0ZBO0EzRTJ6bkNSO0EyRXBrZFE7SUF6MHFCQSxrREFrRkE7QTNFOHpuQ1I7QTJFcmlkUTtJQTF6cUJBLHFCdEU5N0xFO0FMZ3l6Q1Y7QTJFbmlkWTtJQUNJLGN0RTl2MkJOO0FMbXl6Q1Y7QTJFbGlkWTtJQXAzcUJKLGlEQWtGQTtBM0V1MG5DUjtBMkVqaWRZO0lBeDNxQkosaURBa0ZBO0EzRTAwbkNSOztBMkU1aGRJO0lBLzBxQkkscUJ0RTU5TEc7SXNFKzlMSCxjdEUxOUxHO0FMdTB6Q1g7QTJFL2dkUTtJQWoycUJBLHFCdEUvcEtnQztJc0U4bUtoQyxpREFrRkE7QTNFbTFuQ1I7QTJFMWdkUTtJQTEycUJBLHFCdEUvcEtnQztJc0U4bUtoQyxpREFrRkE7QTNFdTFuQ1I7QTJFdi9jUTtJQWo0cUJBLHFCdEU5N0xFO0FMeXp6Q1Y7QTJFci9jWTtJQUNJLGN0RXIwMkJOO0FMNHp6Q1Y7QTJFcC9jWTtJQTM3cUJKLGlEQWtGQTtBM0VnMm5DUjtBMkVuL2NZO0lBLzdxQkosaURBa0ZBO0EzRW0ybkNSO0EyRWgvY1E7SUFDSSxjQTN2dUJRO0EzRTZ1ckNwQjtBMkUvK2NRO0lBQ0ksY0EvdnVCUTtBM0VndnJDcEI7QTJFOStjUTtJQUNJLHFCQTNtekJhO0EzRTJsd0N6Qjs7QTJFMStjSTtJQW42cUJJLHFCQTB2ZFU7SUF2dmRWLGNBMHZkWTtBM0VxcHFCcEI7QTJFditjUTtJQXI2cUJBLHdDQStwbUJxQjtBM0VndmhCN0I7QTJFaCtjUTtJQXQrcUJBLGtEQWtGQTtBM0V1M25DUjtBMkUxOWNRO0lBLytxQkEsa0RBa0ZBO0EzRTAzbkNSO0EyRTM3Y1E7SUFoK3FCQSxxQnRFOTdMRTtBTDQxekNWO0EyRXo3Y1k7SUFDSSxjdEVwNjJCTjtBTCsxekNWO0EyRXg3Y1k7SUExaHJCSixpREFrRkE7QTNFbTRuQ1I7QTJFdjdjWTtJQTlockJKLGlEQWtGQTtBM0VzNG5DUjs7QTJFaDFjSTtJQUNJLDZCQTVDc0I7SUE2Q3RCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VtMWNSO0EyRWoxY1E7OztJQUdJO0EzRW0xY1o7QTJFaDFjUTtJQUNJLGNBakVxQjtJQWtFckIsZXRFemkyQmtCO0lzRTBpMkJsQixnQnRFN2gyQmtCO0lzRThoMkJsQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFazFjWjtBMkUvMGNRO0lBQ0k7SUFDQTtBM0VpMWNaO0EyRTcwY1k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtBM0UrMGNoQjtBMkUzMGNRO0lBRUk7SUFDQTtJQUNBO0EzRTQwY1o7QTJFMTBjUTtJQUNJO0lBQ0E7SUFDQTtBM0U0MGNaO0EyRXowY1E7SUFDSTtBM0UyMGNaO0EyRXAwY1k7SUFDSTtJQUNBO0EzRXMwY2hCO0EyRWwwY2dCO0lBQ0k7SUFDQTtBM0VvMGNwQjtBMkVoMGNZO0lBRUk7SUFDQTtBM0VpMGNoQjtBMkUvemNZO0lBQ0k7SUFDQTtBM0VpMGNoQjs7QTJFeHhjUTtJQWh0ckJBLGN0RWo4TEU7QUw2NnpDVjs7QTJFbHFjSTtJQUNJLHVCdEV6bTJCc0I7SXNFMG0yQnRCLHdCdEUxbTJCc0I7SXNFMm0yQnRCO0lBQ0E7SUFDQTtBM0VxcWNSO0EyRW5xY1E7SUFDSSxzQnRFcG0yQmtCO0lzRXFtMkJsQix1QnRFcm0yQmtCO0FMMHd5QzlCO0EyRWxxY1E7SUFDSSx1QnRFcm4yQmtCO0lzRXNuMkJsQix3QnRFdG4yQmtCO0FMMHh5QzlCO0EyRWpxY1E7SUFDSSxxQnRFMW0yQmtCO0lzRTJtMkJsQixzQnRFM20yQmtCO0FMOHd5QzlCO0EyRWhxY1E7SUFDSTtBM0VrcWNaOztBMkUxb2NJOztJQTc2ckJJLGtEQWtGQTtBM0UwK25DUjs7QTJFMWpjSTs7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRTZqY1I7QTJFM2pjUTs7SUFDSTtJQUNBO0lBQ0Esc0J0RXZ2MkJrQjtJc0V3djJCbEIsdUJ0RXh2MkJrQjtJc0V5djJCbEI7SUFDQTtJQUNBO0lBQ0E7QTNFOGpjWjtBMkUzamNROztJQUNJO0lBQ0E7QTNFOGpjWjs7QTJFNzJiSTtJQUNJO0EzRWczYlI7O0EyRS9zYkk7SUFDSSxXQTlDYztJQStDZCxhQTVDdUI7SUE2Q3ZCO0lBQ0E7SUFDQSw0TXRFeHkzQnNCO0lzRXl5M0J0QixldEVoeTNCc0I7SXNFaXkzQnRCLGdCdEVweDNCc0I7SXNFcXgzQnRCO0lBQ0E7SUFDQTtJQUNBLFdBOURnQjtJQStEaEI7SUFDQSw2Q0FwbTFCdUI7QTNFc3p3Qy9CO0EyRWh0YlE7SUFDSTtJQUNBLFNBakVtQjtBM0VteGIvQjtBMkUvc2JRO0lBRUk7QTNFZ3RiWjtBMkU5c2JZO0lBQ0k7QTNFZ3RiaEI7QTJFNXNiUTtJQUNJO0EzRThzYlo7QTJFM3NiUTtJQUVJO0EzRTRzYlo7QTJFMXNiWTtJQUNJO0EzRTRzYmhCO0EyRXhzYlE7SUFDSTtBM0Uwc2JaO0EyRXZzYlE7SUFDSTtJQUNBO0lBQ0E7SUFDQSxpQkF6RmlCO0lBMEZqQjtJQUNBO0lBQ0E7SUFDQTtBM0V5c2JaO0EyRXZzYlk7SUFDSTtBM0V5c2JoQjtBMkV0c2JZO0lBQ0k7SUFDQTtBM0V3c2JoQjtBMkVwc2JRO0lBQ0kscUJBNUVvQjtJQTZFcEI7QTNFc3NiWjtBMkVuc2JRO0lBQ0k7QTNFcXNiWjs7QTJFanNiSTtJQUNJO0EzRW9zYlI7O0EyRTVxYlE7SUE5N3NCQSxxQkE5c0lp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NVpZO0lBQ0k7SUFDQTtBM0U0NVpoQjtBMkV6NVpZO0lBQ0k7QTNFMjVaaEI7QTJFdDVaWTtJQUNJO0EzRXc1WmhCO0EyRXQ1WmdCO0lBQ0k7QTNFdzVacEI7QTJFcjVaZ0I7SUFDSTtJQUNBO0EzRXU1WnBCO0EyRXI1WmdCOztJQUVJO0EzRXU1WnBCO0EyRXA1WmdCO0lBQ0k7SUFDQTtBM0VzNVpwQjtBMkVwNVpnQjtJQUNJO0EzRXM1WnBCO0EyRXA1WmdCO0lBQ0k7QTNFczVacEI7QTJFaDVaWTtJQUNJO0EzRWs1WmhCO0EyRWg1WmdCO0lBQ0k7QTNFazVacEI7QTJFaDVaZ0I7SUFDSTtJQUNBO0EzRWs1WnBCO0EyRWg1WmdCOztJQUVJO0EzRWs1WnBCO0EyRS80WmdCO0lBQ0k7SUFDQTtBM0VpNVpwQjtBMkUvNFpnQjtJQUNJO0EzRWk1WnBCO0EyRS80WmdCO0lBQ0k7QTNFaTVacEI7O0EyRXg0Wkk7SUFDSSxhQTNSWTtJQTRSWjtBM0UyNFpSO0EyRXo0WlE7SUFDSTtJQUNBO0EzRTI0Wlo7QTJFeDRaUTtJQUNJO0EzRTA0Wlo7QTJFcjRaUTtJQUFVO0EzRXc0WmxCO0EyRXY0WlE7SUFBNEI7QTNFMDRacEM7QTJFejRaUTtJQUFnQztBM0U0NFp4QztBMkUxNFpRO0lBQ0k7SUFDQTtJQUNBO0EzRTQ0Wlo7QTJFejRaUTtJQUFrQztBM0U0NFoxQztBMkUzNFpRO0lBQXNDO0EzRTg0WjlDO0EyRTU0WlE7SUFBVztBM0UrNFpuQjtBMkU5NFpRO0lBQXdCO0EzRWk1WmhDO0EyRWg1WlE7SUFBNkI7QTNFbTVackM7QTJFbDVaUTtJQUEwQztBM0VxNVpsRDtBMkVwNVpRO0lBQWlDO0EzRXU1WnpDO0EyRXQ1WlE7SUFBOEM7QTNFeTVadEQ7QTJFdjVaUTtJQUFVO0EzRTA1WmxCO0EyRXo1WlE7SUFBdUI7QTNFNDVaL0I7QTJFMzVaUTtJQUE0QjtBM0U4NVpwQztBMkU3NVpRO0lBQXlDO0EzRWc2WmpEO0EyRS81WlE7SUFBZ0M7QTNFazZaeEM7QTJFajZaUTtJQUE2QztBM0VvNlpyRDtBMkVoNlpRO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7QTNFazZaWjtBMkVoNlpRO0lBQW9CO0EzRW02WjVCO0EyRWw2WlE7SUFBbUI7QTNFcTZaM0I7QTJFbjZaUTtJQUNJO0lBQ0E7QTNFcTZaWjs7QTJFOTVaSTtJQUNJLFlBelZZO0lBMFZaO0EzRWk2WlI7QTJFLzVaUTtJQUFVO0EzRWs2WmxCO0EyRWo2WlE7SUFBNEI7QTNFbzZacEM7QTJFbjZaUTtJQUFnQztBM0VzNlp4QztBMkVwNlpRO0lBQWdCO0EzRXU2WnhCO0EyRXQ2WlE7SUFBa0M7QTNFeTZaMUM7QTJFeDZaUTtJQUFzQztBM0UyNlo5QztBMkV6NlpRO0lBQVc7QTNFNDZabkI7QTJFMzZaUTtJQUF3QjtBM0U4NlpoQztBMkU3NlpRO0lBQTZCO0EzRWc3WnJDO0EyRS82WlE7SUFBMEM7QTNFazdabEQ7QTJFajdaUTtJQUFpQztBM0VvN1p6QztBMkVuN1pRO0lBQThDO0EzRXM3WnREO0EyRXA3WlE7SUFBVTtBM0V1N1psQjtBMkV0N1pRO0lBQXVCO0EzRXk3Wi9CO0EyRXg3WlE7SUFBNEI7QTNFMjdacEM7QTJFMTdaUTtJQUF5QztBM0U2N1pqRDtBMkU1N1pRO0lBQWdDO0EzRSs3WnhDO0EyRTk3WlE7SUFBNkM7QTNFaThackQ7QTJFNzdaUTtJQUNJO0lBQ0E7SUFDQTtBM0UrN1paO0EyRTc3WlE7SUFBb0I7QTNFZzhaNUI7QTJFLzdaUTtJQUFtQjtBM0VrOFozQjtBMkVoOFpRO0lBQ0k7QTNFazhaWjs7QTJFOTdaSTs7SUFFSTtJQUNBO0lBQ0E7QTNFaThaUjtBMkUvN1pROztJQUNJLFdBdldtQjtJQXdXbkI7SUFDQTtJQUNBO0EzRWs4Wlo7QTJFLzdaUTs7SUFDSTtJQUNBO0lBQ0E7SUFDQSxVQWpYbUI7QTNFbXphL0I7O0EyRTc3Wkk7SUFDSTtJQUNBO0lBQ0E7SUFDQSxpQkFwWCtCO0lBcVgvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBLFdBNVh1QjtJQTZYdkIsWUE3WHVCO0EzRTZ6YS9CO0EyRTk3WlE7SUFDSTtBM0VnOFpaO0EyRTc3WlE7SUFDSTtBM0UrN1paO0EyRTU3WlE7SUFDSTtBM0U4N1paOztBMkV6N1pRO0lBQ0k7QTNFNDdaWjtBMkV6N1pRO0lBQ0k7QTNFMjdaWjtBMkV4N1pRO0lBQ0k7QTNFMDdaWjs7QTJFbjdaUTs7OztJQUlJO0EzRXM3Wlo7O0EyRS82WlE7O0lBRUk7QTNFazdaWjtBMkUvNlpROztJQUVJO0EzRWk3Wlo7O0EyRXo2Wlk7Ozs7SUFDSTtBM0UrNlpoQjtBMkU1NlpZOzs7Ozs7Ozs7SUFFSTtBM0VxN1poQjtBMkVsN1pZOzs7O0lBQ0k7QTNFdTdaaEI7O0EyRXo2Wkk7SUFDSTtBM0U0NlpSOztBMkU1NFpJO0lBRUksY0FqdzRCZTtBM0Urb3lDdkI7QTJFNTRaUTs7SUFqcXdCQSx1QnRFNzRLc0I7QUw4NzBDOUI7QTJFMzRaUTtJQW5qd0JBLHlCdEVwK0xHO0FMcTYxQ1g7QTJFMTRaUTtJQXZqd0JBLDJCakRuK0xFO0ExQnU2MUNWO0EyRXo0WlE7SUFqa3dCQSx1QmpENzlMRTtJaURnK0xGLFlBNmt2QnVCO0lBMWt2QnZCLDJCakRuK0xFO0lpRGczTEYsa0JBcXJ3QjRCO0EzRXc0WnBDO0EyRXQ0Wlk7SUExa3dCSixxQkFnbXZCK0I7SUE3bHZCL0IsWUEwbHZCNkI7SUF2bHZCN0IseUJBb2x2QjJCO0EzRTIzYW5DO0EyRWw0Wlk7SUFubHdCSixxQkE2bXZCaUM7SUExbXZCakMsWUF1bXZCK0I7SUFwbXZCL0IseUJBaW12QjZCO0EzRW0zYXJDO0EyRTczWlk7SUE5b3dCSiw0Q0FrRkE7QTNFNDdwQ1I7QTJFejNaWTtJQXJwd0JKLDRDQWtGQTtBM0UrN3BDUjtBMkVsM1pJO0lBbit2Qkk7QTNFdzFwQ1I7O0EyRWozWkk7SUF2K3ZCSTtBM0U0MXBDUjs7QTJFbG9aSTtJQUNJO0lBQ0E7SUFDQSxpQkFuS3NCO0lBb0t0QjtJQUNBO0lBQ0E7SUFDQSw0TXRFdHo3QnNCO0lzRXV6N0J0QixldEU5eTdCc0I7SXNFK3k3QnRCLGdCdEVseTdCc0I7SXNFbXk3QnRCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLDZDQW5uNUJ1QjtBM0V3dnlD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QTtBM0VrOFJSOztBMkVuN1JRO0lBQ0ksV0FSVztJQVNYLFlBUlk7QTNFODdSeEI7QTJFbjdSWTtJQUNJLFdBYk87SUFjUCxZQWJRO0EzRWs4UnhCO0EyRS82Ulk7SUFDSSxXQW5CTztJQW9CUCxZQW5CUTtBM0VvOFJ4QjtBMkU5NlJZO0lBQ0k7QTNFZzdSaEI7QTJFOTZSWTtJQUNJO0EzRWc3UmhCOztBMkV4NlJZOzs7SUFDSTtBM0U2NlJoQjtBMkUxNlJZOzs7SUFDSTtBM0U4NlJoQjtBMkUxNlJZOzs7SUFDSTtBM0U4NlJoQjtBMkU1NlJZOzs7SUFDSTtBM0VnN1JoQjs7QTJFMzlSUTtJQUNJLFdBUlc7SUFTWCxZQVJZO0EzRXMrUnhCO0EyRTM5Ulk7SUFDSSxXQWJPO0lBY1AsWUFiUTtBM0UwK1J4QjtBMkV2OVJZO0lBQ0ksV0FuQk87SUFvQlAsWUFuQlE7QTNFNCtSeEI7QTJFdDlSWTtJQUNJO0EzRXc5UmhCO0EyRXQ5Ulk7SUFDSTtBM0V3OVJoQjs7QTJFaDlSWTs7O0lBQ0k7QTNFcTlSaEI7QTJFbDlSWTs7O0lBQ0k7QTNFczlSaEI7QTJFbDlSWTs7O0lBQ0k7QTNFczlSaEI7QTJFcDlSWTs7O0lBQ0k7QTNFdzlSaEI7O0EyRW5nU1E7SUFDSSxXQVJXO0lBU1gsWUFSWTtBM0U4Z1N4QjtBMkVuZ1NZO0lBQ0ksV0FiTztJQWNQLFlBYlE7QTNFa2hTeEI7QTJFLy9SWTtJQUNJLFdBbkJPO0lBb0JQLFlBbkJRO0EzRW9oU3hCO0EyRTkvUlk7SUFDSTtBM0VnZ1NoQjtBMkU5L1JZO0lBQ0k7QTNFZ2dTaEI7O0EyRXgvUlk7OztJQUNJO0EzRTYvUmhCO0EyRTEvUlk7OztJQUNJO0EzRTgvUmhCO0EyRTEvUlk7OztJQUNJO0EzRTgvUmhCO0EyRTUvUlk7OztJQUNJO0EzRWdnU2hCOztBMkVwL1JROzs7O0lBQ0k7QTNFMC9SWjs7QTJFditSSTtJQUNJO0lBQ0E7QTNFMCtSUjs7QTJFeDlSUTtJQTkzN0JBLHFCdEUzOUxHO0lzRWkrTEgseUJBeHRJUTtBM0U2aTJDaEI7QTJFcjlSUTtJQWg0N0JBLHlCdEVqK0xHO0FMeXo1Q1g7QTJFdDdSWTtJQXg2N0JKLHFCQStqN0I4QjtJQW1YbEIsOENBN1dnQjtBM0U2eFNwQztBMkV4NlJZO0lBcDc3QkoseUJBbWs3QjZCO0EzRTR4U3JDO0EyRWo2UlE7SUFDSTtBM0VtNlJaOztBMkUxNVJRO0lBOTg3QkEsdUJqRDc5TEU7SWlEbStMRiwyQmpEbitMRTtBMUIwMDVDVjtBMkV2NVJRO0lBaDk3QkEsdUJBa3E3Qm1CO0EzRXdzUzNCO0EyRXgzUlk7SUFVUSw4Q0EzV2U7QTNFNHRTbkM7QTJFejJSWTtJQXBnOEJKLHlCQXFwN0I0QjtBM0UydFNwQztBMkVsMlJRO0lBQ0k7QTNFbzJSWjs7QTJFMXJSSTtJQUNJLGFBM0RvQjtJQTREcEI7SUFDQTtBM0U2clJSOztBMkV6clJJO0lBQ0kscUJBeEVtQjtJQXlFbkIsc0JBNUVtQjtJQTZFbkIsaUJBdkVzQjtJQXdFdEI7SUFDQTtJQUNBLGV0RTdvbkNzQjtJc0U4b25DdEIsNE10RXZwbkNzQjtJc0V3cG5DdEIsZ0J0RWxvbkNzQjtJc0Vtb25DdEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRTRyUlI7QTJFMXJSUTtJQUNJLHFCQTFEa0I7QTNFc3ZSOUI7QTJFenJSUTtJQUNJLHFCQWpEa0I7QTNFNHVSOUI7QTJFdnJSUTtJQUVJLGtCQXA0L0JTO0EzRTRqeENyQjs7QTJFaHFSSTtJQXp2OEJJLHFCQTlzSWlCO0lBaXRJakIsY0FsdEllO0lBcXRJZix5QkE2bzhCWTtBM0U0d1JwQjtBMkUvcFJROztJQUVJLGNBbEdlO0EzRW13UjNCO0EyRTVwUlE7SUFDSSxjQTltZ0NRO0EzRTR3eENwQjs7QTJFdHBSUTs7SUFFSSxnQmpEL3VvQ0Y7QTFCdzQ1Q1Y7O0EyRW5nUkk7SUFDSSxpQkF0R29CO0lBdUdwQjtJQUNBO0lBQ0E7SUFDQSw0TXRFdjNuQ3NCO0lzRXczbkN0QixldEUvMm5Dc0I7SXNFZzNuQ3RCLGdCdEVuMm5Dc0I7SXNFbzJuQ3RCO0lBQ0E7SUFDQTtJQUNBLDZDQWpybEN1QjtBM0V1cjJDL0I7QTJFcGdSUTs7O0lBR0k7QTNFc2dSWjtBMkVuZ1JRO0lBQ0k7QTNFcWdSWjtBMkVqZ1JROztJQUVJLHFCQWxHc0I7SUFtR3RCLHNCQXRHc0I7SUF1R3RCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRW1nUlo7QTJFamdSWTs7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VvZ1JoQjtBMkVqZ1JZOztJQUNJO0lBQ0E7SUFDQTtJQUNBO0EzRW9nUmhCO0EyRWxnUmdCOztJQUNJLHlCQXZxZ0NDO0EzRTRxeENyQjtBMkVqZ1JZOztJQUNJO0EzRW9nUmhCO0EyRS8vUVk7SUFDSTtBM0VpZ1JoQjtBMkU5L1FZO0lBQ0k7QTNFZ2dSaEI7QTJFMy9RUTtJQUNJLGlCQW5LYztJQW9LZDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0U2L1FaO0EyRTMvUVk7O0lBRUk7SUFDQTtJQUNBO0EzRTYvUWhCO0EyRTEvUVk7SUFDSTtBM0U0L1FoQjtBMkV6L1FZO0lBQ0k7QTNFMi9RaEI7QTJFeC9RWTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRTAvUWhCO0EyRXYvUVk7SUFDSTtBM0V5L1FoQjtBMkV0L1FZO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRXcvUWhCO0EyRXIvUVk7SUFDSTtJQUNBLHFCQTd1Z0NLO0lBOHVnQ0w7SUFDQTtBM0V1L1FoQjtBMkVwL1FZOztJQUVJO0lBQ0E7QTNFcy9RaEI7QTJFbi9RWTtJQUNJO0lBQ0E7SUFDQTtBM0VxL1FoQjtBMkVsL1FZOzs7O0lBSUk7QTNFby9RaEI7QTJFai9RWTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0EzRW0vUWhCO0EyRWgvUVk7OztJQUdJLGVBbk1vQjtJQW9NcEI7QTNFay9RaEI7QTJFNStRZ0I7SUFDSTtBM0U4K1FwQjtBMkUxK1FZO0lBQ0k7QTNFNCtRaEI7QTJFeCtRUTtJQUNJLDBCQXB5Z0NVO0lBcXlnQ1Y7SUFDQTtJQUNBO0EzRTArUVo7QTJFditRUTs7SUFFSSx5QkFqeWdDUztJQWt5Z0NULDBCQTd5Z0NVO0lBOHlnQ1Y7SUFDQTtJQUNBO0EzRXkrUVo7QTJFcitRWTtJQUNJLG1CQTFPc0I7SUEyT3RCO0EzRXUrUWhCO0EyRXArUVk7SUFDSTtBM0VzK1FoQjtBMkVsK1FRO0lBQ0k7SUFDQTtJQUNBLFVBN1BrQjtJQThQbEIsV0E5UGtCO0lBK1BsQjtJQUNBO0EzRW8rUVo7QTJFaCtRUTs7O0lBQ0k7QTNFbytRWjs7QTJFLzlRSTtJQUNJO0lBQ0E7QTNFaytRUjtBMkVoK1FRO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VpK1FaO0EyRS85UVE7O0lBRUk7QTNFaStRWjs7QTJFMThRSTtJQTVxOUJJLHFCQTlzSWlCO0lBaXRJakIsY0FsdEllO0lBcXRJZix5QkF4dElRO0EzRTgwMkNoQjtBMkV6OFFROztJQW5yOUJBLHFCQTlzSWlCO0lBaXRJakIsY0FsdEllO0lBcXRJZix5QnRFcitMRztBTGltNkNYO0EyRXY4UVk7O0lBQ0kseUJBaFZpQjtBM0UweFJqQztBMkV2OFFZOztJQUNJLGNBdGloQ0k7QTNFZy94Q3BCO0EyRXA4UVE7O0lBRUkscUJBdDVsQ2E7QTNFNDEyQ3pCO0EyRWw4UVk7SUE3djlCSiwrQ0FrRkE7QTNFZ251Q1I7QTJFajhRWTtJQWp3OUJKLHlDQWtGQTtBM0VtbnVDUjtBMkU5N1FRO0lBQ0ksY0E3amhDUTtBM0U2L3hDcEI7QTJFMTdRWTtJQUNJLHlCdEV2cHBDTjtBTG1sNkNWO0EyRXI3UVk7SUFDSSxjdEVqcXBDTjtBTHdsNkNWO0EyRXA3UVk7SUFDSSx5QnRFcnFwQ047QUwybDZDVjtBMkVoN1FZO0lBQ0ksY3RFL3FwQ047QUxpbTZDVjtBMkVoN1FZO0lBQ0kseUJ0RWxycENOO0FMb202Q1Y7QTJFOTZRUTtJQUNJLGNBL2xoQ1E7SUFnbWhDUixxQkFobWhDUTtBM0VnaHlDcEI7QTJFNzZRUTs7O0lBR0ksY0F0bWhDUTtBM0VxaHlDcEI7QTJFNTZRUTtJQUNJLGNBbjlsQ1c7QTNFaTQyQ3ZCO0EyRTE2UVE7SUFHSSxxQnRFenNwQ0Y7QUxtbjZDVjs7QTJFbnlRSTtJQUdJLHFCQW5EaUI7SUFvRGpCLHNCQXZEaUI7SUF3RGpCLGlCQWxEb0I7SUFtRHBCO0lBQ0E7SUFDQTtJQUNBLDRNdEVyMm9Dc0I7SXNFczJvQ3RCLGV0RTcxb0NzQjtJc0U4MW9DdEIsZ0J0RWoxb0NzQjtJc0VrMW9DdEI7SUFDQTtJQUNBLFdBM0NXO0lBNENYO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsNkNBbnFtQ3VCO0EzRXU4MkMvQjtBMkVseVFROzs7SUFHSTtBM0VveVFaO0EyRWp5UVE7SUFDSTtBM0VteVFaO0EyRS94UVE7SUFDSTtJQUNBO0lBQ0E7QTNFaXlRWjtBMkU1eFFRO0lBQ0k7QTNFOHhRWjtBMkU1eFFRO0lBQ0k7QTNFOHhRWjtBMkV6eFFRO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRTJ4UVo7QTJFdHhRUTs7SUFFSTtBM0V3eFFaO0EyRXR4UVE7SUFDSTtBM0V3eFFaOztBMkVqeFFJO0lBQ0k7QTNFb3hRUjs7QTJFL3dRSTtJQUNJO0lBQ0E7SUFDQTtJQUNBLGFBNUhjO0EzRTg0UXRCOztBMkU3d1FJO0lBQ0k7SUFDQTtJQUNBO0EzRWd4UVI7O0EyRTN3UUk7SUFDSTtJQUNBO0EzRTh3UVI7O0EyRTV3UUk7SUFDSTtJQUNBO0EzRSt3UVI7QTJFN3dRUTtJQUNJO0EzRSt3UVo7O0EyRXh2UUk7SUFsaytCSSx1RUFtaytCQTtBM0UydlFSOztBMkV6dlFJO0lBcmsrQkksdUVBc2srQkE7QTNFNHZRUjs7QTJFdHZRUTtJQVFRO0lBQ0EsMkJBOTVoQ0s7QTNFZ3B5Q3JCOztBMkUzdlFRO0lBUVE7SUFDQSx5QkE5NWhDSztBM0VxcHlDckI7O0EyRWh3UVE7SUFRUTtJQUNBLHlCQTk1aENLO0EzRTBweUNyQjs7QTJFcndRUTtJQVFRO0lBQ0EseUJBOTVoQ0s7QTNFK3B5Q3JCOztBMkUxd1FRO0lBUVE7SUFDQSx5QkE5NWhDSztBM0VvcXlDckI7O0EyRS93UVE7SUFRUTtJQUNBLHlCQTk1aENLO0EzRXlxeUNyQjs7QTJFcHhRUTtJQVFRO0lBQ0EseUJBOTVoQ0s7QTNFOHF5Q3JCOztBMkV6eFFRO0lBS1EsWUE3SlM7SUE4SlQseUJ0RXgvcENMO0FMZ3g2Q1g7O0EyRTl4UVE7SUFFUSxZQWpLVTtJQWtLVix5QnRFNy9wQ0w7QUw2eDZDWDs7QTJFbnlRUTtJQVFRO0lBQ0EseUJBOTVoQ0s7QTNFNnJ5Q3JCOztBMkUvaFFJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxldEU3dXBDc0I7SXNFOHVwQ3RCLGdCdEVqdXBDc0I7SXNFa3VwQ3RCLDRNdEV4dnBDc0I7SXNFeXZwQ3RCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRWtpUVI7QTJFaGlRUTs7O0lBR0k7QTNFa2lRWjtBMkUvaFFRO0lBQ0k7QTNFaWlRWjs7QTJFNWhRSTtJQUNJLHVCQXBLbUI7SUFxS25CLHNCQXJLbUI7SUFzS25CO0EzRStoUVI7QTJFN2hRUTtJQUVJLDJCQXBLYTtJQXFLYjtBM0U4aFFaOztBMkVwaFFRO0lBQ0k7QTNFdWhRWjs7QTJFeGhRUTtJQUNJO0EzRTJoUVo7O0EyRTVoUVE7SUFDSTtBM0UraFFaOztBMkV6aFFJO0lBQ0k7SUFDQSxtQkFqTG9CO0lBa0xwQixtQkFyTG9CO0lBc0xwQjtBM0U0aFFSOztBMkV6aFFJO0lBQ0k7QTNFNGhRUjs7QTJFMWhRSTtJQUNJO0EzRTZoUVI7O0EyRTFoUUk7SUFDSTtBM0U2aFFSOztBMkUzaFFJO0lBQ0k7QTNFOGhRUjs7QTJFM2hRSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFOGhRUjtBMkU1aFFRO0lBQ0k7QTNFOGhRWjtBMkU1aFFZO0lBRUk7QTNFNmhRaEI7QTJFMWhRUTtJQUNJO0EzRTRoUVo7QTJFMWhRWTtJQUVJO0EzRTJoUWhCOztBMkV0aFFJO0lBQ0ksc0JBN053QjtJQThOeEIsdUJBOU53QjtJQStOeEIsaUJBek4yQjtJQTBOM0Isa0JBdk40QjtJQXdONUIsa0JBeGppQ2E7SUF5amlDYixpQkFuTjBCO0EzRTR1UWxDOztBMkV0aFFJO0lBQ0ksc0JBbk53QjtJQW9OeEIsdUJBcE53QjtJQXFOeEIsZUEvTTJCO0lBZ04zQixrQkE3TTRCO0lBOE01QjtJQUNBO0EzRXloUVI7O0EyRWxoUVE7O0lBQ0k7QTNFc2hRWjtBMkVuaFFROztJQUNJO0EzRXNoUVo7O0EyRXozUFE7SUF6bi9CQSwwRUEwbi9CSTtJQUNBO0lBQ0E7SUFDQSx1QkF0OGlDUztJQXU4aUNUO0lBQ0EsMkJBeDhpQ1M7QTNFbzB5Q3JCOztBMkVsNFBRO0lBem4vQkEsMEVBMG4vQkk7SUFDQTtJQUNBO0lBQ0EscUJBdDhpQ1M7SUF1OGlDVDtJQUNBLHlCQXg4aUNTO0EzRTYweUNyQjs7QTJFMzRQUTtJQXpuL0JBLDBFQTBuL0JJO0lBQ0E7SUFDQTtJQUNBLHFCQXQ4aUNTO0lBdThpQ1Q7SUFDQSx5QkF4OGlDUztBM0VzMXlDckI7O0EyRXA1UFE7SUF6bi9CQSwwRUEwbi9CSTtJQUNBO0lBQ0E7SUFDQSxxQkF0OGlDUztJQXU4aUNUO0lBQ0EseUJBeDhpQ1M7QTNFKzF5Q3JCOztBMkU3NVBRO0lBem4vQkEsMEVBMG4vQkk7SUFDQTtJQUNBO0lBQ0EscUJBdDhpQ1M7SUF1OGlDVDtJQUNBLHlCQXg4aUNTO0EzRXcyeUNyQjs7QTJFdDZQUTtJQXpuL0JBLDBFQTBuL0JJO0lBQ0E7SUFDQTtJQUNBLHFCQXQ4aUNTO0lBdThpQ1Q7SUFDQSx5QkF4OGlDUztBM0VpM3lDckI7O0EyRS82UFE7SUF6bi9CQSwwRUEwbi9CSTtJQUNBO0lBQ0E7SUFDQSxxQkF0OGlDUztJQXU4aUNUO0lBQ0EseUJBeDhpQ1M7QTNFMDN5Q3JCOztBMkV4N1BRO0lBem4vQkEsMEVBMG4vQkk7SUFDQTtJQUNBO0lBQ0EscUJBdDhpQ1M7SUF1OGlDVDtJQUNBLHlCQXg4aUNTO0EzRW00eUNyQjs7QTJFajhQUTtJQXpuL0JBLDBFQTBuL0JJO0lBQ0E7SUFDQTtJQUNBLHFCQXQ4aUNTO0lBdThpQ1Q7SUFDQSx5QkF4OGlDUztBM0U0NHlDckI7O0EyRTE4UFE7SUF6bi9CQSwwRUEwbi9CSTtJQUNBO0lBQ0E7SUFDQSxxQkF0OGlDUztJQXU4aUNUO0lBQ0EseUJBeDhpQ1M7QTNFcTV5Q3JCOztBMkV2OFBROztJQUVJO0lBQ0E7SUFDQTtBM0UwOFBaOztBMkU5OFBROztJQUVJO0lBQ0E7SUFDQTtBM0VpOVBaOztBMkVyOVBROztJQUVJO0lBQ0E7SUFDQTtBM0V3OVBaOztBMkU1OVBROztJQUVJO0lBQ0E7SUFDQTtBM0UrOVBaOztBMkVuK1BROztJQUVJO0lBQ0E7SUFDQTtBM0VzK1BaOztBMkUxK1BROztJQUVJO0lBQ0E7SUFDQTtBM0U2K1BaOztBMkVqL1BROztJQUVJO0lBQ0E7SUFDQTtBM0VvL1BaOztBMkV4L1BROztJQUVJO0lBQ0E7SUFDQTtBM0UyL1BaOztBMkUvL1BROztJQUVJO0lBQ0E7SUFDQTtBM0VrZ1FaOztBMkV0Z1FROztJQUVJO0lBQ0E7SUFDQTtBM0V5Z1FaOztBMkVuZ1FROztJQUVJO0EzRXNnUVo7O0EyRXhnUVE7O0lBRUk7QTNFMmdRWjs7QTJFN2dRUTs7SUFFSTtBM0VnaFFaOztBMkVsaFFROztJQUVJO0EzRXFoUVo7O0EyRXZoUVE7O0lBRUk7QTNFMGhRWjs7QTJFNWhRUTs7SUFFSTtBM0UraFFaOztBMkVqaVFROztJQUVJO0EzRW9pUVo7O0EyRXRpUVE7O0lBRUk7QTNFeWlRWjs7QTJFM2lRUTs7SUFFSTtBM0U4aVFaOztBMkVoalFROztJQUVJO0EzRW1qUVo7O0EyRTdpUVE7OztJQUlJO0lBQ0E7SUFDQTtBM0UraVFaOztBMkVyalFROzs7SUFJSTtJQUNBO0lBQ0E7QTNFdWpRWjs7QTJFN2pRUTs7O0lBSUk7SUFDQTtJQUNBO0EzRStqUVo7O0EyRXJrUVE7OztJQUlJO0lBQ0E7SUFDQTtBM0V1a1FaOztBMkU3a1FROzs7SUFJSTtJQUNBO0lBQ0E7QTNFK2tRWjs7QTJFcmxRUTs7O0lBSUk7SUFDQTtJQUNBO0EzRXVsUVo7O0EyRTdsUVE7OztJQUlJO0lBQ0E7SUFDQTtBM0UrbFFaOztBMkVybVFROzs7SUFJSTtJQUNBO0lBQ0E7QTNFdW1RWjs7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QTNFNitPaEI7QTJFOStPWTtJQUNJO0EzRWcvT2hCO0EyRWovT1k7SUFDSTtBM0VtL09oQjs7QTJFLytPSTtJQUNJO0lBQ0E7QTNFay9PUjs7QTJFMStPUTtJQUNJLDRCQXROc0I7QTNFbXNQbEM7O0EyRW4rT1E7Ozs7Ozs7SUFJSSxzQkE1UGdCO0lBNlBoQjtBM0V5K09aO0EyRXYrT1E7Ozs7O0lBSUk7SUFDQSx1QkFwUWdCO0EzRTh1UDVCO0EyRXQrT1E7Ozs7SUFFSTtJQUNBO0EzRTArT1o7QTJFeCtPUTs7OztJQUVJO0lBQ0E7QTNFNCtPWjtBMkV4K09ROztJQUNJO0EzRTIrT1o7QTJFeitPUTs7SUFDSTtBM0U0K09aOztBMkV0OU9JO0lBenJpQ0kscUJBOXNJaUI7SUFpdElqQixjQWx0SWU7SUFxdElmLHlCQXh0SVE7QTNFdTI1Q2hCOztBMkVuOU9JO0lBQ0k7QTNFczlPUjtBMkVwOU9RO0lBQ0ksbUJBbFRnQjtBM0V3d1A1QjtBMkVwOU9RO0lBQ0ksb0NBdFRtQjtBM0U0d1AvQjtBMkVwOU9RO0lBQ0ksOEJBdFR5QjtBM0U0d1ByQzs7QTJFajlPUTtJQUVJLGNBM2ptQ007SUE0am1DTix5QnRFbHJ1Q0Q7QUxxbzlDWDtBMkVoOU9RO0lBRUkseUJ0RXZydUNEO0lzRTY2TEgsK0NBa0ZBO0EzRTBveENSO0EyRS84T1k7SUFFSSxjQXRrbUNFO0lBdWttQ0YseUJ0RTdydUNMO0FMNm85Q1g7QTJFNThPUTtJQUNJLFlBemhtQ1U7SUEwaG1DViwyQmpEbHN1Q0Y7QTFCZ3A5Q1Y7QTJFNThPWTtJQUVJLFlBOWhtQ007SUEraG1DTix5QkE3VGlCO0EzRTB3UGpDOztBMkV6OE9JO0lBQ0kseUJBNzdxQ2lCO0EzRXk0NUN6Qjs7QTJFNXpPSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0Urek9SOztBMkUzek9JO0lBQ0k7QTNFOHpPUjs7QTJFM3pPSTtJQTEvaUNJLHVCdEU3NEtzQjtJc0V5NHRDdEIsbUJ0RWxndUNDO0lzRW1ndUNELG9CdEVuZ3VDQztJc0VvZ3VDRCxpQnRFMTV0Q3NCO0lz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Z3hIaEI7QTJFN3dIWTtJQUNJO0EzRSt3SGhCO0EyRXp3SFk7SUFDSTtBM0Uyd0hoQjtBMkV4d0hZO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0Uwd0hoQjtBMkV0d0hRO0lBQ0k7QTNFd3dIWjtBMkVwd0hROztJQUVJO0EzRXN3SFo7QTJFcHdIWTs7SUFDSTtBM0V1d0hoQjtBMkUxdkhvQjtJQUNJO0EzRTR2SHhCO0EyRXh2SGdCO0lBQ0k7SUFDQTtBM0UwdkhwQjs7QTJFanVISTs7SUFwcHdDSSxxQkE5c0lpQjtJQWl0SWpCLGNBbHRJZTtJQXF0SWYseUJBeHRJUTtBM0U4a2dEaEI7O0EyRTd0SFE7SUFDSTtJQUNBLHlCQXJnMENHO0EzRXF1N0NmO0EyRTN0SFk7SUFDSSwwQkEvZzBDRTtBM0U0dTdDbEI7QTJFMXRIWTtJQUNJLHlCdEUxbzhDTDtBTHMyakRYO0EyRXR0SFk7SUFDSSxnQmpEL284Q047QTFCdTJqRFY7QTJFcnRIWTs7OztJQUlJLGNBNWhCcUI7QTNFbXZJckM7QTJFcHRIWTs7SUFFSSxjQXBpMENJO0EzRTB2N0NwQjtBMkVudEhZOzs7Ozs7O0lBT0kseUJBNWkwQ0Q7QTNFaXc3Q2Y7QTJFbHRIWTtJQUNJO0lBQ0E7QTNFb3RIaEI7QTJFM3NIWTs7Ozs7Ozs7SUFFSSxjQWhrMENFO0EzRW14N0NsQjtBMkVodEhZOzs7Ozs7Ozs7Ozs7Ozs7O0lBSUksZ0JqRDVyOENOO0ExQjA1akRWO0EyRXZ0SFk7SUFDSSxnQmpEcHM4Q047SWlEcXM4Q007QTNFeXRIaEI7QTJFdnRIWTtJQUNJO0EzRXl0SGhCOztBMkVyeUdJO0lBQ0ksaUJBcFVrQjtJQXFVbEI7SUFDQTtJQUNBO0lBQ0EsNE10RTltOENzQjtJc0UrbThDdEIsZXRFdG04Q3NCO0lzRXVtOEN0QixnQnRFMWw4Q3NCO0lzRTJsOEN0QjtJQUNBO0lBQ0E7SUFDQTtJQUNBLDZDQXo2NUN1QjtBM0VpdGdEL0I7QTJFdHlHUTtJQUNJO0EzRXd5R1o7QTJFcnlHUTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0EzRXV5R1o7QTJFcHlHUTtJQUNJ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aGxEWTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0EzRWtsRGhCO0EyRTdrRFk7SUFFSTtJQUNBO0EzRThrRGhCOztBMkVwa0RRO0lBQ0k7QTNFdWtEWjtBMkVwa0RRO0lBQ0k7SUFDQTtBM0Vza0RaO0EyRW5rRFE7SUFDSTtBM0Vxa0RaOztBMkU3akRJO0lBQ0ksaUJBL2pCdUI7SUFna0J2QjtJQUNBO0EzRWdrRFI7QTJFOWpEUTtJQUNJO0EzRWdrRFo7QTJFN2pEUTtJQUNJO0EzRStqRFo7O0EyRTNqREk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRThqRFI7QTJFNWpEUTtJQUNJO0EzRThqRFo7QTJFM2pEUTtJQUNJO0EzRTZqRFo7O0EyRXpqREk7SUFDSTtJQUNBO0EzRTRqRFI7QTJFMWpEUTs7SUFFSTtBM0U0akRaOztBMkV4akRJOzs7SUFHSTtBM0UyakRSOztBMkV4akRJO0lBQ0k7QTNFMmpEUjs7QTJFeGpESTs7SUFFSTtJQUNBO0lBQ0E7QTNFMmpEUjs7QTJFeGpESTs7SUFFSTtBM0UyakRSOztBMkV4akRJO0lBQ0k7QTNFMmpEUjs7QTJFeGpESTtJQUNJO0EzRTJqRFI7O0EyRXhqREk7SUFDSTtJQUNBO0EzRTJqRFI7O0EyRXhqREk7SUFDSTtBM0UyakRSOztBMkV4akRJO0lBQ0k7QTNFMmpEUjs7QTJFeGpESTtJQUNJO0EzRTJqRFI7O0EyRXZqRFE7SUFDSTtBM0UwakRaO0EyRXZqRFk7SUFDSTtBM0V5akRoQjs7QTJFcGpESTtJQUNJO0EzRXVqRFI7O0EyRXBqREk7SUFDSTtBM0V1akRSOztBMkVwakRJO0lBQ0k7QTNFdWpEUjs7QTJFampESTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFb2pEUjtBMkVsakRRO0lBQ0k7SUFDQTtBM0VvakRaO0EyRWxqRFE7SUFDSTtBM0VvakRaOztBMkVqakRJO0lBQ0k7SUFDQTtBM0VvakRSO0EyRWxqRFE7SUFDSTtBM0VvakRaO0EyRWpqRFE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VtakRaO0EyRWhqRFE7SUFDSTtJQUNBO0lBQ0E7QTNFa2pEWjtBMkUvaURRO0lBQ0k7SUFDQTtJQUNBO0EzRWlqRFo7QTJFOWlEUTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0EzRWdqRFo7QTJFOWlEWTtJQUNJO0EzRWdqRGhCOztBMkUxaURJO0lBQ0k7SUFDQSxnQkF6NCtDYTtJQTA0K0NiO0lBQ0E7QTNFNmlEUjs7QTJFdGhESTtJQXp0N0NJLHFCQTlzSWlCO0lBaXRJakIsY0FsdEllO0lBcXRJZix5QkF4dElRO0EzRXU4bURoQjs7QTJFcGhESTs7O0lBanU3Q0kscUJBOXNJaUI7SUFpdElqQixjQWx0SWU7SUFxdElmLHlCdEVyK0xHO0FMNHRxRFg7O0EyRWxoREk7SUEzdTdDSSxxQkE2OTVDcUI7QTNFb3lFN0I7O0EyRWhoREk7SUFDSSwyQkFyeEJxQjtBM0V3eUU3Qjs7QTJFaGhESTs7SUFFSSw0QkExeEJxQjtBM0U2eUU3Qjs7QTJFL2dESTs7SUEzdjdDSSxxQkE5c0lpQjtJQWl0SWpCLGNBbHRJZTtJQXF0SWYseUJBNjk1Q21CO0EzRTh5RTNCOztBMkUzZ0RJOzs7Ozs7SUFodzdDSSx5QkFpKzVDbUI7QTNFbXpFM0I7O0EyRXRnREk7Ozs7Ozs7O0lBcjA3Q0ksa0RBa0ZBO0EzRW93K0NSOztBMkVyZ0RJOztJQTF4N0NJLHlDQXErNUNzQjtBM0UrekU5Qjs7QTJFLy9DSTs7SUEzeTdDSSxxQkE5c0lpQjtJQWl0SWpCLGNBbHRJZTtJQXF0SWYseUJBeHRJUTtBM0VtZ25EaEI7O0EyRTcvQ0k7SUFqejdDSSxjQWx0SWU7QTNFb2duRHZCOztBMkV6L0NJO0lBNXo3Q0kscUJBOXNJaUI7QTNFdWduRHpCOztBMkVyL0NJO0lBcDA3Q0kscUJBOXNJaUI7SUFpdElqQixjQWx0SWU7SUFxdElmLHlCQXh0SVE7QTNFaWhuRGhCOztBMkVuL0NJO0lBejA3Q0ksY0FsdEllO0EzRWtobkR2Qjs7QTJFLytDSTtJQXAxN0NJLHFCQTlzSWlCO0EzRXFobkR6Qjs7QTJFLytDSTtJQXgxN0NJLHFCQTlzSWlCO0EzRXlobkR6Qjs7QTJFNStDUTtJQWg1N0NBLHFFQWk1N0NJO0EzRSsrQ1o7QTJFNStDUTtJQXA1N0NBLHFFQXE1N0NJO0EzRTgrQ1o7QTJFMytDUTtJQXg1N0NBLHFFQXk1N0NJO0EzRTYrQ1o7QTJFMStDUTtJQTU1N0NBLHFFQTY1N0NJO0EzRTQrQ1o7O0EyRXIrQ0k7SUFuMzdDSSxxQkE5c0lpQjtJQWl0SWpCLGNBbHRJZTtJQXF0SWYseUJBeHRJUTtBM0Vnam5EaEI7O0EyRXArQ0k7SUFDSSxxQkF6a2tEaUI7QTNFZ2puRHpCOztBMkVuK0NJO0lBLzM3Q0kscUJBOXNJaUI7SUFpdElqQixjQWx0SWU7SUFxdElmLHlCdEVyK0xHO0FMdTBxRFg7O0EyRS85Q0k7SUF6NDdDSSxxQkE5c0lpQjtJQWl0SWpCLGNBbHRJZTtJQXF0SWYseUJ0RXIrTEc7QUw2MHFEWDtBMkU5OUNRO0lBQ0ksY0F2di9DUTtBM0V1dGlEcEI7O0EyRTU5Q0k7SUFDSSx5QnRFcjNuREc7QUxvMXFEWDs7QTJFNTlDSTs7OztJQUlJLHFCQTNta0RpQjtBM0Uwa25EekI7O0EyRTU5Q0k7SUFDSSx5QkFqM0J5QjtBM0VnMUVqQzs7QTJFNTlDSTtJQUNJLGNBcG5rRGU7SUFxbmtEZix5QnRFcjRuREc7QUxvMnFEWDs7QTJFMzlDSTs7O0lBR0k7QTNFODlDUjs7QTJFMzlDSTtJQUNJLGN0RTcybkRFO0FMMjBxRFY7O0EyRTM5Q0k7SUFDSSxjdEVuM25ERTtBTGkxcURWOztBMkUzOUNJO0lBQ0ksY3RFcDNuREU7QUxrMXFEVjs7QTJFdjlDUTtJQUNJLHFCQS9va0RhO0EzRXltbkR6Qjs7QTJFcDRDUTtJQUNJO0EzRXU0Q1o7QTJFcDRDUTtJQUNJO0lBQ0E7SUFDQTtBM0VzNENaO0EyRW40Q1k7SUFDSTtJQUNBO0lBR0E7QTNFbTRDaEI7QTJFLzNDUTtJQUNJO0EzRWk0Q1o7QTJFOTNDUTs7SUFFSTtBM0VnNENaO0EyRTczQ1E7SUFDSTtBM0UrM0NaO0EyRTUzQ1E7Ozs7SUFJSTtJQUNBO0lBQ0E7QTNFODNDWjtBMkUzM0NROztJ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SUFDQTtBM0V6ZVo7O0EyRTRlSTtJQUNJO0lBQ0E7SUFDQTtBM0V6ZVI7O0EyRTJlSTtJQUNJO0lBQ0EsZUFwd0JxQztBM0U0UjdDOztBMkUwZUk7SUFFSSxnQnRFdDF1RHNCO0FMODJ0RDlCOztBMkUwZUk7O0lBRUk7SUFDQTtJQUNBO0EzRXZlUjs7QTJFK2VRO0lBQ0k7QTNFNWVaO0EyRStlUTs7O0lBR0k7SUFDQTtJQUNBO0EzRTdlWjtBMkVnZlE7SUFDSTtBM0U5ZVo7QTJFaWZRO0lBQ0k7QTNFL2VaOztBMkUwZkk7SUFDSTtBM0V2ZlI7O0EyRWlnQlE7Ozs7SUFFSTtJQUNBO0EzRTVmWjtBMkUrZlE7O0lBQ0k7SUFDQTtBM0U1Zlo7QTJFZ2dCWTs7SUFDSTtBM0U3ZmhCO0EyRStmWTs7SUFDSTtBM0U1ZmhCO0EyRStmWTs7SUFDSTtJQUNBO0EzRTVmaEI7QTJFK2ZZOztJQUNJO0lBQ0E7QTNFNWZoQjtBMkVnZ0JROztJQUNJO0EzRTdmWjtBMkVnZ0JROztJQUNJO0lBQ0E7QTNFN2ZaO0EyRWdnQlE7O0lBQ0k7SUFDQTtBM0U3Zlo7QTJFZ2dCUTs7SUFDSTtJQUNBO0EzRTdmWjtBMkVnZ0JROztJQUNJO0EzRTdmWjtBMkVpZ0JZOztJQUNJO0EzRTlmaEI7QTJFaWdCWTs7SUFDSTtBM0U5ZmhCO0EyRWtnQlE7O0lBQ0ksbUJBaDVCOEI7QTNFaVoxQztBMkVrZ0JROztJQUNJLG1CQW41QndDO0EzRW9acEQ7QTJFa2dCUTs7SUFDSSxhQXQ1Qm1DO0EzRXVaL0M7QTJFa2dCUTs7SUFDSTtJQUNBO0EzRS9mWjs7QTJFdWhCSTtJQXZqa0RJLHFCQTlzSWlCO0lBaXRJakIsY0FsdEllO0lBcXRJZix5QkF4dElRO0EzRXd2ckRoQjtBMkUwaEJZO0lBaGtrREoscUJBMGxpRHVCO0lBcGxpRHZCLHlCQW1saURtQjtBM0VpZDNCO0EyRTRoQlk7SUF0a2tESixxQkFuekRnQjtJQXl6RGhCLDJCakRuK0xFO0ExQjJndkRWO0EyRWlpQlk7SUFDSTtJQUNBLGVBbGdDUTtBM0VtZXhCO0EyRWtpQlk7SUFDSSxpQmpEbGp3RE47QTFCa2h2RFY7O0EyRXVpQkk7SUE3b2tESSxnQkE4b2tEQTtBM0VwaUJSOztBMkVpakJROztJQUVJO0EzRTlpQlo7O0EyRXlqQkk7SUFqbmtESSxzQ0Fva2lEaUI7QTNFd2Z6Qjs7QTJFZ2tCSTtJQTVua0RJLHlCQXJ0SWU7QTNFcXhyRHZCOztBMkVra0JJOztJQXhva0RJLHFCQS9zSWU7SUFxdElmLHlCQXh0SVE7QTNFOHhyRGhCOztBMkVza0JJO0lBbHBrREkscUJBMGxpRHVCO0lBcGxpRHZCLHlCQW1saURtQjtBM0V3ZjNCO0EyRXVrQlE7SUFsbWtESjtBM0U4aGpESjtBMkV3a0JRO0lBdHBrREEseUJ0RWo4TEU7QUxraHZEVjs7QTJFMmtCSTtJQUNJO0lBbnFrREEscUJBbnpEZ0I7SUF5ekRoQiwyQmpEbitMRTtBMUIwanZEVjs7QTJFK2tCSTtJQUNJLGNBL2tDaUI7QTNFbWdCekI7QTJFOGtCUTtJQUNJLGNBcGlDcUI7QTNFd2RqQztBMkUra0JRO0lBQ0ksY0FyaUNzQjtBM0V3ZGxDOztBMkVnbEJJO0lBQ0ksY0F2NHNEZTtBM0UwenJEdkI7O0EyRStrQkk7SUFDSSxjdEV6bndERTtBTDZpdkRWOztBMkU4a0JJO0lBQ0ksY3RFem53REU7QUw4aXZEVjs7QTJFNmtCSTtJQUNJLGNBam1DMEI7QTNFdWhCbEM7QTJFNGtCUTtJQUNJLGdCakRqcXdERjtBMUJ1bHZEVjs7QTJFZ2xCSTtJQTFza0RJLHFCQXdtaURrQjtJQXJtaURsQixZQW9taURnQjtJQWptaURoQix5QkFnbWlEYztBM0UwaEJ0QjtBMkVpbEJRO0lBM3NrREEseUJBc29pRHlCO0EzRXVmakM7QTJFb2xCUTtJQWp0a0RBLHlCQXlvaUQwQjtBM0V1ZmxDO0EyRXVsQlE7SUFDSSx5QkFybkNtQjtBM0VnaUIvQjs7QTJFd2xCSTtJQTN0a0RJLHlCdEVwOExFO0FMMmt2RFY7O0EyRXlsQkk7SUFodWtESSx5QnRFajhMRTtBTDRrdkRWOztBMkUwbEJJO0lBM3VrREksdUJqRDc5TEU7SWlEZytMRixZQXh6RGM7SUEyekRkLHlCQW9taUR1QjtBM0U2aUIvQjtBMkUybEJRO0lBQ0ksMkJqRGh0d0RGO0ExQnVudkRWOztBMkU4bEJJO0lBQ0ksY0ExcUNnQjtBM0Ura0J4Qjs7QTJFNmxCSTtJQUNJLGdCakR6dHdERTtBMUIrbnZEVjs7QTJFK2xCUTtJQWp3a0RBLHVCakQ3OUxFO0lpRG0rTEYsNkJBNnZrRGE7QTNFNWxCckI7QTJFZ21CUTtJQWp3a0RBLDJCakRuK0xFO0ExQnVvdkRWO0EyRWttQlE7SUF0d2tEQSwyQmpEbitMRTtBMUIwb3ZEVjs7QTJFdW1CSTtJQTl0a0RBO0EzRTJuakRKO0EyRXNtQlE7SUF2eGtEQSxxQkFpcGlENEI7QTNFbWlCcEM7QTJFeW1CUTtJQUNJLGNBN29Dd0I7QTNFc2lCcEM7O0EyRTJtQkk7SUE1dWtEQTtBM0Vxb2pESjs7QTJFMm1CSTtJQUNJLHlCdEVydXdERTtBTDZudkRWOztBMkU0bUJJO0lBcnlrREkseUJ0RXA4TEU7QUxpb3ZEVjs7QTJFOG1CSTtJQTN5a0RJLDJCakRuK0xFO0ExQm9xdkRWOztBMkVpbkJRO0lBQ0kseUJBbnFDNEI7QTNFcWpCeEM7O0EyRWtuQlE7SUFDSSx5QnRFenZ3REY7QUwwb3ZEVjs7QTJFbW5CUTtJQUNJLHlCdEVqd3dERjtBTGlwdkRWOztBMkVpekJJO0lBQ0ksaUJBbkd1QjtJQW9HdkI7SUFDQTtJQUNBO0lBQ0EsNE10RW45dkRzQjtJc0VvOXZEdEIsZXRFMzh2RHNCO0lzRTQ4dkR0QixnQnRFLzd2RHNCO0lzRWc4dkR0QjtJQUNBO0lBQ0E7SUFDQTtJQUNBLDZDQTl3dER1QjtBM0VnK3JEL0I7QTJFZ3pCUTs7Ozs7Ozs7OztJQVVJO0EzRTl5Qlo7O0EyRWt6Qkk7SUFDSTtBM0UveUJSO0EyRWl6QlE7SUFDSTtBM0UveUJaOztBMkVvekJJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBM0VqekJSO0EyRW16QlE7O0lBRUksc0JBcEdxQjtJQXFHckIsdUJBdEdxQjtJQXVHckIsdUJBdHJvRFc7SUF1cm9EWDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTNFanpCWjtB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R1E7SUFHUSx1QkFwRUQ7QTNFM2lHZjs7QTJFNG1HUTtJQUdRLHlCQXBFRDtBM0V2aUdmOztBMkV3bUdRO0lBR1EseUJBcEVEO0EzRW5pR2Y7O0EyRW9tR1E7SUFNUSxvQkF2RUQ7QTNFL2hHZjs7QTJFZ21HUTtJQUdRLHlCQXBFRDtBM0UzaEdmOztBMkU0bEdRO0lBR1EseUJBcEVEO0EzRXZoR2Y7O0EyRXdsR1E7SUFHUSx5QkFwRUQ7QTNFbmhHZjs7QTJFb2xHUTtJQUdRLHlCQXBFRDtBM0UvZ0dmOztBMkVnbEdRO0lBR1EsMkJBcEVEO0EzRTNnR2Y7O0EyRTRrR1E7SUFHUSx1QkFwRUQ7QTNFdmdHZjs7QTJFd2tHUTtJQUdRLHlCQXBFRDtBM0VuZ0dmOztBMkVva0dRO0lBR1EseUJBcEVEO0EzRS8vRmY7O0EyRWdrR1E7SUFHUSx5QkFwRUQ7QTNFMy9GZjs7QTJFNGpHUTtJQUdRLHlCQXBFRDtBM0V2L0ZmOztBMkV3akdRO0lBR1EseUJBcEVEO0EzRW4vRmY7O0EyRW9qR1E7SUFHUSx5QkFwRUQ7QTNFLytGZjs7QTJFZ2pHUTtJQUdRLHlCQXBFRDtBM0UzK0ZmOztBMkU0aUdRO0lBR1EseUJBcEVEO0EzRXYrRmY7O0EyRXdpR1E7SUFHUSx5QkFwRUQ7QTNFbitGZjs7QTJFb2lHUTtJQUdRLHlCQXBFRDtBM0UvOUZmOztBMkVnaUdRO0lBR1EseUJBcEVEO0EzRTM5RmY7O0EyRTRoR1E7SUFHUSx5QkFwRUQ7QTNFdjlGZjs7QTJFd2hHUTtJQUdRLHlCQXBFRDtBM0VuOUZmOztBMkVvaEdRO0lBR1EseUJBcEVEO0EzRS84RmY7O0EyRWdoR1E7SUFHUSx5QkFwRUQ7QTNFMzhGZjs7QTJFNGdHUTtJQUdRLHlCQXBFRDtBM0V2OEZmOztBMkV3Z0dRO0lBR1EseUJBcEVEO0EzRW44RmY7O0EyRW9nR1E7SUFHUSx5QkFwRUQ7QTNFLzdGZjs7QTJFZ2dHUTtJQUdRLHlCQXBFRDtBM0UzN0ZmOztBMkU0L0ZRO0lBR1EseUJBcEVEO0EzRXY3RmY7O0EyRXcvRlE7SUFHUSx5QkFwRUQ7QTNFbjdGZjs7QTJFby9GUTtJQUdRLHlCQXBFRDtBM0UvNkZmOztBMkVnL0ZRO0lBR1EseUJBcEVEO0EzRTM2RmY7O0EyRTQrRlE7SUFHUSx5QkFwRUQ7QTNFdjZGZjs7QTJFdytGUTtJQUdRLHlCQXBFRDtBM0VuNkZmOztBMkVvK0ZRO0lBR1EseUJBcEVEO0EzRS81RmY7O0EyRWcrRlE7SUFHUSx5QkFwRUQ7QTNFMzVGZjs7QTJFNDlGUTtJQUdRLHlCQXBFRDtBM0V2NUZmOztBMkV3OUZRO0lBR1EseUJBcEVEO0EzRW41RmY7O0EyRW85RlE7SUFHUSx5QkFwRUQ7QTNFLzRGZjs7QTJFZzlGUTtJQUdRLHlCQXBFRDtBM0UzNEZmOztBMkU0OEZRO0lBR1EseUJBcEVEO0EzRXY0RmY7O0EyRXc4RlE7SUFHUSx5QkFwRUQ7QTNFbjRGZjs7QTJFbzhGUTtJQUdRLHlCQXBFRDtBM0UvM0ZmOztBMkVnOEZRO0lBR1EseUJBcEVEO0EzRTMzRmY7O0EyRTQ3RlE7SUFHUSx5QkFwRUQ7QTNFdjNGZjs7QTJFdzdGUTtJQUdRLHlCQXBFRDtBM0VuM0ZmOztBMkVvN0ZRO0lBR1EseUJBcEVEO0EzRS8yRmY7O0EyRWc3RlE7SUFHUSx5QkFwRUQ7QTNFMzJGZjs7QTJFNDZGUTtJQUdRLHlCQXBFRDtBM0V2MkZmOztBMkV3NkZRO0lBR1EsMkJBcEVEO0EzRW4yRmY7O0EyRW82RlE7SUFHUSx5QkFwRUQ7QTNFLzFGZjs7QTJFZzhGSTtJQUNJLHVDQWpoQmU7QTNFNTZFdkI7O0EyRWc4Rkk7SUFDSSxxQ0EzaEJrQjtBM0VsNkUxQjs7QTJFZzhGSTtJQUNJLHFDQTNoQmtCO0EzRWw2RTFCOztBMkVnOEZJO0lBQ0ksWUE1aEJtQjtBM0VqNkUzQjs7QTJFZzhGSTtJQUNJLFlBL2hCNEI7QTNFOTVFcEM7O0EyRWc4Rkk7SUFDSSxZQWxpQjRCO0EzRTM1RXBDOztBMkVnOEZJO0lBQ0ksb0NBemhCdUI7QTNFcDZFL0I7O0EyRWc4Rkk7SUFDSSxvQ0E1aEJtQjtBM0VqNkUzQjs7QTJFZzhGSTtJQUNJLG9DQS9oQmtCO0EzRTk1RTFCOztBMkVnOEZJO0lBQ0ks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RFI7QTRFeG0yREk7SUFDSTtJQUNBO0E1RTBtMkRSO0E0RXRtMkRRO0lBQ0ksY3ZFakNEO0FMeW8yRFg7QTRFdG0yRFk7SUFDSSxjdkV2Q0w7QUwrbzJEWDtBNEVybTJEWTtJQUNJLGNsRGpEUjtBMUJ3cDJEUjs7QTRFL2wyREE7SUFDSTs7OzhCQUFBO0E1RXFtMkRKO0E0RWhtMkRJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBNUVrbTJEUjtBNEUvbDJESTtJQUNJO0E1RWltMkRSO0E0RTlsMkRJO0lBQ0k7QTVFZ20yRFI7QTRFN2wyREk7SUFDSTtJQUNBO0E1RStsMkRSO0E0RTVsMkRJO0lBQ0k7QTVFOGwyRFI7QTRFM2wyREk7SUFDSTtBNUU2bDJEUjtBNEUxbDJESTtJQUNJO0lBQ0E7QTVFNGwyRFI7QTRFdmwyRFk7SUFDSSxjdkU5Rkw7QUx1cjJEWDtBNEV2bDJEZ0I7SUFDSSxjdkVwR1Q7QUw2cjJEWDtBNEV0bDJEZ0I7SUFDSSxXdkU5R1Q7QUxzczJEWDs7QTRFL2syREk7SUFDSTtJQUNBO0lBQ0EsZ0JsRHZIRTtJa0R3SEY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBNUVrbDJEUjtBNEU3azJESTtJQUNJLDhMdEUzR1U7QU4wcjJEbEI7QTRFN2syRFE7SUFFSSxnQmxEdElGO0ExQm90MkRWO0E0RXhrMkRZO0lBQ0ksY3ZFdklMO0FMaXQyRFg7QTRFeGsyRGdCO0lBQ0ksY3ZFN0lUO0FMdXQyRFg7QTRFdmsyRGdCO0lBQ0ksZ0JsRHBKVjtBMUI2dDJEVjs7QTRFamsyREE7SUFDSTtBNUVvazJESjs7QTRFamsyREE7SUFDSTtBNUVvazJESjs7QTRFamsyREE7SUFDSTtJQUNBO0lBQ0E7QTVFb2syREo7O0E0RWprMkRBO0lBQ0k7SUFDQTtJQUNBO0E1RW9rMkRKOztBNEVqazJEQTtJQUNJO0lBQ0E7QTVFb2syREo7O0E0RWprMkRBO0lBQ0k7QTVFb2syREo7O0E0RWprMkRBO0lBQ0k7SUFDQTtBNUVvazJESjs7QTRFamsyREE7SUFDSTtBNUVvazJESjs7QTRFamsyREE7SUFDSTtBNUVvazJESjs7QTRFamsyREE7SUFDSTtBNUVvazJESjs7QTRFamsyREE7SUFDSTtBNUVvazJESjs7QTRFbGsyREE7SUFDSTs7Ozs7NENBQUE7SUFNQTtJQVlKOzs7Ozs7OztxQ0FBQTtBNUVrazJEQTtBNEU3azJESTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTVFK2syRFI7O0E0RWprMkRBO0lBQ0k7SUFDQTtJQUNBO0E1RW9rMkRKOztBNEUvajJEQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTVFa2syREo7O0E0RS9qMkRBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBNUVrazJESjs7QTRFL2oyREE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0E1RWtrMkRKOztBNEUvajJEQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0E1RWtrMkRKOztBNEUvajJEQTtJQUNJO0lBQ0E7QTVFa2syREo7O0E0RS9qMkRBO0lBQ0k7QTVFa2syREo7O0E0RS9qMkRBO0lBQ0k7SUFDQTtBNUVrazJESjs7QTRFL2oyREE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTVFa2syREo7O0E0RS9qMkRBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTVFa2syREo7O0E0RS9qMkRBO0lBQ0k7UUFDSTtJNUVrazJESjtBQUNKO0E0RS9qMkRBO0lBQ0k7QTVFaWsyREo7O0E0RTlqMkRBO0lBQ0k7SUFDQTtJQUNBO0E1RWlrMkRKOztBNEU5ajJEQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0E1RWlrMkRKOztBNEU5ajJEQTtJQUNJO0lBQ0E7QTVFaWsyREo7O0E0RTlqMkRBO0lBQ0k7UUFDSTtRQUNBO1FBQ0E7UUFDQTtJNUVpazJESjtJNEU5ajJEQTtRQUNJO1FBQ0E7STVFZ2syREo7STRFN2oyREE7UUFDSTtJNUUrajJESjtJNEU1ajJEQTtRQUNJO1FBQ0E7STVFOGoyREo7STRFM2oyREE7UUFDSTtJNUU2ajJESjtJNEUxajJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO0k1RTRqMkRKO0k0RXpqMkRBO1FBQ0k7STVFMmoyREo7STRFeGoyREE7UUFDSTtJNUUwajJESjtJNEV2ajJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUV5ajJESjtJNEV0ajJEQTtRQUNJO1FBQ0E7UUFDQTtJNUV3ajJESjtJNEVyajJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUV1ajJESjtBQUNKO0E0RXBqMkRBO0lBQ0k7UUFDSTtRQUNBO1FBQ0E7UUFDQTtJNUVzajJESjtJNEVuajJEQTtRQUNJO1FBQ0E7STVFcWoyREo7STRFbGoyREE7UUFDSTtJNUVvajJESjtJNEVqajJEQTtRQUNJO1FBQ0E7STVFbWoyREo7STRFaGoyREE7UUFDSTtJNUVrajJESjtJNEUvaTJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO0k1RWlqMkRKO0k0RTlpMkRBO1FBQ0k7STVFZ2oyREo7STRFN2kyREE7UUFDSTtJNUUraTJESjtJNEU1aTJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUU4aTJESjtJNEUzaTJEQTtRQUNJO1FBQ0E7UUFDQTtJNUU2aTJESjtJNEUxaTJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUU0aTJESjtBQUNKO0E0RXppMkRBO0lBQ0k7UUFDSTtRQUNBO1FBQ0E7UUFDQTtJNUUyaTJESjtJNEV4aTJEQTtRQUNJO1FBQ0E7STVFMGkyREo7STRFdmkyREE7UUFDSTtJNUV5aTJESjtJNEV0aTJEQTtRQUNJO1FBQ0E7STVFd2kyREo7STRFcmkyREE7UUFDSTtJNUV1aTJESjtJNEVwaTJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO0k1RXNpMkRKO0k0RW5pMkRBO1FBQ0k7STVFcWkyREo7STRFbGkyREE7UUFDSTtJNUVvaTJESjtJNEVqaTJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUVtaTJESjtJNEVoaTJEQTtRQUNJO1FBQ0E7UUFDQTtJNUVraTJESjtJNEUvaDJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUVpaTJESjtBQUNKO0E0RTloMkRBO0lBQ0k7UUFDSTtRQUNBO1FBQ0E7UUFDQTtJNUVnaTJESjtJNEU3aDJEQTtRQUNJO1FBQ0E7STVFK2gyREo7STRFNWgyREE7UUFDSTtJNUU4aDJESjtJNEUzaDJEQTtRQUNJO1FBQ0E7STVFNmgyREo7STRFMWgyREE7UUFDSTtJNUU0aDJESjtJNEV6aDJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO0k1RTJoMkRKO0k0RXhoMkRBO1FBQ0k7STVFMGgyREo7STRFdmgyREE7UUFDSTtJNUV5aDJESjtJNEV0aDJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUV3aDJESjtJNEVyaDJEQTtRQUNJO1FBQ0E7UUFDQTtJNUV1aDJESjtJNEVwaDJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUVzaDJESjtBQUNKO0E0RW5oMkRBO0lBQ0k7UUFDSTtRQUNBO1FBQ0E7UUFDQTtJNUVxaDJESjtJNEVsaDJEQTtRQUNJO1FBQ0E7STVFb2gyREo7STRFamgyREE7UUFDSTtJNUVtaDJESjtJNEVoaDJEQTtRQUNJO1FBQ0E7STVFa2gyREo7STRFL2cyREE7UUFDSTtJNUVpaDJESjtJNEU5ZzJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO0k1RWdoMkRKO0k0RTdnMkRBO1FBQ0k7STVFK2cyREo7STRFNWcyREE7UUFDSTtJNUU4ZzJESjtJNEUzZzJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUU2ZzJESjtJNEUxZzJEQTtRQUNJO1FBQ0E7UUFDQTtJNUU0ZzJESjtJNEV6ZzJEQTtRQUNJO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtJNUUyZzJESjtBQUNKO0E0RXhnMkRBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7SUFDQTtBNUUwZzJESjs7QTRFdmcyREE7SUFDSTtBNUUwZzJESjs7QTRFdmcyREE7SUFDSTtJQUNBO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBNUUwZzJESjs7QTRFdmcyREE7SUFDSTtJQUNBO0lBQ0E7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0E1RTBnMkRKOztBNEV2ZzJEQTtJQUNJO0lBQ0E7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7QTVFMGcyREo7O0E0RXZnMkRBO0lBQ0k7SUFDQTtBNUUwZzJESjs7QTRFdmcyREE7SUFDSTtBNUUwZzJESjs7QTRFdmcyREE7SUFDSTtBNUUwZzJESjs7QTRFdmcyREE7SUFDSTtBNUUwZzJESjs7QTRFcGcyREE7SUFDSTtBNUV1ZzJESjs7QTRFbmcyREE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBNUVzZzJESjs7QTRFbmcyREE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QTVFc2cyREo7O0E0RW5nMkRBO0lBQ0k7SUFDQTtBNUVzZzJESjs7QTRFbmcyREE7SUFDSTtJQUNBO0E1RXNnMkRKOztBNEVuZzJEQTtJQUNJO0E1RXNnMkRKOztBNEVuZzJEQTtJQUNJO0lBQ0E7QTVFc2cyREo7O0E0RWhnMkRBOztJQUVJO0E1RW1nMkRKOztBNEVoZzJEQTtJQUNJO0lBQ0E7QTVFbWcyREo7O0E2RW42M0RBO0lBQ0k7SUFDQTtBN0VzNjNESjs7QUEzNTNEQTtJQUNJO0lBQ0E7QUE4NTNESjs7QUEzNTNEQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QUE4NTNESjs7QUEzNTNEQTtJQUNJO0lBQ0E7QUE4NTNESjs7QUEzNTNEQTtJQUNJO0FBODUzREo7O0FBMzUzREE7SUFDSTtBQTg1M0RKOztBQTM1M0RBO0lBQ0k7QUE4NTNESjs7QUEzNTNEQTtJQUNJO0FBODUzREo7O0FBMzUzREE7SUFDSTtBQTg1M0RKOztBQTM1M0RBO0lBQ0k7QUE4NTNESjs7QUEzNTNEQTtJQUNJO0FBODUzREo7O0FBMzUzREE7SUFDSTtBQTg1M0RKOztBQTM1M0RBO0lBQ0k7QUE4NTNESjs7QUExNTNEQTtJQUNJO0FBNjUzREo7O0FBejUzREE7SUFDSTtBQTQ1M0RKOztBQXo1M0RBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7QUE0NTNESjs7QUF4NTNEQTtJQUNJO0FBMjUzREo7O0FBejUzREE7SUFDSTtJQUNBO0FBNDUzREo7O0FBejUzREE7SUFDSTtBQTQ1M0RKOztBQXg1M0RBO0lBQ0k7QUEyNTNESixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8va2x5ay8uL0NsaWVudEFwcC9zY3NzL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Jhbm5lci5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL0NsaWVudEFwcC9zY3NzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvbnRhaW5lcnMuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXZhcmlhbnRzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fbGFiZWxzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1jb250cm9sLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL0NsaWVudEFwcC9zY3NzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zsb2F0aW5nLWxhYmVscy5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Byb2dyZXNzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZHJvcC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGxhY2Vob2xkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3JlZC1saW5rcy5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fcmF0aW8uc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdGFja3Muc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL190ZXh0LXRydW5jYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdnIuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdXRpbGl0aWVzLnNjc3MiLCJ3ZWJwYWNrOi8va2x5ay8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwid2VicGFjazovL2tseWsvLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWJvb3RzdHJhcC9kaXN0L2FsbC5zY3NzIiwid2VicGFjazovL2tseWsvLi9DbGllbnRBcHAvc2Nzcy9jb21wb25lbnRzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly9rbHlrLy4vQ2xpZW50QXBwL3Njc3Mvc2VjdGlvbnMvX2RlbGl2ZXJpZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnMmZmFtaWx5PUZyZWRva2ErT25lJmRpc3BsYXk9c3dhcCcpO1xyXG5AaW1wb3J0IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vYm9vdHN0cmFwLWljb25zQDEuMTEuMi9mb250L2Jvb3RzdHJhcC1pY29ucy5jc3NcIik7XHJcblxyXG5cclxuLy8gSW1wb3J0IHZhcmlhYmxlc1xyXG5AaW1wb3J0IFwiLi92YXJpYWJsZXMuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9taXhpbnNcIjtcclxuXHJcbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWJvb3RzdHJhcC9kaXN0L2FsbC5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL25hdmJhci5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuL3NlY3Rpb25zL2RlbGl2ZXJpZXMuc2Nzc1wiO1xyXG5cclxuLmFwcC1iYWRnZSB7XHJcbiAgICBoZWlnaHQ6IDNyZW07XHJcbiAgICB3aWR0aDogNnJlbTtcclxufVxyXG5cclxuLmJ0bi1pY29uIHtcclxuICAgIC8qIHBvc2l0aW9uOnJlbGF0aXZlOyAqL1xyXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcclxuICAgIC8qIGZsZXgtc2hyaW5rOjA7ICovXHJcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHdpZHRoOiAzLjEyNXJlbTtcclxuICAgIGhlaWdodDogMy4xMjVyZW07XHJcbiAgICBwYWRkaW5nOiAwXHJcbn1cclxuXHJcbi5idG4taWNvbiA+IHN2ZyB7XHJcbiAgICB3aWR0aDogMXJlbTtcclxuICAgIGhlaWdodDogYXV0b1xyXG59XHJcblxyXG4ubmF2YmFyLWJyYW5kIC5sb2dvIGltZyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4uYmctc3RhdHVzLW9wZW4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtaW5mbykgIWltcG9ydGFudFxyXG59XHJcblxyXG4uYmctc3RhdHVzLXdhaXRpbmcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtd2FybmluZykgIWltcG9ydGFudFxyXG59XHJcblxyXG4uYmctc3RhdHVzLWNsb3NlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kYW5nZXIpICFpbXBvcnRhbnRcclxufVxyXG5cclxuLmJnLXN0YXR1cy1wZW5kaW5nIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRhbmdlcikgIWltcG9ydGFudFxyXG59XHJcblxyXG5oMSB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnMtcHJpbWFyeSk7XHJcbn1cclxuXHJcbmgyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uay1pbnZhbGlke1xyXG4gICAgYm9yZGVyLWNvbG9yOnJlZDtcclxufVxyXG5cclxuLnRlc3Qge1xyXG4gICAgY29udGVudDonXFxGN0E0JztcclxuICAgIFxyXG59XHJcblxyXG4ubWFwe1xyXG4gICAgbWluLWhlaWdodDogNDAwcHg7XHJcbiAgICBcclxufVxyXG5cclxuLm9sLXZpZXdwb3J0e1xyXG4gICAgcG9zaXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi52ZXJzaW9uIHtcclxuICAgIHBvc2l0aW9uOnN0aWNreTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGFxdWE7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG59XHJcblxyXG4uZGVsaXZlcnktbWV0aG9ke1xyXG4gICAgZm9udC1zaXplOjEuMjVyZW07XHJcbn1cclxuLnRleHQtc21hbGx7XHJcbiAgICBmb250LXNpemU6LjlyZW07XHJcbiAgICBmbG9hdDpyaWdodDtcclxufVxyXG5cclxuLmlucHV0LXZhbGlkYXRpb24tZXJyb3J7XHJcbiAgICBib3JkZXI6MXB4IGRhc2hlZCByZWRcclxuICAgIFxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQgcHtcclxuICAgIG1hcmdpbi10b3A6MXJlbTtcclxufSIsIkBtaXhpbiBic0Jhbm5lcigkZmlsZSkge1xuICAvKiFcbiAgICogQm9vdHN0cmFwICN7JGZpbGV9IHY1LjIuMyAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAgICogQ29weXJpZ2h0IDIwMTEtMjAyMiBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAgICogQ29weXJpZ2h0IDIwMTEtMjAyMiBUd2l0dGVyLCBJbmMuXG4gICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICAgKi9cbn1cblxuIiwiOnJvb3Qge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9ycy5cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cyB7XG4gICAgLS0jeyRwcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2Ige1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmcpfTtcblxuICAvLyBGb250c1xuXG4gIC8vIE5vdGU6IFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6ICN7JGdyYWRpZW50fTtcblxuICAvLyBSb290IGFuZCBib2R5XG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvZHktdmFyaWFibGVzXG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemU6ICN7JGZvbnQtc2l6ZS1yb290fTtcbiAgfVxuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5OiAjeyRmb250LWZhbWlseS1iYXNlfTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUtYmFzZSwgLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1iYXNlfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodDogI3skbGluZS1oZWlnaHQtYmFzZX07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3J9O1xuICBAaWYgJGJvZHktdGV4dC1hbGlnbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ246ICN7JGJvZHktdGV4dC1hbGlnbn07XG4gIH1cbiAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvcmRlci12YXJcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItc3R5bGU6ICN7JGJvcmRlci1zdHlsZX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnR9O1xuXG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtOiAjeyRib3JkZXItcmFkaXVzLXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZzogI3skYm9yZGVyLXJhZGl1cy1sZ307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGw6ICN7JGJvcmRlci1yYWRpdXMteGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLTJ4bDogI3skYm9yZGVyLXJhZGl1cy0yeGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXBpbGw6ICN7JGJvcmRlci1yYWRpdXMtcGlsbH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib3JkZXItdmFyXG5cbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3J9O1xuXG4gIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3J9O1xuXG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZ307XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6ICcnO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgJyAwJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6ICcnO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgJyAwJztcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIGRpdmlkZSgxLCAkcmZzLXJlbS12YWx1ZSkpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArICcgJyArICBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyAnIGNhbGMoJyArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCAnIC0gJywgJyArICcpICsgJHZhcmlhYmxlLXdpZHRoICsgJyknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZFZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZFZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkVmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkVmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLy8gUm9vdFxuLy9cbi8vIEFiaWxpdHkgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290IGZvbnQgc2l6ZXMsIGFmZmVjdGluZyB0aGUgdmFsdWUgb2YgYHJlbWAuXG4vLyBudWxsIGJ5IGRlZmF1bHQsIHRodXMgbm90aGluZyBpcyBnZW5lcmF0ZWQuXG5cbjpyb290IHtcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplKSk7XG4gIH1cblxuICBAaWYgJGVuYWJsZS1zbW9vdGgtc2Nyb2xsIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbi8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVib290LWJvZHktcnVsZXNcbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNFxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZWJvb3QtYm9keS1ydWxlc1xuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBSZXNldCBGaXJlZm94J3MgZ3JheSBjb2xvclxuXG5ociB7XG4gIG1hcmdpbjogJGhyLW1hcmdpbi15IDA7XG4gIGNvbG9yOiAkaHItY29sb3I7IC8vIDFcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyAxLiBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy8gICAgQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vICAgIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cblxuJWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXN0eWxlOiAkaGVhZGluZ3MtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG59XG5cbmgyIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xufVxuXG5oMyB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbn1cblxuaDQge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG59XG5cbmg1IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xufVxuXG5oNiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbn1cblxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMVxuICBjdXJzb3I6IGhlbHA7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyAzXG59XG5cblxuLy8gQWRkcmVzc1xuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaXN0c1xuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIDFcbn1cblxuXG4vLyBCbG9ja3F1b3RlXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIFN0cm9uZ1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xufVxuXG5cbi8vIFNtYWxsXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gTWFya1xuXG5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZyk7XG59XG5cblxuLy8gU3ViIGFuZCBTdXBcbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHN1Yi1zdXAtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgJixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gQ29kZVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktY29kZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxuLy8gMS4gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4vLyAyLiBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuLy8gMy4gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206IDFyZW07IC8vIDJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIDNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIEltYWdlcyBhbmQgY29udGVudFxuXG5pbWcsXG5zdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcblxudGFibGUge1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5cbi8vIEZvcm1zXG4vL1xuLy8gMS4gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcblxuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuXG4gIC8vIFVuZG8gdGhlIG9wYWNpdHkgY2hhbmdlIGZyb20gQ2hyb21lXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRoZSBkcm9wZG93biBhcnJvdyBvbmx5IGZyb20gdGV4dCB0eXBlIGlucHV0cyBidWlsdCB3aXRoIGRhdGFsaXN0cyBpbiBDaHJvbWUuXG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU0OTk3MTE4XG5cbltsaXN0XTpub3QoW3R5cGU9XCJkYXRlXCJdKTpub3QoW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSk6bm90KFt0eXBlPVwibW9udGhcIl0pOm5vdChbdHlwZT1cIndlZWtcIl0pOm5vdChbdHlwZT1cInRpbWVcIl0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDMuIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuXG4gIEBpZiAkZW5hYmxlLWJ1dHRvbi1wb2ludGVycyB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8vIDEuIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyAvLyAxXG59XG5cbi8vIDEuIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4vLyAgICB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbi8vICAgIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4vLyAgICBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4vLyAyLiBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDJcbiAgYm9yZGVyOiAwOyAvLyAyXG59XG5cbi8vIDEuIEJ5IHVzaW5nIGBmbG9hdDogbGVmdGAsIHRoZSBsZWdlbmQgd2lsbCBiZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBUaGlzIHdheSB0aGUgYm9yZGVyIG9mIGEgZmllbGRzZXQgd3JhcHMgYXJvdW5kIHRoZSBsZWdlbmQgaWYgcHJlc2VudC5cbi8vIDIuIEZpeCB3cmFwcGluZyBidWcuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTcxMlxuXG5sZWdlbmQge1xuICBmbG9hdDogbGVmdDsgLy8gMVxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxlZ2VuZC1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgKyAqIHtcbiAgICBjbGVhcjogbGVmdDsgLy8gMlxuICB9XG59XG5cbi8vIEZpeCBoZWlnaHQgb2YgaW5wdXRzIHdpdGggYSB0eXBlIG9mIGRhdGV0aW1lLWxvY2FsLCBkYXRlLCBtb250aCwgd2Vlaywgb3IgdGltZVxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg4NDJcblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4vLyAyLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyAgICBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vICAgIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDFcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDJcbn1cblxuLy8gMS4gQSBmZXcgaW5wdXQgdHlwZXMgc2hvdWxkIHN0YXkgTFRSXG4vLyBTZWUgaHR0cHM6Ly9ydGxzdHlsaW5nLmNvbS9wb3N0cy9ydGwtc3R5bGluZyNmb3JtLWlucHV0c1xuLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4vLyBTZWUgaHR0cHM6Ly9ydGxjc3MuY29tL2xlYXJuL3VzYWdlLWd1aWRlL2NvbnRyb2wtZGlyZWN0aXZlcy8jcmF3XG5cbi8qIHJ0bDpyYXc6XG5bdHlwZT1cInRlbFwiXSxcblt0eXBlPVwidXJsXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG4qL1xuXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIHBhZGRpbmcgYXJvdW5kIGNvbG9yIHBpY2tlcnMgaW4gd2Via2l0IGJyb3dzZXJzXG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLy8gMS4gSW5oZXJpdCBmb250IGZhbWlseSBhbmQgbGluZSBoZWlnaHQgZm9yIGZpbGUgaW5wdXQgYnV0dG9uc1xuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gUmVtb3ZlIGJvcmRlciBmcm9tIGlmcmFtZVxuXG5pZnJhbWUge1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFN1bW1hcnlcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gUHJvZ3Jlc3Ncbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuXG4vLyBIaWRkZW4gYXR0cmlidXRlXG4vL1xuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZS5cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3ItdmFyaWFibGVzXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3ItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3JzLW1hcFxuJGdyYXlzOiAoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3JzLW1hcFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgXCJibGFja1wiOiAgICAgICRibGFjayxcbiAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3JzLW1hcFxuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMCBhcmUgMywgNC41IGFuZCA3LlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAvI3Zpc3VhbC1hdWRpby1jb250cmFzdC1jb250cmFzdFxuJG1pbi1jb250cmFzdC1yYXRpbzogICA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGJsdWUtMTAwOiB0aW50LWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuJGJsdWUtMjAwOiB0aW50LWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtMzAwOiB0aW50LWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtNDAwOiB0aW50LWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAkYmx1ZSAhZGVmYXVsdDtcbiRibHVlLTYwMDogc2hhZGUtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS03MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtODAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTkwMDogc2hhZGUtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRpbmRpZ28tMTAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTIwMDogdGludC1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby0zMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTUwMDogJGluZGlnbyAhZGVmYXVsdDtcbiRpbmRpZ28tNjAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby03MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTgwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tOTAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuXG4kcHVycGxlLTEwMDogdGludC1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0yMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTQwMDogdGludC1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS01MDA6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kcHVycGxlLTYwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNzAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS04MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTkwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcblxuJHBpbmstMTAwOiB0aW50LWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuJHBpbmstMjAwOiB0aW50LWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstMzAwOiB0aW50LWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstNDAwOiB0aW50LWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNTAwOiAkcGluayAhZGVmYXVsdDtcbiRwaW5rLTYwMDogc2hhZGUtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay03MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstODAwOiBzaGFkZS1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTkwMDogc2hhZGUtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG5cbiRyZWQtMTAwOiB0aW50LWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG4kcmVkLTIwMDogdGludC1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC0zMDA6IHRpbnQtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtNDAwOiB0aW50LWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTUwMDogJHJlZCAhZGVmYXVsdDtcbiRyZWQtNjAwOiBzaGFkZS1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC03MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTgwMDogc2hhZGUtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtOTAwOiBzaGFkZS1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuXG4kb3JhbmdlLTEwMDogdGludC1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMzAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTQwMDogdGludC1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcblxuJHllbGxvdy0xMDA6IHRpbnQtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMjAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTMwMDogdGludC1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy00MDA6IHRpbnQtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNTAwOiAkeWVsbG93ICFkZWZhdWx0O1xuJHllbGxvdy02MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTcwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctODAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy05MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG5cbiRncmVlbi0xMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuJGdyZWVuLTIwMDogdGludC1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiB0aW50LWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi00MDA6IHRpbnQtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTUwMDogJGdyZWVuICFkZWZhdWx0O1xuJGdyZWVuLTYwMDogc2hhZGUtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTgwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTkwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuXG4kdGVhbC0xMDA6IHRpbnQtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG4kdGVhbC0yMDA6IHRpbnQtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC0zMDA6IHRpbnQtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC00MDA6IHRpbnQtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC01MDA6ICR0ZWFsICFkZWZhdWx0O1xuJHRlYWwtNjAwOiBzaGFkZS1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTcwMDogc2hhZGUtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC04MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtOTAwOiBzaGFkZS1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcblxuJGN5YW4tMTAwOiB0aW50LWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuJGN5YW4tMjAwOiB0aW50LWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tMzAwOiB0aW50LWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tNDAwOiB0aW50LWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNTAwOiAkY3lhbiAhZGVmYXVsdDtcbiRjeWFuLTYwMDogc2hhZGUtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi03MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tODAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTkwMDogc2hhZGUtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiRibHVlczogKFxuICBcImJsdWUtMTAwXCI6ICRibHVlLTEwMCxcbiAgXCJibHVlLTIwMFwiOiAkYmx1ZS0yMDAsXG4gIFwiYmx1ZS0zMDBcIjogJGJsdWUtMzAwLFxuICBcImJsdWUtNDAwXCI6ICRibHVlLTQwMCxcbiAgXCJibHVlLTUwMFwiOiAkYmx1ZS01MDAsXG4gIFwiYmx1ZS02MDBcIjogJGJsdWUtNjAwLFxuICBcImJsdWUtNzAwXCI6ICRibHVlLTcwMCxcbiAgXCJibHVlLTgwMFwiOiAkYmx1ZS04MDAsXG4gIFwiYmx1ZS05MDBcIjogJGJsdWUtOTAwXG4pICFkZWZhdWx0O1xuXG4kaW5kaWdvczogKFxuICBcImluZGlnby0xMDBcIjogJGluZGlnby0xMDAsXG4gIFwiaW5kaWdvLTIwMFwiOiAkaW5kaWdvLTIwMCxcbiAgXCJpbmRpZ28tMzAwXCI6ICRpbmRpZ28tMzAwLFxuICBcImluZGlnby00MDBcIjogJGluZGlnby00MDAsXG4gIFwiaW5kaWdvLTUwMFwiOiAkaW5kaWdvLTUwMCxcbiAgXCJpbmRpZ28tNjAwXCI6ICRpbmRpZ28tNjAwLFxuICBcImluZGlnby03MDBcIjogJGluZGlnby03MDAsXG4gIFwiaW5kaWdvLTgwMFwiOiAkaW5kaWdvLTgwMCxcbiAgXCJpbmRpZ28tOTAwXCI6ICRpbmRpZ28tOTAwXG4pICFkZWZhdWx0O1xuXG4kcHVycGxlczogKFxuICBcInB1cnBsZS0xMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTIwMFwiOiAkcHVycGxlLTIwMCxcbiAgXCJwdXJwbGUtMzAwXCI6ICRwdXJwbGUtMzAwLFxuICBcInB1cnBsZS00MDBcIjogJHB1cnBsZS00MDAsXG4gIFwicHVycGxlLTUwMFwiOiAkcHVycGxlLTUwMCxcbiAgXCJwdXJwbGUtNjAwXCI6ICRwdXJwbGUtNjAwLFxuICBcInB1cnBsZS03MDBcIjogJHB1cnBsZS03MDAsXG4gIFwicHVycGxlLTgwMFwiOiAkcHVycGxlLTgwMCxcbiAgXCJwdXJwbGUtOTAwXCI6ICRwdXJwbGUtOTAwXG4pICFkZWZhdWx0O1xuXG4kcGlua3M6IChcbiAgXCJwaW5rLTEwMFwiOiAkcGluay0xMDAsXG4gIFwicGluay0yMDBcIjogJHBpbmstMjAwLFxuICBcInBpbmstMzAwXCI6ICRwaW5rLTMwMCxcbiAgXCJwaW5rLTQwMFwiOiAkcGluay00MDAsXG4gIFwicGluay01MDBcIjogJHBpbmstNTAwLFxuICBcInBpbmstNjAwXCI6ICRwaW5rLTYwMCxcbiAgXCJwaW5rLTcwMFwiOiAkcGluay03MDAsXG4gIFwicGluay04MDBcIjogJHBpbmstODAwLFxuICBcInBpbmstOTAwXCI6ICRwaW5rLTkwMFxuKSAhZGVmYXVsdDtcblxuJHJlZHM6IChcbiAgXCJyZWQtMTAwXCI6ICRyZWQtMTAwLFxuICBcInJlZC0yMDBcIjogJHJlZC0yMDAsXG4gIFwicmVkLTMwMFwiOiAkcmVkLTMwMCxcbiAgXCJyZWQtNDAwXCI6ICRyZWQtNDAwLFxuICBcInJlZC01MDBcIjogJHJlZC01MDAsXG4gIFwicmVkLTYwMFwiOiAkcmVkLTYwMCxcbiAgXCJyZWQtNzAwXCI6ICRyZWQtNzAwLFxuICBcInJlZC04MDBcIjogJHJlZC04MDAsXG4gIFwicmVkLTkwMFwiOiAkcmVkLTkwMFxuKSAhZGVmYXVsdDtcblxuJG9yYW5nZXM6IChcbiAgXCJvcmFuZ2UtMTAwXCI6ICRvcmFuZ2UtMTAwLFxuICBcIm9yYW5nZS0yMDBcIjogJG9yYW5nZS0yMDAsXG4gIFwib3JhbmdlLTMwMFwiOiAkb3JhbmdlLTMwMCxcbiAgXCJvcmFuZ2UtNDAwXCI6ICRvcmFuZ2UtNDAwLFxuICBcIm9yYW5nZS01MDBcIjogJG9yYW5nZS01MDAsXG4gIFwib3JhbmdlLTYwMFwiOiAkb3JhbmdlLTYwMCxcbiAgXCJvcmFuZ2UtNzAwXCI6ICRvcmFuZ2UtNzAwLFxuICBcIm9yYW5nZS04MDBcIjogJG9yYW5nZS04MDAsXG4gIFwib3JhbmdlLTkwMFwiOiAkb3JhbmdlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHllbGxvd3M6IChcbiAgXCJ5ZWxsb3ctMTAwXCI6ICR5ZWxsb3ctMTAwLFxuICBcInllbGxvdy0yMDBcIjogJHllbGxvdy0yMDAsXG4gIFwieWVsbG93LTMwMFwiOiAkeWVsbG93LTMwMCxcbiAgXCJ5ZWxsb3ctNDAwXCI6ICR5ZWxsb3ctNDAwLFxuICBcInllbGxvdy01MDBcIjogJHllbGxvdy01MDAsXG4gIFwieWVsbG93LTYwMFwiOiAkeWVsbG93LTYwMCxcbiAgXCJ5ZWxsb3ctNzAwXCI6ICR5ZWxsb3ctNzAwLFxuICBcInllbGxvdy04MDBcIjogJHllbGxvdy04MDAsXG4gIFwieWVsbG93LTkwMFwiOiAkeWVsbG93LTkwMFxuKSAhZGVmYXVsdDtcblxuJGdyZWVuczogKFxuICBcImdyZWVuLTEwMFwiOiAkZ3JlZW4tMTAwLFxuICBcImdyZWVuLTIwMFwiOiAkZ3JlZW4tMjAwLFxuICBcImdyZWVuLTMwMFwiOiAkZ3JlZW4tMzAwLFxuICBcImdyZWVuLTQwMFwiOiAkZ3JlZW4tNDAwLFxuICBcImdyZWVuLTUwMFwiOiAkZ3JlZW4tNTAwLFxuICBcImdyZWVuLTYwMFwiOiAkZ3JlZW4tNjAwLFxuICBcImdyZWVuLTcwMFwiOiAkZ3JlZW4tNzAwLFxuICBcImdyZWVuLTgwMFwiOiAkZ3JlZW4tODAwLFxuICBcImdyZWVuLTkwMFwiOiAkZ3JlZW4tOTAwXG4pICFkZWZhdWx0O1xuXG4kdGVhbHM6IChcbiAgXCJ0ZWFsLTEwMFwiOiAkdGVhbC0xMDAsXG4gIFwidGVhbC0yMDBcIjogJHRlYWwtMjAwLFxuICBcInRlYWwtMzAwXCI6ICR0ZWFsLTMwMCxcbiAgXCJ0ZWFsLTQwMFwiOiAkdGVhbC00MDAsXG4gIFwidGVhbC01MDBcIjogJHRlYWwtNTAwLFxuICBcInRlYWwtNjAwXCI6ICR0ZWFsLTYwMCxcbiAgXCJ0ZWFsLTcwMFwiOiAkdGVhbC03MDAsXG4gIFwidGVhbC04MDBcIjogJHRlYWwtODAwLFxuICBcInRlYWwtOTAwXCI6ICR0ZWFsLTkwMFxuKSAhZGVmYXVsdDtcblxuJGN5YW5zOiAoXG4gIFwiY3lhbi0xMDBcIjogJGN5YW4tMTAwLFxuICBcImN5YW4tMjAwXCI6ICRjeWFuLTIwMCxcbiAgXCJjeWFuLTMwMFwiOiAkY3lhbi0zMDAsXG4gIFwiY3lhbi00MDBcIjogJGN5YW4tNDAwLFxuICBcImN5YW4tNTAwXCI6ICRjeWFuLTUwMCxcbiAgXCJjeWFuLTYwMFwiOiAkY3lhbi02MDAsXG4gIFwiY3lhbi03MDBcIjogJGN5YW4tNzAwLFxuICBcImN5YW4tODAwXCI6ICRjeWFuLTgwMCxcbiAgXCJjeWFuLTkwMFwiOiAkY3lhbi05MDBcbikgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVkdWNlZC1tb3Rpb246ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNtb290aC1zY3JvbGw6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY29udGFpbmVyLWNsYXNzZXM6ICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNzc2dyaWQ6ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtYnV0dG9uLXBvaW50ZXJzOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJmczogICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtbmVnYXRpdmUtbWFyZ2luczogICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllczogIHRydWUgIWRlZmF1bHQ7XG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuXG4kdmFyaWFibGUtcHJlZml4OiAgICAgICAgICAgICBicy0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBwYWRkaW5nXG5cbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuXG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRpbml0aWFsaXNtLWZvbnQtc2l6ZTogICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLW1hcmdpbi15OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRoci1jb2xvcjogICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGhyLWJnLWNvbG9yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbiRoci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBBbGxvd3MgZm9yIGluaGVyaXRlZCBjb2xvcnNcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbiRsZWdlbmQtbWFyZ2luLWJvdHRvbTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXdlaWdodDogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMTg3NWVtICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLWNvbG9yOiAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcjogICAgIC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnLWZhY3RvcjogICAgICAuMSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItZmFjdG9yOiAgICAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6IC4yNSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYmx1cjogICAgICAgICAgMCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogICAgMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYWJsZXNcbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1ob3Zlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICAxcHggc29saWQgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIGZvciBiYWNrZ3JvdW5kLWltYWdlXG4kZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbjogICAgICAgICAgIHJpZ2h0ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgICAgMTZweCAxMnB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNic+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDIuNSArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICBjZW50ZXIgcmlnaHQgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc206ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZzogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC10cmFuc2l0aW9uOiAgICAgICAgICAkaW5wdXQtdHJhbnNpdGlvbiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb246ICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tcmFuZ2UtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZpbGUtdmFyaWFibGVzXG4kZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICBzaGFkZS1jb2xvcigkZm9ybS1maWxlLWJ1dHRvbi1iZywgNSUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMXMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAuMXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTogICAgICAgICAgJGZvcm0tdGV4dC1mb250LXN0eWxlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICAkZGFuZ2VyICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9Jz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gIClcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LXN0YWNrXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhcy1iYWNrZHJvcDogICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXM6ICAgICAgICAgICAgICAgICAgMTA0NSAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDU1ICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwODAgIWRlZmF1bHQ7XG4kemluZGV4LXRvYXN0OiAgICAgICAgICAgICAgICAgICAgICAxMDkwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtc3RhY2tcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2LXZhcmlhYmxlc1xuXG5cbi8vIE5hdmJhclxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLXZhcmlhYmxlc1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICAgICAgICAkYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICAgICAgICAgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tdmFyaWFibGVzXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBzaGFkZS1jb2xvcigkZHJvcGRvd24tbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkgJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4vLyBmdXN2LWVuYWJsZVxuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG4kZHJvcGRvd24tZGFyay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1iZzogICAgICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3I6ICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZzogICAgICAgICAgJGRyb3Bkb3duLWRpdmlkZXItYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3gtc2hhZG93OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1jb2xvcjogICAgICAgICAgJGRyb3Bkb3duLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yOiAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnOiAgICAgICByZ2JhKCR3aGl0ZSwgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yOiAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnOiAgICAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcjogICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcblxuXG4vLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgICgkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggKiAtMSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuXG5cbi8vIFBsYWNlaG9sZGVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGxhY2Vob2xkZXJzXG4kcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjogICAgICAgICAgIC4yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwbGFjZWhvbGRlcnNcblxuLy8gQ2FyZHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtdmFyaWFibGVzXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXNwYWNlci15OiAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggKiAuNSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZC12YXJpYWJsZXNcblxuLy8gQWNjb3JkaW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tdmFyaWFibGVzXG4kYWNjb3JkaW9uLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0OyAvLyBTYXNzIHZhcmlhYmxlIGJlY2F1c2Ugb2YgJGFjY29yZGlvbi1idXR0b24taWNvblxuJGFjY29yZGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHN1YnRyYWN0KCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgJGFjY29yZGlvbi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteDogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGFjY29yZGlvbi1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uLCBib3JkZXItcmFkaXVzIC4xNXMgZWFzZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDkwJSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICBzaGFkZS1jb2xvcigkcHJpbWFyeSwgMTAlKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRidG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRhY2NvcmRpb24tYnV0dG9uLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm06ICAgICAgICAgICAgICAgIHJvdGF0ZSgtMTgwZGVnKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbjogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tY29sb3J9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3J9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi12YXJpYWJsZXNcblxuLy8gVG9vbHRpcHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtdmFyaWFibGVzXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFRPRE86IHJlbW92ZSB0aGlzIGluIHY2XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4vLyBmdXN2LWVuYWJsZVxuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcblxuXG4vLyBQb3BvdmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci12YXJpYWJsZXNcbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBzaGFkZS1jb2xvcigkcG9wb3Zlci1iZywgNiUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJhZGdlLXZhcmlhYmxlc1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtdmFyaWFibGVzXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgICRib3gtc2hhZG93LXNtICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGFsZXJ0LWJnLXNjYWxlOiAgICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1zY2FsZTogICAgICAgICAgICAtNzAlICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLXNjYWxlOiAgICAgICAgICAgICA0MCUgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy12YXJpYWJsZXNcbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAkYm94LXNoYWRvdy1zbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGh1bWJuYWlsLXZhcmlhYmxlc1xuXG5cbi8vIEZpZ3VyZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZpZ3VyZS12YXJpYWJsZXNcbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQ6ICAgICAgICAkYnJlYWRjcnVtYi1kaXZpZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi12YXJpYWJsZXNcblxuLy8gQ2Fyb3VzZWxcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLXZhcmlhYmxlc1xuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTogICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5OiAgMSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyOiAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAycmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNMTEuMzU0IDEuNjQ2YS41LjUgMCAwIDEgMCAuNzA4TDUuNzA3IDhsNS42NDcgNS42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOGwtNi02YS41LjUgMCAwIDEgMC0uNzA4bDYtNmEuNS41IDAgMCAxIC43MDggMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNNC42NDYgMS42NDZhLjUuNSAwIDAgMSAuNzA4IDBsNiA2YS41LjUgMCAwIDEgMCAuNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4LS43MDhMMTAuMjkzIDggNC42NDYgMi4zNTRhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZzogICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I6ICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyOiAgaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFNwaW5uZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLXZhcmlhYmxlc1xuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IC43NXMgIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItdmFyaWFibGVzXG5cblxuLy8gQ2xvc2VcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsb3NlLXZhcmlhYmxlc1xuJGJ0bi1jbG9zZS13aWR0aDogICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhlaWdodDogICAgICAgICAgICRidG4tY2xvc2Utd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteDogICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXk6ICAgICAgICAkYnRuLWNsb3NlLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtY29sb3I6ICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1iZzogICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYnRuLWNsb3NlLWNvbG9yfSc+PHBhdGggZD0nTS4yOTMuMjkzYTEgMSAwIDAgMSAxLjQxNCAwTDggNi41ODYgMTQuMjkzLjI5M2ExIDEgMCAxIDEgMS40MTQgMS40MTRMOS40MTQgOGw2LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQgMS40MTRMOCA5LjQxNGwtNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0LTEuNDE0TDYuNTg2IDggLjI5MyAxLjcwN2ExIDEgMCAwIDEgMC0xLjQxNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tY2xvc2Utb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgIC43NSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICAgICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNsb3NlLXZhcmlhYmxlc1xuXG5cbi8vIE9mZmNhbnZhc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuJG9mZmNhbnZhcy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXBhZGRpbmcteDogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aDogICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ6ICAgICAgICAgMzB2aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgIC4zcyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmctY29sb3I6ICAgICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtY29sb3IgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYWNrZHJvcC1iZzogICAgICAgICAgICAgJG1vZGFsLWJhY2tkcm9wLWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy12YXJpYWJsZXNcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4xODc1cmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCByZW1vdmluZyBpbiB2NlxuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuIiwiLy8gXHJcbi8vIFR5cG9ncmFwaHlcclxuLy8gXHJcblxyXG4vLyBPdmVycmlkZSBCb290c3RyYXAgdHlwb2dyYXBoeSB2YXJpYWJsZXNcclxuXHJcbiRmb250LWZhbWlseS1iYXNlOiBcIk11bGlzaFwiLFxyXG4tYXBwbGUtc3lzdGVtLFxyXG5CbGlua01hY1N5c3RlbUZvbnQsXHJcblwiU2Vnb2UgVUlcIixcclxuUm9ib3RvLFxyXG5cIkhlbHZldGljYSBOZXVlXCIsXHJcbkFyaWFsLFxyXG5zYW5zLXNlcmlmLFxyXG5cIkFwcGxlIENvbG9yIEVtb2ppXCIsXHJcblwiU2Vnb2UgVUkgRW1vamlcIixcclxuXCJTZWdvZSBVSSBTeW1ib2xcIixcclxuXCJOb3RvIENvbG9yIEVtb2ppXCI7XHJcblxyXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6IFwiTmV3c3JlYWRlclwiLFxyXG4tYXBwbGUtc3lzdGVtLFxyXG5CbGlua01hY1N5c3RlbUZvbnQsXHJcblwiU2Vnb2UgVUlcIixcclxuUm9ib3RvLFxyXG5cIkhlbHZldGljYSBOZXVlXCIsXHJcbkFyaWFsLFxyXG5zYW5zLXNlcmlmLFxyXG5cIkFwcGxlIENvbG9yIEVtb2ppXCIsXHJcblwiU2Vnb2UgVUkgRW1vamlcIixcclxuXCJTZWdvZSBVSSBTeW1ib2xcIixcclxuXCJOb3RvIENvbG9yIEVtb2ppXCI7XHJcblxyXG4vLyBDdXN0b20gZm9udCBmYW1pbHlcclxuXHJcbiRhbHQtZm9udC1mYW1pbHk6IFwiS2FuaXRcIixcclxuLWFwcGxlLXN5c3RlbSxcclxuQmxpbmtNYWNTeXN0ZW1Gb250LFxyXG5cIlNlZ29lIFVJXCIsXHJcblJvYm90byxcclxuXCJIZWx2ZXRpY2EgTmV1ZVwiLFxyXG5BcmlhbCxcclxuc2Fucy1zZXJpZixcclxuXCJBcHBsZSBDb2xvciBFbW9qaVwiLFxyXG5cIlNlZ29lIFVJIEVtb2ppXCIsXHJcblwiU2Vnb2UgVUkgU3ltYm9sXCIsXHJcblwiTm90byBDb2xvciBFbW9qaVwiO1xyXG5cclxuLy8gT3ZlcnJpZGUgZGVmYXVsdCBCb290c3RyYXAgZm9udCB3ZWlnaHRzXHJcblxyXG4kZm9udC13ZWlnaHQtbm9ybWFsOiA1MDA7XHJcbiRoZWFkaW5ncy1mb250LXdlaWdodDogNjAwO1xyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtbWl4aW5zXG4iLCIvL1xuLy8gSGVhZGluZ3Ncbi8vXG4uaDEge1xuICBAZXh0ZW5kIGgxO1xufVxuXG4uaDIge1xuICBAZXh0ZW5kIGgyO1xufVxuXG4uaDMge1xuICBAZXh0ZW5kIGgzO1xufVxuXG4uaDQge1xuICBAZXh0ZW5kIGg0O1xufVxuXG4uaDUge1xuICBAZXh0ZW5kIGg1O1xufVxuXG4uaDYge1xuICBAZXh0ZW5kIGg2O1xufVxuXG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbkBlYWNoICRkaXNwbGF5LCAkZm9udC1zaXplIGluICRkaXNwbGF5LWZvbnQtc2l6ZXMge1xuICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGZvbnQtZmFtaWx5OiAkZGlzcGxheS1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkZGlzcGxheS1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG4gIH1cbn1cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuLnNtYWxsIHtcbiAgQGV4dGVuZCBzbWFsbDtcbn1cblxuLm1hcmsge1xuICBAZXh0ZW5kIG1hcms7XG59XG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGluaXRpYWxpc20tZm9udC1zaXplKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogLSRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1jb250YWluZXItY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgbWl4aW5zXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkY29udGFpbmVyLXBhZGRpbmcteCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG5cbiAgICA+ICoge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtY3NzZ3JpZCB7XG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1yb3dzLCAxKSwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9Y29sdW1ucywgI3skZ3JpZC1jb2x1bW5zfSksIDFmcik7XG4gICAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9Z2FwLCAjeyRncmlkLWd1dHRlci13aWR0aH0pO1xuXG4gICAgQGluY2x1ZGUgbWFrZS1jc3NncmlkKCk7XG4gIH1cbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8vIFRPRE86IFJldmlzaXQgY2FsYyBvcmRlciBhZnRlciBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtYm9vdHN0cmFwL3JlYWN0LWJvb3RzdHJhcC9pc3N1ZXMvNjAzOSBpcyBmaXhlZFxuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgpIHtcbiAgLy8gQWRkIGJveCBzaXppbmcgaWYgb25seSB0aGUgZ3JpZCBpcyBsb2FkZWRcbiAgYm94LXNpemluZzogaWYodmFyaWFibGUtZXhpc3RzKGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcpIGFuZCAkaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZywgYm9yZGVyLWJveCwgbnVsbCk7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSBzZXQgdGhlIHdpZHRoXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFByZXZlbnQgYC5jb2wtYXV0b2AsIGAuY29sYCAoJiByZXNwb25zaXZlIHZhcmlhbnRzKSBmcm9tIGJyZWFraW5nIG91dCB0aGUgZ3JpZFxuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tdG9wOiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemU6IGZhbHNlLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgJHNpemUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcblxuICB9IEBlbHNlIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyIG9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyR0YWJsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyR0YWJsZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnOiAjeyR0YWJsZS1hY2NlbnQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAjeyR0YWJsZS1zdHJpcGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skdGFibGUtc3RyaXBlZC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3skdGFibGUtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyR0YWJsZS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skdGFibGUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skdGFibGUtaG92ZXItYmd9O1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgdmVydGljYWwtYWxpZ246ICR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuXG4gIC8vIFRhcmdldCB0aCAmIHRkXG4gIC8vIFdlIG5lZWQgdGhlIGNoaWxkIGNvbWJpbmF0b3IgdG8gcHJldmVudCBzdHlsZXMgbGVha2luZyB0byBuZXN0ZWQgdGFibGVzIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGAudGFibGVgIGNsYXNzLlxuICAvLyBXZSB1c2UgdGhlIHVuaXZlcnNhbCBzZWxlY3RvcnMgaGVyZSB0byBzaW1wbGlmeSB0aGUgc2VsZWN0b3IgKGVsc2Ugd2Ugd291bGQgbmVlZCA2IGRpZmZlcmVudCBzZWxlY3RvcnMpLlxuICAvLyBBbm90aGVyIGFkdmFudGFnZSBpcyB0aGF0IHRoaXMgZ2VuZXJhdGVzIGxlc3MgY29kZSBhbmQgbWFrZXMgdGhlIHNlbGVjdG9yIGxlc3Mgc3BlY2lmaWMgbWFraW5nIGl0IGVhc2llciB0byBvdmVycmlkZS5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteSAkdGFibGUtY2VsbC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnKTtcbiAgfVxuXG4gID4gdGJvZHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICB9XG5cbiAgPiB0aGVhZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxufVxuXG4udGFibGUtZ3JvdXAtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6ICgkdGFibGUtYm9yZGVyLXdpZHRoICogMikgc29saWQgJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjtcbn1cblxuLy9cbi8vIENoYW5nZSBwbGFjZW1lbnQgb2YgY2FwdGlvbnMgd2l0aCBhIGNsYXNzXG4vL1xuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbSAkdGFibGUtY2VsbC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuLy9cbi8vIFdoZW4gYm9yZGVycyBhcmUgYWRkZWQgb24gYWxsIHNpZGVzIG9mIHRoZSBjZWxscywgdGhlIGNvcm5lcnMgY2FuIHJlbmRlciBvZGQgd2hlblxuLy8gdGhlc2UgYm9yZGVycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBjb2xvciBvciBpZiB0aGV5IGFyZSBzZW1pLXRyYW5zcGFyZW50LlxuLy8gVGhlcmVmb3Igd2UgYWRkIHRvcCBhbmQgYm9yZGVyIGJvdHRvbXMgdG8gdGhlIGB0cmBzIGFuZCBsZWZ0IGFuZCByaWdodCBib3JkZXJzXG4vLyB0byB0aGUgYHRkYHMgb3IgYHRoYHNcblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgPiA6bm90KGNhcHRpb24pID4gKiB7XG4gICAgYm9yZGVyLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoIDA7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICAgID4gKiB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLy8gRm9yIHJvd3Ncbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSA+ICoge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gIH1cbn1cblxuLy8gRm9yIGNvbHVtbnNcbi50YWJsZS1zdHJpcGVkLWNvbHVtbnMge1xuICA+IDpub3QoY2FwdGlvbikgPiB0ciA+IDpudGgtY2hpbGQoI3skdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyfSkge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHRhYmxlXG4vL1xuLy8gVGhlIGAudGFibGUtYWN0aXZlYCBjbGFzcyBjYW4gYmUgYWRkZWQgdG8gaGlnaGxpZ2h0IHJvd3Mgb3IgY2VsbHNcblxuLnRhYmxlLWFjdGl2ZSB7XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yKTtcbn1cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcbiAgICAkdGFibGUtYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJHN0cmlwZWQtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skaG92ZXItYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRob3Zlci1iZyl9O1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYW50XG4iLCIvL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsIi8vXG4vLyBGb3JtIHRleHRcbi8vXG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLXRleHQtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXRleHQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xufVxuIiwiLy9cbi8vIEdlbmVyYWwgZm9ybSBjb250cm9scyAocGx1cyBhIGZldyBzcGVjaWZpYyBoaWdoLWxldmVsIGludGVydmVudGlvbnMpXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImZpbGVcIl0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHByZXZlbnQgcHNldWRvIGVsZW1lbnQgYnV0dG9uIG92ZXJsYXBcblxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzIzMzA3XG4gIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhpcyB3b3JrYXJvdW5kIG9uY2UgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1OSBpcyByZXNvbHZlZFxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE11bHRpcGx5IGxpbmUtaGVpZ2h0IGJ5IDFlbSBpZiBpdCBoYXMgbm8gdW5pdFxuICAgIGhlaWdodDogaWYodW5pdCgkaW5wdXQtbGluZS1oZWlnaHQpID09IFwiXCIsICRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LWxpbmUtaGVpZ2h0KTtcbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRmlsZSBpbnB1dCBidXR0b25zIHRoZW1pbmdcbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteSkgKC0kaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogJGZvcm0tZmlsZS1idXR0b24tY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tZmlsZS1idXR0b24tYmcpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc7XG4gIH1cbn1cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktc20pICgtJGlucHV0LXBhZGRpbmcteC1zbSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LWxnKSAoLSRpbnB1dC1wYWRkaW5nLXgtbGcpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LWxnO1xuICB9XG59XG5cbi8vIE1ha2Ugc3VyZSB0ZXh0YXJlYXMgZG9uJ3Qgc2hyaW5rIHRvbyBtdWNoIHdoZW4gcmVzaXplZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjkxMjRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxudGV4dGFyZWEge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogJGZvcm0tY29sb3Itd2lkdGg7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1vei1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20geyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207IH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcgeyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLCIvLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuXG4uZm9ybS1zZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgLW1vei1wYWRkaW5nLXN0YXJ0OiBzdWJ0cmFjdCgkZm9ybS1zZWxlY3QtcGFkZGluZy14LCAzcHgpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8zMjYzNlxuICBmb250LWZhbWlseTogJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICBib3JkZXI6ICRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXNlbGVjdC10cmFuc2l0aW9uKTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmZvcm0tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuIiwiLy9cbi8vIENoZWNrL3JhZGlvXG4vL1xuXG4uZm9ybS1jaGVjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9ybS1jaGVjay1taW4taGVpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b207XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1iZztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWNoZWNrLXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSksIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3R5cGU9XCJjaGVja2JveFwiXTppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSk7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cblxuICAvLyBVc2UgZGlzYWJsZWQgYXR0cmlidXRlIGluIGFkZGl0aW9uIG9mIDpkaXNhYmxlZCBwc2V1ZG8tY2xhc3NcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yO1xuICBjdXJzb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjtcbn1cblxuLy9cbi8vIFN3aXRjaFxuLy9cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgd2lkdGg6ICRmb3JtLXN3aXRjaC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlKTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb247XG5cbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpLCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgKyAuYnRuIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBcclxuLy8gQ29sb3JzXHJcbi8vIFxyXG5cclxuLy8gT3ZlcnJpZGUgQm9vdHN0cmFwIGNvbG9yIHN5c3RlbCBjb2xvcnNcclxuXHJcbiRibHVlOiAjMjkzN2YwO1xyXG4kcHVycGxlOiAjOWYxYWUyO1xyXG4kYmxhY2s6ICMwMDAwMDA7XHJcbiRtYWdlbnRhOiBtYWdlbnRhO1xyXG5cclxuJHByaW1hcnk6IGxpbWVncmVlbjtcclxuJHNlY29uZGFyeTogJHB1cnBsZTsiLCIvLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5mb3JtLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCwgJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQgLSAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgPiBsYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgLy8gYWxsb3cgdGV4dGFyZWFzXG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyBSZXF1aXJlZCBmb3IgYWxpZ25pbmcgbGFiZWwncyB0ZXh0IHdpdGggdGhlIGlucHV0IGFzIGl0IGFmZmVjdHMgaW5uZXIgYm94IG1vZGVsXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbik7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIH4gbGFiZWwge1xuICAgICAgb3BhY2l0eTogJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwOyAvLyBSZXF1aXJlZCB0byBwcm9wZXJseSBwb3NpdGlvbiBsYWJlbCB0ZXh0IC0gYXMgZXhwbGFpbmVkIGFib3ZlXG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tc2VsZWN0LFxuICA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5pbnB1dC1ncm91cCB7XG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gOm50aC1sYXN0LWNoaWxkKG4gKyAzKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgNCksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItdG9vbHRpcClcIiArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSkjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcbiAgJHN0YXRlLFxuICAkY29sb3IsXG4gICRpY29uLFxuICAkdG9vbHRpcC1jb2xvcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJHRvb2x0aXAtYmctY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpLFxuICAkZm9jdXMtYm94LXNoYWRvdzogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSlcbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSxcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSlbc2l6ZT1cIjFcIl0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvciksIGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbiwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb247XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZSwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICB3aWR0aDogYWRkKCRmb3JtLWNvbG9yLXdpZHRoLCAkaW5wdXQtaGVpZ2h0LWlubmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRidG4tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skYnRuLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseTogI3skYnRuLWZvbnQtZmFtaWx5fTtcbiAgQGluY2x1ZGUgcmZzKCRidG4tZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRidG4tZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQ6ICN7JGJ0bi1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGg6ICN7JGJ0bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJ0bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAjeyRidG4tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAjeyRidG4tZm9jdXMtd2lkdGh9IHJnYmEodmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiKSwgLjUpO1xuICAvLyBzY3NzLWRvY3MtZW5kIGJ0bi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy14KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IGlmKCRlbmFibGUtYnV0dG9uLXBvaW50ZXJzLCBwb2ludGVyLCBudWxsKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1iZykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmJ0bi1jaGVjayArICY6aG92ZXIge1xuICAgIC8vIG92ZXJyaWRlIGZvciB0aGUgY2hlY2tib3gvcmFkaW8gYnV0dG9uc1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Zm9jdXMtdmlzaWJsZSArICYge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpjaGVja2VkICsgJixcbiAgOm5vdCguYnRuLWNoZWNrKSArICY6YWN0aXZlLFxuICAmOmZpcnN0LWNoaWxkOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICYuc2hvdyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZyk7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdykpO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXQ6ZGlzYWJsZWQgJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1sb29wc1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaWYgJGNvbG9yID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkY29sb3IgPT0gXCJkYXJrXCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctdGludC1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1sb29wc1xuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LW5vcm1hbH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRidG4tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRidG4tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRidG4tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogbm9uZTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peChjb2xvci1jb250cmFzdCgkcHJpbWFyeSksICRwcmltYXJ5LCAxNSUpKX07XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRkaXNhYmxlZC1ib3JkZXJ9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYigkY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogbm9uZTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLWNsYXNzZXNcbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi5jb2xsYXBzZS1ob3Jpem9udGFsIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtY2xhc3Nlc1xuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3BlbmQsXG4uZHJvcGRvd24sXG4uZHJvcHN0YXJ0LFxuLmRyb3B1cC1jZW50ZXIsXG4uZHJvcGRvd24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4OiAjeyR6aW5kZXgtZHJvcGRvd259O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGg6ICN7JGRyb3Bkb3duLW1pbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteDogI3skZHJvcGRvd24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15OiAjeyRkcm9wZG93bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXI6ICN7JGRyb3Bkb3duLXNwYWNlcn07XG4gIEBpbmNsdWRlIHJmcygkZHJvcGRvd24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGg6ICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogI3skZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tY3NzLXZhcnNcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBtaW4td2lkdGg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14KTtcbiAgbWFyZ2luOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IG1hcmdpbiBvZiB1bFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3cpKTtcblxuICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICA+IC5kcm9wZG93bi1pdGVtOmZpcnN0LWNoaWxkLFxuICAgID4gbGk6Zmlyc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gICAgPiAuZHJvcGRvd24taXRlbTpsYXN0LWNoaWxkLFxuICAgID4gbGk6bGFzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG4vLyBXZSBkZWxpYmVyYXRlbHkgaGFyZGNvZGUgdGhlIGBicy1gIHByZWZpeCBiZWNhdXNlIHdlIGNoZWNrXG4vLyB0aGlzIGN1c3RvbSBwcm9wZXJ0eSBpbiBKUyB0byBkZXRlcm1pbmUgUG9wcGVyJ3MgcG9zaXRpb25pbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tZW5kIHtcbiAgICAgIC0tYnMtcG9zaXRpb246IGVuZDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcGVuZCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChlbmQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcHN0YXJ0IHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChzdGFydCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTsgLy8gUmV2aXNpdCBpbiB2NiB0byBkZS1kdXBlIHN0eWxlcyB0aGF0IGNvbmZsaWN0IHdpdGggPGhyPiBlbGVtZW50XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnKSk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmcpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xufVxuXG4vLyBEYXJrIGRyb3Bkb3duc1xuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWRhcmstYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tZGFyay1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC1taXhpbnNcbkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1zdGFydCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXN0YXJ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwiLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuICA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuICA+IC5idG46aG92ZXIsXG4gID4gLmJ0bjpmb2N1cyxcbiAgPiAuYnRuOmFjdGl2ZSxcbiAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IDpub3QoLmJ0bi1jaGVjazpmaXJzdC1jaGlsZCkgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OmZpcnN0LWNoaWxkLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICB9XG5cbiAgLy8gVGhlIGxlZnQgcmFkaXVzIHNob3VsZCBiZSAwIGlmIHRoZSBidXR0b24gaXM6XG4gIC8vIC0gdGhlIFwidGhpcmQgb3IgbW9yZVwiIGNoaWxkXG4gIC8vIC0gdGhlIHNlY29uZCBjaGlsZCBhbmQgdGhlIHByZXZpb3VzIGVsZW1lbnQgaXNuJ3QgYC5idG4tY2hlY2tgIChtYWtpbmcgaXQgdGhlIGZpcnN0IGNoaWxkIHZpc3VhbGx5KVxuICAvLyAtIHBhcnQgb2YgYSBidG4tZ3JvdXAgd2hpY2ggaXNuJ3QgdGhlIGZpcnN0IGNoaWxkXG4gID4gLmJ0bjpudGgtY2hpbGQobiArIDMpLFxuICA+IDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcGVuZCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcHN0YXJ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG4gfiAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6ICN7JG5hdi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6ICN7JG5hdi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbmF2LWxpbmstdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi10YWJzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aDogI3skbmF2LXRhYnMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtdGFicy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi10YWJzLWNzcy12YXJzXG5cbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1waWxscy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogI3skbmF2LXBpbGxzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtcGlsbHMtY3NzLXZhcnNcblxuICAubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtZmlsbCxcbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIC5uYXYtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIE1ha2Ugc3VyZSBidXR0b24gd2lsbCBncm93XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteDogI3tpZigkbmF2YmFyLXBhZGRpbmcteCA9PSBudWxsLCAwLCAkbmF2YmFyLXBhZGRpbmcteCl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15OiAjeyRuYXZiYXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICN7JG5hdmJhci1icmFuZC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogI3skbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplOiAjeyRuYXZiYXItYnJhbmQtZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAjeyRuYXZiYXItdG9nZ2xlci1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAjeyRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICN7JG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogI3skbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCk7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAvLyBUaGUgYGZsZXgtd3JhcGAgcHJvcGVydHkgaXMgaW5oZXJpdGVkIHRvIHNpbXBsaWZ5IHRoZSBleHBhbmRlZCBuYXZiYXJzXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogMDtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAuc2hvdyA+IC5uYXYtbGluayxcbiAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcblxuICBhLFxuICBhOmhvdmVyLFxuICBhOmZvY3VzICB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcik7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb24pKTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGgpO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogdmFyKC0tI3skcHJlZml4fXNjcm9sbC1oZWlnaHQsIDc1dmgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWV4cGFuZC1sb29wXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby11bmlvbi1jbGFzcy1uYW1lXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMge1xuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgei1pbmRleDogYXV0bztcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obm9uZSk7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWV4cGFuZC1sb29wXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi5uYXZiYXItbGlnaHQge1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgLm5hdmJhci1saWdodGBcIiwgXCJ2NS4yLjBcIiwgXCJ2Ni4wLjBcIiwgdHJ1ZSk7XG59XG5cbi5uYXZiYXItZGFyayB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItZGFyay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLWNzcy12YXJzXG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteTogI3skY2FyZC1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXg6ICN7JGNhcmQtc3BhY2VyLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15OiAjeyRjYXJkLXRpdGxlLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdykpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3I6ICN7JGFjY29yZGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1iZzogI3skYWNjb3JkaW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoOiAjeyRhY2NvcmRpb24taWNvbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm06ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm9yZGVyLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi1jc3MtdmFyc1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIFJlc2V0IGJ1dHRvbiBzdHlsZVxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZyk7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tdHJhbnNpdGlvbikpO1xuXG4gICY6bm90KC5jb2xsYXBzZWQpIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkpIDAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb24pO1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWNjb3JkaW9uIGljb25cbiAgJjo6YWZ0ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uKSk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgLy8gT25seSBzZXQgYSBib3JkZXItcmFkaXVzIG9uIHRoZSBsYXN0IGl0ZW0gaWYgdGhlIGFjY29yZGlvbiBpcyBjb2xsYXBzZWRcbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14KTtcbn1cblxuXG4vLyBGbHVzaCBhY2NvcmRpb24gaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGFjY29yZGlvbiBpdGVtcyBlZGdlLXRvLWVkZ2UuXG5cbi5hY2NvcmRpb24tZmx1c2gge1xuICAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3A6IDA7IH1cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAmLFxuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteTogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICN7JGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbX07XG4gIEBpbmNsdWRlIHJmcygkYnJlYWRjcnVtYi1mb250LXNpemUsIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZzogI3skYnJlYWRjcnVtYi1iZ307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogI3skYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAjeyRicmVhZGNydW1iLWRpdmlkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAjeyRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogI3skYnJlYWRjcnVtYi1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gU3VwcHJlc3MgaW5saW5lIHNwYWNpbmdzIGFuZCB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcik7XG4gICAgICBjb250ZW50OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpKSAje1wiLyogcnRsOlwifSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZCkpICN7XCIqL1wifTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFnaW5hdGlvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFnaW5hdGlvbi1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBhZ2luYXRpb24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3I6ICN7JHBhZ2luYXRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnOiAjeyRwYWdpbmF0aW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZzogI3skcGFnaW5hdGlvbi1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICN7JHBhZ2luYXRpb24tZm9jdXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAjeyRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZzogI3skcGFnaW5hdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcGFnaW5hdGlvbi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZyk7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAuYWN0aXZlID4gJiB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgLmRpc2FibGVkID4gJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ7XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0ID09ICgkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggKiAtMSkge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gQWRkIGJvcmRlci1yYWRpdXMgdG8gYWxsIHBhZ2VMaW5rcyBpbiBjYXNlIHRoZXkgaGF2ZSBsZWZ0IG1hcmdpblxuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1peGluXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1taXhpblxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteDogI3skYmFkZ2UtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15OiAjeyRiYWRnZS1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGJhZGdlLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQ6ICN7JGJhZGdlLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3I6ICN7JGJhZGdlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYmFkZ2UtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14OiAjeyRhbGVydC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXk6ICN7JGFsZXJ0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b206ICN7JGFsZXJ0LW1hcmdpbi1ib3R0b219O1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyOiAjeyRhbGVydC1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzOiAjeyRhbGVydC1ib3JkZXItcmFkaXVzfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXggKyAxO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgKiAxLjI1ICRhbGVydC1wYWRkaW5nLXg7XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkc3RhdGUsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgJGFsZXJ0LWJhY2tncm91bmQ6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGFsZXJ0LWJnLXNjYWxlKTtcbiAgJGFsZXJ0LWJvcmRlcjogc2hpZnQtY29sb3IoJHZhbHVlLCAkYWxlcnQtYm9yZGVyLXNjYWxlKTtcbiAgJGFsZXJ0LWNvbG9yOiBzaGlmdC1jb2xvcigkdmFsdWUsICRhbGVydC1jb2xvci1zY2FsZSk7XG5cbiAgQGlmIChjb250cmFzdC1yYXRpbygkYWxlcnQtYmFja2dyb3VuZCwgJGFsZXJ0LWNvbG9yKSA8ICRtaW4tY29udHJhc3QtcmF0aW8pIHtcbiAgICAkYWxlcnQtY29sb3I6IG1peCgkdmFsdWUsIGNvbG9yLWNvbnRyYXN0KCRhbGVydC1iYWNrZ3JvdW5kKSwgYWJzKCRhbGVydC1jb2xvci1zY2FsZSkpO1xuICB9XG4gIC5hbGVydC0jeyRzdGF0ZX0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWJhY2tncm91bmQsICRhbGVydC1ib3JkZXIsICRhbGVydC1jb2xvcik7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtbW9kaWZpZXJzXG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtdmFyaWFudC1taXhpblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogI3skYm9yZGVyfTtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IHNoYWRlLWNvbG9yKCRjb2xvciwgMjAlKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYW50LW1peGluXG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWtleWZyYW1lc1xuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICAwJSB7IGJhY2tncm91bmQtcG9zaXRpb24teDogJHByb2dyZXNzLWhlaWdodDsgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWtleWZyYW1lc1xuXG4ucHJvZ3Jlc3Mge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0OiAjeyRwcm9ncmVzcy1oZWlnaHR9O1xuICBAaW5jbHVkZSByZnMoJHByb2dyZXNzLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmc6ICN7JHByb2dyZXNzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogI3skcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3c6ICN7JHByb2dyZXNzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3I6ICN7JHByb2dyZXNzLWJhci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZzogI3skcHJvZ3Jlc3MtYmFyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICN7JHByb2dyZXNzLWJhci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3cpKTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uKSk7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6ICN7JGxpc3QtZ3JvdXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnOiAjeyRsaXN0LWdyb3VwLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiAjeyRsaXN0LWdyb3VwLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xufVxuXG4ubGlzdC1ncm91cC1udW1iZXJlZCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogc2VjdGlvbjtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW06OmJlZm9yZSB7XG4gICAgLy8gSW5jcmVtZW50cyBvbmx5IHRoaXMgaW5zdGFuY2Ugb2YgdGhlIHNlY3Rpb24gY291bnRlclxuICAgIGNvbnRlbnQ6IGNvdW50ZXJzKHNlY3Rpb24sIFwiLlwiKSBcIi4gXCI7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG4gIH1cbn1cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmcpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnKTtcbiAgfVxufVxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZyk7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAmICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4vLyBMaXN0IGdyb3VwIGNvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJHN0YXRlLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICRsaXN0LWdyb3VwLXZhcmlhbnQtYmc6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZSk7XG4gICRsaXN0LWdyb3VwLXZhcmlhbnQtY29sb3I6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZSk7XG4gIEBpZiAoY29udHJhc3QtcmF0aW8oJGxpc3QtZ3JvdXAtdmFyaWFudC1iZywgJGxpc3QtZ3JvdXAtdmFyaWFudC1jb2xvcikgPCAkbWluLWNvbnRyYXN0LXJhdGlvKSB7XG4gICAgJGxpc3QtZ3JvdXAtdmFyaWFudC1jb2xvcjogbWl4KCR2YWx1ZSwgY29sb3ItY29udHJhc3QoJGxpc3QtZ3JvdXAtdmFyaWFudC1iZyksIGFicygkbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlKSk7XG4gIH1cblxuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRsaXN0LWdyb3VwLXZhcmlhbnQtYmcsICRsaXN0LWdyb3VwLXZhcmlhbnQtY29sb3IpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuIiwiLy8gTGlzdCBHcm91cHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbWl4aW5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1peGluXG4iLCIvLyBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgcHJvcGVydGllcyBpbmNsdWRlZCBmb3IgYnV0dG9uIHZlcnNpb24uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi5idG4tY2xvc2Uge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6ICRidG4tY2xvc2Utd2lkdGg7XG4gIGhlaWdodDogJGJ0bi1jbG9zZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRidG4tY2xvc2UtcGFkZGluZy15ICRidG4tY2xvc2UtcGFkZGluZy14O1xuICBjb2xvcjogJGJ0bi1jbG9zZS1jb2xvcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgZXNjYXBlLXN2ZygkYnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgYm9yZGVyOiAwOyAvLyBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgb3BhY2l0eTogJGJ0bi1jbG9zZS1vcGFjaXR5O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkYnRuLWNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAkYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tY2xvc2UtZm9jdXMtc2hhZG93O1xuICAgIG9wYWNpdHk6ICRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6ICRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxufVxuXG4uYnRuLWNsb3NlLXdoaXRlIHtcbiAgZmlsdGVyOiAkYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteDogI3skdG9hc3QtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15OiAjeyR0b2FzdC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nOiAjeyR0b2FzdC1zcGFjaW5nfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoOiAjeyR0b2FzdC1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHRvYXN0LWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtY29sb3I6ICN7JHRvYXN0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYmc6ICN7JHRvYXN0LWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGg6ICN7JHRvYXN0LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcjogI3skdG9hc3QtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1czogI3skdG9hc3QtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3c6ICN7JHRvYXN0LWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZzogI3skdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC1jc3MtdmFyc1xuXG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykpO1xuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtY29udGFpbmVyIHtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZyk7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGNhbGModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgfVxufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4OiAjeyR6aW5kZXgtbW9kYWx9O1xuICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbWR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nOiAjeyRtb2RhbC1pbm5lci1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1iZzogI3skbW9kYWwtY29udGVudC1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcjogI3skbW9kYWwtY29udGVudC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteDogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZzogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmd9OyAvLyBUb2RvIGluIHY2OiBTcGxpdCB0aGlzIHBhZGRpbmcgaW50byB4IGFuZCB5XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcDogI3skbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnOiAjeyRtb2RhbC1mb290ZXItYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbik7XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdykpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4OiAjeyR6aW5kZXgtbW9kYWwtYmFja2Ryb3B9O1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC1iZzogI3skbW9kYWwtYmFja2Ryb3AtYmd9O1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5OiAjeyRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuXG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AodmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleCksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1iZyksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5KSk7XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSAqIC41KTtcbiAgICBtYXJnaW46IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZyk7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpOyAvLyBUb2RvIGluIHY2OiByZXBsYWNlIHdpdGggZ2FwIG9uIHBhcmVudCBjbGFzc1xuICB9XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAubW9kYWwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwfTtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXB9O1xuICB9XG5cbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC13aWR0aCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLXNtIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtc219O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1sZ307XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC14bH07XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRwb3N0Zml4OiBpZigkaW5maXggIT0gXCJcIiwgJGluZml4ICsgXCItZG93blwiLCBcIlwiKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAubW9kYWwtZnVsbHNjcmVlbiN7JHBvc3RmaXh9IHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWhlYWRlcixcbiAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuIiwiLy8gU2hhcmVkIGJldHdlZW4gbW9kYWxzIGFuZCBvZmZjYW52YXNlc1xuQG1peGluIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleCwgJGJhY2tkcm9wLWJnLCAkYmFja2Ryb3Atb3BhY2l0eSkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b29sdGlwLXppbmRleDogI3skemluZGV4LXRvb2x0aXB9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW1heC13aWR0aDogI3skdG9vbHRpcC1tYXgtd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteDogI3skdG9vbHRpcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteTogI3skdG9vbHRpcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbjogI3skdG9vbHRpcC1tYXJnaW59O1xuICBAaW5jbHVkZSByZnMoJHRvb2x0aXAtZm9udC1zaXplLCAtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3I6ICN7JHRvb2x0aXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJnOiAjeyR0b29sdGlwLWJnfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzOiAjeyR0b29sdGlwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW9wYWNpdHk6ICN7JHRvb2x0aXAtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGg6ICN7JHRvb2x0aXAtYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodDogI3skdG9vbHRpcC1hcnJvdy1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXJnaW4pO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgJHRvb2x0aXAtbWFyZ2luYFwiLCBcInY1XCIsIFwidjUueFwiLCB0cnVlKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW9wYWNpdHkpOyB9XG5cbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1lbmQgLnRvb2x0aXAtYXJyb3cge1xuICBsZWZ0OiAwO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDA7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3R0b206IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy10b29sdGlwLXN0YXJ0IC50b29sdGlwLWFycm93IHtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXN0YXJ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXgtd2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXMpKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciBvdmVyZmxvdy13cmFwIC8gd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLXppbmRleDogI3skemluZGV4LXBvcG92ZXJ9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLW1heC13aWR0aDogI3skcG9wb3Zlci1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYmc6ICN7JHBvcG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aDogI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcjogI3skcG9wb3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93OiAjeyRwb3BvdmVyLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWhlYWRlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnOiAjeyRwb3BvdmVyLWhlYWRlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yOiAjeyRwb3BvdmVyLWJvZHktY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoOiAjeyRwb3BvdmVyLWFycm93LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLW1heC13aWR0aCk7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdykpO1xuXG4gIC5wb3BvdmVyLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1lbmQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBsZWZ0OiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICB0b3A6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1zdGFydCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHJpZ2h0OiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXN0YXJ0O1xuICB9XG59XG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcik7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1zdGFydCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1lbmQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSksIG51bGwpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSksIG51bGwpO1xufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8qIHJ0bDpvcHRpb25zOiB7XG4gIFwiYXV0b1JlbmFtZVwiOiB0cnVlLFxuICBcInN0cmluZ01hcFwiOlsge1xuICAgIFwibmFtZVwiICAgIDogXCJwcmV2LW5leHRcIixcbiAgICBcInNlYXJjaFwiICA6IFwicHJldlwiLFxuICAgIFwicmVwbGFjZVwiIDogXCJuZXh0XCJcbiAgfSBdXG59ICovXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzL2NvbnRyb2xzXG4vL1xuLy8gQWRkIGEgY29udGFpbmVyIChzdWNoIGFzIGEgbGlzdCkgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYW4gaXRlbSAoaWRlYWxseSBhIGZvY3VzYWJsZSBjb250cm9sLFxuLy8gbGlrZSBhIGJ1dHRvbikgd2l0aCBkYXRhLWJzLXRhcmdldCBmb3IgZWFjaCBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5O1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyO1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBwYWRkaW5nLXRvcDogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gRGFyayBtb2RlIGNhcm91c2VsXG5cbi5jYXJvdXNlbC1kYXJrIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICAgIGZpbHRlcjogJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cblxuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjbGVhcmZpeFxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07IH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG5cbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGgpIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtc219O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xufVxuXG5AaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkICogMn07XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJW9mZmNhbnZhcy1jc3MtdmFycyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleDogI3skemluZGV4LW9mZmNhbnZhc307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aDogI3skb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteDogI3skb2ZmY2FudmFzLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXk6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3I6ICN7JG9mZmNhbnZhcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZzogI3skb2ZmY2FudmFzLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skb2ZmY2FudmFzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICN7JG9mZmNhbnZhcy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogI3skb2ZmY2FudmFzLWJveC1zaGFkb3d9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy1jc3MtdmFyc1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBleHRlbmQgJW9mZmNhbnZhcy1jc3MtdmFycztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtYm90dG9tIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuc2hvdzpub3QoLmhpZGluZykge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4ub2ZmY2FudmFzLWJvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4iLCIucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiB3YWl0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDtcblxuICAmLmJ0bjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi5wbGFjZWhvbGRlci14cyB7XG4gIG1pbi1oZWlnaHQ6IC42ZW07XG59XG5cbi5wbGFjZWhvbGRlci1zbSB7XG4gIG1pbi1oZWlnaHQ6IC44ZW07XG59XG5cbi5wbGFjZWhvbGRlci1sZyB7XG4gIG1pbi1oZWlnaHQ6IDEuMmVtO1xufVxuXG4vLyBBbmltYXRpb25cbi5wbGFjZWhvbGRlci1nbG93IHtcbiAgLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci1nbG93IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW47XG4gIH1cbn1cblxuLnBsYWNlaG9sZGVyLXdhdmUge1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCAkYmxhY2sgNTUlLCByZ2JhKDAsIDAsIDAsICgxIC0gJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluKSkgNzUlLCAkYmxhY2sgOTUlKTtcbiAgbWFzay1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItd2F2ZSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItd2F2ZSB7XG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1uYW1lLWNhc2VcblxuLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICRjb2xvci1yZ2I6IHRvLXJnYigkdmFsdWUpO1xuICAudGV4dC1iZy0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkdmFsdWUpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgkY29sb3ItcmdiLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIH1cbn1cbiIsIkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4ucmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW8pO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQGVhY2ggJGtleSwgJHJhdGlvIGluICRhc3BlY3QtcmF0aW9zIHtcbiAgLnJhdGlvLSN7JGtleX0ge1xuICAgIC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbzogI3skcmF0aW99O1xuICB9XG59XG4iLCIvLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLy8gUmVzcG9uc2l2ZSBzdGlja3kgdG9wIGFuZCBib3R0b21cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5zdGlja3kjeyRpbmZpeH0tdG9wIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LWJvdHRvbSB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgc3RhY2tzXG4uaHN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnZzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBzdGFja3NcbiIsIi8vXG4vLyBWaXN1YWxseSBoaWRkZW5cbi8vXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjojeyRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFRleHQgdHJ1bmNhdGlvblxuLy9cblxuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDFweDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExvb3Agb3ZlciBlYWNoIGJyZWFrcG9pbnRcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gR2VuZXJhdGUgbWVkaWEgcXVlcnkgaWYgbmVlZGVkXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSRlMgcmVzY2FsaW5nXG5AbWVkaWEgKG1pbi13aWR0aDogJHJmcy1tcS12YWx1ZSkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmIChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgPCAkcmZzLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHByaW50KSA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksIFwiLXByaW50XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBEbyBub3QgZWRpdCFcbi8vIGJha2E6c291cmNlIHNjc3MvYWxsLnNjc3NcblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuJHdjYWctbWluLWNvbnRyYXN0LXJhdGlvOiA0LjUgIWRlZmF1bHQ7XG5cbi8vIENvbG9yIFN5c3RlbVxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvci1zeXN0ZW0vX3N3YXRjaC5zY3NzXCI7IC0+IHNjc3MvY29yZS9jb2xvci1zeXN0ZW0vX3N3YXRjaC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fY29sb3IuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX2NvbG9yLmltcG9ydC5zY3NzXG4vLy8gUmV0dXJucyB0aGUgYWxwaGEgY2hhbm5lbCBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIGFscGhhIGNoYW5uZWwgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgYWxwaGEgY2hhbm5lbCBvZiB0aGUgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWFscGhhKCByZ2JhKCAwLCAwLCAwLCAwLjUgKSApOyAvLyA9PiAwLjVcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWFscGhhKCAjMDAwICk7IC8vID0+IDFcbkBmdW5jdGlvbiBrLWNvbG9yLWFscGhhKCAkY29sb3IgKSB7XG4gICAgQHJldHVybiBhbHBoYSggJGNvbG9yICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSByZWQgY2hhbm5lbCBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIHJlZCBjaGFubmVsIGZvci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIHJlZCBjaGFubmVsIG9mIHRoZSBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3ItcmVkKCAjZmYwMDAwICk7IC8vID0+IDI1NVxuQGZ1bmN0aW9uIGstY29sb3ItcmVkKCAkY29sb3IgKSB7XG4gICAgQHJldHVybiByZWQoICRjb2xvciApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgZ3JlZW4gY2hhbm5lbCBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIGdyZWVuIGNoYW5uZWwgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgZ3JlZW4gY2hhbm5lbCBvZiB0aGUgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWdyZWVuKCAjMDBmZjAwICk7IC8vID0+IDI1NVxuQGZ1bmN0aW9uIGstY29sb3ItZ3JlZW4oICRjb2xvciApIHtcbiAgICBAcmV0dXJuIGdyZWVuKCAkY29sb3IgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGJsdWUgY2hhbm5lbCBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIGJsdWUgY2hhbm5lbCBmb3IuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBibHVlIGNoYW5uZWwgb2YgdGhlIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1ibHVlKCAjMDAwMGZmICk7IC8vID0+IDI1NVxuQGZ1bmN0aW9uIGstY29sb3ItYmx1ZSggJGNvbG9yICkge1xuICAgIEByZXR1cm4gYmx1ZSggJGNvbG9yICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBodWUgb2YgYSBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gZ2V0IHRoZSBodWUgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgaHVlIG9mIHRoZSBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3ItaHVlKCAjZTFkN2QyICk7IC8vID0+IDIwZGVnXG5AZnVuY3Rpb24gay1jb2xvci1odWUoICRjb2xvciApIHtcbiAgICBAcmV0dXJuIGh1ZSggJGNvbG9yICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBzYXR1cmF0aW9uIG9mIGEgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGdldCB0aGUgc2F0dXJhdGlvbiBmb3IuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBzYXR1cmF0aW9uIG9mIHRoZSBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3Itc2F0dXJhdGlvbiggI2UxZDdkMiApOyAvLyA9PiAyMCVcbkBmdW5jdGlvbiBrLWNvbG9yLXNhdHVyYXRpb24oICRjb2xvciApIHtcbiAgICBAcmV0dXJuIHNhdHVyYXRpb24oICRjb2xvciApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgbGlnaHRuZXNzIG9mIGEgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGdldCB0aGUgbGlnaHRuZXNzIGZvci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGxpZ2h0bmVzcyBvZiB0aGUgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWxpZ2h0bmVzcyggI2UxZDdkMiApOyAvLyA9PiA4MCVcbkBmdW5jdGlvbiBrLWNvbG9yLWxpZ2h0bmVzcyggJGNvbG9yICkge1xuICAgIEByZXR1cm4gbGlnaHRuZXNzKCAkY29sb3IgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb2xvciB0aGF0IGlzIGEgbWl4IG9mIHR3byBjb2xvcnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIFRoZSBmaXJzdCBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gVGhlIHNlY29uZCBjb2xvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCAtIFRoZSB3ZWlnaHQgb2YgdGhlIGZpcnN0IGNvbG9yIGluIHRoZSBtaXguXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIG1peGVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1taXgoICNmMDAsICMwMGYgKTsgLy8gPT4gIzgwMDA4MFxuQGZ1bmN0aW9uIGstY29sb3ItbWl4KCAkY29sb3IxLCAkY29sb3IyLCAkd2VpZ2h0OiA1MCUgKSB7XG4gICAgQHJldHVybiBtaXgoICRjb2xvcjEsICRjb2xvcjIsICR3ZWlnaHQgKTtcbn1cblxuLy8vIE1ha2VzIGEgY29sb3IgZGFya2VyIGJ5IGRlY3JlYXNpbmcgaXRzIGxpZ2h0bmVzcy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gZGFya2VuLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IC0gVGhlIGFtb3VudCB0byBkYXJrZW4gdGhlIGNvbG9yLlxuLy8vIEByZXR1cm4ge0NvbG9yfSAtIFRoZSBkYXJrZW5lZCBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3ItZGFya2VuKCAjZjAwLCAxMCUgKTsgLy8gPT4gI2U2MDAwMFxuQGZ1bmN0aW9uIGstY29sb3ItZGFya2VuKCAkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIGRhcmtlbiggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBNYWtlcyBhIGNvbG9yIGxpZ2h0ZXIgYnkgaW5jcmVhc2luZyBpdHMgbGlnaHRuZXNzLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBsaWdodGVuLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IC0gVGhlIGFtb3VudCB0byBsaWdodGVuIHRoZSBjb2xvci5cbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgbGlnaHRlbmVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1saWdodGVuKCAjZjAwLCAxMCUgKTsgLy8gPT4gI2ZmMWExYVxuQGZ1bmN0aW9uIGstY29sb3ItbGlnaHRlbiggJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBsaWdodGVuKCAkY29sb3IsICRhbW91bnQgKTtcbn1cblxuLy8vIEluY3JlYXNlcyBvciBkZWNyZWFzZXMgdGhlIGh1ZSBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBhZGp1c3QgdGhlIGh1ZSBmb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdyZWVzIC0gVGhlIGFtb3VudCB0byBhZGp1c3QgdGhlIGh1ZS5cbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgYWRqdXN0ZWQgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWFkanVzdC1odWUoICNmMDAsIDEwZGVnICk7IC8vID0+ICNmZjFhMDBcbkBmdW5jdGlvbiBrLWNvbG9yLWFkanVzdC1odWUoICRjb2xvciwgJGRlZ3JlZXMgKSB7XG4gICAgQHJldHVybiBhZGp1c3QtaHVlKCAkY29sb3IsICRkZWdyZWVzICk7XG59XG5cbi8vLyBJbmNyZWFzZXMgdGhlIHNhdHVyYXRpb24gb2YgYSBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gc2F0dXJhdGUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgLSBUaGUgYW1vdW50IHRvIHNhdHVyYXRlIHRoZSBjb2xvci5cbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgc2F0dXJhdGVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1zYXR1cmF0ZSggI2YwMCwgMTAlICk7IC8vID0+ICNmZjMzMzNcbkBmdW5jdGlvbiBrLWNvbG9yLXNhdHVyYXRlKCAkY29sb3IsICRhbW91bnQgKSB7XG4gICAgQHJldHVybiBzYXR1cmF0ZSggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBEZWNyZWFzZXMgdGhlIHNhdHVyYXRpb24gb2YgYSBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gZGVzYXR1cmF0ZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCAtIFRoZSBhbW91bnQgdG8gZGVzYXR1cmF0ZSB0aGUgY29sb3IuXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGRlc2F0dXJhdGVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1kZXNhdHVyYXRlKCAjZjAwLCAxMCUgKTsgLy8gPT4gI2U2MDAwMFxuQGZ1bmN0aW9uIGstY29sb3ItZGVzYXR1cmF0ZSggJGNvbG9yLCAkYW1vdW50ICkge1xuICAgIEByZXR1cm4gZGVzYXR1cmF0ZSggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgZ3JheSBjb2xvciB3aXRoIHRoZSBzYW1lIGxpZ2h0bmVzcyBhcyB0aGUgaW5wdXQgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGNvbnZlcnQgdG8gZ3JheXNjYWxlLlxuLy8vIEByZXR1cm4ge0NvbG9yfSAtIFRoZSBncmF5c2NhbGUgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLWdyYXlzY2FsZSggI2YwMCApOyAvLyA9PiAjODA4MDgwXG5AZnVuY3Rpb24gay1jb2xvci1ncmF5c2NhbGUoICRjb2xvciApIHtcbiAgICBAcmV0dXJuIGdyYXlzY2FsZSggJGNvbG9yICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBSR0IgY29tcGxlbWVudCBvZiBhIGNvbG9yLiBUaGlzIGlkZW50aWNhbCB0byBhZGp1c3RpbmcgdGhlIGh1ZVxuLy8vIGJ5IDE4MCBkZWdyZWVzLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBnZXQgdGhlIGNvbXBsZW1lbnQgZm9yLlxuLy8vIEByZXR1cm4ge0NvbG9yfSAtIFRoZSBjb21wbGVtZW50IGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1jb21wbGVtZW50KCAjZjAwICk7IC8vID0+ICMwMGZmZmZcbkBmdW5jdGlvbiBrLWNvbG9yLWNvbXBsZW1lbnQoICRjb2xvciApIHtcbiAgICBAcmV0dXJuIGNvbXBsZW1lbnQoICRjb2xvciApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgaW52ZXJzZSBvZiBhIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBpbnZlcnQuXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGludmVydGVkIGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1jb2xvci1pbnZlcnQoICNmMDAgKTsgLy8gPT4gIzAwZmZmZlxuQGZ1bmN0aW9uIGstY29sb3ItaW52ZXJ0KCAkY29sb3IgKSB7XG4gICAgQHJldHVybiBpbnZlcnQoICRjb2xvciApO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19jb2xvci1jb250cmFzdC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9fY29sb3ItY29udHJhc3QuaW1wb3J0LnNjc3Ncbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9zZ29tZXMvY2NjNzJmNzExMzdmZTI5MDM5YzkyYzBhOWZlOWI2NTdcbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvY29tbWl0LzAzOTA4ZWEzN2E1NWVhYTQ0YzEyY2U1Njk0ZGRkYzE2MzBjOTgwYjNcblxuLy8gIFByZWNvbXB1dGVkIGxpbmVhciBjb2xvciBjaGFubmVsIHZhbHVlcywgZm9yIHVzZSBpbiBjb250cmFzdCBjYWxjdWxhdGlvbnMuXG4vLyAgU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE3Lmh0bWwjRzE3LXRlc3RzXG4vLyAgQWxnb3JpdGhtLCBmb3IgYyBpbiAwIHRvIDI1NTpcbi8vICBmKGMpIHtcbi8vICAgIGMgPSBjIC8gMjU1O1xuLy8gICAgcmV0dXJuIGMgPCAwLjAzOTI4ID8gYyAvIDEyLjkyIDogTWF0aC5wb3coKGMgKyAwLjA1NSkgLyAxLjA1NSwgMi40KTtcbi8vICB9XG4vLyAgVGhpcyBsb29rdXAgdGFibGUgaXMgbmVlZGVkIHNpbmNlIHRoZXJlIGlzIG5vIGBwb3dgIGluIFNBU1MuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBudW1iZXItbWF4LXByZWNpc2lvblxuJF9saW5lYXItY2hhbm5lbC12YWx1ZXM6IChcbiAgICAwXG4gICAgLjAwMDMwMzUyNjk4MzU0ODgzNzVcbiAgICAuMDAwNjA3MDUzOTY3MDk3Njc1XG4gICAgLjAwMDkxMDU4MDk1MDY0NjUxMjVcbiAgICAuMDAxMjE0MTA3OTM0MTk1MzVcbiAgICAuMDAxNTE3NjM0OTE3NzQ0MTg3NFxuICAgIC4wMDE4MjExNjE5MDEyOTMwMjVcbiAgICAuMDAyMTI0Njg4ODg0ODQxODYyNlxuICAgIC4wMDI0MjgyMTU4NjgzOTA3XG4gICAgLjAwMjczMTc0Mjg1MTkzOTUzNzNcbiAgICAuMDAzMDM1MjY5ODM1NDg4Mzc1XG4gICAgLjAwMzM0NjUzNTc2Mzg5OTE2MVxuICAgIC4wMDM2NzY1MDczMjQwNDc0MzZcbiAgICAuMDA0MDI0NzE3MDE4NDk2MzA3XG4gICAgLjAwNDM5MTQ0MjAzNzQxMDI5M1xuICAgIC4wMDQ3NzY5NTM0ODA2OTM3MjlcbiAgICAuMDA1MTgxNTE2NzAyMzM4Mzg2XG4gICAgLjAwNTYwNTM5MTYyNDIwMjcyM1xuICAgIC4wMDYwNDg4MzMwMjI4NTcwNTRcbiAgICAuMDA2NTEyMDkwNzkyNTk0NDc1XG4gICAgLjAwNjk5NTQxMDE4NzI2NTM4N1xuICAgIC4wMDc0OTkwMzIwNDMyMjYxNzVcbiAgICAuMDA4MDIzMTkyOTg1Mzg0OTk0XG4gICAgLjAwODU2ODEyNTYxODA2OTMwN1xuICAgIC4wMDkxMzQwNTg3MDIyMjA3ODdcbiAgICAuMDA5NzIxMjE3MzIwMjM3ODVcbiAgICAuMDEwMzI5ODIzMDI5NjI2OTM2XG4gICAgLjAxMDk2MDA5NDAwNjQ4ODI0NlxuICAgIC4wMTE2MTIyNDUxNzk3NDM4ODVcbiAgICAuMDEyMjg2NDg4MzU2OTE1ODcyXG4gICAgLjAxMjk4MzAzMjM0MjE3MzAxMlxuICAgIC4wMTM3MDIwODMwNDcyODk2ODZcbiAgICAuMDE0NDQzODQzNTk2MDkyNTQ1XG4gICAgLjAxNTIwODUxNDQyMjkxMjcxXG4gICAgLjAxNTk5NjI5MzM2NTUwOTYzXG4gICAgLjAxNjgwNzM3NTc1Mjg4NzM4NFxuICAgIC4wMTc2NDE5NTQ0ODgzODQwNzhcbiAgICAuMDE4NTAwMjIwMTI4Mzc5Njk3XG4gICAgLjAxOTM4MjM2MDk1NjkzNTcyM1xuICAgIC4wMjAyODg1NjMwNTY2NTI0XG4gICAgLjAyMTIxOTAxMDM3NjAwMzU1NVxuICAgIC4wMjIxNzM4ODQ3OTMzODczODVcbiAgICAuMDIzMTUzMzY2MTc4MTEwNDFcbiAgICAuMDI0MTU3NjMyNDQ4NTA0NzU2XG4gICAgLjAyNTE4Njg1OTYyNzM2MTYzXG4gICAgLjAyNjI0MTIyMTg5NDg0OTg5OFxuICAgIC4wMjczMjA4OTE2MzkwNzQ4OTRcbiAgICAuMDI4NDI2MDM5NTA0NDIwNzkzXG4gICAgLjAyOTU1NjgzNDQzNzgwODhcbiAgICAuMDMwNzEzNDQzNzMyOTkzNjM1XG4gICAgLjAzMTg5NjAzMzA3MzAxMTUzXG4gICAgLjAzMzEwNDc2NjU3MDg4NTA1NVxuICAgIC4wMzQzMzk4MDY4MDg2ODIxN1xuICAgIC4wMzU2MDEzMTQ4NzUwMjAzNFxuICAgIC4wMzY4ODk0NTA0MDExMDAwNFxuICAgIC4wMzgyMDQzNzE1OTUzNDY1XG4gICAgLjAzOTU0NjIzNTI3NjczMjg0XG4gICAgLjA0MDkxNTE5NjkwNjg1MzE5XG4gICAgLjA0MjMxMTQxMDYyMDgwOTY3NVxuICAgIC4wNDM3MzUwMjkyNTY5NzM0NjVcbiAgICAuMDQ1MTg2MjA0Mzg1Njc1NTRcbiAgICAuMDQ2NjY1MDg2MzM2ODgwMDk1XG4gICAgLjA0ODE3MTgyNDIyNjg4OTQyXG4gICAgLjA0OTcwNjU2NTk4NDEyNzIzXG4gICAgLjA1MTI2OTQ1ODM3NDA0MzI0XG4gICAgLjA1Mjg2MDY0NzAyMzE4MDI0NlxuICAgIC4wNTQ0ODAyNzY0NDI0NDIzN1xuICAgIC4wNTYxMjg0OTAwNDk2MDAwOVxuICAgIC4wNTc4MDU0MzAxOTEwNjcyM1xuICAgIC4wNTk1MTEyMzgxNjI5ODEyXG4gICAgLjA2MTI0NjA1NDIzMTYxNzYxXG4gICAgLjA2MzAxMDAxNzY1MzE2NzY3XG4gICAgLjA2NDgwMzI2NjY5MjkwNTc3XG4gICAgLjA2NjYyNTkzODY0Mzc3Mjg5XG4gICAgLjA2ODQ3ODE2OTg0NDQwMDE3XG4gICAgLjA3MDM2MDA5NTY5NjU5NTg4XG4gICAgLjA3MjI3MTg1MDY4MjMxNzQ4XG4gICAgLjA3NDIxMzU2ODM4MDE0OTYzXG4gICAgLjA3NjE4NTM4MTQ4MTMwNzg1XG4gICAgLjA3ODE4NzQyMTgwNTE4NjMzXG4gICAgLjA4MDIxOTgyMDMxNDQ2ODMyXG4gICAgLjA4MjI4MjcwNzEyOTgxNDhcbiAgICAuMDg0Mzc2MjExNTQ0MTQ4ODJcbiAgICAuMDg2NTAwNDYyMDM2NTQ5NzZcbiAgICAuMDg4NjU1NTg2Mjg1NzcyOTRcbiAgICAuMDkwODQxNzExMTgzNDA3NjhcbiAgICAuMDkzMDU4OTYyODQ2Njg3NDVcbiAgICAuMDk1MzA3NDY2NjMwOTY0N1xuICAgIC4wOTc1ODczNDcxNDE4NjI0NlxuICAgIC4wOTk4OTg3MjgyNDcxMTM4OVxuICAgIC4xMDIyNDE3MzMwODgxMDEzMlxuICAgIC4xMDQ2MTY0ODQwOTExMDQxOVxuICAgIC4xMDcwMjMxMDI5NzgyNjc2MVxuICAgIC4xMDk0NjE3MTA3NzgyOTkzM1xuICAgIC4xMTE5MzI0Mjc4MzY5MDU2XG4gICAgLjExNDQzNTM3MzgyNjk3MzczXG4gICAgLjExNjk3MDY2Nzc1ODUxMDg0XG4gICAgLjExOTUzODQyNzk4ODM0NTYyXG4gICAgLjEyMjEzODc3MjIyOTYwMTg3XG4gICAgLjEyNDc3MTgxNzU2MDk1MDQ5XG4gICAgLjEyNzQzNzY4MDQzNTY0NzQzXG4gICAgLjEzMDEzNjQ3NjY5MDM2NDNcbiAgICAuMTMyODY4MzIxNTUzODE3OThcbiAgICAuMTM1NjMzMzI5NjU1MjA1NjZcbiAgICAuMTM4NDMxNjE1MDMyNDUxODNcbiAgICAuMTQxMjYzMjkxMTQwMjcxNjRcbiAgICAuMTQ0MTI4NDcwODU4MDU3NzdcbiAgICAuMTQ3MDI3MjY2NDk3NTk0OThcbiAgICAuMTQ5OTU5Nzg5ODEwNjA4NTZcbiAgICAuMTUyOTI2MTUxOTk2MTUwMTdcbiAgICAuMTU1OTI2NDYzNzA3ODI3NFxuICAgIC4xNTg5NjA4MzUwNjA4ODA0XG4gICAgLjE2MjAyOTM3NTYzOTExMVxuICAgIC4xNjUxMzIxOTQ1MDE2Njc2XG4gICAgLjE2ODI2OTQwMDE4OTY5MDc1XG4gICAgLjE3MTQ0MTEwMDczMjgyMjZcbiAgICAuMTc0NjQ3NDAzNjU1NTg1MDRcbiAgICAuMTc3ODg4NDE1OTgzNjI5MTJcbiAgICAuMTgxMTY0MjQ0MjQ5ODYwMjJcbiAgICAuMTg0NDc0OTk0NTAwNDQxXG4gICAgLjE4NzgyMDc3MjMwMDY3Nzg3XG4gICAgLjE5MTIwMTY4Mjc0MDc5MTM4XG4gICAgLjE5NDYxNzgzMDQ0MTU3NThcbiAgICAuMTk4MDY5MzE5NTU5OTQ4ODZcbiAgICAuMjAxNTU2MjUzNzk0Mzk3MDdcbiAgICAuMjA1MDc4NzM2MzkwMzE2OTNcbiAgICAuMjA4NjM2ODcwMTQ1MjU1NzVcbiAgICAuMjEyMjMwNzU3NDE0MDU1MjNcbiAgICAuMjE1ODYwNTAwMTEzODk5MjZcbiAgICAuMjE5NTI2MTk5NzI5MjY5MlxuICAgIC4yMjMyMjc5NTczMTY4MDg1XG4gICAgLjIyNjk2NTg3MzUxMDA5ODM2XG4gICAgLjIzMDc0MDA0ODUyNDM0OTE1XG4gICAgLjIzNDU1MDU4MjE2MTAwNTIyXG4gICAgLjIzODM5NzU3MzgxMjI3MVxuICAgIC4yNDIyODExMjI0NjU1NTQ4NlxuICAgIC4yNDYyMDEzMjY3MDc4MzU0OFxuICAgIC4yNTAxNTgyODQ3Mjk5NTM0NFxuICAgIC4yNTQxNTIwOTQzMzA4MjY3NVxuICAgIC4yNTgxODI4NTI5MjE1OTU4XG4gICAgLjI2MjI1MDY1NzUyOTY5NjIzXG4gICAgLjI2NjM1NTYwNDgwMjg2MjQ3XG4gICAgLjI3MDQ5Nzc5MTAxMzA2NThcbiAgICAuMjc0Njc3MzEyMDYwMzg0NjVcbiAgICAuMjc4ODk0MjYzNDc2ODEwNFxuICAgIC4yODMxNDg3NDA0Mjk5OTIxXG4gICAgLjI4NzQ0MDgzNzcyNjkxNzVcbiAgICAuMjkxNzcwNjQ5ODE3NTM1ODdcbiAgICAuMjk2MTM4MjcwNzk4MzIxMVxuICAgIC4zMDA1NDM3OTQ0MTU3NzY1XG4gICAgLjMwNDk4NzMxNDA2OTg4NjNcbiAgICAuMzA5NDY4OTIyODE3NTA4NTRcbiAgICAuMzEzOTg4NzEzMzc1NzE3NTRcbiAgICAuMzE4NTQ2Nzc4MTI1MDkxODZcbiAgICAuMzIzMTQzMjA5MTEyOTUwNzVcbiAgICAuMzI3Nzc4MDk4MDU2NTQyMlxuICAgIC4zMzI0NTE1MzYzNDYxNzkzNVxuICAgIC4zMzcxNjM2MTUwNDgzMzAzN1xuICAgIC4zNDE5MTQ0MjQ5MDg2NjA5XG4gICAgLjM0NjcwNDA1NjM1NTAyOTZcbiAgICAuMzUxNTMyNTk5NTAwNDM5MzZcbiAgICAuMzU2NDAwMTQ0MTQ1OTQzNVxuICAgIC4zNjEzMDY3Nzk3ODM1MDk1XG4gICAgLjM2NjI1MjU5NTU5ODgzOTVcbiAgICAuMzcxMjM3NjgwNDc0MTQ5MVxuICAgIC4zNzYyNjIxMjI5OTA5MDY1XG4gICAgLjM4MTMyNjAxMTQzMjUzMDE0XG4gICAgLjM4NjQyOTQzMzc4NzA0OVxuICAgIC4zOTE1NzI0Nzc3NDk3MjMyNlxuICAgIC4zOTY3NTUyMzA3MjU2MjY4NVxuICAgIC40MDE5Nzc3Nzk4MzIxOTU4XG4gICAgLjQwNzI0MDIxMTkwMTczNjdcbiAgICAuNDEyNTQyNjEzNDgzOTAzNzVcbiAgICAuNDE3ODg1MDcwODQ4MTM3NVxuICAgIC40MjMyNjc2Njk5ODYwNzE3XG4gICAgLjQyODY5MDQ5NjYxMzkwNjZcbiAgICAuNDM0MTUzNjM2MTc0NzQ4OTVcbiAgICAuNDM5NjU3MTczODQwOTE4OFxuICAgIC40NDUyMDExOTQ1MTYyMjc4NlxuICAgIC40NTA3ODU3ODI4MzgyMjM0NlxuICAgIC40NTY0MTEwMjMxODA0MDQ2NlxuICAgIC40NjIwNzY5OTk2NTQ0MDcxXG4gICAgLjQ2Nzc4Mzc5NjExMjE1OVxuICAgIC40NzM1MzE0OTYxNDgwMDk1NVxuICAgIC40NzkzMjAxODMxMDA4MjY4XG4gICAgLjQ4NTE0OTk0MDA1NjA3MDRcbiAgICAuNDkxMDIwODQ5ODQ3ODM1NlxuICAgIC40OTY5MzI5OTUwNjA4NzA0XG4gICAgLjUwMjg4NjQ1ODAzMjU2ODdcbiAgICAuNTA4ODgxMzIwODU0OTMzOFxuICAgIC41MTQ5MTc2NjUzNzY1MjE0XG4gICAgLjUyMDk5NTU3MzIwNDM1NDNcbiAgICAuNTI3MTE1MTI1NzA1ODEzMVxuICAgIC41MzMyNzY0MDQwMTA1MDUyXG4gICAgLjUzOTQ3OTQ4OTAxMjEwNzJcbiAgICAuNTQ1NzI0NDYxMzcwMTg2NlxuICAgIC41NTIwMTE0MDE1MTIwMDAxXG4gICAgLjU1ODM0MDM4OTYzNDI2NzlcbiAgICAuNTY0NzExNTA1NzA0OTI5MlxuICAgIC41NzExMjQ4Mjk0NjQ4NzMxXG4gICAgLjU3NzU4MDQ0MDQyOTY1MDZcbiAgICAuNTg0MDc4NDE3ODkxMTY0MVxuICAgIC41OTA2MTg4NDA5MTkzMzY5XG4gICAgLjU5NzIwMTc4ODM2Mzc2MzRcbiAgICAuNjAzODI3MzM4ODU1MzM3OFxuICAgIC42MTA0OTU1NzA4MDc4NjQ4XG4gICAgLjYxNzIwNjU2MjQxOTY1MTFcbiAgICAuNjIzOTYwMzkxNjc1MDc2MVxuICAgIC42MzA3NTcxMzYzNDYxNDY4XG4gICAgLjYzNzU5Njg3Mzk5NDAzMjZcbiAgICAuNjQ0NDc5NjgxOTcwNTgyMVxuICAgIC42NTE0MDU2Mzc0MTk4MjQyXG4gICAgLjY1ODM3NDgxNzI3OTQ0ODVcbiAgICAuNjY1Mzg3Mjk4MjgyMjcyXG4gICAgLjY3MjQ0MzE1Njk1NzY4NzVcbiAgICAuNjc5NTQyNDY5NjMzMDkzOFxuICAgIC42ODY2ODUzMTI0MzUzMTM1XG4gICAgLjY5Mzg3MTc2MTI5MTk4OTlcbiAgICAuNzAxMTAxODkxOTMyOTczMVxuICAgIC43MDgzNzU3Nzk4OTE2ODY4XG4gICAgLjcxNTY5MzUwMDUwNjQ4MDdcbiAgICAuNzIzMDU1MTI4OTIxOTY5M1xuICAgIC43MzA0NjA3NDAwOTAzNTM3XG4gICAgLjczNzkxMDQwODc3MjczMDhcbiAgICAuNzQ1NDA0MjA5NTQwMzg3NFxuICAgIC43NTI5NDIyMTY3NzYwNzc5XG4gICAgLjc2MDUyNDUwNDY3NTI5MjRcbiAgICAuNzY4MTUxMTQ3MjQ3NTA3XG4gICAgLjc3NTgyMjIxODMxNzQyMzZcbiAgICAuNzgzNTM3NzkxNTI2MTkzNVxuICAgIC43OTEyOTc5NDAzMzI2MzAyXG4gICAgLjc5OTEwMjczODAxNDQwOVxuICAgIC44MDY5NTIyNTc2NjkyNTE2XG4gICAgLjgxNDg0NjU3MjIxNjEwMTJcbiAgICAuODIyNzg1NzU0Mzk2MjgzNVxuICAgIC44MzA3Njk4NzY3NzQ2NTQ2XG4gICAgLjgzODc5OTAxMTc0MDc0XG4gICAgLjg0Njg3MzIzMTUwOTg1OFxuICAgIC44NTQ5OTI2MDgxMjQyMzM4XG4gICAgLjg2MzE1NzIxMzQ1NDEwMjNcbiAgICAuODcxMzY3MTE5MTk4Nzk3MlxuICAgIC44Nzk2MjIzOTY4ODc4MzE3XG4gICAgLjg4NzkyMzExNzg4MTk2NjNcbiAgICAuODk2MjY5MzUzMzc0MjY2NFxuICAgIC45MDQ2NjExNzQzOTExNDk2XG4gICAgLjkxMzA5ODY1MTc5MzQxOTJcbiAgICAuOTIxNTgxODU2Mjc3Mjk0NlxuICAgIC45MzAxMTA4NTgzNzU0MjM3XG4gICAgLjkzODY4NTcyODQ1Nzg4OFxuICAgIC45NDczMDY1MzY3MzMxOTk5XG4gICAgLjk1NTk3MzM1MzI0OTI4NjFcbiAgICAuOTY0Njg2MjQ3ODk0NDY1MVxuICAgIC45NzM0NDUyOTAzOTg0MTI1XG4gICAgLjk4MjI1MDU1MDMzMzExNzFcbiAgICAuOTkxMTAyMDk3MTEzODI5OFxuICAgIDFcbik7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uXG5cbi8vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuXG4vLy8gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGdyb3VwIGFjY2Vzc2liaWxpdHlcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAvI3Zpc3VhbC1hdWRpby1jb250cmFzdC1jb250cmFzdFxuLy8vIEBsaW5rIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE3Lmh0bWwjRzE3LXRlc3RzXG4kd2NhZy1taW4tY29udHJhc3QtcmF0aW86IDcgIWRlZmF1bHQ7XG4vLy8gRGVmYXVsdCBkYXJrIGNvbG9yIGZvciBXQ0FHIDIuMC5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG4kd2NhZy1kYXJrOiBibGFjayAhZGVmYXVsdDtcbi8vLyBEZWZhdWx0IGxpZ2h0IGNvbG9yIGZvciBXQ0FHIDIuMC5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG4kd2NhZy1saWdodDogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHJlbGF0aXZlIGx1bWluYW5jZSBmb3IgYSBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gY2FsY3VsYXRlIHRoZSByZWxhdGl2ZSBsdW1pbmFuY2UgZm9yLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgcmVsYXRpdmUgbHVtaW5hbmNlIGZvciB0aGUgY29sb3IuXG4vLy9cbi8vLyBAZ3JvdXAgYWNjZXNzaWJpbGl0eVxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcvI2Rmbi1yZWxhdGl2ZS1sdW1pbmFuY2Vcbi8vLyBAbGluayBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLVRFQ0hTL0cxNy5odG1sI0cxNy10ZXN0c1xuQGZ1bmN0aW9uIGstY29sb3ItbHVtaW5hbmNlKCAkY29sb3IgKSB7XG4gICAgJHJlZDogay1saXN0LW50aCggJF9saW5lYXItY2hhbm5lbC12YWx1ZXMsIGstY29sb3ItcmVkKCAkY29sb3IgKSArIDEgKTtcbiAgICAkZ3JlZW46IGstbGlzdC1udGgoICRfbGluZWFyLWNoYW5uZWwtdmFsdWVzLCBrLWNvbG9yLWdyZWVuKCAkY29sb3IgKSArIDEgKTtcbiAgICAkYmx1ZTogay1saXN0LW50aCggJF9saW5lYXItY2hhbm5lbC12YWx1ZXMsIGstY29sb3ItYmx1ZSggJGNvbG9yICkgKyAxICk7XG5cbiAgICBAcmV0dXJuIC4yMTI2ICogJHJlZCArIC43MTUyICogJGdyZWVuICsgLjA3MjIgKiAkYmx1ZTtcbn1cblxuLy8vIENhbGN1bGF0ZXMgY29udHJhc3QgcmF0aW8gYmV0d2VlbiB0d28gY29sb3JzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBUaGUgYmFja2dyb3VuZCBjb2xvclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRmb3JlZ3JvdW5kIC0gVGhlIGZvcmVncm91bmQgY29sb3Jcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gdGhlIHR3byBjb2xvcnNcbi8vL1xuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG4vLy9cbi8vLyBAbGluayBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jZGZuLWNvbnRyYXN0LXJhdGlvXG4vLy8gQGxpbmsgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTcuaHRtbCNHMTctdGVzdHNcbkBmdW5jdGlvbiBrLWNvbG9yLWNvbnRyYXN0LXJhdGlvKCAkYmFja2dyb3VuZCwgJGZvcmVncm91bmQgKSB7XG4gICAgJGJhY2tMdW06IGstY29sb3ItbHVtaW5hbmNlKCAkYmFja2dyb3VuZCApICsgLjA1O1xuICAgICRmb3JlTHVtOiBrLWNvbG9yLWx1bWluYW5jZSggJGZvcmVncm91bmQgKSArIC4wNTtcblxuICAgIEByZXR1cm4gay1tYXRoLWRpdiggay1tYXRoLW1heCggJGJhY2tMdW0sICRmb3JlTHVtICksIGstbWF0aC1taW4oICRiYWNrTHVtLCAkZm9yZUx1bSApICk7XG59XG5cbi8vLyBDaGVja3MgaWYgYSBjb2xvciBpcyBkYXJrXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGNoZWNrXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBUcnVlIGlmIHRoZSBjb2xvciBpcyBkYXJrLCBmYWxzZSBvdGhlcndpc2Vcbi8vL1xuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG5AZnVuY3Rpb24gay1pcy1kYXJrKCAkY29sb3IgKSB7XG4gICAgQHJldHVybiBpZiggay1jb2xvci1sdW1pbmFuY2UoICRjb2xvciApIDwgLjUsIHRydWUsIGZhbHNlICk7XG59XG5cbi8vLyBDaGVja3MgaWYgYSBjb2xvciBpcyBsaWdodFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBjaGVja1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gVHJ1ZSBpZiB0aGUgY29sb3IgaXMgbGlnaHQsIGZhbHNlIG90aGVyd2lzZVxuLy8vXG4vLy8gQGdyb3VwIGFjY2Vzc2liaWxpdHlcbkBmdW5jdGlvbiBrLWlzLWxpZ2h0KCAkY29sb3IgKSB7XG4gICAgQHJldHVybiBpZiggay1jb2xvci1sdW1pbmFuY2UoICRjb2xvciApIDwgLjUsIGZhbHNlLCB0cnVlICk7XG59XG5cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gYSBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBhIGZvcmVncm91bmQgY29sb3IuXG4vLy8gSWYgdGhlIGNvbnRyYXN0IHJhdGlvIGlzIG5vdCBoaWdoIGVub3VnaCwgaXQgd2lsbCByZXR1cm4gdGhlIGNvbG9yIHdpdGggdGhlIGhpZ2hlc3QgY29udHJhc3QgcmF0aW8uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBUaGUgYmFja2dyb3VuZCBjb2xvclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRkYXJrIC0gVGhlIGRhcmsgY29sb3IgdG8gdXNlIGFzIGEgZmFsbGJhY2tcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbGlnaHQgLSBUaGUgbGlnaHQgY29sb3IgdG8gdXNlIGFzIGEgZmFsbGJhY2tcbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbi1yYXRpbyAtIFRoZSBtaW5pbXVtIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGNvbG9yIHdpdGggdGhlIGhpZ2hlc3QgY29udHJhc3QgcmF0aW9cbi8vL1xuLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG5AZnVuY3Rpb24gay1jb250cmFzdC1jb2xvciggJGJhY2tncm91bmQsICRkYXJrOiAkd2NhZy1kYXJrLCAkbGlnaHQ6ICR3Y2FnLWxpZ2h0LCAkbWluLXJhdGlvOiAkd2NhZy1taW4tY29udHJhc3QtcmF0aW8gKSB7XG4gICAgJGZvcmVncm91bmRzOiAkbGlnaHQsICRkYXJrLCAjZmZmZmZmLCAjMDAwMDAwO1xuICAgICRtYXgtcmF0aW86IDA7XG4gICAgJG1heC1yYXRpby1jb2xvcjogbnVsbDtcblxuICAgIEBlYWNoICRjb2xvciBpbiAkZm9yZWdyb3VuZHMge1xuICAgICAgICAkY29udHJhc3QtcmF0aW86IGstY29sb3ItY29udHJhc3QtcmF0aW8oICRiYWNrZ3JvdW5kLCAkY29sb3IgKTtcblxuICAgICAgICBAaWYgKCAkY29udHJhc3QtcmF0aW8gPiAkbWluLXJhdGlvICkge1xuICAgICAgICAgICAgQHJldHVybiAkY29sb3I7XG4gICAgICAgIH0gQGVsc2UgaWYgKCAkY29udHJhc3QtcmF0aW8gPiAkbWF4LXJhdGlvICkge1xuICAgICAgICAgICAgJG1heC1yYXRpbzogJGNvbnRyYXN0LXJhdGlvO1xuICAgICAgICAgICAgJG1heC1yYXRpby1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHdhcm4gXCJGb3VuZCBubyBjb2xvciBsZWFkaW5nIHRvICN7JG1pbi1yYXRpb306MSBjb250cmFzdCByYXRpbyBhZ2FpbnN0ICN7JGJhY2tncm91bmR9Li4uXCI7XG5cbiAgICBAcmV0dXJuICRtYXgtcmF0aW8tY29sb3I7XG59XG5cblxuLy8gTGVnYWN5IGZ1bmN0aW9uc1xuQGZ1bmN0aW9uIGsteWlxLWx1bWEtaW5mb3JtYXRpb24oJGNvbG9yKSB7XG4gICAgJHI6IGstY29sb3ItcmVkKCRjb2xvcik7XG4gICAgJGc6IGstY29sb3ItZ3JlZW4oJGNvbG9yKTtcbiAgICAkYjogay1jb2xvci1ibHVlKCRjb2xvcik7XG5cbiAgICAkeWlxOiBrLW1hdGgtZGl2KCAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSwgMTAwMCApO1xuXG4gICAgQHJldHVybiAkeWlxO1xufVxuQGZ1bmN0aW9uIGstY29udHJhc3QteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtZGFyaywgJGxpZ2h0OiAkeWlxLWxpZ2h0KSB7XG4gICAgJHlpcTogay15aXEtbHVtYS1pbmZvcm1hdGlvbigkY29sb3IpO1xuICAgICRvdXQ6IGlmKCR5aXEgPj0gJHlpcS10aHJlc2hvbGQsICRkYXJrLCAkbGlnaHQpO1xuICAgIC8vIEBkZWJ1ZyB5aXE7XG4gICAgQHJldHVybiAkb3V0O1xufVxuQGZ1bmN0aW9uIGstY29udHJhc3QtbGVnYWN5KCRjb2xvciwgJGRhcms6ICR3Y2FnLWRhcmssICRsaWdodDogJHdjYWctbGlnaHQpIHtcbiAgICAkbHVtYTogay1jb2xvci1sdW1pbmFuY2UoJGNvbG9yKTtcbiAgICAkb3V0OiBpZigkbHVtYSA8IC41LCAkbGlnaHQsICRkYXJrKTtcbiAgICAvLyBAZGVidWcgJGx1bWE7XG4gICAgQHJldHVybiAkb3V0O1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19jb2xvci1tYW5pcHVsYXRpb24uaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX2NvbG9yLW1hbmlwdWxhdGlvbi5pbXBvcnQuc2Nzc1xuJGtlbmRvLWxpZ2h0LWNvbG9yLWxldmVsLXN0ZXA6IDglICFkZWZhdWx0O1xuJGtlbmRvLWRhcmstY29sb3ItbGV2ZWwtc3RlcDogMTYlICFkZWZhdWx0O1xuXG4vLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAYWNjZXNzIHByaXZhdGVcbiRrZW5kby1jb2xvci1sZXZlbC1zdGVwOiA4JSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGstY29sb3ItbGV2ZWwoICRjb2xvciwgJGxldmVsOiAwICkge1xuICAgICRfZGFyay10aGVtZTogaWYoIGstbWV0YS12YXJpYWJsZS1leGlzdHMoIGtlbmRvLWlzLWRhcmstdGhlbWUgKSwgJGtlbmRvLWlzLWRhcmstdGhlbWUsIGZhbHNlICk7XG4gICAgJF9jb2xvci1sZXZlbC1zdGVwOiBpZiggJF9kYXJrLXRoZW1lLCAka2VuZG8tZGFyay1jb2xvci1sZXZlbC1zdGVwLCAka2VuZG8tbGlnaHQtY29sb3ItbGV2ZWwtc3RlcCApO1xuXG4gICAgQGlmICggJGxldmVsID09IDAgKSBvciAoICRsZXZlbCA9PSAwJSApIHtcbiAgICAgICAgQHJldHVybiAkY29sb3I7XG4gICAgfVxuXG4gICAgJGJhc2U6IGlmKCAkbGV2ZWwgPCAwLCAjZmZmZmZmLCAjMDAwMDAwICk7XG4gICAgJGxldmVsOiBrLW1hdGgtYWJzKCAkbGV2ZWwgKTtcblxuXG4gICAgQGlmICggay1tYXRoLXVuaXQoJGxldmVsKSA9PSBcIiVcIiApIHtcbiAgICAgICAgQHJldHVybiBrLWNvbG9yLW1peCggJGJhc2UsICRjb2xvciwgJGxldmVsICk7XG4gICAgfVxuXG4gICAgQHJldHVybiBrLWNvbG9yLW1peCggJGJhc2UsICRjb2xvciwgay1tYXRoLWNsYW1wKCAkbGV2ZWwgKiAkX2NvbG9yLWxldmVsLXN0ZXAsIDAlLCAxMDAlICkgKTtcbn1cblxuLy8vIE1ha2VzIGEgY29sb3IgbGlnaHRlciBieSBtaXhpbmcgaXQgd2l0aCB3aGl0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBsaWdodGVuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIFRoZSBhbW91bnQgdG8gbGlnaHRlbiB0aGUgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgbGlnaHRlbmVkIGNvbG9yXG4vLy9cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWNvbG9yLXRpbnQoICNmMDAsIDEgKTsgLy8gPT4gI2ZmMWExYVxuQGZ1bmN0aW9uIGstY29sb3ItdGludCggJGNvbG9yLCAkbGV2ZWw6IDEgKSB7XG4gICAgQHJldHVybiBrLWNvbG9yLWxldmVsKCAkY29sb3IsIC0kbGV2ZWwgKTtcbn1cblxuLy8vIE1ha2VzIGEgY29sb3IgZGFya2VyIGJ5IG1peGluZyBpdCB3aXRoIGJsYWNrXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGRhcmtlblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV2ZWwgLSBUaGUgYW1vdW50IHRvIGRhcmtlbiB0aGUgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgZGFya2VuZWQgY29sb3Jcbi8vL1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstY29sb3Itc2hhZGUoICNmMDAsIDEgKTsgLy8gPT4gI2U2MDAwMFxuQGZ1bmN0aW9uIGstY29sb3Itc2hhZGUoICRjb2xvciwgJGxldmVsOiAxICkge1xuICAgIEByZXR1cm4gay1jb2xvci1sZXZlbCggJGNvbG9yLCAkbGV2ZWwgKTtcbn1cblxuLy8vIFNoYWRlcyB0aGUgY29sb3IgaW4gbGlnaHQgdGhlbWVzIGFuZCB0aW50cyBpdCBpbiBkYXJrIHRoZW1lc1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBzaGFkZSBvciB0aW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIFRoZSBhbW91bnQgdG8gc2hhZGUgb3IgdGludCB0aGUgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgc2hhZGVkIG9yIHRpbnRlZCBjb2xvclxuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuQGZ1bmN0aW9uIGstdHJ5LXNoYWRlKCAkY29sb3IsICRsZXZlbDogMSApIHtcbiAgICAkX2RhcmstdGhlbWU6IGlmKCBrLW1ldGEtdmFyaWFibGUtZXhpc3RzKCBrZW5kby1pcy1kYXJrLXRoZW1lICksICRrZW5kby1pcy1kYXJrLXRoZW1lLCBmYWxzZSApO1xuXG4gICAgQGlmICRfZGFyay10aGVtZSB7XG4gICAgICAgIEByZXR1cm4gay1jb2xvci10aW50KCAkY29sb3IsICRsZXZlbCApO1xuICAgIH1cblxuICAgIEByZXR1cm4gay1jb2xvci1zaGFkZSggJGNvbG9yLCAkbGV2ZWwgKTtcbn1cblxuLy8vIFRpbnRzIHRoZSBjb2xvciBpbiBsaWdodCB0aGVtZXMgYW5kIHNoYWRlcyBpdCBpbiBkYXJrIHRoZW1lc1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byB0aW50IG9yIHNoYWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIFRoZSBhbW91bnQgdG8gdGludCBvciBzaGFkZSB0aGUgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn0gLSBUaGUgdGludGVkIG9yIHNoYWRlZCBjb2xvclxuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuQGZ1bmN0aW9uIGstdHJ5LXRpbnQoICRjb2xvciwgJGxldmVsOiAxICkge1xuICAgICRfZGFyay10aGVtZTogaWYoIGstbWV0YS12YXJpYWJsZS1leGlzdHMoIGtlbmRvLWlzLWRhcmstdGhlbWUgKSwgJGtlbmRvLWlzLWRhcmstdGhlbWUsIGZhbHNlICk7XG5cbiAgICBAaWYgJF9kYXJrLXRoZW1lIHtcbiAgICAgICAgQHJldHVybiBrLWNvbG9yLXNoYWRlKCAkY29sb3IsICRsZXZlbCApO1xuICAgIH1cblxuICAgIEByZXR1cm4gay1jb2xvci10aW50KCAkY29sb3IsICRsZXZlbCApO1xufVxuXG4vLy8gRGFya2VucyB0aGUgY29sb3IgaW4gbGlnaHQgdGhlbWVzIGFuZCBsaWdodGVucyBpdCBpbiBkYXJrIHRoZW1lc1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBjb2xvciB0byBkYXJrZW4gb3IgbGlnaHRlblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV2ZWwgLSBUaGUgYW1vdW50IHRvIGRhcmtlbiBvciBsaWdodGVuIHRoZSBjb2xvclxuLy8vIEByZXR1cm4ge0NvbG9yfSAtIFRoZSBkYXJrZW5lZCBvciBsaWdodGVuZWQgY29sb3Jcbi8vL1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbkBmdW5jdGlvbiBrLXRyeS1kYXJrZW4oICRjb2xvciwgJGFtb3VudCApIHtcbiAgICAkX2RhcmstdGhlbWU6IGlmKCBrLW1ldGEtdmFyaWFibGUtZXhpc3RzKCBrZW5kby1pcy1kYXJrLXRoZW1lICksICRrZW5kby1pcy1kYXJrLXRoZW1lLCBmYWxzZSApO1xuXG4gICAgQGlmICRfZGFyay10aGVtZSB7XG4gICAgICAgIEByZXR1cm4gay1jb2xvci1saWdodGVuKCAkY29sb3IsICRhbW91bnQgKTtcbiAgICB9XG4gICAgQHJldHVybiBrLWNvbG9yLWRhcmtlbiggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBMaWdodGVucyB0aGUgY29sb3IgaW4gbGlnaHQgdGhlbWVzIGFuZCBkYXJrZW5zIGl0IGluIGRhcmsgdGhlbWVzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIHRvIGxpZ2h0ZW4gb3IgZGFya2VuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXZlbCAtIFRoZSBhbW91bnQgdG8gbGlnaHRlbiBvciBkYXJrZW4gdGhlIGNvbG9yXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGxpZ2h0ZW5lZCBvciBkYXJrZW5lZCBjb2xvclxuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuQGZ1bmN0aW9uIGstdHJ5LWxpZ2h0ZW4oICRjb2xvciwgJGFtb3VudCApIHtcbiAgICAkX2RhcmstdGhlbWU6IGlmKCBrLW1ldGEtdmFyaWFibGUtZXhpc3RzKCBrZW5kby1pcy1kYXJrLXRoZW1lICksICRrZW5kby1pcy1kYXJrLXRoZW1lLCBmYWxzZSApO1xuXG4gICAgQGlmICRfZGFyay10aGVtZSB7XG4gICAgICAgIEByZXR1cm4gay1jb2xvci1kYXJrZW4oICRjb2xvciwgJGFtb3VudCApO1xuICAgIH1cbiAgICBAcmV0dXJuIGstY29sb3ItbGlnaHRlbiggJGNvbG9yLCAkYW1vdW50ICk7XG59XG5cbi8vLyBDb252ZXJ0cyBhIGNvbG9yIHdpdGggYWxwaGEgdG8gc29saWQgY29sb3IgbWl4ZWQgd2l0aCBhIGJhY2tncm91bmQgY29sb3Jcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiZyAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4vLy8gQHJldHVybiB7Q29sb3J9IC0gVGhlIGNvbnZlcnRlZCBjb2xvclxuLy8vXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1yZ2JhLXRvLW1peCggcmdiYSggI2YwMCwgMC41ICksICNmZmYgKTsgLy8gPT4gI2ZmODA4MFxuQGZ1bmN0aW9uIGstcmdiYS10by1taXgoICRjb2xvciwgJGJnICkge1xuICAgICRwZXJjZW50OiBrLWNvbG9yLWFscGhhKCAkY29sb3IgKSAqIDEwMCU7XG5cbiAgICBAcmV0dXJuIGstY29sb3ItbWl4KCByZ2JhKCAkY29sb3IsIDEgKSwgJGJnLCAkcGVyY2VudCApO1xufVxuXG4vLyBUT0RPOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiBvciByZXRoaW5rIHRoZSBsb2dpY1xuQGZ1bmN0aW9uIGstdHJ1ZS1taXgoICRjb2xvcjEsICRjb2xvcjIsICR3ZWlnaHQ6IDUwJSApIHtcbiAgICBAcmV0dXJuIGstY29sb3ItbWl4KCByZ2JhKCAkY29sb3IxLCAxICksIHJnYmEoICRjb2xvcjIsIDEgKSwgJHdlaWdodCApO1xufVxuXG4vLy8gR2VuZXJhdGVzIGFsbCBjb2xvciB2YXJpYXRpb25zIG9mIGEgZ2l2ZW4gbWFpbiBjb2xvclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtYWluIGNvbG9yXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGxldmVsIC0gVGhlIGNvbG9yIHZhbHVlIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBtYWluIGNvbG9yXG4vLy8gQHJldHVybiB7TWFwfSAtIEEgbWFwIHdpdGggdGhlIGdlbmVyYXRlZCBrZXlzIGFuZCB2YWx1ZXNcbi8vL1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbkBmdW5jdGlvbiBrLWdlbmVyYXRlLWNvbG9ycyggJG5hbWUsICRjb2xvciApIHtcbiAgICAkX3ZhcmlhdGlvbnM6IChcbiAgICAgICAgI3skbmFtZX0tc3VidGxlOiBrLXRyeS10aW50KCAkY29sb3IsIDgwJSApLFxuICAgICAgICAjeyRuYW1lfS1zdWJ0bGUtaG92ZXI6IGstdHJ5LXRpbnQoICRjb2xvciwgNjUlICksXG4gICAgICAgICN7JG5hbWV9LXN1YnRsZS1hY3RpdmU6IGstdHJ5LXRpbnQoICRjb2xvciwgNTAlICksXG4gICAgICAgICN7JG5hbWV9OiAkY29sb3IsXG4gICAgICAgICN7JG5hbWV9LWhvdmVyOiBrLXRyeS1zaGFkZSggJGNvbG9yLCAwLjUgKSxcbiAgICAgICAgI3skbmFtZX0tYWN0aXZlOiBrLXRyeS1zaGFkZSggJGNvbG9yLCAxLjUgKSxcbiAgICAgICAgI3skbmFtZX0tZW1waGFzaXM6IGstdHJ5LXRpbnQoICRjb2xvciwgNC41ICksXG4gICAgICAgICN7JG5hbWV9LW9uLXN1YnRsZTogay10cnktc2hhZGUoICRjb2xvciwgOCApLFxuICAgICAgICBvbi0jeyRuYW1lfTogay1jb250cmFzdC1sZWdhY3koICRjb2xvciApLFxuICAgICAgICAjeyRuYW1lfS1vbi1zdXJmYWNlOiAkY29sb3IsXG4gICAgKTtcbiAgICBcbiAgICBAcmV0dXJuICRfdmFyaWF0aW9ucztcbn1cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2N1c3RvbS1wcm9wZXJ0aWVzLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL19jdXN0b20tcHJvcGVydGllcy5pbXBvcnQuc2Nzc1xuQGZ1bmN0aW9uIGstdmFyKCAkcHJlZml4OiBrZW5kby0sICR2YXI6IG51bGwsICRmYWxsYmFjazogbnVsbCApIHtcbiAgICAkX3ByZWZpeDogJHByZWZpeDtcbiAgICAkX3ZhcjogJHZhcjtcbiAgICAkX2ZhbGxiYWNrOiAkZmFsbGJhY2s7XG5cbiAgICBAaWYgKCBrLXN0cmluZy1pbmRleCggJHByZWZpeCwgXCItLVwiICkgPT0gMSApIHtcbiAgICAgICAgJF9wcmVmaXg6IFwiXCI7XG4gICAgICAgICRfdmFyOiBrLXN0cmluZy1zbGljZSggJHByZWZpeCwgMyApO1xuICAgICAgICAkX2ZhbGxiYWNrOiAkdmFyO1xuICAgIH1cblxuICAgIEBpZiBub3QgJF92YXIge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgQGlmICRfcHJlZml4ID09IG51bGwgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICRfcHJlZml4OiBcIlwiO1xuICAgIH1cblxuICAgIEBpZiAoJF9mYWxsYmFjayAhPSBudWxsIGFuZCAkX2ZhbGxiYWNrICE9IFwiXCIpIHtcbiAgICAgICAgQHJldHVybiB2YXIoIC0tI3skX3ByZWZpeH0jeyRfdmFyfSwgI3skX2ZhbGxiYWNrfSApO1xuICAgIH1cblxuICAgIEByZXR1cm4gdmFyKCAtLSN7JF9wcmVmaXh9I3skX3Zhcn0gKTtcbn1cblxuQGZ1bmN0aW9uIGstdmFycyggJHByZWZpeDoga2VuZG8tLCAkdmFycy4uLiApIHtcbiAgICAkdmFyczogay1saXN0LXJldmVyc2UoICR2YXJzICk7XG4gICAgJHJlc3VsdDogbnVsbDtcblxuICAgIC8vIEBkZWJ1ZyAkcHJlZml4O1xuICAgIEBlYWNoICR2YXIgaW4gJHZhcnMge1xuICAgICAgICAkcmVzdWx0OiBrLXZhciggJHByZWZpeCwgJHZhciwgJHJlc3VsdCApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZXNjYXBlLXN0cmluZy5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9fZXNjYXBlLXN0cmluZy5pbXBvcnQuc2Nzc1xuJF9rZW5kby1zdmctZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gICAgKFwiJVwiLCBcIiUyNVwiKSxcbiAgICAoXCI8XCIsIFwiJTNjXCIpLFxuICAgIChcIj5cIiwgXCIlM2VcIiksXG4gICAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgICAoXCIoXCIsIFwiJTI4XCIpLFxuICAgIChcIilcIiwgXCIlMjlcIilcbikgIWRlZmF1bHQ7XG5cbi8vLyBFc2NhcGVzIFNWRyBjaGFyYWN0ZXJzIGluIGEgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBUaGUgc3RyaW5nIHRvIGVzY2FwZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgZXNjYXBlZCBzdHJpbmdcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbkBmdW5jdGlvbiBrLWVzY2FwZS1zdmcoJHN0cmluZykge1xuICAgIEBpZiBrLXN0cmluZy1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkX2tlbmRvLXN2Zy1lc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICAgICAgICBAaWYgay1zdHJpbmctaW5kZXgoJHN0cmluZywgXCJ1cmwoXCIpID09IDEge1xuICAgICAgICAgICAgICAgICRzdHJpbmc6IHVybChcIiN7ay1zdHJpbmctcmVwbGFjZShrLXN0cmluZy1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9XCIpO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJHN0cmluZzogay1zdHJpbmctcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5cblxuJF9rZW5kby1lc2NhcGUtY2xhc3MtbmFtZTogKFxuICAgIFwiLlwiOiBcIlxcXFwuXCIsXG4gICAgXCIvXCI6IFwiXFxcXC9cIlxuKTtcblxuLy8vIEVzY2FwZXMgc3BlY2lhbCBjaGFyYWN0ZXJzIGluIGEgY2xhc3MgbmFtZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdGV4dCAtIFRoZSBzdHJpbmcgdG8gZXNjYXBlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFRoZSBlc2NhcGVkIHN0cmluZ1xuQGZ1bmN0aW9uIGstZXNjYXBlLWNsYXNzLW5hbWUoICR0ZXh0ICkge1xuICAgICRfdGV4dDogJHRleHQ7XG5cbiAgICBAZWFjaCAkY2hhciwgJHJlcCBpbiAkX2tlbmRvLWVzY2FwZS1jbGFzcy1uYW1lIHtcbiAgICAgICAgJF90ZXh0OiBrLXN0cmluZy1yZXBsYWNlKCAkX3RleHQsIGstc3RyaW5nLXVucXVvdGUoICRjaGFyICksIGstc3RyaW5nLXVucXVvdGUoICRyZXAgKSApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJF90ZXh0O1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYW5nLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL19sYW5nLmltcG9ydC5zY3NzXG4vLy8gUmV0dXJucyB0aGUgdmFsdWUgb2YgYSB2YXJpYWJsZSBpZiBpdCBpcyBub3QgbnVsbCxcbi8vLyBvdGhlcndpc2UgcmV0dXJucyB0aGUgZmFsbGJhY2sgdmFsdWUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YXIgLSBUaGUgdmFyaWFibGUgdG8gY2hlY2suXG4vLy8gQHBhcmFtIHtBbnl9ICRmYWxsYmFjayAtIFRoZSBmYWxsYmFjayB2YWx1ZS5cbi8vLyBAcmV0dXJuIHtBbnl9IC0gVGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBvciB0aGUgZmFsbGJhY2sgdmFsdWUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRmb286IG51bGw7XG4vLy8gICBAZGVidWcgay1pZi12YXIoICRmb28sIFwiYmFyXCIgKTsgLy8gPT4gXCJiYXJcIlxuLy8vICAgJGZvbzogXCJiYXpcIjtcbi8vLyAgIEBkZWJ1ZyBrLWlmLXZhciggJGZvbywgXCJiYXJcIiApOyAvLyA9PiBcImJhelwiXG5AZnVuY3Rpb24gay1pZi12YXIoICR2YXIsICRmYWxsYmFjayApIHtcbiAgICBAcmV0dXJuIGlmKCAkdmFyICE9IG51bGwsICR2YXIsICRmYWxsYmFjayApO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19saXN0LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL19saXN0LmltcG9ydC5zY3NzXG4vLy8gUmV0dXJucyBhIGNvcHkgb2YgYCRsaXN0YCB3aXRoIGAkdmFsYCBhcHBlbmRlZCB0byB0aGUgZW5kLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBUaGUgbGlzdCB0byBwcm9jZXNzLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsIC0gVGhlIHZhbHVlIHRvIGFwcGVuZCB0byBgJGxpc3RgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VwYXJhdG9yIC0gVGhlIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBgJGxpc3RgIGFuZCBgJHZhbGAuXG4vLy8gQHJldHVybiB7TGlzdH0gLSBBIGNvcHkgb2YgYCRsaXN0YCB3aXRoIGAkdmFsYCBhcHBlbmRlZCB0byB0aGUgZW5kLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1saXN0LWFwcGVuZCggKCBcImZvb1wiLCBcImJhclwiICksIFwiYmF6XCIgKTsgLy8gPT4gXCJmb28sIGJhciwgYmF6XCJcbkBmdW5jdGlvbiBrLWxpc3QtYXBwZW5kKCAkbGlzdCwgJHZhbCwgJHNlcGFyYXRvcjogYXV0byApIHtcbiAgICBAcmV0dXJuIGFwcGVuZCggJGxpc3QsICR2YWwsICRzZXBhcmF0b3IgKTtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkbGlzdGAgY29udGFpbnMgYCR2YWx1ZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHRvIGNoZWNrLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2sgZm9yLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJGxpc3RgIGNvbnRhaW5zIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1saXN0LWluY2x1ZGVzKCAoIFwiZm9vXCIsIFwiYmFyXCIgKSwgXCJmb29cIiApOyAvLyA9PiB0cnVlXG4vLy8gICBAZGVidWcgay1saXN0LWluY2x1ZGVzKCAoIFwiZm9vXCIsIFwiYmFyXCIgKSwgXCJiYXpcIiApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbGlzdC1pbmNsdWRlcyggJGxpc3QsICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbGlzdC1pbmRleCggJGxpc3QsICR2YWx1ZSApICE9IG51bGw7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBpbmRleCBvZiBgJHZhbHVlYCBpbiBgJGxpc3RgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBUaGUgbGlzdCB0byBjaGVjay5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrIGZvci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGluZGV4IG9mIGAkdmFsdWVgIGluIGAkbGlzdGAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWxpc3QtaW5kZXgoICggXCJmb29cIiwgXCJiYXJcIiApLCBcImZvb1wiICk7IC8vID0+IDFcbkBmdW5jdGlvbiBrLWxpc3QtaW5kZXgoICRsaXN0LCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBpbmRleCggJGxpc3QsICR2YWx1ZSApO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIGAkbGlzdGAgaXMgYnJhY2tldGVkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBUaGUgbGlzdCB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCRsaXN0YCBpcyBicmFja2V0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWxpc3QtaXMtYnJhY2tldGVkKCAoIFwiZm9vXCIsIFwiYmFyXCIgKSApOyAvLyA9PiBmYWxzZVxuLy8vICAgQGRlYnVnIGstbGlzdC1pcy1icmFja2V0ZWQoIFsgXCJmb29cIiwgXCJiYXJcIiBdICk7IC8vID0+IHRydWVcbkBmdW5jdGlvbiBrLWxpc3QtaXMtYnJhY2tldGVkKCAkbGlzdCApIHtcbiAgICBAcmV0dXJuIGlzLWJyYWNrZXRlZCggJGxpc3QgKTtcbn1cblxuLy8vIEpvaW5zIHR3byBsaXN0cyB0b2dldGhlci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0MSAtIFRoZSBmaXJzdCBsaXN0IHRvIGpvaW4uXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdDIgLSBUaGUgc2Vjb25kIGxpc3QgdG8gam9pbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlcGFyYXRvciAtIFRoZSBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gYCRsaXN0MWAgYW5kIGAkbGlzdDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJyYWNrZXRlZCAtIFdoZXRoZXIgdGhlIHJlc3VsdCBzaG91bGQgYmUgYnJhY2tldGVkLlxuLy8vIEByZXR1cm4ge0xpc3R9IC0gVGhlIGpvaW5lZCBsaXN0LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1saXN0LWpvaW4oICggXCJmb29cIiwgXCJiYXJcIiApLCAoIFwiYmF6XCIsIFwicXV4XCIgKSApOyAvLyA9PiBcImZvbywgYmFyLCBiYXosIHF1eFwiXG4vLy8gICBAZGVidWcgay1saXN0LWpvaW4oICggXCJmb29cIiwgXCJiYXJcIiApLCAoIFwiYmF6XCIsIFwicXV4XCIgKSwgXCIgXCIgKTsgLy8gPT4gXCJmb28gYmFyIGJheiBxdXhcIlxuQGZ1bmN0aW9uIGstbGlzdC1qb2luKCAkbGlzdDEsICRsaXN0MiwgJHNlcGFyYXRvcjogYXV0bywgJGJyYWNrZXRlZDogYXV0byApIHtcbiAgICBAcmV0dXJuIGpvaW4oICRsaXN0MSwgJGxpc3QyLCAkc2VwYXJhdG9yLCAkYnJhY2tldGVkICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBsZW5ndGggb2YgYCRsaXN0YC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gVGhlIGxpc3QgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBsZW5ndGggb2YgYCRsaXN0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbGlzdC1sZW5ndGgoICggXCJmb29cIiwgXCJiYXJcIiApICk7IC8vID0+IDJcbkBmdW5jdGlvbiBrLWxpc3QtbGVuZ3RoKCAkbGlzdCApIHtcbiAgICBAcmV0dXJuIGxlbmd0aCggJGxpc3QgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIG50aCBpdGVtIGluIGAkbGlzdGAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHRvIGNoZWNrLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIFRoZSBpbmRleCBvZiB0aGUgaXRlbSB0byByZXR1cm4uXG4vLy8gQHJldHVybiB7QW55fSAtIFRoZSBudGggaXRlbSBpbiBgJGxpc3RgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1saXN0LW50aCggKCBcImZvb1wiLCBcImJhclwiICksIDEgKTsgLy8gPT4gXCJmb29cIlxuQGZ1bmN0aW9uIGstbGlzdC1udGgoICRsaXN0LCAkbiApIHtcbiAgICBAcmV0dXJuIG50aCggJGxpc3QsICRuICk7XG59XG5cbi8vLyBSZXZlcnNlIHRoZSBvcmRlciBvZiBpdGVtcyBpbiBgJGxpc3RgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBUaGUgbGlzdCB0byByZXZlcnNlLlxuLy8vIEByZXR1cm4ge0xpc3R9IC0gVGhlIHJldmVyc2VkIGxpc3QuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWxpc3QtcmV2ZXJzZSggKCBcImZvb1wiLCBcImJhclwiICkgKTsgLy8gPT4gXCJiYXIsIGZvb1wiXG5AZnVuY3Rpb24gay1saXN0LXJldmVyc2UoICRsaXN0OiBudWxsICkge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGlmICgkbGlzdCkge1xuICAgICAgICAkbGVuOiBrLWxpc3QtbGVuZ3RoKCAkbGlzdCApO1xuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAkbGVuIHRocm91Z2ggMSB7XG4gICAgICAgICAgICAkcmVzdWx0OiBrLWxpc3QtYXBwZW5kKCAkcmVzdWx0LCBrLWxpc3QtbnRoKCAkbGlzdCwgJGkgKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiAkcmVzdWx0O1xuICAgIH1cblxuICAgIEB3YXJuIFwiTm8gbGlzdCBwYXNzZWQuXCI7XG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gUmV0dXJucyB0aGUgc2VwYXJhdG9yIG9mIGAkbGlzdGAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgc2VwYXJhdG9yIG9mIGAkbGlzdGAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLWxpc3Qtc2VwYXJhdG9yKCAoIFwiZm9vXCIsIFwiYmFyXCIgKSApOyAvLyA9PiBcIixcIlxuQGZ1bmN0aW9uIGstbGlzdC1zZXBhcmF0b3IoICRsaXN0ICkge1xuICAgIEByZXR1cm4gbGlzdC1zZXBhcmF0b3IoICRsaXN0ICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgY29weSBvZiBgJGxpc3RgIHdpdGggYCR2YWxgIGluc2VydGVkIGF0IGAkbmAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIFRoZSBsaXN0IHRvIHByb2Nlc3MuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gVGhlIGluZGV4IGF0IHdoaWNoIHRvIGluc2VydCBgJHZhbGAuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWwgLSBUaGUgdmFsdWUgdG8gaW5zZXJ0LlxuLy8vIEByZXR1cm4ge0xpc3R9IC0gQSBjb3B5IG9mIGAkbGlzdGAgd2l0aCBgJHZhbGAgaW5zZXJ0ZWQgYXQgYCRuYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbGlzdC1zZXQtbnRoKCAoIFwiZm9vXCIsIFwiYmFyXCIgKSwgMSwgXCJiYXpcIiApOyAvLyA9PiBcImJheiwgYmFyXCJcbkBmdW5jdGlvbiBrLWxpc3Qtc2V0LW50aCggJGxpc3QsICRuLCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBzZXQtbnRoKCAkbGlzdCwgJG4sICR2YWx1ZSApO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIGxpc3RzIGludG8gYSBzaW5nbGUgbGlzdCBvZiB0d28taXRlbSBsaXN0cy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0MSAtIFRoZSBmaXJzdCBsaXN0IHRvIGNvbWJpbmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdDIgLSBUaGUgc2Vjb25kIGxpc3QgdG8gY29tYmluZS5cbi8vLyBAcmV0dXJuIHtMaXN0fSAtIEEgbGlzdCBvZiB0d28taXRlbSBsaXN0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbGlzdC16aXAoICggXCJmb29cIiwgXCJiYXJcIiApLCAoIFwiYmF6XCIsIFwicXV4XCIgKSApOyAvLyA9PiAoKGZvbywgYmF6KSwgKGJhciwgcXV4KSlcbkBmdW5jdGlvbiBrLWxpc3QtemlwKCAkbGlzdHMuLi4gKSB7XG4gICAgQHJldHVybiB6aXAoICRsaXN0cy4uLiApO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19tYXRoLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL19tYXRoLmltcG9ydC5zY3NzXG4vLy8gUmV0dXJucyB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgYSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBUaGUgbnVtYmVyIHRvIGdldCB0aGUgYWJzb2x1dGUgdmFsdWUgb2YuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiBgJG51bWJlcmAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtYWJzKCAtMTAgKTsgLy8gPT4gMTBcbkBmdW5jdGlvbiBrLW1hdGgtYWJzKCAkbnVtYmVyICkge1xuICAgIEByZXR1cm4gYWJzKCAkbnVtYmVyICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBhIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIFRoZSBudW1iZXIgdG8gZ2V0IHRoZSBjZWlsaW5nIG9mLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgY2VpbGluZyBvZiBgJG51bWJlcmAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtY2VpbCggMTAuMSApOyAvLyA9PiAxMVxuQGZ1bmN0aW9uIGstbWF0aC1jZWlsKCAkbnVtYmVyICkge1xuICAgIEByZXR1cm4gY2VpbCggJG51bWJlciApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgbGFyZ2VzdCBpbnRlZ2VyIGxlc3MgdGhhbiBvciBlcXVhbCB0byBhIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIFRoZSBudW1iZXIgdG8gZ2V0IHRoZSBmbG9vciBvZi5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGZsb29yIG9mIGAkbnVtYmVyYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1mbG9vciggMTAuOSApOyAvLyA9PiAxMFxuQGZ1bmN0aW9uIGstbWF0aC1mbG9vciggJG51bWJlciApIHtcbiAgICBAcmV0dXJuIGZsb29yKCAkbnVtYmVyICk7XG59XG5cbi8vLyBSZXN0cmljdHMgYCRudW1iZXJgIHRvIHRoZSByYW5nZSBiZXR3ZWVuIGAkbWluYCBhbmQgYCRtYXhgLiBJZiBgJG51bWJlcmAgaXNcbi8vLyBsZXNzIHRoYW4gYCRtaW5gLCBgJG1pbmAgaXMgcmV0dXJuZWQuIElmIGAkbnVtYmVyYCBpcyBncmVhdGVyIHRoYW4gYCRtYXhgLFxuLy8vIGAkbWF4YCBpcyByZXR1cm5lZC4gT3RoZXJ3aXNlLCBgJG51bWJlcmAgaXMgcmV0dXJuZWQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBUaGUgbnVtYmVyIHRvIGNsYW1wLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIC0gVGhlIG1pbmltdW0gdmFsdWUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBUaGUgbWF4aW11bSB2YWx1ZS5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGNsYW1wZWQgbnVtYmVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXRoLWNsYW1wKCAxMCwgMCwgNSApOyAvLyA9PiA1XG5AZnVuY3Rpb24gay1tYXRoLWNsYW1wKCAkbnVtYmVyLCAkbWluLCAkbWF4ICkge1xuICAgIEByZXR1cm4gay1tYXRoLW1heCggJG1pbiwgay1tYXRoLW1pbiggJG1heCwgJG51bWJlciApICk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdHdvIG51bWJlcnMgaGF2ZSBjb21wYXRpYmxlIHVuaXRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIFRoZSBmaXJzdCBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gVGhlIHNlY29uZCBudW1iZXIuXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIHRoZSBudW1iZXJzIGhhdmUgY29tcGF0aWJsZSB1bml0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1jb21wYXRpYmxlKCAxMHB4LCAxMHB4ICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtY29tcGF0aWJsZSggMTBweCwgMTBlbSApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWF0aC1jb21wYXRpYmxlKCAkYSwgJGIgKSB7XG4gICAgQHJldHVybiBjb21wYXJhYmxlKCAkYSwgJGIgKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIHF1b3RpZW50IG9mIHR3byBudW1iZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIFRoZSBkaXZpZGVuZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBUaGUgZGl2aXNvci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIHF1b3RpZW50IG9mIGAkYWAgYW5kIGAkYmAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtZGl2KCAxMCwgMiApOyAvLyA9PiA1XG4vLy8gICBAZGVidWcgay1tYXRoLWRpdiggMTBweCwgMiApOyAvLyA9PiA1cHhcbkBmdW5jdGlvbiBrLW1hdGgtZGl2KCAkYSwgJGIgKSAge1xuICAgIEByZXR1cm4gKCAkYSAvICRiICk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYCRudW1iZXJgIGhhcyBubyB1bml0cy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIFRoZSBudW1iZXIgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkbnVtYmVyYCBoYXMgbm8gdW5pdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtaXMtdW5pdGxlc3MoIDEwICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtaXMtdW5pdGxlc3MoIDEwcHggKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1hdGgtaXMtdW5pdGxlc3MoICRudW1iZXIgKSB7XG4gICAgQHJldHVybiB1bml0bGVzcyggJG51bWJlciApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgbGFyZ2VyIG9mIHR3byBudW1iZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIFRoZSBmaXJzdCBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gVGhlIHNlY29uZCBudW1iZXIuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBsYXJnZXIgb2YgYCRhYCBhbmQgYCRiYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1tYXgoIDEwLCAyMCApOyAvLyA9PiAyMFxuLy8vICAgQGRlYnVnIGstbWF0aC1tYXgoIDEwcHgsIDIwcHggKTsgLy8gPT4gMjBweFxuQGZ1bmN0aW9uIGstbWF0aC1tYXgoICRhLCAkYiApIHtcbiAgICBAcmV0dXJuIG1heCggJGEsICRiICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBzbWFsbGVyIG9mIHR3byBudW1iZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIFRoZSBmaXJzdCBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gVGhlIHNlY29uZCBudW1iZXIuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBzbWFsbGVyIG9mIGAkYWAgYW5kIGAkYmAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtbWluKCAxMCwgMjAgKTsgLy8gPT4gMTBcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtbWluKCAxMHB4LCAyMHB4ICk7IC8vID0+IDEwcHhcbkBmdW5jdGlvbiBrLW1hdGgtbWluKCAkYSwgJGIgKSB7XG4gICAgQHJldHVybiBtaW4oICRhLCAkYiApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgcmVtYWluZGVyIG9mIHR3byBudW1iZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIFRoZSBkaXZpZGVuZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBUaGUgZGl2aXNvci5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIHJlbWFpbmRlciBvZiBgJGFgIGFuZCBgJGJgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXRoLW1vZCggMTAsIDMgKTsgLy8gPT4gMVxuLy8vICAgQGRlYnVnIGstbWF0aC1tb2QoIDEwcHgsIDMgKTsgLy8gPT4gMXB4XG5AZnVuY3Rpb24gay1tYXRoLW1vZCggJGEsICRiICkge1xuICAgIEByZXR1cm4gKCAkYSAlICRiICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwcm9kdWN0IG9mIHR3byBudW1iZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIFRoZSBmaXJzdCBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gVGhlIHNlY29uZCBudW1iZXIuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBwcm9kdWN0IG9mIGAkYWAgYW5kIGAkYmAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtbXVsKCAxMCwgMiApOyAvLyA9PiAyMFxuLy8vICAgQGRlYnVnIGstbWF0aC1tdWwoIDEwcHgsIDIgKTsgLy8gPT4gMjBweFxuQGZ1bmN0aW9uIGstbWF0aC1tdWwoICRhLCAkYiApIHtcbiAgICBAcmV0dXJuICggJGEgKiAkYiApO1xufVxuXG4vLy8gQ29udmVydHMgYSB1bml0bGVzcyBudW1iZXIgdG8gYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gVGhlIG51bWJlciB0byBjb252ZXJ0LlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgcGVyY2VudGFnZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWF0aC1wZXJjZW50YWdlKCAwLjUgKTsgLy8gPT4gNTAlXG5AZnVuY3Rpb24gay1tYXRoLXBlcmNlbnRhZ2UoICRudW1iZXIgKSB7XG4gICAgQHJldHVybiBwZXJjZW50YWdlKCAkbnVtYmVyICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSByZXN1bHQgb2YgcmFpc2luZyBgJHhgIHRvIHRoZSBwb3dlciBvZiBgJG5gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkeCAtIFRoZSBiYXNlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIFRoZSBleHBvbmVudC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIHJlc3VsdCBvZiByYWlzaW5nIGAkeGAgdG8gdGhlIHBvd2VyIG9mIGAkbmAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtcG93KCAyLCAzICk7IC8vID0+IDhcbkBmdW5jdGlvbiBrLW1hdGgtcG93KCAkeCwgJG4gKSB7XG4gICAgJHJldDogMTtcblxuICAgIEBpZiAoICRuID09IDAgKSB7XG4gICAgICAgIEByZXR1cm4gJHJldDtcbiAgICB9XG5cbiAgICBAaWYgKCAkbiA+IDAgKSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG4ge1xuICAgICAgICAgICAgJHJldDogJHJldCAqICR4O1xuICAgICAgICB9XG4gICAgICAgIEByZXR1cm4gJHJldDtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJG4gdG8gMCB7XG4gICAgICAgICRyZXQ6IGstbWF0aC1kaXYoICRyZXQsICR4ICk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJldDtcblxufVxuXG4vLy8gUmV0dXJucyBhIHJhbmRvbSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGltaXQgLSBUaGUgdXBwZXIgbGltaXQgb2YgdGhlIHJhbmRvbSBudW1iZXIuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgcmFuZG9tIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtcmFuZG9tKCk7IC8vID0+IDAuMTIzNDU2Nzg5XG5AZnVuY3Rpb24gay1tYXRoLXJhbmRvbSggJGxpbWl0OiBudWxsICkge1xuICAgIEBpZiAoICRsaW1pdCA9PSBudWxsICkgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIEByZXR1cm4gcmFuZG9tKCk7XG4gICAgfVxuXG4gICAgQHJldHVybiByYW5kb20oICRsaW1pdCApO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgcmVzdWx0IG9mIHJvdW5kaW5nIGAkbnVtYmVyYCB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyXG4vLy8gdXNpbmcgdGhlIHNwZWNpZmllZCBgJHByZWNpc2lvbmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBUaGUgbnVtYmVyIHRvIHJvdW5kLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHJlY2lzaW9uIC0gVGhlIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyB0byByb3VuZCB0by5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIHJvdW5kZWQgbnVtYmVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXRoLXJvdW5kKCAxMC4xMjM0NTY3ODksIDMgKTsgLy8gPT4gMTAuMTIzXG5AZnVuY3Rpb24gay1tYXRoLXJvdW5kKCAkbnVtYmVyLCAkcHJlY2lzaW9uOiAwICkge1xuXG4gICAgQGlmICggJHByZWNpc2lvbiA9PSAwICkge1xuICAgICAgICBAcmV0dXJuIHJvdW5kKCAkbnVtYmVyICk7XG4gICAgfVxuXG4gICAgJHBvdzogay1tYXRoLXBvdyggMTAsICRwcmVjaXNpb24gKTtcblxuICAgIEByZXR1cm4gay1tYXRoLWRpdiggcm91bmQoICRudW1iZXIgKiAkcG93ICksICRwb3cgKTtcbn1cblxuLy8vIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYCRudW1iZXJgJ3MgdW5pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIFRoZSBudW1iZXIgdG8gZ2V0IHRoZSB1bml0IG9mLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgdW5pdCBvZiBgJG51bWJlcmAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hdGgtdW5pdCggMTBweCApOyAvLyA9PiBweFxuQGZ1bmN0aW9uIGstbWF0aC11bml0KCAkbnVtYmVyICkge1xuICAgIEByZXR1cm4gdW5pdCggJG51bWJlciApO1xufVxuXG4vLy8gUmVtb3ZlIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBUaGUgbnVtYmVyIHRvIHJlbW92ZSB0aGUgdW5pdCBmcm9tLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgdW5pdGxlc3MgbnVtYmVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXRoLXN0cmlwLXVuaXQoIDEwcHggKTsgLy8gPT4gMTBcbkBmdW5jdGlvbiBrLW1hdGgtc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gICAgQGlmICggay1tZXRhLXR5cGUtb2YoICRudW1iZXIgKSA9PSBcIm51bWJlclwiICkgYW5kIG5vdCBrLW1hdGgtaXMtdW5pdGxlc3MoICRudW1iZXIgKSB7XG4gICAgICAgIEByZXR1cm4gay1tYXRoLWRpdiggJG51bWJlciwgMSAqIGstbWF0aC11bml0KCAkbnVtYmVyKSApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG51bWJlcjtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbWFwLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL19tYXAuaW1wb3J0LnNjc3Ncbi8vLyBSZXR1cm5zIHRoZSB2YWx1ZSBhdCBgJGtleWAgaW4gYCRtYXBgLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gVGhlIG1hcCB0byBnZXQgdGhlIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtBbnl9ICRrZXkgLSBUaGUga2V5IHRvIGdldCB0aGUgdmFsdWUgZm9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXAtZ2V0KCAoIFwiZm9vXCI6IFwiYmFyXCIgKSwgXCJmb29cIiApOyAvLyA9PiBcImJhclwiXG5AZnVuY3Rpb24gay1tYXAtZ2V0KCAkbWFwLCAka2V5cy4uLiApIHtcbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgICAgJG1hcDogbWFwLWdldCggJG1hcCwgJGtleSApOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgfVxuICAgIEByZXR1cm4gJG1hcDtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciBgJG1hcGAgaGFzIGEgdmFsdWUgYXQgYCRrZXlgLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gVGhlIG1hcCB0byBjaGVjay5cbi8vLyBAcGFyYW0ge0FueX0gJGtleSAtIFRoZSBrZXkgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkbWFwYCBoYXMgYSB2YWx1ZSBhdCBgJGtleWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hcC1oYXMoICggXCJmb29cIjogXCJiYXJcIiApLCBcImZvb1wiICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1hcC1oYXMoICggXCJmb29cIjogXCJiYXJcIiApLCBcImJhclwiICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tYXAtaGFzLWtleSggJG1hcCwgJGtleSApIHtcbiAgICBAcmV0dXJuIG1hcC1oYXMta2V5KCAkbWFwLCAka2V5ICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdGhlIGtleXMgaW4gYCRtYXBgLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gVGhlIG1hcCB0byBnZXQgdGhlIGtleXMgZnJvbS5cbi8vLyBAcmV0dXJuIHtMaXN0fSAtIEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdGhlIGtleXMgaW4gYCRtYXBgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXAta2V5cyggKCBcImZvb1wiOiBcImJhclwiLCBcImJhelwiOiBcInF1eFwiICkgKTsgLy8gPT4gXCJmb28sIGJhelwiXG5AZnVuY3Rpb24gay1tYXAta2V5cyggJG1hcCApIHtcbiAgICBAcmV0dXJuIG1hcC1rZXlzKCAkbWFwICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgbWFwIHdpdGggdGhlIGtleXMgYW5kIHZhbHVlcyBmcm9tIGAkbWFwYCBhbmQgYCRhcmdzYC5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIFRoZSBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICRhcmdzIC0gVGhlIG1hcCB0byBtZXJnZSBpbnRvIGAkbWFwYC5cbi8vLyBAcmV0dXJuIHtNYXB9IC0gQSBtYXAgd2l0aCB0aGUga2V5cyBhbmQgdmFsdWVzIGZyb20gYCRtYXBgIGFuZCBgJGFyZ3NgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXAtbWVyZ2UoICggXCJmb29cIjogXCJiYXJcIiApLCAoIFwiYmF6XCI6IFwicXV4XCIgKSApOyAvLyA9PiAoIFwiZm9vXCI6IFwiYmFyXCIsIFwiYmF6XCI6IFwicXV4XCIgKVxuQGZ1bmN0aW9uIGstbWFwLW1lcmdlKCAkbWFwLCAkYXJncy4uLiApIHtcbiAgICBAZWFjaCAkYXJnIGluICRhcmdzIHtcbiAgICAgICAgJG1hcDogbWFwLW1lcmdlKCAkbWFwLCAkYXJnICk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICB9XG4gICAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gUmV0dXJucyBhIGRlZXAtbWFwIHdpdGggdGhlIGtleXMgYW5kIHZhbHVlcyBmcm9tIGAkbWFwYCBhbmQgYCRhcmdzYC5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMgLSBUaGUgbWFwcyB0byBkZWVwLW1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gLSBBIG1hcCB3aXRoIHRoZSBrZXlzIGFuZCB2YWx1ZXMgZnJvbSBgJG1hcGAgYW5kIGAkYXJnc2AuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1hcC1kZWVwLW1lcmdlKCAoIFwiZm9vXCI6IChcImJhclwiOiBcImJhelwiLCBcImJhelwiOiBcInF1eFwiICkgKSwgKCBcImZvb1wiOiAoXCJiYXJcIjogXCJmb29cIikgKSApOyAvLyA9PiAoIFwiZm9vXCI6IChcImJhclwiOiBcImZvb1wiLCBcImJhelwiOiBcInF1eFwiICkpXG5AZnVuY3Rpb24gay1tYXAtZGVlcC1tZXJnZSgkbWFwcy4uLikge1xuICAgICRtZXJnZWQ6ICgpO1xuXG4gICAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgICAgICBAaWYgKGstbWV0YS10eXBlLW9mKCR2YWwpID09ICdtYXAnKSB7XG4gICAgICAgICAgJGN1cnJlbnQ6IGstbWFwLWdldCgkbWVyZ2VkLCAka2V5KTtcbiAgICAgICAgICBAaWYgKGstbWV0YS10eXBlLW9mKCRjdXJyZW50KSA9PSAnbWFwJykge1xuICAgICAgICAgICAgJHZhbDogay1tYXAtZGVlcC1tZXJnZSgkY3VycmVudCwgJHZhbCk7XG4gICAgICAgICAgICAkbWFwOiBrLW1hcC1tZXJnZShcbiAgICAgICAgICAgICAgJG1hcCxcbiAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICRrZXk6ICR2YWxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICRtZXJnZWQ6IGstbWFwLW1lcmdlKCRtZXJnZWQsICRtYXApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1lcmdlZDtcbiAgfVxuXG4vLy8gUmV0dXJucyBhIG1hcCB3aXRoIHRoZSBrZXlzIGFuZCB2YWx1ZXMgZnJvbSBgJG1hcGAgZXhjZXB0IGZvciBgJGtleXNgLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gVGhlIG1hcCB0byByZW1vdmUga2V5cyBmcm9tLlxuLy8vIEBwYXJhbSB7QW55fSAka2V5cyAtIFRoZSBrZXlzIHRvIHJlbW92ZSBmcm9tIGAkbWFwYC5cbi8vLyBAcmV0dXJuIHtNYXB9IC0gQSBtYXAgd2l0aCB0aGUga2V5cyBhbmQgdmFsdWVzIGZyb20gYCRtYXBgIGV4Y2VwdCBmb3IgYCRrZXlzYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWFwLXJlbW92ZSggKCBcImZvb1wiOiBcImJhclwiLCBcImJhelwiOiBcInF1eFwiICksIFwiZm9vXCIgKTsgLy8gPT4gKCBcImJhelwiOiBcInF1eFwiIClcbkBmdW5jdGlvbiBrLW1hcC1yZW1vdmUoICRtYXAsICRrZXlzLi4uICkge1xuICAgIEByZXR1cm4gbWFwLXJlbW92ZSggJG1hcCwgJGtleXMuLi4gKTtcbn1cblxuLy8vIFNldHMgYSBzaW5nbGUga2V5IGFuZCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBUaGUgbWFwIHRvIHNldCB0aGUgdmFsdWUgaW4uXG4vLy8gQHBhcmFtIHtBbnl9ICRrZXkgLSBUaGUga2V5IHRvIHNldCB0aGUgdmFsdWUgZm9yLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0LlxuLy8vIEByZXR1cm4ge01hcH0gLSBBIG1hcCB3aXRoIHRoZSBrZXkgYW5kIHZhbHVlIHNldC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWFwLXNldCggKCBcImZvb1wiOiBcImJhclwiICksIFwiYmF6XCIsIFwicXV4XCIgKTsgLy8gPT4gKCBcImZvb1wiOiBcImJhclwiLCBcImJhelwiOiBcInF1eFwiIClcbkBmdW5jdGlvbiBrLW1hcC1zZXQoICRtYXAsICRrZXksICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWFwLW1lcmdlKCAkbWFwLCAoICRrZXk6ICR2YWx1ZSApICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdGhlIHZhbHVlcyBpbiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBUaGUgbWFwIHRvIGdldCB0aGUgdmFsdWVzIGZyb20uXG4vLy8gQHJldHVybiB7TGlzdH0gLSBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHRoZSB2YWx1ZXMgaW4gYCRtYXBgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tYXAtdmFsdWVzKCAoIFwiZm9vXCI6IFwiYmFyXCIsIFwiYmF6XCI6IFwicXV4XCIgKSApOyAvLyA9PiBcImJhciwgcXV4XCJcbkBmdW5jdGlvbiBrLW1hcC12YWx1ZXMoICRtYXAgKSB7XG4gICAgQHJldHVybiBtYXAtdmFsdWVzKCAkbWFwICk7XG59XG5cbi8vLyBSZXR1cm5zIG5lZ2F0aXZlIHZhbHVlcyBvZiBhIG51bWJlciBvciBudW1iZXJzIGluIGEgbGlzdC5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIFRoZSBtYXAgdG8gZ2V0IHRoZSB2YWx1ZXMgZnJvbS5cbi8vLyBAcmV0dXJuIHtNYXB9IC0gQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB0aGUgdmFsdWVzIGluIGAkbWFwYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWFwLW5lZ2F0ZSggKCAwOiAwLCAxOiAxcHgsIDI6IDJweCApICk7IC8vID0+IChcIi0xXCI6IC0xcHgsIFwiLTJcIjogLTJweClcbkBmdW5jdGlvbiBrLW1hcC1uZWdhdGUoJG1hcCkge1xuICAgICRfbWFwLW5lZzogKCk7XG5cbiAgICBAaWYoIGstbWV0YS10eXBlLW9mKCRtYXApICE9IG1hcCApIHtcbiAgICAgICAgQGVycm9yIFwiZXhwZWN0ZWQgdHlwZSBvZiAjeyRtYXB9IGlzIG1hcCwgd2FzICN7ay1tZXRhLXR5cGUtb2YoJG1hcCl9XCI7XG4gICAgfTtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgICRfa2V5LW5lZzogXCItXCIgKyAka2V5O1xuXG4gICAgICAgIEBpZiggay1tZXRhLXR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIgYW5kICR2YWx1ZSAhPSAwKSB7XG4gICAgICAgICAgICAkX21hcC1uZWc6IGstbWFwLXNldCgkX21hcC1uZWcsICRfa2V5LW5lZywgLTEgKiAkdmFsdWUgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJF9tYXAtbmVnO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX21ldGEuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvX21ldGEuaW1wb3J0LnNjc3Ncbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvYWR2YW5jZWQtdHlwZS1jaGVja2luZy9cblxuLy8vIEEgd3JhcHBlciBhcm91bmQgdGhlIGBjYWxsKClgIGZ1bmN0aW9uLlxuLy8vIENhbGxzIHRoZSBmdW5jdGlvbiBgJGZ1bmN0aW9uYCB3aXRoIHRoZSBhcmd1bWVudHMgYCRhcmdzYC5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZnVuY3Rpb24gLSBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRhcmdzIC0gVGhlIGFyZ3VtZW50cyB0byBwYXNzIHRvIGAkZnVuY3Rpb25gLlxuLy8vIEByZXR1cm4ge0FueX0gLSBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgYCRmdW5jdGlvbmAgd2l0aCBgJGFyZ3NgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLWNhbGwoIGstbWV0YS1nZXQtZnVuY3Rpb24oIFwiay1zdHJpbmctcmVwbGFjZVwiICksIFwiZm9vIGJhclwiLCBcImJhclwiLCBcImJhelwiICk7IC8vID0+IFwiZm9vIGJhelwiXG5AZnVuY3Rpb24gay1tZXRhLWNhbGwoICRmdW5jdGlvbiwgJGFyZ3MuLi4gKSB7XG4gICAgQHJldHVybiBjYWxsKCAkZnVuY3Rpb24sICRhcmdzLi4uICk7XG59XG5cbi8vLyBBIHdyYXBwZXIgYXJvdW5kIHRoZSBgZnVuY3Rpb24tZXhpc3RzKClgIGZ1bmN0aW9uLlxuLy8vIFJldHVybnMgd2hldGhlciBhIGZ1bmN0aW9uIHdpdGggdGhlIG5hbWUgYCRuYW1lYCBleGlzdHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBhIGZ1bmN0aW9uIHdpdGggdGhlIG5hbWUgYCRuYW1lYCBleGlzdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtZnVuY3Rpb24tZXhpc3RzKCBcImstc3RyaW5nLXJlcGxhY2VcIiApOyAvLyA9PiB0cnVlXG5AZnVuY3Rpb24gay1tZXRhLWZ1bmN0aW9uLWV4aXN0cyggJG5hbWUgKSB7XG4gICAgQGlmICRuYW1lID09IFwiXCIge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIEByZXR1cm4gZnVuY3Rpb24tZXhpc3RzKCAkbmFtZSApO1xufVxuXG4vLy8gQSB3cmFwcGVyIGFyb3VuZCB0aGUgYGdldC1mdW5jdGlvbigpYCBmdW5jdGlvbi5cbi8vLyBSZXR1cm5zIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBuYW1lIGAkbmFtZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIGdldC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjc3MgLSBXaGV0aGVyIHRvIHJldHVybiB0aGUgQ1NTIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBmdW5jdGlvbi5cbi8vLyBAcGFyYW0ge01vZHVsZX0gJG1vZHVsZSAtIFRoZSBtb2R1bGUgdG8gZ2V0IHRoZSBmdW5jdGlvbiBmcm9tLlxuLy8vIEByZXR1cm4ge0Z1bmN0aW9ufSAtIFRoZSBmdW5jdGlvbiB3aXRoIHRoZSBuYW1lIGAkbmFtZWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtZ2V0LWZ1bmN0aW9uKCBcImstc3RyaW5nLXJlcGxhY2VcIiApOyAvLyA9PiBGdW5jdGlvblxuQGZ1bmN0aW9uIGstbWV0YS1nZXQtZnVuY3Rpb24oICRuYW1lLCAkYXJncy4uLiApIHtcbiAgICBAcmV0dXJuIGdldC1mdW5jdGlvbiggJG5hbWUsICRhcmdzLi4uICk7XG59XG5cbi8vLyBBIHdyYXBwZXIgYXJvdW5kIHRoZSBgaW5zcGVjdCgpYCBmdW5jdGlvbi5cbi8vLyBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGAkdmFsdWVgLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYCR2YWx1ZWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaW5zcGVjdCggXCJmb28gYmFyXCIgKTsgLy8gPT4gXCJmb28gYmFyXCJcbkBmdW5jdGlvbiBrLW1ldGEtaW5zcGVjdCggJHZhbHVlICkge1xuICAgIEByZXR1cm4gaW5zcGVjdCggJHZhbHVlICk7XG59XG5cbi8vLyBBIHdyYXBwZXIgYXJvdW5kIHRoZSBga2V5d29yZHMoKWAgZnVuY3Rpb24uXG4vLy8gUmV0dXJucyBhIG1hcCBvZiB0aGUga2V5d29yZHMgaW4gYCRhcmdzYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRhcmdzIC0gVGhlIGFyZ3VtZW50cyB0byBwcm9jZXNzLlxuLy8vIEByZXR1cm4ge01hcH0gLSBBIG1hcCBvZiB0aGUga2V5d29yZHMgaW4gYCRhcmdzYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1rZXl3b3JkcyggKCBcImZvb1wiIFwiYmFyXCIgXCJiYXpcIiBcInF1eFwiICkgKTsgLy8gPT4gKCBcImZvb1wiOiBcImJhclwiLCBcImJhelwiOiBcInF1eFwiIClcbkBmdW5jdGlvbiBrLW1ldGEta2V5d29yZHMoICRhcmdzICkge1xuICAgIEByZXR1cm4ga2V5d29yZHMoICRhcmdzICk7XG59XG5cbi8vLyBBIHdyYXBwZXIgYXJvdW5kIHRoZSBgdHlwZS1vZigpYCBmdW5jdGlvbi5cbi8vLyBSZXR1cm5zIHRoZSB0eXBlIG9mIGAkdmFsdWVgLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gZ2V0IHRoZSB0eXBlIG9mLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgdHlwZSBvZiBgJHZhbHVlYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS10eXBlLW9mKCBcImZvbyBiYXJcIiApOyAvLyA9PiBcInN0cmluZ1wiXG5AZnVuY3Rpb24gay1tZXRhLXR5cGUtb2YoICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIHR5cGUtb2YoICR2YWx1ZSApO1xufVxuXG4vLy8gQSB3cmFwcGVyIGFyb3VuZCB0aGUgYHZhcmlhYmxlLWV4aXN0cygpYCBmdW5jdGlvbi5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYSB2YXJpYWJsZSB3aXRoIHRoZSBuYW1lIGAkbmFtZWAgZXhpc3RzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYSB2YXJpYWJsZSB3aXRoIHRoZSBuYW1lIGAkbmFtZWAgZXhpc3RzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLXZhcmlhYmxlLWV4aXN0cyggXCJmb29cIiApOyAvLyA9PiB0cnVlXG5AZnVuY3Rpb24gay1tZXRhLXZhcmlhYmxlLWV4aXN0cyggJG5hbWUgKSB7XG4gICAgQHJldHVybiB2YXJpYWJsZS1leGlzdHMoICRuYW1lICk7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhIDxudW1iZXI+IENTUyBkYXRhIHR5cGUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYSBudW1iZXIuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvbnVtYmVyXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtbnVtYmVyKCAxICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtbnVtYmVyKCBcImZvb1wiICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tZXRhLWlzLW51bWJlciggJHZhbHVlICkge1xuICAgIEByZXR1cm4gay1tZXRhLXR5cGUtb2YoICR2YWx1ZSApID09IFwibnVtYmVyXCI7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhIDxpbnRlZ2VyPiBDU1MgZGF0YSB0eXBlLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkdmFsdWVgIGlzIGEgaW50ZWdlci5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9pbnRlZ2VyXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtaW50ZWdlciggMSApOyAvLyA9PiB0cnVlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLWludGVnZXIoIDEuNSApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWV0YS1pcy1pbnRlZ2VyKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtaXMtbnVtYmVyKCAkdmFsdWUgKSBhbmQgay1tYXRoLXJvdW5kKCAkdmFsdWUgKSA9PSAkdmFsdWU7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhIDx0aW1lPiBDU1MgZGF0YSB0eXBlLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkdmFsdWVgIGlzIGEgdGltZS5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90aW1lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtdGltZSggMXMgKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy10aW1lKCAxICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tZXRhLWlzLXRpbWUoICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1udW1iZXIoICR2YWx1ZSApIGFuZCBrLXN0cmluZy1pbmRleCggXCJtc1wiIFwic1wiLCBrLW1hdGgtdW5pdCggJHZhbHVlICkgKSAhPSBudWxsO1xufVxuXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCR2YWx1ZWAgaXMgYSB2YWxpZCBkdXJhdGlvbiBwZXJpb2QuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYSBkdXJhdGlvbi5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy90aW1lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtZHVyYXRpb24oIDFzICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtZHVyYXRpb24oIDEgKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1ldGEtaXMtZHVyYXRpb24oICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy10aW1lKCAkdmFsdWUgKTtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGEgPGFuZ2xlPiBDU1MgZGF0YSB0eXBlLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkdmFsdWVgIGlzIGEgYW5nbGUuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvYW5nbGVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1hbmdsZSggMWRlZyApOyAvLyA9PiB0cnVlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLWFuZ2xlKCAxICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tZXRhLWlzLWFuZ2xlKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtaXMtbnVtYmVyKCAkdmFsdWUgKSBhbmQgay1zdHJpbmctaW5kZXgoIFwiZGVnXCIgXCJyYWRcIiBcImdyYWRcIiBcInR1cm5cIiwgay1tYXRoLXVuaXQoICR2YWx1ZSApICkgIT0gbnVsbDtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGEgPGZyZXF1ZW5jeT4gQ1NTIGRhdGEgdHlwZS5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJHZhbHVlYCBpcyBhIGZyZXF1ZW5jeS5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9mcmVxdWVuY3lcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1mcmVxdWVuY3koIDFIeiApOyAvLyA9PiB0cnVlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLWZyZXF1ZW5jeSggMSApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWV0YS1pcy1mcmVxdWVuY3koICR2YWx1ZSApIHtcbiAgICBAcmV0dXJuIGstbWV0YS1pcy1udW1iZXIoICR2YWx1ZSApIGFuZCBrLXN0cmluZy1pbmRleCggXCJIelwiIFwia0h6XCIsIGstbWF0aC11bml0KCAkdmFsdWUgKSApICE9IG51bGw7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhIHJlbGF0aXZlIDxsZW5ndGg+IENTUyBkYXRhIHR5cGUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYSByZWxhdGl2ZSBsZW5ndGguXG4vLy9cbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvbGVuZ3RoI3JlbGF0aXZlX2xlbmd0aF91bml0c19iYXNlZF9vbl9mb250XG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2xlbmd0aCNyZWxhdGl2ZV9sZW5ndGhfdW5pdHNfYmFzZWRfb25fdmlld3BvcnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1yZWxhdGl2ZS1sZW5ndGgoIDFlbSApOyAvLyA9PiB0cnVlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLXJlbGF0aXZlLWxlbmd0aCggMWNoICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtcmVsYXRpdmUtbGVuZ3RoKCAxICk7IC8vID0+IGZhbHNlXG5AZnVuY3Rpb24gay1tZXRhLWlzLXJlbGF0aXZlLWxlbmd0aCggJHZhbHVlICkge1xuICAgIEByZXR1cm4gay1tZXRhLWlzLW51bWJlciggJHZhbHVlICkgYW5kIGstc3RyaW5nLWluZGV4KCBcImVtXCIgXCJleFwiIFwiY2hcIiBcInJlbVwiIFwidndcIiBcInZoXCIgXCJ2bWluXCIgXCJ2bWF4XCIsIGstbWF0aC11bml0KCAkdmFsdWUgKSApICE9IG51bGw7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhbiBhYnNvbHV0ZSA8bGVuZ3RoPiBDU1MgZGF0YSB0eXBlLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkdmFsdWVgIGlzIGFuIGFic29sdXRlIGxlbmd0aC5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9sZW5ndGgjYWJzb2x1dGVfbGVuZ3RoX3VuaXRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtYWJzb2x1dGUtbGVuZ3RoKCAxY20gKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1hYnNvbHV0ZS1sZW5ndGgoIDEgKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1ldGEtaXMtYWJzb2x1dGUtbGVuZ3RoKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtaXMtbnVtYmVyKCAkdmFsdWUgKSBhbmQgay1zdHJpbmctaW5kZXgoIFwiY21cIiBcIm1tXCIgXCJpblwiIFwicHhcIiBcInB0XCIgXCJwY1wiLCBrLW1hdGgtdW5pdCggJHZhbHVlICkgKSAhPSBudWxsO1xufVxuXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCR2YWx1ZWAgaXMgYSA8cGVyY2VudGFnZT4gQ1NTIGRhdGEgdHlwZS5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJHZhbHVlYCBpcyBhIHBlcmNlbnRhZ2UuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvcGVyY2VudGFnZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLXBlcmNlbnRhZ2UoIDElICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtcGVyY2VudGFnZSggMSApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWV0YS1pcy1wZXJjZW50YWdlKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtaXMtbnVtYmVyKCAkdmFsdWUgKSBhbmQgay1tYXRoLXVuaXQoICR2YWx1ZSApID09IFwiJVwiO1xufVxuXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCR2YWx1ZWAgaXMgYSA8bGVuZ3RoPiBDU1MgZGF0YSB0eXBlLlxuLy8vIEBwYXJhbSB7QW55fSAkdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBXaGV0aGVyIGAkdmFsdWVgIGlzIGEgbGVuZ3RoLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2xlbmd0aFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1tZXRhLWlzLWxlbmd0aCggMWVtICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtbGVuZ3RoKCAxY20gKTsgLy8gPT4gdHJ1ZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1sZW5ndGgoIDEgKTsgLy8gPT4gZmFsc2VcbkBmdW5jdGlvbiBrLW1ldGEtaXMtbGVuZ3RoKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtaXMtcmVsYXRpdmUtbGVuZ3RoKCAkdmFsdWUgKSBvciBrLW1ldGEtaXMtYWJzb2x1dGUtbGVuZ3RoKCAkdmFsdWUgKTtcbn1cblxuLy8vIENoZWNrcyB3aGV0aGVyIGAkdmFsdWVgIGlzIGEgPHJlc29sdXRpb24+IENTUyBkYXRhIHR5cGUuXG4vLy8gQHBhcmFtIHtBbnl9ICR2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFdoZXRoZXIgYCR2YWx1ZWAgaXMgYSByZXNvbHV0aW9uLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3Jlc29sdXRpb25cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstbWV0YS1pcy1yZXNvbHV0aW9uKCAxZHBpICk7IC8vID0+IHRydWVcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtcmVzb2x1dGlvbiggMSApOyAvLyA9PiBmYWxzZVxuQGZ1bmN0aW9uIGstbWV0YS1pcy1yZXNvbHV0aW9uKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtaXMtbnVtYmVyKCAkdmFsdWUgKSBhbmQgay1zdHJpbmctaW5kZXgoIFwiZHBpXCIgXCJkcGNtXCIgXCJkcHB4XCIsIGstbWF0aC11bml0KCAkdmFsdWUgKSApICE9IG51bGw7XG59XG5cbi8vLyBDaGVja3Mgd2hldGhlciBgJHZhbHVlYCBpcyBhIDxwb3NpdGlvbj4gQ1NTIGRhdGEgdHlwZS5cbi8vLyBAcGFyYW0ge0FueX0gJHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gV2hldGhlciBgJHZhbHVlYCBpcyBhIHBvc2l0aW9uLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3Bvc2l0aW9uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLW1ldGEtaXMtcG9zaXRpb24oIGNlbnRlciApOyAvLyA9PiB0cnVlXG5AZnVuY3Rpb24gay1tZXRhLWlzLXBvc2l0aW9uKCAkdmFsdWUgKSB7XG4gICAgQHJldHVybiBrLW1ldGEtaXMtbGVuZ3RoKCAkdmFsdWUgKSBvciBrLW1ldGEtaXMtcGVyY2VudGFnZSggJHZhbHVlICkgb3Igay1zdHJpbmctaW5kZXgoIFwidG9wXCIgXCJyaWdodFwiIFwiYm90dG9tXCIgXCJsZWZ0XCIgXCJjZW50ZXJcIiwgJHZhbHVlICkgIT0gbnVsbDtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fc3RyaW5nLmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL19zdHJpbmcuaW1wb3J0LnNjc3NcbiRzdmctZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gICAgKFwiJVwiLCBcIiUyNVwiKSxcbiAgICAoXCI8XCIsIFwiJTNjXCIpLFxuICAgIChcIj5cIiwgXCIlM2VcIiksXG4gICAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgICAoXCIoXCIsIFwiJTI4XCIpLFxuICAgIChcIilcIiwgXCIlMjlcIilcbikgIWRlZmF1bHQ7XG5cbi8vLyBSZXR1cm5zIHRoZSBmaXJzdCBpbmRleCBvZiBgJHN1YnN0cmluZ2AgaW4gYCRzdHJpbmdgLCBvciBgbnVsbGAgaWYgYCRzdHJpbmdgIGRvZXNu4oCZdCBjb250YWluIGAkc3Vic3RyaW5nYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gcHJvY2Vzcy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1YnN0cmluZyAtIFRoZSBzdWJzdHJpbmcgdG8gbG9vayBmb3IuXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFRoZSBmaXJzdCBpbmRleCBvZiBgJHN1YnN0cmluZ2AgaW4gYCRzdHJpbmdgLCBvciBgbnVsbGAgaWYgYCRzdHJpbmdgIGRvZXNu4oCZdCBjb250YWluIGAkc3Vic3RyaW5nYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstc3RyaW5nLWluZGV4KCBcImZvbyBiYXJcIiwgXCJiYXJcIiApOyAvLyA9PiA1XG5AZnVuY3Rpb24gay1zdHJpbmctaW5kZXgoICRzdHJpbmcsICRzdWJzdHJpbmcgKSB7XG4gICAgQHJldHVybiBzdHItaW5kZXgoICRzdHJpbmcsICRzdWJzdHJpbmcgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb3B5IG9mIGAkc3RyaW5nYCB3aXRoIGAkaW5zZXJ0YCBpbnNlcnRlZCBhdCBgJGluZGV4YC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gcHJvY2Vzcy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGluc2VydCAtIFRoZSBzdHJpbmcgdG8gaW5zZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaW5kZXggLSBUaGUgaW5kZXggYXQgd2hpY2ggdG8gaW5zZXJ0IGAkaW5zZXJ0YC5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVGhlIHJlc3VsdGluZyBzdHJpbmcuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLXN0cmluZy1pbnNlcnQoIFwiZm9vIGJhclwiLCBcImJhelwiLCA1ICk7IC8vID0+IFwiZm9vIGJheiBiYXJcIlxuQGZ1bmN0aW9uIGstc3RyaW5nLWluc2VydCggJHN0cmluZywgJGluc2VydCwgJGluZGV4ICkge1xuICAgIEByZXR1cm4gc3RyLWluc2VydCggJHN0cmluZywgJGluc2VydCwgJGluZGV4ICk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBsZW5ndGggb2YgYCRzdHJpbmdgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBUaGUgbGVuZ3RoIG9mIGAkc3RyaW5nYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstc3RyaW5nLWxlbmd0aCggXCJmb28gYmFyXCIgKTsgLy8gPT4gN1xuQGZ1bmN0aW9uIGstc3RyaW5nLWxlbmd0aCggJHN0cmluZyApIHtcbiAgICBAcmV0dXJuIHN0ci1sZW5ndGgoICRzdHJpbmcgKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb3B5IG9mIGAkc3RyaW5nYCB3aXRoIHF1b3RlcyBhZGRlZC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gcHJvY2Vzcy5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVGhlIHJlc3VsdGluZyBzdHJpbmcuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLXN0cmluZy1xdW90ZSggXCJmb28gYmFyXCIgKTsgLy8gPT4gXCJmb28gYmFyXCJcbkBmdW5jdGlvbiBrLXN0cmluZy1xdW90ZSggJHN0cmluZyApIHtcbiAgICBAcmV0dXJuIHF1b3RlKCAkc3RyaW5nICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgY29weSBvZiBgJHN0cmluZ2Agd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2YgYCRzZWFyY2hgXG4vLy8gcmVwbGFjZWQgYnkgYCRyZXBsYWNlYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gcHJvY2Vzcy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFRoZSBzdWJzdHJpbmcgdG8gbG9vayBmb3IuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlIC0gVGhlIHJlcGxhY2VtZW50IHN0cmluZy5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVGhlIHJlc3VsdGluZyBzdHJpbmcuXG4vLy9cbi8vLyBAbGluayBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC8xYjRmMmRhNTUyNzgzMDA4OGU0ZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1zdHJpbmctcmVwbGFjZSggXCJmb28gYmFyXCIsIFwiYmFyXCIsIFwiYmF6XCIgKTsgLy8gPT4gXCJmb28gYmF6XCJcbkBmdW5jdGlvbiBrLXN0cmluZy1yZXBsYWNlKCAkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIiApIHtcbiAgICBAaWYgay1tZXRhLXR5cGUtb2YoICRzdHJpbmcgKSA9PSBudW1iZXIge1xuICAgICAgICAkc3RyaW5nOiAkc3RyaW5nICsgXCJcIjtcbiAgICB9XG5cbiAgICAkaW5kZXg6IGstc3RyaW5nLWluZGV4KCAkc3RyaW5nLCAkc2VhcmNoICk7XG5cbiAgICBAaWYgJGluZGV4IHtcbiAgICAgICAgQHJldHVybiBrLXN0cmluZy1zbGljZSggJHN0cmluZywgMSwgJGluZGV4IC0gMSApICsgJHJlcGxhY2UgKyBrLXN0cmluZy1yZXBsYWNlKCBrLXN0cmluZy1zbGljZSggJHN0cmluZywgJGluZGV4ICsgay1zdHJpbmctbGVuZ3RoKCAkc2VhcmNoICkgKSwgJHNlYXJjaCwgJHJlcGxhY2UgKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vLyBSZXR1cm5zIGEgc3Vic3RyaW5nIG9mIGAkc3RyaW5nYCBzdGFydGluZyBhdCBgJHN0YXJ0LWF0YCBhbmQgZW5kaW5nIGF0IGAkZW5kLWF0YC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gcHJvY2Vzcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0LWF0IC0gVGhlIGluZGV4IGF0IHdoaWNoIHRvIHN0YXJ0IHRoZSBzdWJzdHJpbmcuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQtYXQgLSBUaGUgaW5kZXggYXQgd2hpY2ggdG8gZW5kIHRoZSBzdWJzdHJpbmcuXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFRoZSByZXN1bHRpbmcgc3RyaW5nLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAZGVidWcgay1zdHJpbmctc2xpY2UoIFwiZm9vIGJhclwiLCA1ICk7IC8vID0+IFwiYmFyXCJcbkBmdW5jdGlvbiBrLXN0cmluZy1zbGljZSggJHN0cmluZywgJHN0YXJ0LWF0LCAkZW5kLWF0OiAtMSApIHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSggJHN0cmluZywgJHN0YXJ0LWF0LCAkZW5kLWF0ICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgY29weSBvZiBgJHN0cmluZ2Agd2l0aCBhbGwgdXBwZXJjYXNlIGxldHRlcnMgY29udmVydGVkIHRvIGxvd2VyY2FzZS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gcHJvY2Vzcy5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVGhlIHJlc3VsdGluZyBzdHJpbmcuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLXN0cmluZy10by1sb3dlci1jYXNlKCBcIkZPTyBCQVJcIiApOyAvLyA9PiBcImZvbyBiYXJcIlxuQGZ1bmN0aW9uIGstc3RyaW5nLXRvLWxvd2VyLWNhc2UoICRzdHJpbmcgKSB7XG4gICAgQHJldHVybiB0by1sb3dlci1jYXNlKCAkc3RyaW5nICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgY29weSBvZiBgJHN0cmluZ2Agd2l0aCBhbGwgbG93ZXJjYXNlIGxldHRlcnMgY29udmVydGVkIHRvIHVwcGVyY2FzZS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gcHJvY2Vzcy5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVGhlIHJlc3VsdGluZyBzdHJpbmcuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBkZWJ1ZyBrLXN0cmluZy10by11cHBlci1jYXNlKCBcImZvbyBiYXJcIiApOyAvLyA9PiBcIkZPTyBCQVJcIlxuQGZ1bmN0aW9uIGstc3RyaW5nLXRvLXVwcGVyLWNhc2UoICRzdHJpbmcgKSB7XG4gICAgQHJldHVybiB0by11cHBlci1jYXNlKCAkc3RyaW5nICk7XG59XG5cbi8vLyBSZXR1cm5zIGEgdW5pcXVlIGlkZW50aWZpZXIuXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFRoZSB1bmlxdWUgaWRlbnRpZmllci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstc3RyaW5nLXVuaXF1ZS1pZCgpOyAvLyA9PiBVTklRVUVfSURcbkBmdW5jdGlvbiBrLXN0cmluZy11bmlxdWUtaWQoKSB7XG4gICAgQHJldHVybiB1bmlxdWUtaWQoKTtcbn1cblxuLy8vIFJldHVybnMgYSBjb3B5IG9mIGAkc3RyaW5nYCB3aXRoIHF1b3RlcyByZW1vdmVkLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVGhlIHN0cmluZyB0byBwcm9jZXNzLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBUaGUgcmVzdWx0aW5nIHN0cmluZy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGRlYnVnIGstc3RyaW5nLXVucXVvdGUoIFwiZm9vIGJhclwiICk7IC8vID0+IGZvbyBiYXJcbkBmdW5jdGlvbiBrLXN0cmluZy11bnF1b3RlKCAkc3RyaW5nICkge1xuICAgIEByZXR1cm4gdW5xdW90ZSggJHN0cmluZyApO1xufVxuXG5cbi8vIFNlZSBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC8xYjRmMmRhNTUyNzgzMDA4OGU0ZFxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICAgJGluZGV4OiBrLXN0cmluZy1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICAgIEBpZiAkaW5kZXgge1xuICAgICAgICBAcmV0dXJuIGstc3RyaW5nLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShrLXN0cmluZy1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBrLXN0cmluZy1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuQGZ1bmN0aW9uIGVzY2FwZS1zdmcoJHN0cmluZykge1xuICAgIEBpZiBrLXN0cmluZy1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkc3ZnLWVzY2FwZWQtY2hhcmFjdGVycyB7XG4gICAgICAgICAgICAvLyBEbyBub3QgZXNjYXBlIHRoZSB1cmwgYnJhY2tldHNcbiAgICAgICAgICAgIEBpZiBrLXN0cmluZy1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShrLXN0cmluZy1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9XCIpO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9fY29uc3RhbnRzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9jb2xvci1zeXN0ZW0vX2NvbnN0YW50cy5zY3NzXG4vLyBDb2xvciBjb25zdGFudHNcblxuLy8vIFRoZSBjb2xvciB3aGl0ZS5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWNvbG9yLXdoaXRlOiAjZmZmZmZmOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8vIFRoZSBjb2xvciBibGFjay5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWNvbG9yLWJsYWNrOiAjMDAwMDAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8vIFRoZSBjb2xvciB0cmFuc3BhcmVudC5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGdvZXMgZnJvbSB0cmFuc3BhcmVudCB0byBibGFjay5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LXRyYW5zcGFyZW50LXRvLWJsYWNrOiByZ2JhKGJsYWNrLCAwKSwgYmxhY2s7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGdvZXMgZnJvbSB0cmFuc3BhcmVudCB0byB3aGl0ZS5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LXRyYW5zcGFyZW50LXRvLXdoaXRlOiByZ2JhKHdoaXRlLCAwKSwgd2hpdGU7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGdvZXMgZnJvbSBibGFjayB0byB0cmFuc3BhcmVudC5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LWJsYWNrLXRvLXRyYW5zcGFyZW50OiBibGFjaywgcmdiYShibGFjaywgMCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGdvZXMgZnJvbSB3aGl0ZSB0byB0cmFuc3BhcmVudC5cbi8vLyBOb3RlOiB5b3UgY2Fubm90IGNoYW5nZSB0aGlzIHZhbHVlLlxuLy8vIEB0eXBlIEdyYWRpZW50XG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWdyYWRpZW50LXdoaXRlLXRvLXRyYW5zcGFyZW50OiB3aGl0ZSwgcmdiYSh3aGl0ZSwgMCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLy8gQSBncmFkaWVudCB0aGF0IGN5Y2xlcyB0aHJvdWdoIHRoZSBjb2xvcnMgb2YgdGhlIHJhaW5ib3cuXG4vLy8gTm90ZTogeW91IGNhbm5vdCBjaGFuZ2UgdGhpcyB2YWx1ZS5cbi8vLyBAdHlwZSBHcmFkaWVudFxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbiRrZW5kby1ncmFkaWVudC1yYWluYm93OiAjZmYwMDAwLCAjZmZmZjAwLCAjMDBmZjAwLCAjMDBmZmZmLCAjMDAwMGZmLCAjZmYwMGZmLCAjZmYwMDAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vLi4vX2Jvb3RzdHJhcC1vdmVycmlkZXMuc2Nzc1wiOyAtPiBzY3NzL19ib290c3RyYXAtb3ZlcnJpZGVzLnNjc3NcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcblxuJGtlbmRvLWJvZHktYmc6ICNmZmZmZmYgIWRlZmF1bHQ7XG5cbiRrZW5kby1jb21wb25lbnQtYmc6ICRrZW5kby1ib2R5LWJnICFkZWZhdWx0O1xuJGtlbmRvLWNvbXBvbmVudC10ZXh0OiBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY29tcG9uZW50LWJnLCAkZ3JheS05MDAsICRncmF5LTEwMCApICFkZWZhdWx0O1xuJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI6IGlmKCBrLWlzLWxpZ2h0KCAka2VuZG8tY29tcG9uZW50LWJnICksICRncmF5LTMwMCwgJGdyYXktNzAwICkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvcjogay1jb250cmFzdC1jb2xvciggJGlucHV0LWJnLCAkZ3JheS05MDAsICRncmF5LTMwMCApICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogaWYoIGstaXMtbGlnaHQoICRpbnB1dC1iZyApLCAkZ3JheS00MDAsICRncmF5LTYwMCApICFkZWZhdWx0O1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiBrLWNvbnRyYXN0LWNvbG9yKCAkaW5wdXQtYmcsICRncmF5LTYwMCwgJGdyYXktNDAwICkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3Ncbi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICBAaWYgbGVuZ3RoKCRtYXApID4gMCB7XG4gICAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xvcnNcbkBmdW5jdGlvbiB0by1yZ2IoJHZhbHVlKSB7XG4gIEByZXR1cm4gcmVkKCR2YWx1ZSksIGdyZWVuKCR2YWx1ZSksIGJsdWUoJHZhbHVlKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuQGZ1bmN0aW9uIHJnYmEtY3NzLXZhcigkaWRlbnRpZmllciwgJHRhcmdldCkge1xuICBAaWYgJGlkZW50aWZpZXIgPT0gXCJib2R5XCIgYW5kICR0YXJnZXQgPT0gXCJiZ1wiIHtcbiAgICBAcmV0dXJuIHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGlkZW50aWZpZXJ9LWJnLXJnYiksIHZhcigtLSN7JHByZWZpeH0jeyR0YXJnZXR9LW9wYWNpdHkpKTtcbiAgfSBAaWYgJGlkZW50aWZpZXIgPT0gXCJib2R5XCIgYW5kICR0YXJnZXQgPT0gXCJ0ZXh0XCIge1xuICAgIEByZXR1cm4gcmdiYSh2YXIoLS0jeyRwcmVmaXh9I3skaWRlbnRpZmllcn0tY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fSN7JHRhcmdldH0tb3BhY2l0eSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGlkZW50aWZpZXJ9LXJnYiksIHZhcigtLSN7JHByZWZpeH0jeyR0YXJnZXR9LW9wYWNpdHkpKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gbWFwLWxvb3AoJG1hcCwgJGZ1bmMsICRhcmdzLi4uKSB7XG4gICRfbWFwOiAoKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgLy8gYWxsb3cgdG8gcGFzcyB0aGUgJGtleSBhbmQgJHZhbHVlIG9mIHRoZSBtYXAgYXMgYW4gZnVuY3Rpb24gYXJndW1lbnRcbiAgICAkX2FyZ3M6ICgpO1xuICAgIEBlYWNoICRhcmcgaW4gJGFyZ3Mge1xuICAgICAgJF9hcmdzOiBhcHBlbmQoJF9hcmdzLCBpZigkYXJnID09IFwiJGtleVwiLCAka2V5LCBpZigkYXJnID09IFwiJHZhbHVlXCIsICR2YWx1ZSwgJGFyZykpKTtcbiAgICB9XG5cbiAgICAkX21hcDogbWFwLW1lcmdlKCRfbWFwLCAoJGtleTogY2FsbChnZXQtZnVuY3Rpb24oJGZ1bmMpLCAkX2FyZ3MuLi4pKSk7XG4gIH1cblxuICBAcmV0dXJuICRfbWFwO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL2RvbGxhci12YXJpYWJsZS1wYXR0ZXJuXG5cbkBmdW5jdGlvbiB2YXJpZnkoJGxpc3QpIHtcbiAgJHJlc3VsdDogbnVsbDtcbiAgQGVhY2ggJGVudHJ5IGluICRsaXN0IHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgdmFyKC0tI3skcHJlZml4fSN7JGVudHJ5fSksIHNwYWNlKTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIEludGVybmFsIEJvb3RzdHJhcCBmdW5jdGlvbiB0byB0dXJuIG1hcHMgaW50byBpdHMgbmVnYXRpdmUgdmFyaWFudC5cbi8vIEl0IHByZWZpeGVzIHRoZSBrZXlzIHdpdGggYG5gIGFuZCBtYWtlcyB0aGUgdmFsdWUgbmVnYXRpdmUuXG5AZnVuY3Rpb24gbmVnYXRpdmlmeS1tYXAoJG1hcCkge1xuICAkcmVzdWx0OiAoKTtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgIEBpZiAka2V5ICE9IDAge1xuICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsIChcIm5cIiArICRrZXk6ICgtJHZhbHVlKSkpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIEdldCBtdWx0aXBsZSBrZXlzIGZyb20gYSBzYXNzIG1hcFxuQGZ1bmN0aW9uIG1hcC1nZXQtbXVsdGlwbGUoJG1hcCwgJHZhbHVlcykge1xuICAkcmVzdWx0OiAoKTtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgIEBpZiAoaW5kZXgoJHZhbHVlcywgJGtleSkgIT0gbnVsbCkge1xuICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsICgka2V5OiAkdmFsdWUpKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBNZXJnZSBtdWx0aXBsZSBtYXBzXG5AZnVuY3Rpb24gbWFwLW1lcmdlLW11bHRpcGxlKCRtYXBzLi4uKSB7XG4gICRtZXJnZWQtbWFwczogKCk7XG5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgJG1lcmdlZC1tYXBzOiBtYXAtbWVyZ2UoJG1lcmdlZC1tYXBzLCAkbWFwKTtcbiAgfVxuICBAcmV0dXJuICRtZXJnZWQtbWFwcztcbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3Rcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDE2OFxuXG4vLyBBIGxpc3Qgb2YgcHJlLWNhbGN1bGF0ZWQgbnVtYmVycyBvZiBwb3coZGl2aWRlKChkaXZpZGUoJHZhbHVlLCAyNTUpICsgLjA1NSksIDEuMDU1KSwgMi40KS4gKGZyb20gMCB0byAyNTUpXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuJF9sdW1pbmFuY2UtbGlzdDogLjAwMDggLjAwMSAuMDAxMSAuMDAxMyAuMDAxNSAuMDAxNyAuMDAyIC4wMDIyIC4wMDI1IC4wMDI3IC4wMDMgLjAwMzMgLjAwMzcgLjAwNCAuMDA0NCAuMDA0OCAuMDA1MiAuMDA1NiAuMDA2IC4wMDY1IC4wMDcgLjAwNzUgLjAwOCAuMDA4NiAuMDA5MSAuMDA5NyAuMDEwMyAuMDExIC4wMTE2IC4wMTIzIC4wMTMgLjAxMzcgLjAxNDQgLjAxNTIgLjAxNiAuMDE2OCAuMDE3NiAuMDE4NSAuMDE5NCAuMDIwMyAuMDIxMiAuMDIyMiAuMDIzMiAuMDI0MiAuMDI1MiAuMDI2MiAuMDI3MyAuMDI4NCAuMDI5NiAuMDMwNyAuMDMxOSAuMDMzMSAuMDM0MyAuMDM1NiAuMDM2OSAuMDM4MiAuMDM5NSAuMDQwOSAuMDQyMyAuMDQzNyAuMDQ1MiAuMDQ2NyAuMDQ4MiAuMDQ5NyAuMDUxMyAuMDUyOSAuMDU0NSAuMDU2MSAuMDU3OCAuMDU5NSAuMDYxMiAuMDYzIC4wNjQ4IC4wNjY2IC4wNjg1IC4wNzA0IC4wNzIzIC4wNzQyIC4wNzYyIC4wNzgyIC4wODAyIC4wODIzIC4wODQ0IC4wODY1IC4wODg3IC4wOTA4IC4wOTMxIC4wOTUzIC4wOTc2IC4wOTk5IC4xMDIyIC4xMDQ2IC4xMDcgLjEwOTUgLjExMTkgLjExNDQgLjExNyAuMTE5NSAuMTIyMSAuMTI0OCAuMTI3NCAuMTMwMSAuMTMyOSAuMTM1NiAuMTM4NCAuMTQxMyAuMTQ0MSAuMTQ3IC4xNSAuMTUyOSAuMTU1OSAuMTU5IC4xNjIgLjE2NTEgLjE2ODMgLjE3MTQgLjE3NDYgLjE3NzkgLjE4MTIgLjE4NDUgLjE4NzggLjE5MTIgLjE5NDYgLjE5ODEgLjIwMTYgLjIwNTEgLjIwODYgLjIxMjIgLjIxNTkgLjIxOTUgLjIyMzIgLjIyNyAuMjMwNyAuMjM0NiAuMjM4NCAuMjQyMyAuMjQ2MiAuMjUwMiAuMjU0MiAuMjU4MiAuMjYyMyAuMjY2NCAuMjcwNSAuMjc0NyAuMjc4OSAuMjgzMSAuMjg3NCAuMjkxOCAuMjk2MSAuMzAwNSAuMzA1IC4zMDk1IC4zMTQgLjMxODUgLjMyMzEgLjMyNzggLjMzMjUgLjMzNzIgLjM0MTkgLjM0NjcgLjM1MTUgLjM1NjQgLjM2MTMgLjM2NjMgLjM3MTIgLjM3NjMgLjM4MTMgLjM4NjQgLjM5MTYgLjM5NjggLjQwMiAuNDA3MiAuNDEyNSAuNDE3OSAuNDIzMyAuNDI4NyAuNDM0MiAuNDM5NyAuNDQ1MiAuNDUwOCAuNDU2NCAuNDYyMSAuNDY3OCAuNDczNSAuNDc5MyAuNDg1MSAuNDkxIC40OTY5IC41MDI5IC41MDg5IC41MTQ5IC41MjEgLjUyNzEgLjUzMzMgLjUzOTUgLjU0NTcgLjU1MiAuNTU4MyAuNTY0NyAuNTcxMSAuNTc3NiAuNTg0MSAuNTkwNiAuNTk3MiAuNjAzOCAuNjEwNSAuNjE3MiAuNjI0IC42MzA4IC42Mzc2IC42NDQ1IC42NTE0IC42NTg0IC42NjU0IC42NzI0IC42Nzk1IC42ODY3IC42OTM5IC43MDExIC43MDg0IC43MTU3IC43MjMxIC43MzA1IC43Mzc5IC43NDU0IC43NTI5IC43NjA1IC43NjgyIC43NzU4IC43ODM1IC43OTEzIC43OTkxIC44MDcgLjgxNDggLjgyMjggLjgzMDggLjgzODggLjg0NjkgLjg1NSAuODYzMiAuODcxNCAuODc5NiAuODg3OSAuODk2MyAuOTA0NyAuOTEzMSAuOTIxNiAuOTMwMSAuOTM4NyAuOTQ3MyAuOTU2IC45NjQ3IC45NzM0IC45ODIzIC45OTExIDE7XG5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCwgJGNvbG9yLWNvbnRyYXN0LWRhcms6ICRjb2xvci1jb250cmFzdC1kYXJrLCAkY29sb3ItY29udHJhc3QtbGlnaHQ6ICRjb2xvci1jb250cmFzdC1saWdodCwgJG1pbi1jb250cmFzdC1yYXRpbzogJG1pbi1jb250cmFzdC1yYXRpbykge1xuICAkZm9yZWdyb3VuZHM6ICRjb2xvci1jb250cmFzdC1saWdodCwgJGNvbG9yLWNvbnRyYXN0LWRhcmssICR3aGl0ZSwgJGJsYWNrO1xuICAkbWF4LXJhdGlvOiAwO1xuICAkbWF4LXJhdGlvLWNvbG9yOiBudWxsO1xuXG4gIEBlYWNoICRjb2xvciBpbiAkZm9yZWdyb3VuZHMge1xuICAgICRjb250cmFzdC1yYXRpbzogY29udHJhc3QtcmF0aW8oJGJhY2tncm91bmQsICRjb2xvcik7XG4gICAgQGlmICRjb250cmFzdC1yYXRpbyA+ICRtaW4tY29udHJhc3QtcmF0aW8ge1xuICAgICAgQHJldHVybiAkY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkY29udHJhc3QtcmF0aW8gPiAkbWF4LXJhdGlvIHtcbiAgICAgICRtYXgtcmF0aW86ICRjb250cmFzdC1yYXRpbztcbiAgICAgICRtYXgtcmF0aW8tY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICBAd2FybiBcIkZvdW5kIG5vIGNvbG9yIGxlYWRpbmcgdG8gI3skbWluLWNvbnRyYXN0LXJhdGlvfToxIGNvbnRyYXN0IHJhdGlvIGFnYWluc3QgI3skYmFja2dyb3VuZH0uLi5cIjtcblxuICBAcmV0dXJuICRtYXgtcmF0aW8tY29sb3I7XG59XG5cbkBmdW5jdGlvbiBjb250cmFzdC1yYXRpbygkYmFja2dyb3VuZCwgJGZvcmVncm91bmQ6ICRjb2xvci1jb250cmFzdC1saWdodCkge1xuICAkbDE6IGx1bWluYW5jZSgkYmFja2dyb3VuZCk7XG4gICRsMjogbHVtaW5hbmNlKG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpKTtcblxuICBAcmV0dXJuIGlmKCRsMSA+ICRsMiwgZGl2aWRlKCRsMSArIC4wNSwgJGwyICsgLjA1KSwgZGl2aWRlKCRsMiArIC4wNSwgJGwxICsgLjA1KSk7XG59XG5cbi8vIFJldHVybiBXQ0FHMi4xIHJlbGF0aXZlIGx1bWluYW5jZVxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHLyNkZm4tcmVsYXRpdmUtbHVtaW5hbmNlXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcvI2Rmbi1jb250cmFzdC1yYXRpb1xuQGZ1bmN0aW9uIGx1bWluYW5jZSgkY29sb3IpIHtcbiAgJHJnYjogKFxuICAgIFwiclwiOiByZWQoJGNvbG9yKSxcbiAgICBcImdcIjogZ3JlZW4oJGNvbG9yKSxcbiAgICBcImJcIjogYmx1ZSgkY29sb3IpXG4gICk7XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkcmdiIHtcbiAgICAkdmFsdWU6IGlmKGRpdmlkZSgkdmFsdWUsIDI1NSkgPCAuMDM5MjgsIGRpdmlkZShkaXZpZGUoJHZhbHVlLCAyNTUpLCAxMi45MiksIG50aCgkX2x1bWluYW5jZS1saXN0LCAkdmFsdWUgKyAxKSk7XG4gICAgJHJnYjogbWFwLW1lcmdlKCRyZ2IsICgkbmFtZTogJHZhbHVlKSk7XG4gIH1cblxuICBAcmV0dXJuIChtYXAtZ2V0KCRyZ2IsIFwiclwiKSAqIC4yMTI2KSArIChtYXAtZ2V0KCRyZ2IsIFwiZ1wiKSAqIC43MTUyKSArIChtYXAtZ2V0KCRyZ2IsIFwiYlwiKSAqIC4wNzIyKTtcbn1cblxuLy8gUmV0dXJuIG9wYXF1ZSBjb2xvclxuLy8gb3BhcXVlKCNmZmYsIHJnYmEoMCwgMCwgMCwgLjUpKSA9PiAjODA4MDgwXG5AZnVuY3Rpb24gb3BhcXVlKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZCkge1xuICBAcmV0dXJuIG1peChyZ2JhKCRmb3JlZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQsIG9wYWNpdHkoJGZvcmVncm91bmQpICogMTAwKTtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLWZ1bmN0aW9uc1xuLy8gVGludCBhIGNvbG9yOiBtaXggYSBjb2xvciB3aXRoIHdoaXRlXG5AZnVuY3Rpb24gdGludC1jb2xvcigkY29sb3IsICR3ZWlnaHQpIHtcbiAgQHJldHVybiBtaXgod2hpdGUsICRjb2xvciwgJHdlaWdodCk7XG59XG5cbi8vIFNoYWRlIGEgY29sb3I6IG1peCBhIGNvbG9yIHdpdGggYmxhY2tcbkBmdW5jdGlvbiBzaGFkZS1jb2xvcigkY29sb3IsICR3ZWlnaHQpIHtcbiAgQHJldHVybiBtaXgoYmxhY2ssICRjb2xvciwgJHdlaWdodCk7XG59XG5cbi8vIFNoYWRlIHRoZSBjb2xvciBpZiB0aGUgd2VpZ2h0IGlzIHBvc2l0aXZlLCBlbHNlIHRpbnQgaXRcbkBmdW5jdGlvbiBzaGlmdC1jb2xvcigkY29sb3IsICR3ZWlnaHQpIHtcbiAgQHJldHVybiBpZigkd2VpZ2h0ID4gMCwgc2hhZGUtY29sb3IoJGNvbG9yLCAkd2VpZ2h0KSwgdGludC1jb2xvcigkY29sb3IsIC0kd2VpZ2h0KSk7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLWZ1bmN0aW9uc1xuXG4vLyBSZXR1cm4gdmFsaWQgY2FsY1xuQGZ1bmN0aW9uIGFkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUyKSAhPSBudW1iZXIge1xuICAgICR2YWx1ZTI6IHVucXVvdGUoXCIoXCIpICsgJHZhbHVlMiArIHVucXVvdGUoXCIpXCIpO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3Ncbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRib2R5LXRleHQtYWxpZ246ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG5cbiRib3JkZXItc3R5bGU6ICAgICAgICAgICAgICAgIHNvbGlkICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogICAgcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1waWxsOiAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJveC1zaGFkb3ctdmFyaWFibGVzXG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWluc2V0OiAgICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJveC1zaGFkb3ctdmFyaWFibGVzXG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtdmFyaWFibGVzXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC12YXJpYWJsZXNcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtdHJhbnNpdGlvblxuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtdHJhbnNpdGlvblxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbi8vIHNjc3MtZG9jcy1zdGFydCBhc3BlY3QtcmF0aW9zXG4kYXNwZWN0LXJhdGlvczogKFxuICBcIjF4MVwiOiAxMDAlLFxuICBcIjR4M1wiOiBjYWxjKDMgLyA0ICogMTAwJSksXG4gIFwiMTZ4OVwiOiBjYWxjKDkgLyAxNiAqIDEwMCUpLFxuICBcIjIxeDlcIjogY2FsYyg5IC8gMjEgKiAxMDAlKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYXNwZWN0LXJhdGlvc1xuLy8gc3R5bGVsaW50LWVuYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC12YXJpYWJsZXNcbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZSkgIWRlZmF1bHQ7XG5cbi8vICRmb250LXNpemUtcm9vdCBhZmZlY3RzIHRoZSB2YWx1ZSBvZiBgcmVtYCwgd2hpY2ggaXMgdXNlZCBmb3IgYXMgd2VsbCBmb250IHNpemVzLCBwYWRkaW5ncywgYW5kIG1hcmdpbnNcbi8vICRmb250LXNpemUtYmFzZSBhZmZlY3RzIHRoZSBmb250IHNpemUgb2YgdGhlIGJvZHkgdGV4dFxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgICAgICA2MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAyICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXNpemVzXG4kZm9udC1zaXplczogKFxuICAxOiAkaDEtZm9udC1zaXplLFxuICAyOiAkaDItZm9udC1zaXplLFxuICAzOiAkaDMtZm9udC1zaXplLFxuICA0OiAkaDQtZm9udC1zaXplLFxuICA1OiAkaDUtZm9udC1zaXplLFxuICA2OiAkaDYtZm9udC1zaXplXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXNpemVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1zdHlsZTogICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGluZ3MtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkaXNwbGF5LWhlYWRpbmdzXG4kZGlzcGxheS1mb250LXNpemVzOiAoXG4gIDE6IDVyZW0sXG4gIDI6IDQuNXJlbSxcbiAgMzogNHJlbSxcbiAgNDogMy41cmVtLFxuICA1OiAzcmVtLFxuICA2OiAyLjVyZW1cbikgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5LWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC1zdHlsZTogIG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZGlzcGxheS1oZWFkaW5nc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdHlwZS12YXJpYWJsZXNcbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHN1Yi1zdXAtZm9udC1zaXplOiAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAkeWVsbG93LTEwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdHlwZS12YXJpYWJsZXNcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYWJsZXNcbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXktc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXgtc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduOiAgIHRvcCAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogICAgICAgLjA3NSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I6IGN1cnJlbnRjb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gIFwicHJpbWFyeVwiOiAgICBzaGlmdC1jb2xvcigkcHJpbWFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzZWNvbmRhcnlcIjogIHNoaWZ0LWNvbG9yKCRzZWNvbmRhcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic3VjY2Vzc1wiOiAgICBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJpbmZvXCI6ICAgICAgIHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICBcIndhcm5pbmdcIjogICAgc2hpZnQtY29sb3IoJHdhcm5pbmcsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiZGFuZ2VyXCI6ICAgICBzaGlmdC1jb2xvcigkZGFuZ2VyLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmssXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1idG4tdmFyaWFibGVzXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAwICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDUwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tY29sb3Itd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0taW5wdXQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWluLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0OiAgICAgICAgICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyOiAgICAgICAgICBicmlnaHRuZXNzKDkwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgIDFweCBzb2xpZCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nbTYgMTAgMyAzIDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzInIGZpbGw9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk6ICAgICRidG4tZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ6ICAgIDFyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tY2hlY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcbiRmb3JtLXN3aXRjaC1jb2xvcjogICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZTogICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1czogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXRyYW5zaXRpb246ICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yOiAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2U6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZTogICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHNoYWRlLWNvbG9yKCRmb3JtLWZpbGUtYnV0dG9uLWJnLCA1JSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmlsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG4kZm9ybS1mbG9hdGluZy1oZWlnaHQ6ICAgICAgICAgICAgYWRkKDMuNXJlbSwgJGlucHV0LWhlaWdodC1ib3JkZXIpICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ6ICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg6ICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10OiAgIDEuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iOiAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5OiAgICAgLjY1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiAgIHNjYWxlKC44NSkgdHJhbnNsYXRlWSgtLjVyZW0pIHRyYW5zbGF0ZVgoLjE1cmVtKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxuICBcInZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi12YXJpYWJsZXNcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIHNoYWRlLWNvbG9yKCRkcm9wZG93bi1saW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcbiRkcm9wZG93bi1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tZGl2aWRlci1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3c6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWNvbG9yOiAgICAgICAgICAkZHJvcGRvd24tZGFyay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3I6ICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmc6ICAgICAgIHJnYmEoJHdoaXRlLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3I6ICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmc6ICAgICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yOiAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tdmFyaWFibGVzXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0OiAgICAgICAgICAgKCRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCAqIC0xKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteCAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLXZhcmlhYmxlc1xuXG4vLyBBY2NvcmRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi12YXJpYWJsZXNcbiRhY2NvcmRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHN1YnRyYWN0KCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgJGFjY29yZGlvbi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteDogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGFjY29yZGlvbi1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uLCBib3JkZXItcmFkaXVzIC4xNXMgZWFzZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDkwJSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICBzaGFkZS1jb2xvcigkcHJpbWFyeSwgMTAlKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRidG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRhY2NvcmRpb24tYnV0dG9uLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm06ICAgICAgICAgICAgICAgIHJvdGF0ZSgtMTgwZGVnKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbjogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tY29sb3J9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3J9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi12YXJpYWJsZXNcblxuLy8gVG9vbHRpcHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtdmFyaWFibGVzXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFRPRE86IHJlbW92ZSB0aGlzIGluIHY2XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4vLyBmdXN2LWVuYWJsZVxuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcblxuXG4vLyBQb3BvdmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci12YXJpYWJsZXNcbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBzaGFkZS1jb2xvcigkcG9wb3Zlci1iZywgNiUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJhZGdlLXZhcmlhYmxlc1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtdmFyaWFibGVzXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgICRib3gtc2hhZG93LXNtICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGFsZXJ0LWJnLXNjYWxlOiAgICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1zY2FsZTogICAgICAgICAgICAtNzAlICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLXNjYWxlOiAgICAgICAgICAgICA0MCUgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy12YXJpYWJsZXNcbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAkYm94LXNoYWRvdy1zbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGh1bWJuYWlsLXZhcmlhYmxlc1xuXG5cbi8vIEZpZ3VyZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZpZ3VyZS12YXJpYWJsZXNcbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQ6ICAgICAgICAkYnJlYWRjcnVtYi1kaXZpZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi12YXJpYWJsZXNcblxuLy8gQ2Fyb3VzZWxcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLXZhcmlhYmxlc1xuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTogICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5OiAgMSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyOiAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAycmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNMTEuMzU0IDEuNjQ2YS41LjUgMCAwIDEgMCAuNzA4TDUuNzA3IDhsNS42NDcgNS42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOGwtNi02YS41LjUgMCAwIDEgMC0uNzA4bDYtNmEuNS41IDAgMCAxIC43MDggMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNNC42NDYgMS42NDZhLjUuNSAwIDAgMSAuNzA4IDBsNiA2YS41LjUgMCAwIDEgMCAuNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4LS43MDhMMTAuMjkzIDggNC42NDYgMi4zNTRhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZzogICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I6ICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyOiAgaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFNwaW5uZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLXZhcmlhYmxlc1xuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IC43NXMgIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItdmFyaWFibGVzXG5cblxuLy8gQ2xvc2VcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsb3NlLXZhcmlhYmxlc1xuJGJ0bi1jbG9zZS13aWR0aDogICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhlaWdodDogICAgICAgICAgICRidG4tY2xvc2Utd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteDogICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXk6ICAgICAgICAkYnRuLWNsb3NlLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtY29sb3I6ICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1iZzogICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYnRuLWNsb3NlLWNvbG9yfSc+PHBhdGggZD0nTS4yOTMuMjkzYTEgMSAwIDAgMSAxLjQxNCAwTDggNi41ODYgMTQuMjkzLjI5M2ExIDEgMCAxIDEgMS40MTQgMS40MTRMOS40MTQgOGw2LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQgMS40MTRMOCA5LjQxNGwtNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0LTEuNDE0TDYuNTg2IDggLjI5MyAxLjcwN2ExIDEgMCAwIDEgMC0xLjQxNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tY2xvc2Utb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgIC43NSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICAgICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNsb3NlLXZhcmlhYmxlc1xuXG5cbi8vIE9mZmNhbnZhc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuJG9mZmNhbnZhcy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXBhZGRpbmcteDogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aDogICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ6ICAgICAgICAgMzB2aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgIC4zcyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmctY29sb3I6ICAgICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtY29sb3IgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYWNrZHJvcC1iZzogICAgICAgICAgICAgJG1vZGFsLWJhY2tkcm9wLWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy12YXJpYWJsZXNcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4xODc1cmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCByZW1vdmluZyBpbiB2NlxuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19wYWxldHRlcy5zY3NzXCI7IC0+IHNjc3MvY29yZS9jb2xvci1zeXN0ZW0vX3BhbGV0dGVzLnNjc3NcbiRfZGVmYXVsdC1wYWxldHRlLWdyYXk6IChcbiAgICB3aGl0ZTogI2ZmZmZmZixcbiAgICAxOiAjZjhmOWZhLFxuICAgIDI6ICNlOWVjZWYsXG4gICAgMzogI2RlZTJlNixcbiAgICA0OiAjY2VkNGRhLFxuICAgIDU6ICNiZGM0Y2IsXG4gICAgNjogI2FkYjViZCxcbiAgICA3OiAjOGQ5NTlkLFxuICAgIDg6ICM2Yzc1N2QsXG4gICAgOTogIzYwNjk3MCxcbiAgICAxMDogIzU1NWM2NCxcbiAgICAxMTogIzQ5NTA1NyxcbiAgICAxMjogIzM0M2E0MCxcbiAgICAxMzogIzJjMzAzNSxcbiAgICAxNDogIzIxMjUyOSxcbiAgICAxNTogIzEyMTQxNyxcbiAgICBibGFjazogIzAwMDAwMCxcbik7XG5cbiRfZGVmYXVsdC1wYWxldHRlLWJsdWU6IChcbiAgICAxOiAjZWNmNGZmLFxuICAgIDI6ICNjZmUyZmYsXG4gICAgMzogI2I2ZDRmZSxcbiAgICA0OiAjOWVjNWZlLFxuICAgIDU6ICM4NmI2ZmUsXG4gICAgNjogIzZlYThmZSxcbiAgICA3OiAjNDk5MmZkLFxuICAgIDg6ICMyMDdhZmQsXG4gICAgOTogIzBkNmVmZCxcbiAgICAxMDogIzBiNWVkNyxcbiAgICAxMTogIzBhNThjYSxcbiAgICAxMjogIzBhNTNiZSxcbiAgICAxMzogIzA4NDI5OCxcbiAgICAxNDogIzA1MmM2NSxcbiAgICAxNTogIzAzMTYzMyxcbik7XG5cbiRfZGVmYXVsdC1wYWxldHRlLXllbGxvdzogKFxuICAgIDE6ICNmZmY5ZTYsXG4gICAgMjogI2ZmZjNjZCxcbiAgICAzOiAjZmZlY2I1LFxuICAgIDQ6ICNmZmU2OWMsXG4gICAgNTogI2ZmZTA4MyxcbiAgICA2OiAjZmZkYTZhLFxuICAgIDc6ICNmZmNkMzksXG4gICAgODogI2ZmYzEwNyxcbiAgICA5OiAjY2M5YTA2LFxuICAgIDEwOiAjYjM4NzA1LFxuICAgIDExOiAjOTk3NDA0LFxuICAgIDEyOiAjODA2MTA0LFxuICAgIDEzOiAjNjY0ZDAzLFxuICAgIDE0OiAjNTIzZTAyLFxuICAgIDE1OiAjMzMyNzAxLFxuKTtcblxuJF9kZWZhdWx0LXBhbGV0dGUtcmVkOiAoXG4gICAgMTogI2ZjZWJlYyxcbiAgICAyOiAjZmFlMWUzLFxuICAgIDM6ICNmOGQ3ZGEsXG4gICAgNDogI2Y1YzJjNyxcbiAgICA1OiAjZjFhZWI1LFxuICAgIDY6ICNlYTg2OGYsXG4gICAgNzogI2UzNWQ2YSxcbiAgICA4OiAjZGMzNTQ1LFxuICAgIDk6ICNiMDJhMzcsXG4gICAgMTA6ICM5YTI1MzAsXG4gICAgMTE6ICM4NDIwMjksXG4gICAgMTI6ICM2ZTFiMjMsXG4gICAgMTM6ICM1ODE1MWMsXG4gICAgMTQ6ICM0MjEwMTUsXG4gICAgMTU6ICMyMTA4MGEsXG4pO1xuXG4kX2RlZmF1bHQtcGFsZXR0ZS1jeWFuOiAoXG4gICAgMTogI2U3ZmFmZSxcbiAgICAyOiAjY2ZmNGZjLFxuICAgIDM6ICNhYWVjZmEsXG4gICAgNDogIzllZWFmOSxcbiAgICA1OiAjODZlNWY4LFxuICAgIDY6ICM2ZWRmZjYsXG4gICAgNzogIzNkZDVmMyxcbiAgICA4OiAjMGRjYWYwLFxuICAgIDk6ICMwYWEyYzAsXG4gICAgMTA6ICMwOThkYTgsXG4gICAgMTE6ICMwODc5OTAsXG4gICAgMTI6ICMwNzY1NzgsXG4gICAgMTM6ICMwNTUxNjAsXG4gICAgMTQ6ICMwNDQxNGQsXG4gICAgMTU6ICMwMzI4MzAsXG4pO1xuXG4kX2RlZmF1bHQtcGFsZXR0ZS1ncmVlbjogKFxuICAgIDE6ICNlOGYzZWUsXG4gICAgMjogI2QxZTdkZCxcbiAgICAzOiAjYmFkYmNjLFxuICAgIDQ6ICNhM2NmYmIsXG4gICAgNTogIzhjYzNhYSxcbiAgICA2OiAjNzViNzk4LFxuICAgIDc6ICM0NzlmNzYsXG4gICAgODogIzE5ODc1NCxcbiAgICA5OiAjMTQ2YzQzLFxuICAgIDEwOiAjMTI1ZjNiLFxuICAgIDExOiAjMGY1MTMyLFxuICAgIDEyOiAjMGQ0NDJhLFxuICAgIDEzOiAjMGEzNjIyLFxuICAgIDE0OiAjMDgyOTFhLFxuICAgIDE1OiAjMDUxYjExLFxuKTtcblxuJF9kZWZhdWx0LXBhbGV0dGUtaW5kaWdvOiAoXG4gICAgMTogI2YwZTdmZSxcbiAgICAyOiAjZTJkOWYzLFxuICAgIDM6ICNkM2M1ZWMsXG4gICAgNDogI2M1YjNlNixcbiAgICA1OiAjYjlhM2UxLFxuICAgIDY6ICNhOThlZGEsXG4gICAgNzogIzhjNjhjZCxcbiAgICA4OiAjNmY0MmMxLFxuICAgIDk6ICM1OTM1OWEsXG4gICAgMTA6ICM0ZTJmODksXG4gICAgMTE6ICM0MzI4NzQsXG4gICAgMTI6ICMzNjIxNWYsXG4gICAgMTM6ICMyYzFhNGQsXG4gICAgMTQ6ICMyMTE0M2IsXG4gICAgMTU6ICMxNjBkMjcsXG4pO1xuXG4kX2RlZmF1bHQtcGFsZXR0ZS10ZWFsOiAoXG4gICAgMTogI2ViZmFmNixcbiAgICAyOiAjZThkYmZkLFxuICAgIDM6ICNkMmY0ZWEsXG4gICAgNDogI2MxZjBlMixcbiAgICA1OiAjYTZlOWQ1LFxuICAgIDY6ICM3OWRmYzEsXG4gICAgNzogIzRkZDRhYyxcbiAgICA4OiAjMjBjOTk3LFxuICAgIDk6ICMxYWExNzksXG4gICAgMTA6ICMxNzhjNjksXG4gICAgMTE6ICMxMzc5NWIsXG4gICAgMTI6ICMxMDY1NGMsXG4gICAgMTM6ICMwZDUwM2MsXG4gICAgMTQ6ICMwYTNlMmUsXG4gICAgMTU6ICMwNjI4MWUsXG4pO1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL25vLWdsb2JhbC1mdW5jdGlvbi1uYW1lc1xuJGtlbmRvLXBhbGV0dGUtZ3JheTogJF9kZWZhdWx0LXBhbGV0dGUtZ3JheSAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLWdyYXk6IG1hcC1tZXJnZSgkX2RlZmF1bHQtcGFsZXR0ZS1ncmF5LCAka2VuZG8tcGFsZXR0ZS1ncmF5KTtcblxuJGtlbmRvLXBhbGV0dGUtYmx1ZTogJF9kZWZhdWx0LXBhbGV0dGUtYmx1ZSAhZGVmYXVsdDtcbiRrZW5kby1wYWxldHRlLWJsdWU6IG1hcC1tZXJnZSgkX2RlZmF1bHQtcGFsZXR0ZS1ibHVlLCAka2VuZG8tcGFsZXR0ZS1ibHVlKTtcblxuJGtlbmRvLXBhbGV0dGUteWVsbG93OiAkX2RlZmF1bHQtcGFsZXR0ZS15ZWxsb3cgIWRlZmF1bHQ7XG4ka2VuZG8tcGFsZXR0ZS15ZWxsb3c6IG1hcC1tZXJnZSgkX2RlZmF1bHQtcGFsZXR0ZS15ZWxsb3csICRrZW5kby1wYWxldHRlLXllbGxvdyk7XG5cbiRrZW5kby1wYWxldHRlLXJlZDogJF9kZWZhdWx0LXBhbGV0dGUtcmVkICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtcmVkOiBtYXAtbWVyZ2UoJF9kZWZhdWx0LXBhbGV0dGUtcmVkLCAka2VuZG8tcGFsZXR0ZS1yZWQpO1xuXG4ka2VuZG8tcGFsZXR0ZS1jeWFuOiAkX2RlZmF1bHQtcGFsZXR0ZS1jeWFuICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtY3lhbjogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLWN5YW4sICRrZW5kby1wYWxldHRlLWN5YW4pO1xuXG4ka2VuZG8tcGFsZXR0ZS1ncmVlbjogJF9kZWZhdWx0LXBhbGV0dGUtZ3JlZW4gIWRlZmF1bHQ7XG4ka2VuZG8tcGFsZXR0ZS1ncmVlbjogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLWdyZWVuLCAka2VuZG8tcGFsZXR0ZS1ncmVlbik7XG5cbiRrZW5kby1wYWxldHRlLWluZGlnbzogJF9kZWZhdWx0LXBhbGV0dGUtaW5kaWdvICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtaW5kaWdvOiBtYXAtbWVyZ2UoJF9kZWZhdWx0LXBhbGV0dGUtaW5kaWdvLCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28pO1xuXG4ka2VuZG8tcGFsZXR0ZS10ZWFsOiAkX2RlZmF1bHQtcGFsZXR0ZS10ZWFsICFkZWZhdWx0O1xuJGtlbmRvLXBhbGV0dGUtdGVhbDogbWFwLW1lcmdlKCRfZGVmYXVsdC1wYWxldHRlLXRlYWwsICRrZW5kby1wYWxldHRlLXRlYWwpO1xuLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL25vLWdsb2JhbC1mdW5jdGlvbi1uYW1lc1xuLy8gI2VuZHJlZ2lvblxuXG4vLyBDb25maWdcbiRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ29sb3JzXG4kX2RlZmF1bHQtY29sb3JzOiAoXG4gICAgLy8gTWlzY1xuICAgIGFwcC1zdXJmYWNlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIHdoaXRlICksXG4gICAgb24tYXBwLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTQgKSxcbiAgICBzdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgOSApLFxuICAgIHN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMSApLFxuICAgIHN1cmZhY2UtYWx0OiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIHdoaXRlICksXG4gICAgYm9yZGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDMgKSxcbiAgICBib3JkZXItYWx0OiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDQgKSxcbiAgICAvLyBCYXNlXG4gICAgYmFzZS1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMiApLFxuICAgIGJhc2Utc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDMgKSxcbiAgICBiYXNlLXN1YnRsZS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNCApLFxuICAgIGJhc2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMyApLFxuICAgIGJhc2UtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNCApLFxuICAgIGJhc2UtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDUgKSxcbiAgICBiYXNlLWVtcGhhc2lzOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDYgKSxcbiAgICBiYXNlLW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNCApLFxuICAgIG9uLWJhc2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTQgKSxcbiAgICBiYXNlLW9uLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTQgKSxcbiAgICAvLyBQcmltYXJ5XG4gICAgcHJpbWFyeS1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgMiApLFxuICAgIHByaW1hcnktc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDMgKSxcbiAgICBwcmltYXJ5LXN1YnRsZS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgNCApLFxuICAgIHByaW1hcnk6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgOSApLFxuICAgIHByaW1hcnktaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgMTAgKSxcbiAgICBwcmltYXJ5LWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ibHVlLCAxMSApLFxuICAgIHByaW1hcnktZW1waGFzaXM6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgNiApLFxuICAgIHByaW1hcnktb24tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWJsdWUsIDE0ICksXG4gICAgb24tcHJpbWFyeTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCB3aGl0ZSApLFxuICAgIHByaW1hcnktb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ibHVlLCA5ICksXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgc2Vjb25kYXJ5LXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAzICksXG4gICAgc2Vjb25kYXJ5LXN1YnRsZS1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA0ICksXG4gICAgc2Vjb25kYXJ5LXN1YnRsZS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNSApLFxuICAgIHNlY29uZGFyeTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA4ICksXG4gICAgc2Vjb25kYXJ5LWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDkgKSxcbiAgICBzZWNvbmRhcnktYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDEwICksXG4gICAgc2Vjb25kYXJ5LWVtcGhhc2lzOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDcgKSxcbiAgICBzZWNvbmRhcnktb24tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE0ICksXG4gICAgb24tc2Vjb25kYXJ5OiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIHdoaXRlICksXG4gICAgc2Vjb25kYXJ5LW9uLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTQgKSxcbiAgICAvLyBUZXJ0aWFyeVxuICAgIHRlcnRpYXJ5LXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDIgKSxcbiAgICB0ZXJ0aWFyeS1zdWJ0bGUtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtaW5kaWdvLCAzICksXG4gICAgdGVydGlhcnktc3VidGxlLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDQgKSxcbiAgICB0ZXJ0aWFyeTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDggKSxcbiAgICB0ZXJ0aWFyeS1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDkgKSxcbiAgICB0ZXJ0aWFyeS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtaW5kaWdvLCAxMCApLFxuICAgIHRlcnRpYXJ5LWVtcGhhc2lzOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWluZGlnbywgNiApLFxuICAgIHRlcnRpYXJ5LW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDE0ICksXG4gICAgb24tdGVydGlhcnk6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgd2hpdGUgKSxcbiAgICB0ZXJ0aWFyeS1vbi1zdXJmYWNlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWluZGlnbywgOCApLFxuICAgIC8vIEluZm9cbiAgICBpbmZvLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1jeWFuLCAyICksXG4gICAgaW5mby1zdWJ0bGUtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtY3lhbiwgMyApLFxuICAgIGluZm8tc3VidGxlLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1jeWFuLCA1ICksXG4gICAgaW5mbzogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1jeWFuLCA4ICksXG4gICAgaW5mby1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1jeWFuLCA5ICksXG4gICAgaW5mby1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtY3lhbiwgMTAgKSxcbiAgICBpbmZvLWVtcGhhc2lzOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWN5YW4sIDcgKSxcbiAgICBpbmZvLW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1jeWFuLCAxNCApLFxuICAgIG9uLWluZm86IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgd2hpdGUgKSxcbiAgICBpbmZvLW9uLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtY3lhbiwgOCApLFxuICAgIC8vIFN1Y2Nlc3NcbiAgICBzdWNjZXNzLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgMiApLFxuICAgIHN1Y2Nlc3Mtc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCAzICksXG4gICAgc3VjY2Vzcy1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCA1ICksXG4gICAgc3VjY2Vzczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgOSApLFxuICAgIHN1Y2Nlc3MtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JlZW4sIDEwICksXG4gICAgc3VjY2Vzcy1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JlZW4sIDExICksXG4gICAgc3VjY2Vzcy1lbXBoYXNpczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgNyApLFxuICAgIHN1Y2Nlc3Mtb24tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCAxNCApLFxuICAgIG9uLXN1Y2Nlc3M6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgd2hpdGUgKSxcbiAgICBzdWNjZXNzLW9uLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JlZW4sIDExICksXG4gICAgLy8gV2FybmluZ1xuICAgIHdhcm5pbmctc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXllbGxvdywgMyApLFxuICAgIHdhcm5pbmctc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXllbGxvdywgNCApLFxuICAgIHdhcm5pbmctc3VidGxlLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDUgKSxcbiAgICB3YXJuaW5nOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXllbGxvdywgOCApLFxuICAgIHdhcm5pbmctaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA5ICksXG4gICAgd2FybmluZy1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCAxMCApLFxuICAgIHdhcm5pbmctZW1waGFzaXM6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA3ICksXG4gICAgd2FybmluZy1vbi1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCAxNCApLFxuICAgIG9uLXdhcm5pbmc6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgYmxhY2sgKSxcbiAgICB3YXJuaW5nLW9uLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCA4ICksXG4gICAgLy8gRXJyb3JcbiAgICBlcnJvci1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCAzICksXG4gICAgZXJyb3Itc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgNCApLFxuICAgIGVycm9yLXN1YnRsZS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCA1ICksXG4gICAgZXJyb3I6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCA4ICksXG4gICAgZXJyb3ItaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCA5ICksXG4gICAgZXJyb3ItYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgMTAgKSxcbiAgICBlcnJvci1lbXBoYXNpczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDcgKSxcbiAgICBlcnJvci1vbi1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCAxNCApLFxuICAgIG9uLWVycm9yOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIHdoaXRlICksXG4gICAgZXJyb3Itb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDggKSxcbiAgICAvLyBMaWdodFxuICAgIGxpZ2h0LXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxICksXG4gICAgbGlnaHQtc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDIgKSxcbiAgICBsaWdodC1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDMgKSxcbiAgICBsaWdodDogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxICksXG4gICAgbGlnaHQtaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMiApLFxuICAgIGxpZ2h0LWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAzICksXG4gICAgbGlnaHQtZW1waGFzaXM6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgNSApLFxuICAgIGxpZ2h0LW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMiApLFxuICAgIG9uLWxpZ2h0OiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIGJsYWNrICksXG4gICAgbGlnaHQtb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA0ICksXG4gICAgLy8gRGFya1xuICAgIGRhcmstc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDggKSxcbiAgICBkYXJrLXN1YnRsZS1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCA5ICksXG4gICAgZGFyay1zdWJ0bGUtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDEwICksXG4gICAgZGFyazogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNCApLFxuICAgIGRhcmstaG92ZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTMgKSxcbiAgICBkYXJrLWFjdGl2ZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMiApLFxuICAgIGRhcmstZW1waGFzaXM6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTIgKSxcbiAgICBkYXJrLW9uLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCB3aGl0ZSApLFxuICAgIG9uLWRhcms6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgd2hpdGUgKSxcbiAgICBkYXJrLW9uLXN1cmZhY2U6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTUgKSxcbiAgICAvLyBJbnZlcnNlXG4gICAgaW52ZXJzZS1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgOCApLFxuICAgIGludmVyc2Utc3VidGxlLWhvdmVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDkgKSxcbiAgICBpbnZlcnNlLXN1YnRsZS1hY3RpdmU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JheSwgMTAgKSxcbiAgICBpbnZlcnNlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDE0ICksXG4gICAgaW52ZXJzZS1ob3Zlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMyApLFxuICAgIGludmVyc2UtYWN0aXZlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIDEyICksXG4gICAgaW52ZXJzZS1lbXBoYXNpczogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxMiApLFxuICAgIGludmVyc2Utb24tc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyYXksIHdoaXRlICksXG4gICAgb24taW52ZXJzZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCB3aGl0ZSApLFxuICAgIGludmVyc2Utb24tc3VyZmFjZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmF5LCAxNSApLFxuICAgIC8vIFNlcmllcyBBXG4gICAgc2VyaWVzLWE6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgOSApLFxuICAgIHNlcmllcy1hLWJvbGQ6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgMTIgKSxcbiAgICBzZXJpZXMtYS1ib2xkZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgMTQgKSxcbiAgICBzZXJpZXMtYS1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgNSApLFxuICAgIHNlcmllcy1hLXN1YnRsZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtYmx1ZSwgNyApLFxuICAgIC8vIFNlcmllcyBCXG4gICAgc2VyaWVzLWI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtaW5kaWdvLCA4ICksXG4gICAgc2VyaWVzLWItYm9sZDogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDEwICksXG4gICAgc2VyaWVzLWItYm9sZGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWluZGlnbywgMTIgKSxcbiAgICBzZXJpZXMtYi1zdWJ0bGU6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtaW5kaWdvLCA1ICksXG4gICAgc2VyaWVzLWItc3VidGxlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1pbmRpZ28sIDcgKSxcbiAgICAvLyBTZXJpZXMgQ1xuICAgIHNlcmllcy1jOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDggKSxcbiAgICBzZXJpZXMtYy1ib2xkOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDEwICksXG4gICAgc2VyaWVzLWMtYm9sZGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDEyICksXG4gICAgc2VyaWVzLWMtc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDUgKSxcbiAgICBzZXJpZXMtYy1zdWJ0bGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXRlYWwsIDcgKSxcbiAgICAvLyBTZXJpZXMgRFxuICAgIHNlcmllcy1kOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCA4ICksXG4gICAgc2VyaWVzLWQtYm9sZDogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgMTAgKSxcbiAgICBzZXJpZXMtZC1ib2xkZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtZ3JlZW4sIDEyICksXG4gICAgc2VyaWVzLWQtc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLWdyZWVuLCA1ICksXG4gICAgc2VyaWVzLWQtc3VidGxlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1ncmVlbiwgNyApLFxuICAgIC8vIFNlcmllcyDQlVxuICAgIHNlcmllcy1lOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgOCApLFxuICAgIHNlcmllcy1lLWJvbGQ6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCAxMCApLFxuICAgIHNlcmllcy1lLWJvbGRlcjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS1yZWQsIDEyICksXG4gICAgc2VyaWVzLWUtc3VidGxlOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXJlZCwgNSApLFxuICAgIHNlcmllcy1lLXN1YnRsZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUtcmVkLCA3ICksXG4gICAgLy8gU2VyaWVzIEZcbiAgICBzZXJpZXMtZjogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDggKSxcbiAgICBzZXJpZXMtZi1ib2xkOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXllbGxvdywgMTAgKSxcbiAgICBzZXJpZXMtZi1ib2xkZXI6IGstbWFwLWdldCggJGtlbmRvLXBhbGV0dGUteWVsbG93LCAxMiApLFxuICAgIHNlcmllcy1mLXN1YnRsZTogay1tYXAtZ2V0KCAka2VuZG8tcGFsZXR0ZS15ZWxsb3csIDUgKSxcbiAgICBzZXJpZXMtZi1zdWJ0bGVyOiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlLXllbGxvdywgNyApLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBnbG9iYWwgZGVmYXVsdCBDb2xvcnMgbWFwLlxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbiRrZW5kby1jb2xvcnM6ICRfZGVmYXVsdC1jb2xvcnMgIWRlZmF1bHQ7XG5cbi8vIExlZ2FjeVxuXG4ka2VuZG8taXMtZGFyay10aGVtZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZW1lIGNvbG9yc1xuLy8vIFRoZSBjb2xvciB0aGF0IGZvY3VzZXMgdGhlIHVzZXIgYXR0ZW50aW9uLlxuLy8vIFVzZWQgZm9yIHByaW1hcnkgYnV0dG9ucyBhbmQgZm9yIGVsZW1lbnRzIG9mIHByaW1hcnkgaW1wb3J0YW5jZSBhY3Jvc3MgdGhlIHRoZW1lLlxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAdHlwZSBDb2xvclxuJGtlbmRvLWNvbG9yLXByaW1hcnk6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXByaW1hcnktbGlnaHRlcjogay1jb2xvci10aW50KCAka2VuZG8tY29sb3ItcHJpbWFyeSwgMiApICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXByaW1hcnktZGFya2VyOiBrLWNvbG9yLXNoYWRlKCAka2VuZG8tY29sb3ItcHJpbWFyeSwgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIHVzZWQgYWxvbmcgd2l0aCB0aGUgcHJpbWFyeSBjb2xvciBkZW5vdGVkIGJ5ICRrZW5kby1jb2xvci1wcmltYXJ5LlxuLy8vIFVzZWQgdG8gcHJvdmlkZSBjb250cmFzdCBiZXR3ZWVuIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycy5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0OiBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY29sb3ItcHJpbWFyeSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNlY29uZGFyeSBjb2xvciBvZiB0aGUgdGhlbWUuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vIEB0eXBlIENvbG9yXG4ka2VuZG8tY29sb3Itc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXNlY29uZGFyeS1saWdodGVyOiBrLWNvbG9yLXRpbnQoICRrZW5kby1jb2xvci1zZWNvbmRhcnksIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1zZWNvbmRhcnktZGFya2VyOiBrLWNvbG9yLXNoYWRlKCAka2VuZG8tY29sb3Itc2Vjb25kYXJ5LCAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3IgdXNlZCBhbG9uZyB3aXRoIHRoZSBzZWNvbmRhcnkgY29sb3IgZGVub3RlZCBieSAka2VuZG8tY29sb3Itc2Vjb25kYXJ5LlxuLy8vIFVzZWQgdG8gcHJvdmlkZSBjb250cmFzdCBiZXR3ZWVuIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycy5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci1zZWNvbmRhcnktY29udHJhc3Q6IGstY29udHJhc3QtY29sb3IoICRrZW5kby1jb2xvci1zZWNvbmRhcnkgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXJ0aWFyeSBjb2xvciBvZiB0aGUgdGhlbWUuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vIEB0eXBlIENvbG9yXG4ka2VuZG8tY29sb3ItdGVydGlhcnk6ICRwdXJwbGUgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItdGVydGlhcnktbGlnaHRlcjogay1jb2xvci10aW50KCAka2VuZG8tY29sb3ItdGVydGlhcnksIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci10ZXJ0aWFyeS1kYXJrZXI6IGstY29sb3Itc2hhZGUoICRrZW5kby1jb2xvci10ZXJ0aWFyeSwgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIHVzZWQgYWxvbmcgd2l0aCB0aGUgdGVydGlhcnkgY29sb3IgZGVub3RlZCBieSAka2VuZG8tY29sb3ItdGVydGlhcnkuXG4vLy8gVXNlZCB0byBwcm92aWRlIGNvbnRyYXN0IGJldHdlZW4gdGhlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29sb3JzLlxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAdHlwZSBDb2xvclxuJGtlbmRvLWNvbG9yLXRlcnRpYXJ5LWNvbnRyYXN0OiBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY29sb3ItdGVydGlhcnkgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBmb3IgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyBhbmQgc3RhdGVzLlxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAdHlwZSBDb2xvclxuJGtlbmRvLWNvbG9yLWluZm86ICRpbmZvICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLWluZm8tbGlnaHRlcjogay1jb2xvci10aW50KCAka2VuZG8tY29sb3ItaW5mbywgMiApICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLWluZm8tZGFya2VyOiBrLWNvbG9yLXNoYWRlKCAka2VuZG8tY29sb3ItaW5mbywgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIGZvciBzdWNjZXNzIG1lc3NhZ2VzIGFuZCBzdGF0ZXMuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vIEB0eXBlIENvbG9yXG4ka2VuZG8tY29sb3Itc3VjY2VzczogJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3Itc3VjY2Vzcy1saWdodGVyOiBrLWNvbG9yLXRpbnQoICRrZW5kby1jb2xvci1zdWNjZXNzLCAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3Itc3VjY2Vzcy1kYXJrZXI6IGstY29sb3Itc2hhZGUoICRrZW5kby1jb2xvci1zdWNjZXNzLCAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3IgZm9yIHdhcm5pbmcgbWVzc2FnZXMgYW5kIHN0YXRlcy5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci13YXJuaW5nOiAkd2FybmluZyAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci13YXJuaW5nLWxpZ2h0ZXI6IGstY29sb3ItdGludCggJGtlbmRvLWNvbG9yLXdhcm5pbmcsIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci13YXJuaW5nLWRhcmtlcjogay1jb2xvci1zaGFkZSggJGtlbmRvLWNvbG9yLXdhcm5pbmcsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBmb3IgZXJyb3IgbWVzc2FnZXMgYW5kIHN0YXRlcy5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4vLy8gQHR5cGUgQ29sb3JcbiRrZW5kby1jb2xvci1lcnJvcjogJGRhbmdlciAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1lcnJvci1saWdodGVyOiBrLWNvbG9yLXRpbnQoICRrZW5kby1jb2xvci1lcnJvciwgMiApICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLWVycm9yLWRhcmtlcjogay1jb2xvci1zaGFkZSggJGtlbmRvLWNvbG9yLWVycm9yLCAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGFyayBjb2xvciBvZiB0aGUgdGhlbWUuXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuLy8vIEB0eXBlIENvbG9yXG4ka2VuZG8tY29sb3ItZGFyazogJGRhcmsgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGlnaHQgY29sb3Igb2YgdGhlIHRoZW1lLlxuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbi8vLyBAdHlwZSBDb2xvclxuJGtlbmRvLWNvbG9yLWxpZ2h0OiAkbGlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBJbnZlcnNlIGNvbG9yIG9mIHRoZSB0aGVtZS4gRGVwZW5kaW5nIG9uIHRoZSB0aGVtZSBsdW1pbmFuY2UgZGFyayBvciBsaWdodCwgaXQgd2lsbCBiZSBsaWdodCBvciBkYXJrXG4vLy8gQGdyb3VwIGNvbG9yLXN5c3RlbVxuJGtlbmRvLWNvbG9yLWludmVyc2U6IGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLWxpZ2h0LCAka2VuZG8tY29sb3ItZGFyayApICFkZWZhdWx0O1xuXG5cbiRrZW5kby10aGVtZS1jb2xvcnM6IChcbiAgICBcInByaW1hcnlcIjogJGtlbmRvLWNvbG9yLXByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogJGtlbmRvLWNvbG9yLXNlY29uZGFyeSxcbiAgICBcInRlcnRpYXJ5XCI6ICRrZW5kby1jb2xvci10ZXJ0aWFyeSxcbiAgICBcImluZm9cIjogJGtlbmRvLWNvbG9yLWluZm8sXG4gICAgXCJzdWNjZXNzXCI6ICRrZW5kby1jb2xvci1zdWNjZXNzLFxuICAgIFwid2FybmluZ1wiOiAka2VuZG8tY29sb3Itd2FybmluZyxcbiAgICBcImVycm9yXCI6ICRrZW5kby1jb2xvci1lcnJvcixcbiAgICBcImRhcmtcIjogJGtlbmRvLWNvbG9yLWRhcmssXG4gICAgXCJsaWdodFwiOiAka2VuZG8tY29sb3ItbGlnaHQsXG4gICAgXCJpbnZlcnNlXCI6ICRrZW5kby1jb2xvci1pbnZlcnNlXG4pICFkZWZhdWx0O1xuXG5cbi8vIEdlbmVyaWMgc3R5bGVzXG5cbi8vIFJvb3Qgc3R5bGVzXG4ka2VuZG8tYm9keS1iZzogJGtlbmRvLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGtlbmRvLWJvZHktdGV4dDogay1jb250cmFzdC1jb2xvciggJGtlbmRvLWJvZHktYmcsICRncmF5LTkwMCwgJGdyYXktMTAwICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zdWJ0bGUtdGV4dDogaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAkZ3JheS00MDAsICR0ZXh0LW11dGVkICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1hcHAtYmc6IGstdHJ5LXNoYWRlKCAka2VuZG8tYm9keS1iZywgLjI1ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYXBwLXRleHQ6ICRrZW5kby1ib2R5LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tYXBwLWJvcmRlcjogaWYoIGstaXMtbGlnaHQoICRrZW5kby1hcHAtYmcgKSwgJGdyYXktMzAwLCAkZ3JheS03MDAgKSAhZGVmYXVsdDtcblxuLy8gTGlua1xuJGtlbmRvLWxpbmstdGV4dDogJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4ka2VuZG8tbGluay1ob3Zlci10ZXh0OiAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG5cbi8vIENvbXBvbmVudFxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBjb21wb25lbnQuXG4vLy8gTm90ZTogZG8gbm90IHVzZSB0aGlzIHZhcmlhYmxlIGRpcmVjdGx5LiBJbnN0ZWFkIGRlcml2ZSBpdCBhcyBgJGNvbXBvbmVudC1uYW1lLWJnYCBlLmcuIGAka2VuZG8tZ3JpZC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtgLlxuLy8vIEBncm91cCBjb21wb25lbnRcbiRrZW5kby1jb21wb25lbnQtYmc6ICRrZW5kby1ib2R5LWJnICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgYSBjb21wb25lbnQuXG4vLy8gTm90ZTogZG8gbm90IHVzZSB0aGlzIHZhcmlhYmxlIGRpcmVjdGx5LiBJbnN0ZWFkIGRlcml2ZSBpdCBhcyBgJGNvbXBvbmVudC1uYW1lLXRleHRgIGUuZy4gYCRrZW5kby1ncmlkLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtgLlxuLy8vIEBncm91cCBjb21wb25lbnRcbiRrZW5kby1jb21wb25lbnQtdGV4dDogJGtlbmRvLWJvZHktdGV4dCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgYSBjb21wb25lbnQuXG4vLy8gTm90ZTogZG8gbm90IHVzZSB0aGlzIHZhcmlhYmxlIGRpcmVjdGx5LiBJbnN0ZWFkIGRlcml2ZSBpdCBhcyBgJGNvbXBvbmVudC1uYW1lLWJvcmRlcmAgZS5nLiBgJGtlbmRvLWdyaWQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtgLlxuLy8vIEBncm91cCBjb21wb25lbnRcbiRrZW5kby1jb21wb25lbnQtYm9yZGVyOiBpZiggay1pcy1saWdodCggJGtlbmRvLWNvbXBvbmVudC1iZyApLCAkZ3JheS0zMDAsICRncmF5LTcwMCApICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgY29tcG9uZW50cycgY2hyb21lIGFyZWEuXG4ka2VuZG8tYmFzZS1iZzogJGdyYXktMTAwICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBjb21wb25lbnRzJyBjaHJvbWUgYXJlYS5cbiRrZW5kby1iYXNlLXRleHQ6ICRrZW5kby1ib2R5LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgY29tcG9uZW50cycgY2hyb21lIGFyZWEuXG4ka2VuZG8tYmFzZS1ib3JkZXI6IGstdHJ5LXNoYWRlKCAka2VuZG8tYmFzZS1iZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBiYWNrZ3JvdW5kIG9mIHRoZSBjb21wb25lbnRzJyBjaHJvbWUgYXJlYS5cbiRrZW5kby1iYXNlLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgaG92ZXJlZCBpdGVtcy5cbiRrZW5kby1ob3Zlci1iZzogJGdyYXktMjAwICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIGhvdmVyZWQgaXRlbXMuXG4ka2VuZG8taG92ZXItdGV4dDogJGtlbmRvLWJhc2UtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIGhvdmVyZWQgaXRlbXMuXG4ka2VuZG8taG92ZXItYm9yZGVyOiBrLXRyeS1zaGFkZSggJGtlbmRvLWhvdmVyLWJnLCAxICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IGJhY2tncm91bmQgb2YgaG92ZXJlZCBpdGVtcy5cbiRrZW5kby1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHNlbGVjdGVkIGl0ZW1zLlxuJGtlbmRvLXNlbGVjdGVkLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBzZWxlY3RlZCBpdGVtcy5cbiRrZW5kby1zZWxlY3RlZC10ZXh0OiBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tc2VsZWN0ZWQtYmcgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHNlbGVjdGVkIGl0ZW1zLlxuJGtlbmRvLXNlbGVjdGVkLWJvcmRlcjogay10cnktc2hhZGUoICRrZW5kby1zZWxlY3RlZC1iZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBiYWNrZ3JvdW5kIG9mIHNlbGVjdGVkIGl0ZW1zLlxuJGtlbmRvLXNlbGVjdGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tc2VsZWN0ZWQtaG92ZXItYmc6IGstdHJ5LXNoYWRlKCAka2VuZG8tc2VsZWN0ZWQtYmcsIC41ICkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtaG92ZXItdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiAka2VuZG8tYmFzZS1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGl0ZW1zLlxuJGtlbmRvLWRpc2FibGVkLXRleHQ6IGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGdyYXktNjAwLCAkZ3JheS01MDApICFkZWZhdWx0O1xuXG4vLyBIZWFkZXJcbiRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnOiAka2VuZG8tYmFzZS1iZyAhZGVmYXVsdDtcbiRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tY29tcG9uZW50LWhlYWRlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8gVmFsaWRhdG9yXG4ka2VuZG8taW52YWxpZC1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1pbnZhbGlkLXRleHQ6ICRrZW5kby1jb2xvci1lcnJvciAhZGVmYXVsdDtcbiRrZW5kby1pbnZhbGlkLWJvcmRlcjogJGtlbmRvLWNvbG9yLWVycm9yICFkZWZhdWx0O1xuJGtlbmRvLWludmFsaWQtc2hhZG93OiAwIDAgMCAuMjVyZW0gcmdiYSggJGtlbmRvLWludmFsaWQtYm9yZGVyLCAuMjUgKSAhZGVmYXVsdDtcblxuJGtlbmRvLXZhbGlkLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXZhbGlkLXRleHQ6ICRrZW5kby1jb2xvci1zdWNjZXNzICFkZWZhdWx0O1xuJGtlbmRvLXZhbGlkLWJvcmRlcjogJGtlbmRvLWNvbG9yLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4ka2VuZG8tdmFsaWQtc2hhZG93OiAwIDAgMCAuMjVyZW0gcmdiYSggJGtlbmRvLXZhbGlkLWJvcmRlciwgLjI1ICkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cblxuLy8gVmFyaWFibGVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vY29yZS9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbi8vICNlbmRyZWdpb25cblxuLy8gT3B0aW9uc1xuJGtlbmRvLWVuYWJsZS1yb3VuZGVkOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS1zaGFkb3dzOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS1ncmFkaWVudHM6IHRydWUgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXRyYW5zaXRpb25zOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS1mb2N1cy1jb250cmFzdDogZmFsc2UgIWRlZmF1bHQ7XG4ka2VuZG8tZW5hYmxlLXR5cG9ncmFwaHk6IGZhbHNlICFkZWZhdWx0O1xuXG4ka2VuZG8tdXNlLWlucHV0LWJ1dHRvbi13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XG4ka2VuZG8tdXNlLWlucHV0LXNwaW5uZXItd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xuJGtlbmRvLXVzZS1pbnB1dC1zcGlubmVyLWljb24tb2Zmc2V0OiBmYWxzZSAhZGVmYXVsdDtcblxuJGtlbmRvLWF1dG8tYm9vdHN0cmFwOiB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbiRrZW5kby1zcGFjaW5nOiAoXG4gICAgMDogMCxcbiAgICAxcHg6IDFweCxcbiAgICAwLjU6IC4xMjVyZW0sXG4gICAgMTogLjI1cmVtLFxuICAgIDEuNTogLjM3NXJlbSxcbiAgICAyOiAuNXJlbSxcbiAgICAyLjU6IC42MjVyZW0sXG4gICAgMzogLjc1cmVtLFxuICAgIDMuNTogLjg3NXJlbSxcbiAgICA0OiAxcmVtLFxuICAgIDQuNTogMS4xMjVyZW0sXG4gICAgNTogMS4yNXJlbSxcbiAgICA1LjU6IDEuMzc1cmVtLFxuICAgIDY6IDEuNXJlbSxcbiAgICA2LjU6IDEuNjI1cmVtLFxuICAgIDc6IDEuNzVyZW0sXG4gICAgNy41OiAxLjg3NXJlbSxcbiAgICA4OiAycmVtLFxuICAgIDk6IDIuMjVyZW0sXG4gICAgMTA6IDIuNXJlbSxcbiAgICAxMTogMi43NXJlbSxcbiAgICAxMjogM3JlbSxcbiAgICAxMzogMy4yNXJlbSxcbiAgICAxNDogMy41cmVtLFxuICAgIDE1OiAzLjc1cmVtLFxuICAgIDE2OiA0cmVtLFxuICAgIDE3OiA0LjI1cmVtLFxuICAgIDE4OiA0LjVyZW0sXG4gICAgMTk6IDQuNzVyZW0sXG4gICAgMjA6IDVyZW0sXG4gICAgMjE6IDUuMjVyZW0sXG4gICAgMjI6IDUuNXJlbSxcbiAgICAyMzogNS43NXJlbSxcbiAgICAyNDogNnJlbVxuKSAhZGVmYXVsdDtcblxuXG4vLyBJY29uc1xuJGtlbmRvLWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuJGtlbmRvLWljb24tc2l6ZS14czogY2FsYyggI3ska2VuZG8taWNvbi1zaXplfSAqIC43NSApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS1zbTogY2FsYyggI3ska2VuZG8taWNvbi1zaXplfSAqIC44NzUgKSAhZGVmYXVsdDtcbiRrZW5kby1pY29uLXNpemUtbWQ6ICRrZW5kby1pY29uLXNpemUgIWRlZmF1bHQ7XG4ka2VuZG8taWNvbi1zaXplLWxnOiBjYWxjKCAjeyRrZW5kby1pY29uLXNpemV9ICogMS4yNSApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS14bDogY2FsYyggI3ska2VuZG8taWNvbi1zaXplfSAqIDEuNSApICFkZWZhdWx0O1xuJGtlbmRvLWljb24tc2l6ZS14eGw6IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAyICkgIWRlZmF1bHQ7XG4ka2VuZG8taWNvbi1zaXplLXh4eGw6IGNhbGMoICN7JGtlbmRvLWljb24tc2l6ZX0gKiAzICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1pY29uLXNwYWNpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1pY29uLXBhZGRpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcblxuLy8gTWV0cmljc1xuJGtlbmRvLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmctc20teDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmctc20teTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmctbWQteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmctbWQteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmctbGcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNiApICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmctbGcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYWxsIGNvbXBvbmVudHMuXG4ka2VuZG8tYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1zbTogJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1tZDogJGtlbmRvLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1sZzogJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRrZW5kby1ib3JkZXItcmFkaWk6IChcbiAgICBERUZBVUxUOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCxcbiAgICAwOiAwLFxuICAgIHNtOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1zbSxcbiAgICBtZDogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQsXG4gICAgbGc6ICRrZW5kby1ib3JkZXItcmFkaXVzLWxnLFxuICAgIGZ1bGw6IDk5OTlweFxuKSAhZGVmYXVsdDtcblxuXG4ka2VuZG8temluZGV4LXBvcHVwOiAxICFkZWZhdWx0O1xuJGtlbmRvLXppbmRleC13aW5kb3c6IDIgIWRlZmF1bHQ7XG4ka2VuZG8temluZGV4LWxvYWRpbmc6IDEwMCAhZGVmYXVsdDtcblxuXG4vLyBUeXBvZ3JhcGh5XG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBhY3Jvc3MgYWxsIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbiRrZW5kby1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRrZW5kby1mb250LXNpemUteHM6ICggJGtlbmRvLWZvbnQtc2l6ZSAqIC43NSApICFkZWZhdWx0O1xuJGtlbmRvLWZvbnQtc2l6ZS1zbTogJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRrZW5kby1mb250LXNpemUtbWQ6ICRrZW5kby1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2VuZG8tZm9udC1zaXplLWxnOiAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGtlbmRvLWZvbnQtc2l6ZS14bDogKCAka2VuZG8tZm9udC1zaXplLW1kICogMS41ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1mb250LXNpemVzOiAoXG4gICAgeHM6ICRrZW5kby1mb250LXNpemUteHMsXG4gICAgc206ICRrZW5kby1mb250LXNpemUtc20sXG4gICAgbWQ6ICRrZW5kby1mb250LXNpemUtbWQsXG4gICAgbGc6ICRrZW5kby1mb250LXNpemUtbGcsXG4gICAgeGw6ICRrZW5kby1mb250LXNpemUteGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgdGV4dC5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIG1vbm9zcGFjZWQgdGV4dC4gVXNlZCBmb3Igc3R5bGluZyB0aGUgY29kZS5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuJGtlbmRvLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IHVzZWQgYWxvbmcgd2l0aCAka2VuZG8tZm9udC1zaXplLlxuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4ka2VuZG8tbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGtlbmRvLWxpbmUtaGVpZ2h0LXhzOiAxICFkZWZhdWx0O1xuJGtlbmRvLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG4ka2VuZG8tbGluZS1oZWlnaHQtbWQ6ICRrZW5kby1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRrZW5kby1saW5lLWhlaWdodC1sZzogJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuJGtlbmRvLWxpbmUtaGVpZ2h0LWVtOiBjYWxjKCAjeyRrZW5kby1saW5lLWhlaWdodH0gKiAxZW0gKSAhZGVmYXVsdDtcblxuLy8gRm9udCB3ZWlnaHRcbiRrZW5kby1mb250LXdlaWdodC1saWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWZvbnQtd2VpZ2h0LW5vcm1hbDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRrZW5kby1mb250LXdlaWdodC1tZWRpdW06IDUwMCAhZGVmYXVsdDsgLy8gVE9ETzogdXNlIGZyb20gYm9vdHN0cmFwIHdoZW4gd2UgdXBkYXRlXG4ka2VuZG8tZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMCAhZGVmYXVsdDsgLy8gVE9ETzogdXNlIGZyb20gYm9vdHN0cmFwIHdoZW4gd2UgdXBkYXRlXG4ka2VuZG8tZm9udC13ZWlnaHQtYm9sZDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIExldHRlciBTcGFjaW5nXG4ka2VuZG8tbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gVE9ETzogcmVmYWN0b3JcbiRrZW5kby1mb2N1cy1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby10cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjJzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBEaXNhYmxlZCBtaXhpbiB2YXJpYWJsZXNcbiRrZW5kby1kaXNhYmxlZC1maWx0ZXI6IGdyYXlzY2FsZSguMSkgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzYWJsZWQtb3BhY2l0eTogLjY1ICFkZWZhdWx0O1xuXG4ka2VuZG8tZGlzYWJsZWQtc3R5bGluZzogKFxuICAgIG9wYWNpdHk6ICRrZW5kby1kaXNhYmxlZC1vcGFjaXR5LFxuICAgIGZpbHRlcjogJGtlbmRvLWRpc2FibGVkLWZpbHRlclxuKSAhZGVmYXVsdDtcblxuXG4vLyBHZW5lcmljIHN0eWxlc1xuXG4vLyBUT0RPOiByZWZhY3RvciBvbmNlIHdlIGV4dHJhY3QgZHJhZyBkcm9wIGFzIHNlcGFyYXRlIG1vZHVsZVxuXG4vLyBMb2FkaW5nXG4ka2VuZG8tbG9hZGluZy1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcbiRrZW5kby16aW5kZXgtbG9hZGluZzogMTAwICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG5cbi8vIEVsZXZhdGlvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9lbGV2YXRpb24vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL2VsZXZhdGlvbi9pbmRleC5pbXBvcnQuc2Nzc1xuJF9kZWZhdWx0LWVsZXZhdGlvbjogKFxuICAgIDE6IChcbiAgICAgICAgMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjAzOCksXG4gICAgKSxcbiAgICAyOiAoXG4gICAgICAgIDBweCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLFxuICAgICksXG4gICAgMzogKFxuICAgICAgICAwcHggNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpLFxuICAgICksXG4gICAgNDogKFxuICAgICAgICAwcHggNnB4IDEzcHggcmdiYSgwLCAwLCAwLCAwLjEyNSksXG4gICAgKSxcbiAgICA1OiAoXG4gICAgICAgIDBweCA4cHggMTZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KSxcbiAgICApLFxuICAgIDY6IChcbiAgICAgICAgMHB4IDExcHggMjRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1OSksXG4gICAgKSxcbiAgICA3OiAoXG4gICAgICAgIDBweCAxNHB4IDM2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNjgpLFxuICAgICksXG4gICAgODogKFxuICAgICAgICAwcHggMTZweCA0OHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTc2KSxcbiAgICApLFxuICAgIDk6IChcbiAgICAgICAgMHB4IDE4cHggNjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE4NSksXG4gICAgKSxcbik7XG5cbi8vLyBUaGUgZ2xvYmFsIGRlZmF1bHQgRWxldmF0aW9uIG1hcC5cbi8vLyBAZ3JvdXAgZWxldmF0aW9uXG4ka2VuZG8tZWxldmF0aW9uOiAkX2RlZmF1bHQtZWxldmF0aW9uICFkZWZhdWx0O1xuXG5cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2Z1bmN0aW9ucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vY29sb3Itc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mdW5jdGlvbnMuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9jb2xvci1zeXN0ZW0vX2Z1bmN0aW9ucy5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fcGFsZXR0ZXMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9fcGFsZXR0ZXMuc2Nzc1xuLy8vIENvbG9yIHBhbGV0dGVzIHRvIGJlIHVzZWQgaW4gdGhlIEtlbmRvIFVJIHRoZW1lcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSBSZWNvcmQ8U3RyaW5nLCBDb2xvck1hcD5cbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG5ldXRyYWwgLSBUaGUgbmV1dHJhbCBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXJzYWxhIC0gVGhlIG1hcnNhbGEgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gYm9vdHN0cmFwR3JheSAtIFRoZSBCb290c3RyYXAgZ3JheSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBib290c3RyYXBCbHVlIC0gVGhlIEJvb3RzdHJhcCBibHVlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcEluZGlnbyAtIFRoZSBCb290c3RyYXAgaW5kaWdvIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcFB1cnBsZSAtIFRoZSBCb290c3RyYXAgcHVycGxlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcFBpbmsgLSBUaGUgQm9vdHN0cmFwIHBpbmsgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gYm9vdHN0cmFwUmVkIC0gVGhlIEJvb3RzdHJhcCByZWQgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gYm9vdHN0cmFwT3JhbmdlIC0gVGhlIEJvb3RzdHJhcCBvcmFuZ2UgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gYm9vdHN0cmFwWWVsbG93IC0gVGhlIEJvb3RzdHJhcCB5ZWxsb3cgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gYm9vdHN0cmFwR3JlZW4gLSBUaGUgQm9vdHN0cmFwIGdyZWVuIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IGJvb3RzdHJhcFRlYWwgLSBUaGUgQm9vdHN0cmFwIHRlYWwgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gYm9vdHN0cmFwQ3lhbiAtIFRoZSBCb290c3RyYXAgY3lhbiBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBmbHVlbnROZXV0cmFsIC0gVGhlIEZsdWVudCBuZXV0cmFsIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsR3JheSAtIFRoZSBNYXRlcmlhbCBncmF5IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsQmx1ZUdyYXkgLSBUaGUgTWF0ZXJpYWwgYmx1ZSBncmF5IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsUmVkIC0gVGhlIE1hdGVyaWFsIHJlZCBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbFBpbmsgLSBUaGUgTWF0ZXJpYWwgcGluayBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbFB1cnBsZSAtIFRoZSBNYXRlcmlhbCBwdXJwbGUgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxEZWVwUHVycGxlIC0gVGhlIE1hdGVyaWFsIGRlZXAgcHVycGxlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsSW5kaWdvIC0gVGhlIE1hdGVyaWFsIGluZGlnbyBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbEJsdWUgLSBUaGUgTWF0ZXJpYWwgYmx1ZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbExpZ2h0Qmx1ZSAtIFRoZSBNYXRlcmlhbCBsaWdodCBibHVlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsQ3lhbiAtIFRoZSBNYXRlcmlhbCBjeWFuIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsVGVhbCAtIFRoZSBNYXRlcmlhbCB0ZWFsIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsR3JlZW4gLSBUaGUgTWF0ZXJpYWwgZ3JlZW4gcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxMaWdodEdyZWVuIC0gVGhlIE1hdGVyaWFsIGxpZ2h0IGdyZWVuIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsTGltZSAtIFRoZSBNYXRlcmlhbCBsaW1lIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsWWVsbG93IC0gVGhlIE1hdGVyaWFsIHllbGxvdyBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbEFtYmVyIC0gVGhlIE1hdGVyaWFsIGFtYmVyIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IG1hdGVyaWFsT3JhbmdlIC0gVGhlIE1hdGVyaWFsIG9yYW5nZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBtYXRlcmlhbERlZXBPcmFuZ2UgLSBUaGUgTWF0ZXJpYWwgZGVlcCBvcmFuZ2UgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gbWF0ZXJpYWxCcm93biAtIFRoZSBNYXRlcmlhbCBicm93biBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSBwcmltZXJHcmF5IC0gVGhlIFByaW1lciBncmF5IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHByaW1lckJsdWUgLSBUaGUgUHJpbWVyIGJsdWUgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gcHJpbWVyR3JlZW4gLSBUaGUgUHJpbWVyIGdyZWVuIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHByaW1lclllbGxvdyAtIFRoZSBQcmltZXIgeWVsbG93IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHByaW1lck9yYW5nZSAtIFRoZSBQcmltZXIgb3JhbmdlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHByaW1lclJlZCAtIFRoZSBQcmltZXIgcmVkIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHByaW1lclB1cnBsZSAtIFRoZSBQcmltZXIgcHVycGxlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHByaW1lclBpbmsgLSBUaGUgUHJpbWVyIHBpbmsgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gcHJpbWVyQ29yYWwgLSBUaGUgUHJpbWVyIGNvcmFsIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kTmV1dHJhbCAtIFRoZSBUYWlsd2luZCBuZXV0cmFsIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kU2xhdGUgLSBUaGUgVGFpbHdpbmQgc2xhdGUgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRHcmF5IC0gVGhlIFRhaWx3aW5kIGdyYXkgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRaaW5jIC0gVGhlIFRhaWx3aW5kIHppbmMgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRTdG9uZSAtIFRoZSBUYWlsd2luZCBzdG9uZSBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZFJlZCAtIFRoZSBUYWlsd2luZCByZWQgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRPcmFuZ2UgLSBUaGUgVGFpbHdpbmQgb3JhbmdlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kQW1iZXIgLSBUaGUgVGFpbHdpbmQgYW1iZXIgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRZZWxsb3cgLSBUaGUgVGFpbHdpbmQgeWVsbG93IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kTGltZSAtIFRoZSBUYWlsd2luZCBsaW1lIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kR3JlZW4gLSBUaGUgVGFpbHdpbmQgZ3JlZW4gcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRFbWVyYWxkIC0gVGhlIFRhaWx3aW5kIGVtZXJhbGQgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRUZWFsIC0gVGhlIFRhaWx3aW5kIHRlYWwgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRDeWFuIC0gVGhlIFRhaWx3aW5kIGN5YW4gcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRTa3kgLSBUaGUgVGFpbHdpbmQgc2t5IHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kQmx1ZSAtIFRoZSBUYWlsd2luZCBibHVlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kSW5kaWdvIC0gVGhlIFRhaWx3aW5kIGluZGlnbyBwYWxldHRlXG4vLy8gQHByb3Age0NvbG9yTWFwfSB0YWlsd2luZFZpb2xldCAtIFRoZSBUYWlsd2luZCB2aW9sZXQgcGFsZXR0ZVxuLy8vIEBwcm9wIHtDb2xvck1hcH0gdGFpbHdpbmRQdXJwbGUgLSBUaGUgVGFpbHdpbmQgcHVycGxlIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kRnVjaHNpYSAtIFRoZSBUYWlsd2luZCBmdWNoc2lhIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kUGluayAtIFRoZSBUYWlsd2luZCBwaW5rIHBhbGV0dGVcbi8vLyBAcHJvcCB7Q29sb3JNYXB9IHRhaWx3aW5kUm9zZSAtIFRoZSBUYWlsd2luZCByb3NlIHBhbGV0dGVcbi8vL1xuLy8vIEBncm91cCBjb2xvci1zeXN0ZW1cbiRrZW5kby1wYWxldHRlczogKFxuXG4gICAgLy8gS2VuZG9cbiAgICBuZXV0cmFsOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjhmOGY4LFxuICAgICAgICAxMDA6ICNlZGVkZWQsXG4gICAgICAgIDIwMDogI2Q2ZDZkNixcbiAgICAgICAgMzAwOiAjYjdiN2I3LFxuICAgICAgICA0MDA6ICM5NDk0OTQsXG4gICAgICAgIDUwMDogIzc2NzY3NixcbiAgICAgICAgNjAwOiAjNWY1ZjVmLFxuICAgICAgICA3MDA6ICM0OTQ5NDksXG4gICAgICAgIDgwMDogIzM3MzczNyxcbiAgICAgICAgOTAwOiAjMjgyODI4LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXJzYWxhOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmFmMGYyLFxuICAgICAgICAxMDA6ICNmM2RkZTAsXG4gICAgICAgIDIwMDogI2UxOTdhMyxcbiAgICAgICAgMzAwOiAjYzU0ZTY5LFxuICAgICAgICA0MDA6ICM4YjM1NDgsXG4gICAgICAgIDUwMDogIzYyMjMzMSxcbiAgICAgICAgNjAwOiAjNTUxZDJhLFxuICAgICAgICA3MDA6ICM0NDE2MjAsXG4gICAgICAgIDgwMDogIzM0MGYxNyxcbiAgICAgICAgOTAwOiAjMjMwODBlLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcblxuXG4gICAgLy8gQm9vdHN0cmFwXG4gICAgYm9vdHN0cmFwR3JheTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICAxMDA6ICNmOGY5ZmEsXG4gICAgICAgIDIwMDogI2U5ZWNlZixcbiAgICAgICAgMzAwOiAjZGVlMmU2LFxuICAgICAgICA0MDA6ICNjZWQ0ZGEsXG4gICAgICAgIDUwMDogI2FkYjViZCxcbiAgICAgICAgNjAwOiAjNmM3NTdkLFxuICAgICAgICA3MDA6ICM0OTUwNTcsXG4gICAgICAgIDgwMDogIzM0M2E0MCxcbiAgICAgICAgOTAwOiAjMjEyNTI5LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBib290c3RyYXBCbHVlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDEwMDogI2NmZTJmZixcbiAgICAgICAgMjAwOiAjOWVjNWZlLFxuICAgICAgICAzMDA6ICM2ZWE4ZmUsXG4gICAgICAgIDQwMDogIzNkOGJmZCxcbiAgICAgICAgNTAwOiAjMGQ2ZWZkLFxuICAgICAgICA2MDA6ICMwYTU4Y2EsXG4gICAgICAgIDcwMDogIzA4NDI5OCxcbiAgICAgICAgODAwOiAjMDUyYzY1LFxuICAgICAgICA5MDA6ICMwMzE2MzMsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIGJvb3RzdHJhcEluZGlnbzogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICAxMDA6ICNlMGNmZmMsXG4gICAgICAgIDIwMDogI2MyOWZmYSxcbiAgICAgICAgMzAwOiAjYTM3MGY3LFxuICAgICAgICA0MDA6ICM4NTQwZjUsXG4gICAgICAgIDUwMDogIzY2MTBmMixcbiAgICAgICAgNjAwOiAjNTIwZGMyLFxuICAgICAgICA3MDA6ICMzZDBhOTEsXG4gICAgICAgIDgwMDogIzI5MDY2MSxcbiAgICAgICAgOTAwOiAjMTQwMzMwLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBib290c3RyYXBQdXJwbGU6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgMTAwOiAjZTJkOWYzLFxuICAgICAgICAyMDA6ICNjNWIzZTYsXG4gICAgICAgIDMwMDogI2E5OGVkYSxcbiAgICAgICAgNDAwOiAjOGM2OGNkLFxuICAgICAgICA1MDA6ICM2ZjQyYzEsXG4gICAgICAgIDYwMDogIzU5MzU5YSxcbiAgICAgICAgNzAwOiAjNDMyODc0LFxuICAgICAgICA4MDA6ICMyYzFhNGQsXG4gICAgICAgIDkwMDogIzE2MGQyNyxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgYm9vdHN0cmFwUGluazogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICAxMDA6ICNmN2Q2ZTYsXG4gICAgICAgIDIwMDogI2VmYWRjZSxcbiAgICAgICAgMzAwOiAjZTY4NWI1LFxuICAgICAgICA0MDA6ICNkZTVjOWQsXG4gICAgICAgIDUwMDogI2Q2MzM4NCxcbiAgICAgICAgNjAwOiAjYWIyOTZhLFxuICAgICAgICA3MDA6ICM4MDFmNGYsXG4gICAgICAgIDgwMDogIzU2MTQzNSxcbiAgICAgICAgOTAwOiAjMmIwYTFhLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBib290c3RyYXBSZWQ6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgMTAwOiAjZjhkN2RhLFxuICAgICAgICAyMDA6ICNmMWFlYjUsXG4gICAgICAgIDMwMDogI2VhODY4ZixcbiAgICAgICAgNDAwOiAjZTM1ZDZhLFxuICAgICAgICA1MDA6ICNkYzM1NDUsXG4gICAgICAgIDYwMDogI2IwMmEzNyxcbiAgICAgICAgNzAwOiAjODQyMDI5LFxuICAgICAgICA4MDA6ICM1ODE1MWMsXG4gICAgICAgIDkwMDogIzJjMGIwZSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgYm9vdHN0cmFwT3JhbmdlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDEwMDogI2ZmZTVkMCxcbiAgICAgICAgMjAwOiAjZmVjYmExLFxuICAgICAgICAzMDA6ICNmZWIyNzIsXG4gICAgICAgIDQwMDogI2ZkOTg0MyxcbiAgICAgICAgNTAwOiAjZmQ3ZTE0LFxuICAgICAgICA2MDA6ICNjYTY1MTAsXG4gICAgICAgIDcwMDogIzk4NGMwYyxcbiAgICAgICAgODAwOiAjNjUzMjA4LFxuICAgICAgICA5MDA6ICMzMzE5MDQsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIGJvb3RzdHJhcFllbGxvdzogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICAxMDA6ICNmZmYzY2QsXG4gICAgICAgIDIwMDogI2ZmZTY5YyxcbiAgICAgICAgMzAwOiAjZmZkYTZhLFxuICAgICAgICA0MDA6ICNmZmNkMzksXG4gICAgICAgIDUwMDogI2ZmYzEwNyxcbiAgICAgICAgNjAwOiAjY2M5YTA2LFxuICAgICAgICA3MDA6ICM5OTc0MDQsXG4gICAgICAgIDgwMDogIzY2NGQwMyxcbiAgICAgICAgOTAwOiAjMzMyNzAxLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBib290c3RyYXBHcmVlbjogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICAxMDA6ICNkMWU3ZGQsXG4gICAgICAgIDIwMDogI2EzY2ZiYixcbiAgICAgICAgMzAwOiAjNzViNzk4LFxuICAgICAgICA0MDA6ICM0NzlmNzYsXG4gICAgICAgIDUwMDogIzE5ODc1NCxcbiAgICAgICAgNjAwOiAjMTQ2YzQzLFxuICAgICAgICA3MDA6ICMwZjUxMzIsXG4gICAgICAgIDgwMDogIzBhMzYyMixcbiAgICAgICAgOTAwOiAjMDUxYjExLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBib290c3RyYXBUZWFsOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDEwMDogI2QyZjRlYSxcbiAgICAgICAgMjAwOiAjYTZlOWQ1LFxuICAgICAgICAzMDA6ICM3OWRmYzEsXG4gICAgICAgIDQwMDogIzRkZDRhYyxcbiAgICAgICAgNTAwOiAjMjBjOTk3LFxuICAgICAgICA2MDA6ICMxYWExNzksXG4gICAgICAgIDcwMDogIzEzNzk1YixcbiAgICAgICAgODAwOiAjMGQ1MDNjLFxuICAgICAgICA5MDA6ICMwNjI4MWUsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIGJvb3RzdHJhcEN5YW46IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgMTAwOiAjY2ZmNGZjLFxuICAgICAgICAyMDA6ICM5ZWVhZjksXG4gICAgICAgIDMwMDogIzZlZGZmNixcbiAgICAgICAgNDAwOiAjM2RkNWYzLFxuICAgICAgICA1MDA6ICMwZGNhZjAsXG4gICAgICAgIDYwMDogIzBhYTJjMCxcbiAgICAgICAgNzAwOiAjMDg3OTkwLFxuICAgICAgICA4MDA6ICMwNTUxNjAsXG4gICAgICAgIDkwMDogIzAzMjgzMCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG5cblxuICAgIC8vIEZsdWVudFxuICAgIGZsdWVudE5ldXRyYWw6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmYWY5ZjgsXG4gICAgICAgIDEwMDogI2VkZWJlOSxcbiAgICAgICAgMTUwOiAjZTFkZmRkLFxuICAgICAgICAyMDA6ICNkMmQwY2UsXG4gICAgICAgIDI1MDogI2M4YzZjNCxcbiAgICAgICAgMzAwOiAjYmRiYmI4LFxuICAgICAgICAzNTA6ICNiM2IwYWQsXG4gICAgICAgIDQwMDogI2ExOWY5ZCxcbiAgICAgICAgNDUwOiAjOGE4ODg2LFxuICAgICAgICA1MDA6ICM3OTc3NzUsXG4gICAgICAgIDU1MDogIzYwNWU1YyxcbiAgICAgICAgNjAwOiAjNDg0NjQ0LFxuICAgICAgICA2NTA6ICMzYjNhMzksXG4gICAgICAgIDcwMDogIzMyMzEzMCxcbiAgICAgICAgNzUwOiAjMjkyODI3LFxuICAgICAgICA4MDA6ICMyMDFmMWUsXG4gICAgICAgIDg1MDogIzFiMWExOSxcbiAgICAgICAgOTAwOiAjMTYxNTE0LFxuICAgICAgICA5NTA6ICMxMTEwMGYsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuXG5cbiAgICAvLyBNYXRlcmlhbFxuICAgIG1hdGVyaWFsR3JheTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZhZmFmYSxcbiAgICAgICAgMTAwOiAjZjVmNWY1LFxuICAgICAgICAyMDA6ICNlZWVlZWUsXG4gICAgICAgIDMwMDogI2UwZTBlMCxcbiAgICAgICAgNDAwOiAjYmRiZGJkLFxuICAgICAgICA1MDA6ICM5ZTllOWUsXG4gICAgICAgIDYwMDogIzc1NzU3NSxcbiAgICAgICAgNzAwOiAjNjE2MTYxLFxuICAgICAgICA4MDA6ICM0MjQyNDIsXG4gICAgICAgIDkwMDogIzIxMjEyMSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxCbHVlR3JheTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2VjZWZmMSxcbiAgICAgICAgMTAwOiAjY2ZkOGRjLFxuICAgICAgICAyMDA6ICNiMGJlYzUsXG4gICAgICAgIDMwMDogIzkwYTRhZSxcbiAgICAgICAgNDAwOiAjNzg5MDljLFxuICAgICAgICA1MDA6ICM2MDdkOGIsXG4gICAgICAgIDYwMDogIzU0NmU3YSxcbiAgICAgICAgNzAwOiAjNDU1YTY0LFxuICAgICAgICA4MDA6ICMzNzQ3NGYsXG4gICAgICAgIDkwMDogIzI2MzIzOCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxSZWQ6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZmViZWUsXG4gICAgICAgIDEwMDogI2ZmY2RkMixcbiAgICAgICAgMjAwOiAjZWY5YTlhLFxuICAgICAgICAzMDA6ICNlNTczNzMsXG4gICAgICAgIDQwMDogI2VmNTM1MCxcbiAgICAgICAgNTAwOiAjZjQ0MzM2LFxuICAgICAgICA2MDA6ICNlNTM5MzUsXG4gICAgICAgIDcwMDogI2QzMmYyZixcbiAgICAgICAgODAwOiAjYzYyODI4LFxuICAgICAgICA5MDA6ICNiNzFjMWMsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsUGluazogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZjZTRlYyxcbiAgICAgICAgMTAwOiAjZjhiYmQwLFxuICAgICAgICAyMDA6ICNmNDhmYjEsXG4gICAgICAgIDMwMDogI2YwNjI5MixcbiAgICAgICAgNDAwOiAjZWM0MDdhLFxuICAgICAgICAvLyA1MDAgd2FzICNlOTFlNjMsIGJ1dCBjaGFuZ2VkIGZvciBiZXR0ZXIgY29udHJhc3QgYWdhaW5zdCB3aGl0ZVxuICAgICAgICA1MDA6ICNlNTFhNWYsXG4gICAgICAgIDYwMDogI2Q4MWI2MCxcbiAgICAgICAgNzAwOiAjYzIxODViLFxuICAgICAgICA4MDA6ICNhZDE0NTcsXG4gICAgICAgIDkwMDogIzg4MGU0ZixcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxQdXJwbGU6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmM2U1ZjUsXG4gICAgICAgIDEwMDogI2UxYmVlNyxcbiAgICAgICAgMjAwOiAjY2U5M2Q4LFxuICAgICAgICAzMDA6ICNiYTY4YzgsXG4gICAgICAgIDQwMDogI2FiNDdiYyxcbiAgICAgICAgNTAwOiAjOWMyN2IwLFxuICAgICAgICA2MDA6ICM4ZTI0YWEsXG4gICAgICAgIDcwMDogIzdiMWZhMixcbiAgICAgICAgODAwOiAjNmExYjlhLFxuICAgICAgICA5MDA6ICM0YTE0OGMsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsRGVlcFB1cnBsZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2VkZTdmNixcbiAgICAgICAgMTAwOiAjZDFjNGU5LFxuICAgICAgICAyMDA6ICNiMzlkZGIsXG4gICAgICAgIDMwMDogIzk1NzVjZCxcbiAgICAgICAgNDAwOiAjN2U1N2MyLFxuICAgICAgICA1MDA6ICM2NzNhYjcsXG4gICAgICAgIDYwMDogIzVlMzViMSxcbiAgICAgICAgNzAwOiAjNTEyZGE4LFxuICAgICAgICA4MDA6ICM0NTI3YTAsXG4gICAgICAgIDkwMDogIzMxMWI5MixcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxJbmRpZ286IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlOGVhZjYsXG4gICAgICAgIDEwMDogI2M1Y2FlOSxcbiAgICAgICAgMjAwOiAjOWZhOGRhLFxuICAgICAgICAzMDA6ICM3OTg2Y2IsXG4gICAgICAgIDQwMDogIzVjNmJjMCxcbiAgICAgICAgNTAwOiAjM2Y1MWI1LFxuICAgICAgICA2MDA6ICMzOTQ5YWIsXG4gICAgICAgIDcwMDogIzMwM2Y5ZixcbiAgICAgICAgODAwOiAjMjgzNTkzLFxuICAgICAgICA5MDA6ICMxYTIzN2UsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsQmx1ZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2UzZjJmZCxcbiAgICAgICAgMTAwOiAjYmJkZWZiLFxuICAgICAgICAyMDA6ICM5MGNhZjksXG4gICAgICAgIDMwMDogIzY0YjVmNixcbiAgICAgICAgNDAwOiAjNDJhNWY1LFxuICAgICAgICA1MDA6ICMyMTk2ZjMsXG4gICAgICAgIDYwMDogIzFlODhlNSxcbiAgICAgICAgNzAwOiAjMTk3NmQyLFxuICAgICAgICA4MDA6ICMxNTY1YzAsXG4gICAgICAgIDkwMDogIzBkNDdhMSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxMaWdodEJsdWU6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlMWY1ZmUsXG4gICAgICAgIDEwMDogI2IzZTVmYyxcbiAgICAgICAgMjAwOiAjODFkNGZhLFxuICAgICAgICAzMDA6ICM0ZmMzZjcsXG4gICAgICAgIDQwMDogIzI5YjZmNixcbiAgICAgICAgNTAwOiAjMDNhOWY0LFxuICAgICAgICA2MDA6ICMwMzliZTUsXG4gICAgICAgIDcwMDogIzAyODhkMSxcbiAgICAgICAgODAwOiAjMDI3N2JkLFxuICAgICAgICA5MDA6ICMwMTU3OWIsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsQ3lhbjogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2UwZjdmYSxcbiAgICAgICAgMTAwOiAjYjJlYmYyLFxuICAgICAgICAyMDA6ICM4MGRlZWEsXG4gICAgICAgIDMwMDogIzRkZDBlMSxcbiAgICAgICAgNDAwOiAjMjZjNmRhLFxuICAgICAgICA1MDA6ICMwMGJjZDQsXG4gICAgICAgIDYwMDogIzAwYWNjMSxcbiAgICAgICAgNzAwOiAjMDA5N2E3LFxuICAgICAgICA4MDA6ICMwMDgzOGYsXG4gICAgICAgIDkwMDogIzAwNjA2NCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxUZWFsOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZTBmMmYxLFxuICAgICAgICAxMDA6ICNiMmRmZGIsXG4gICAgICAgIDIwMDogIzgwY2JjNCxcbiAgICAgICAgMzAwOiAjNGRiNmFjLFxuICAgICAgICA0MDA6ICMyNmE2OWEsXG4gICAgICAgIDUwMDogIzAwOTY4OCxcbiAgICAgICAgNjAwOiAjMDA4OTdiLFxuICAgICAgICA3MDA6ICMwMDc5NmIsXG4gICAgICAgIDgwMDogIzAwNjk1YyxcbiAgICAgICAgOTAwOiAjMDA0ZDQwLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbEdyZWVuOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZThmNWU5LFxuICAgICAgICAxMDA6ICNjOGU2YzksXG4gICAgICAgIDIwMDogI2E1ZDZhNyxcbiAgICAgICAgMzAwOiAjODFjNzg0LFxuICAgICAgICA0MDA6ICM2NmJiNmEsXG4gICAgICAgIDUwMDogIzRjYWY1MCxcbiAgICAgICAgNjAwOiAjNDNhMDQ3LFxuICAgICAgICA3MDA6ICMzODhlM2MsXG4gICAgICAgIDgwMDogIzJlN2QzMixcbiAgICAgICAgOTAwOiAjMWI1ZTIwLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbExpZ2h0R3JlZW46IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmMWY4ZTksXG4gICAgICAgIDEwMDogI2RjZWRjOCxcbiAgICAgICAgMjAwOiAjYzVlMWE1LFxuICAgICAgICAzMDA6ICNhZWQ1ODEsXG4gICAgICAgIDQwMDogIzljY2M2NSxcbiAgICAgICAgNTAwOiAjOGJjMzRhLFxuICAgICAgICA2MDA6ICM3Y2IzNDIsXG4gICAgICAgIDcwMDogIzY4OWYzOCxcbiAgICAgICAgODAwOiAjNTU4YjJmLFxuICAgICAgICA5MDA6ICMzMzY5MWUsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsTGltZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2Y5ZmJlNyxcbiAgICAgICAgMTAwOiAjZjBmNGMzLFxuICAgICAgICAyMDA6ICNlNmVlOWMsXG4gICAgICAgIDMwMDogI2RjZTc3NSxcbiAgICAgICAgNDAwOiAjZDRlMTU3LFxuICAgICAgICA1MDA6ICNjZGRjMzksXG4gICAgICAgIDYwMDogI2MwY2EzMyxcbiAgICAgICAgNzAwOiAjYWZiNDJiLFxuICAgICAgICA4MDA6ICM5ZTlkMjQsXG4gICAgICAgIDkwMDogIzgyNzcxNyxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgbWF0ZXJpYWxZZWxsb3c6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZmZkZTcsXG4gICAgICAgIDEwMDogI2ZmZjljNCxcbiAgICAgICAgMjAwOiAjZmZmNTlkLFxuICAgICAgICAzMDA6ICNmZmYxNzYsXG4gICAgICAgIDQwMDogI2ZmZWU1OCxcbiAgICAgICAgNTAwOiAjZmZlYjNiLFxuICAgICAgICA2MDA6ICNmZGQ4MzUsXG4gICAgICAgIDcwMDogI2ZiYzAyZCxcbiAgICAgICAgODAwOiAjZjlhODI1LFxuICAgICAgICA5MDA6ICNmNTdmMTcsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsQW1iZXI6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZmY4ZTEsXG4gICAgICAgIDEwMDogI2ZmZWNiMyxcbiAgICAgICAgMjAwOiAjZmZlMDgyLFxuICAgICAgICAzMDA6ICNmZmQ1NGYsXG4gICAgICAgIDQwMDogI2ZmY2EyOCxcbiAgICAgICAgNTAwOiAjZmZjMTA3LFxuICAgICAgICA2MDA6ICNmZmIzMDAsXG4gICAgICAgIDcwMDogI2ZmYTAwMCxcbiAgICAgICAgODAwOiAjZmY4ZjAwLFxuICAgICAgICA5MDA6ICNmZjZmMDAsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsT3JhbmdlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZmM2UwLFxuICAgICAgICAxMDA6ICNmZmUwYjIsXG4gICAgICAgIDIwMDogI2ZmY2M4MCxcbiAgICAgICAgMzAwOiAjZmZiNzRkLFxuICAgICAgICA0MDA6ICNmZmE3MjYsXG4gICAgICAgIDUwMDogI2ZmOTgwMCxcbiAgICAgICAgNjAwOiAjZmI4YzAwLFxuICAgICAgICA3MDA6ICNmNTdjMDAsXG4gICAgICAgIDgwMDogI2VmNmMwMCxcbiAgICAgICAgOTAwOiAjZTY1MTAwLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBtYXRlcmlhbERlZXBPcmFuZ2U6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmYmU5ZTcsXG4gICAgICAgIDEwMDogI2ZmY2NiYyxcbiAgICAgICAgMjAwOiAjZmZhYjkxLFxuICAgICAgICAzMDA6ICNmZjhhNjUsXG4gICAgICAgIDQwMDogI2ZmNzA0MyxcbiAgICAgICAgNTAwOiAjZmY1NzIyLFxuICAgICAgICA2MDA6ICNmNDUxMWUsXG4gICAgICAgIDcwMDogI2U2NGExOSxcbiAgICAgICAgODAwOiAjZDg0MzE1LFxuICAgICAgICA5MDA6ICNiZjM2MGMsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIG1hdGVyaWFsQnJvd246IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlZmViZTksXG4gICAgICAgIDEwMDogI2Q3Y2NjOCxcbiAgICAgICAgMjAwOiAjYmNhYWE0LFxuICAgICAgICAzMDA6ICNhMTg4N2YsXG4gICAgICAgIDQwMDogIzhkNmU2MyxcbiAgICAgICAgNTAwOiAjNzk1NTQ4LFxuICAgICAgICA2MDA6ICM2ZDRjNDEsXG4gICAgICAgIDcwMDogIzVkNDAzNyxcbiAgICAgICAgODAwOiAjNGUzNDJlLFxuICAgICAgICA5MDA6ICMzZTI3MjMsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuXG5cbiAgICAvLyBQcmltZXJcbiAgICBwcmltZXJHcmF5OiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjZmOGZhLFxuICAgICAgICAxMDA6ICNlYWVlZjIsXG4gICAgICAgIDIwMDogI2QwZDdkZSxcbiAgICAgICAgMzAwOiAjYWZiOGMxLFxuICAgICAgICA0MDA6ICM4Yzk1OWYsXG4gICAgICAgIDUwMDogIzZlNzc4MSxcbiAgICAgICAgNjAwOiAjNTc2MDZhLFxuICAgICAgICA3MDA6ICM0MjRhNTMsXG4gICAgICAgIDgwMDogIzMyMzgzZixcbiAgICAgICAgOTAwOiAjMjQyOTJmLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBwcmltZXJCbHVlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZGRmNGZmLFxuICAgICAgICAxMDA6ICNiNmUzZmYsXG4gICAgICAgIDIwMDogIzgwY2NmZixcbiAgICAgICAgMzAwOiAjNTRhZWZmLFxuICAgICAgICA0MDA6ICMyMThiZmYsXG4gICAgICAgIDUwMDogIzA5NjlkYSxcbiAgICAgICAgNjAwOiAjMDU1MGFlLFxuICAgICAgICA3MDA6ICMwMzNkOGIsXG4gICAgICAgIDgwMDogIzBhMzA2OSxcbiAgICAgICAgOTAwOiAjMDAyMTU1LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBwcmltZXJHcmVlbjogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2RhZmJlMSxcbiAgICAgICAgMTAwOiAjYWNlZWJiLFxuICAgICAgICAyMDA6ICM2ZmRkOGIsXG4gICAgICAgIDMwMDogIzRhYzI2YixcbiAgICAgICAgNDAwOiAjMmRhNDRlLFxuICAgICAgICA1MDA6ICMxYTdmMzcsXG4gICAgICAgIDYwMDogIzExNjMyOSxcbiAgICAgICAgNzAwOiAjMDQ0ZjFlLFxuICAgICAgICA4MDA6ICMwMDNkMTYsXG4gICAgICAgIDkwMDogIzAwMmQxMSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgcHJpbWVyWWVsbG93OiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZmOGM1LFxuICAgICAgICAxMDA6ICNmYWUxN2QsXG4gICAgICAgIDIwMDogI2VhYzU0ZixcbiAgICAgICAgMzAwOiAjZDRhNzJjLFxuICAgICAgICA0MDA6ICNiZjg3MDAsXG4gICAgICAgIDUwMDogIzlhNjcwMCxcbiAgICAgICAgNjAwOiAjN2Q0ZTAwLFxuICAgICAgICA3MDA6ICM2MzNjMDEsXG4gICAgICAgIDgwMDogIzRkMmQwMCxcbiAgICAgICAgOTAwOiAjM2IyMzAwLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBwcmltZXJPcmFuZ2U6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZmYxZTUsXG4gICAgICAgIDEwMDogI2ZmZDhiNSxcbiAgICAgICAgMjAwOiAjZmZiNzdjLFxuICAgICAgICAzMDA6ICNmYjhmNDQsXG4gICAgICAgIDQwMDogI2UxNmYyNCxcbiAgICAgICAgNTAwOiAjYmM0YzAwLFxuICAgICAgICA2MDA6ICM5NTM4MDAsXG4gICAgICAgIDcwMDogIzc2MmMwMCxcbiAgICAgICAgODAwOiAjNWMyMjAwLFxuICAgICAgICA5MDA6ICM0NzE3MDAsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHByaW1lclJlZDogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZmZWJlOSxcbiAgICAgICAgMTAwOiAjZmZjZWNiLFxuICAgICAgICAyMDA6ICNmZmFiYTgsXG4gICAgICAgIDMwMDogI2ZmODE4MixcbiAgICAgICAgNDAwOiAjZmE0NTQ5LFxuICAgICAgICA1MDA6ICNjZjIyMmUsXG4gICAgICAgIDYwMDogI2E0MGUyNixcbiAgICAgICAgNzAwOiAjODIwNzFlLFxuICAgICAgICA4MDA6ICM2NjAwMTgsXG4gICAgICAgIDkwMDogIzRjMDAxNCxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgcHJpbWVyUHVycGxlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmJlZmZmLFxuICAgICAgICAxMDA6ICNlY2Q4ZmYsXG4gICAgICAgIDIwMDogI2Q4YjlmZixcbiAgICAgICAgMzAwOiAjYzI5N2ZmLFxuICAgICAgICA0MDA6ICNhNDc1ZjksXG4gICAgICAgIDUwMDogIzgyNTBkZixcbiAgICAgICAgNjAwOiAjNjYzOWJhLFxuICAgICAgICA3MDA6ICM1MTJhOTcsXG4gICAgICAgIDgwMDogIzNlMWY3OSxcbiAgICAgICAgOTAwOiAjMmUxNDYxLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBwcmltZXJQaW5rOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZlZmY3LFxuICAgICAgICAxMDA6ICNmZmQzZWIsXG4gICAgICAgIDIwMDogI2ZmYWRkYSxcbiAgICAgICAgMzAwOiAjZmY4MGM4LFxuICAgICAgICA0MDA6ICNlODVhYWQsXG4gICAgICAgIDUwMDogI2JmMzk4OSxcbiAgICAgICAgNjAwOiAjOTkyODZlLFxuICAgICAgICA3MDA6ICM3NzIwNTcsXG4gICAgICAgIDgwMDogIzYxMTM0NyxcbiAgICAgICAgOTAwOiAjNGQwMzM2LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICBwcmltZXJDb3JhbDogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZmZjBlYixcbiAgICAgICAgMTAwOiAjZmZkNmNjLFxuICAgICAgICAyMDA6ICNmZmI0YTEsXG4gICAgICAgIDMwMDogI2ZkOGM3MyxcbiAgICAgICAgNDAwOiAjZWM2NTQ3LFxuICAgICAgICA1MDA6ICNjNDQzMmIsXG4gICAgICAgIDYwMDogIzllMmYxYyxcbiAgICAgICAgNzAwOiAjODAxZjBmLFxuICAgICAgICA4MDA6ICM2OTExMDUsXG4gICAgICAgIDkwMDogIzUxMDkwMSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG5cblxuICAgIC8vIFRhaWx3aW5kXG4gICAgdGFpbHdpbmROZXV0cmFsOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmFmYWZhLFxuICAgICAgICAxMDA6ICNmNWY1ZjUsXG4gICAgICAgIDIwMDogI2U1ZTVlNSxcbiAgICAgICAgMzAwOiAjZDRkNGQ0LFxuICAgICAgICA0MDA6ICNhM2EzYTMsXG4gICAgICAgIDUwMDogIzczNzM3MyxcbiAgICAgICAgNjAwOiAjNTI1MjUyLFxuICAgICAgICA3MDA6ICM0MDQwNDAsXG4gICAgICAgIDgwMDogIzI2MjYyNixcbiAgICAgICAgOTAwOiAjMTcxNzE3LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZFNsYXRlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjhmYWZjLFxuICAgICAgICAxMDA6ICNmMWY1ZjksXG4gICAgICAgIDIwMDogI2UyZThmMCxcbiAgICAgICAgMzAwOiAjY2JkNWUxLFxuICAgICAgICA0MDA6ICM5NGEzYjgsXG4gICAgICAgIDUwMDogIzY0NzQ4YixcbiAgICAgICAgNjAwOiAjNDc1NTY5LFxuICAgICAgICA3MDA6ICMzMzQxNTUsXG4gICAgICAgIDgwMDogIzFlMjkzYixcbiAgICAgICAgOTAwOiAjMGYxNzJhLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZEdyYXk6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmOWZhZmIsXG4gICAgICAgIDEwMDogI2YzZjRmNixcbiAgICAgICAgMjAwOiAjZTVlN2ViLFxuICAgICAgICAzMDA6ICNkMWQ1ZGIsXG4gICAgICAgIDQwMDogIzljYTNhZixcbiAgICAgICAgNTAwOiAjNmI3MjgwLFxuICAgICAgICA2MDA6ICM0YjU1NjMsXG4gICAgICAgIDcwMDogIzM3NDE1MSxcbiAgICAgICAgODAwOiAjMWYyOTM3LFxuICAgICAgICA5MDA6ICMxMTE4MjcsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kWmluYzogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZhZmFmYSxcbiAgICAgICAgMTAwOiAjZjRmNGY1LFxuICAgICAgICAyMDA6ICNlNGU0ZTcsXG4gICAgICAgIDMwMDogI2Q0ZDRkOCxcbiAgICAgICAgNDAwOiAjYTFhMWFhLFxuICAgICAgICA1MDA6ICM3MTcxN2EsXG4gICAgICAgIDYwMDogIzUyNTI1YixcbiAgICAgICAgNzAwOiAjM2YzZjQ2LFxuICAgICAgICA4MDA6ICMyNzI3MmEsXG4gICAgICAgIDkwMDogIzE4MTgxYixcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRTdG9uZTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZhZmFmOSxcbiAgICAgICAgMTAwOiAjZjVmNWY0LFxuICAgICAgICAyMDA6ICNlN2U1ZTQsXG4gICAgICAgIDMwMDogI2Q2ZDNkMSxcbiAgICAgICAgNDAwOiAjYThhMjllLFxuICAgICAgICA1MDA6ICM3ODcxNmMsXG4gICAgICAgIDYwMDogIzU3NTM0ZSxcbiAgICAgICAgNzAwOiAjNDQ0MDNjLFxuICAgICAgICA4MDA6ICMyOTI1MjQsXG4gICAgICAgIDkwMDogIzFjMTkxNyxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRSZWQ6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZWYyZjIsXG4gICAgICAgIDEwMDogI2ZlZTJlMixcbiAgICAgICAgMjAwOiAjZmVjYWNhLFxuICAgICAgICAzMDA6ICNmY2E1YTUsXG4gICAgICAgIDQwMDogI2Y4NzE3MSxcbiAgICAgICAgNTAwOiAjZWY0NDQ0LFxuICAgICAgICA2MDA6ICNkYzI2MjYsXG4gICAgICAgIDcwMDogI2I5MWMxYyxcbiAgICAgICAgODAwOiAjOTkxYjFiLFxuICAgICAgICA5MDA6ICM3ZjFkMWQsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kT3JhbmdlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZmN2VkLFxuICAgICAgICAxMDA6ICNmZmVkZDUsXG4gICAgICAgIDIwMDogI2ZlZDdhYSxcbiAgICAgICAgMzAwOiAjZmRiYTc0LFxuICAgICAgICA0MDA6ICNmYjkyM2MsXG4gICAgICAgIDUwMDogI2Y5NzMxNixcbiAgICAgICAgNjAwOiAjZWE1ODBjLFxuICAgICAgICA3MDA6ICNjMjQxMGMsXG4gICAgICAgIDgwMDogIzlhMzQxMixcbiAgICAgICAgOTAwOiAjN2MyZDEyLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZEFtYmVyOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZmYmViLFxuICAgICAgICAxMDA6ICNmZWYzYzcsXG4gICAgICAgIDIwMDogI2ZkZTY4YSxcbiAgICAgICAgMzAwOiAjZmNkMzRkLFxuICAgICAgICA0MDA6ICNmYmJmMjQsXG4gICAgICAgIDUwMDogI2Y1OWUwYixcbiAgICAgICAgNjAwOiAjZDk3NzA2LFxuICAgICAgICA3MDA6ICNiNDUzMDksXG4gICAgICAgIDgwMDogIzkyNDAwZSxcbiAgICAgICAgOTAwOiAjNzgzNTBmLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZFllbGxvdzogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZlZmNlOCxcbiAgICAgICAgMTAwOiAjZmVmOWMzLFxuICAgICAgICAyMDA6ICNmZWYwOGEsXG4gICAgICAgIDMwMDogI2ZkZTA0NyxcbiAgICAgICAgNDAwOiAjZmFjYzE1LFxuICAgICAgICA1MDA6ICNlYWIzMDgsXG4gICAgICAgIDYwMDogI2NhOGEwNCxcbiAgICAgICAgNzAwOiAjYTE2MjA3LFxuICAgICAgICA4MDA6ICM4NTRkMGUsXG4gICAgICAgIDkwMDogIzcxM2YxMixcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRMaW1lOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjdmZWU3LFxuICAgICAgICAxMDA6ICNlY2ZjY2IsXG4gICAgICAgIDIwMDogI2Q5Zjk5ZCxcbiAgICAgICAgMzAwOiAjYmVmMjY0LFxuICAgICAgICA0MDA6ICNhM2U2MzUsXG4gICAgICAgIDUwMDogIzg0Y2MxNixcbiAgICAgICAgNjAwOiAjNjVhMzBkLFxuICAgICAgICA3MDA6ICM0ZDdjMGYsXG4gICAgICAgIDgwMDogIzNmNjIxMixcbiAgICAgICAgOTAwOiAjMzY1MzE0LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZEdyZWVuOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZjBmZGY0LFxuICAgICAgICAxMDA6ICNkY2ZjZTcsXG4gICAgICAgIDIwMDogI2JiZjdkMCxcbiAgICAgICAgMzAwOiAjODZlZmFjLFxuICAgICAgICA0MDA6ICM0YWRlODAsXG4gICAgICAgIDUwMDogIzIyYzU1ZSxcbiAgICAgICAgNjAwOiAjMTZhMzRhLFxuICAgICAgICA3MDA6ICMxNTgwM2QsXG4gICAgICAgIDgwMDogIzE2NjUzNCxcbiAgICAgICAgOTAwOiAjMTQ1MzJkLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZEVtZXJhbGQ6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNlY2ZkZjUsXG4gICAgICAgIDEwMDogI2QxZmFlNSxcbiAgICAgICAgMjAwOiAjYTdmM2QwLFxuICAgICAgICAzMDA6ICM2ZWU3YjcsXG4gICAgICAgIDQwMDogIzM0ZDM5OSxcbiAgICAgICAgNTAwOiAjMTBiOTgxLFxuICAgICAgICA2MDA6ICMwNTk2NjksXG4gICAgICAgIDcwMDogIzA0Nzg1NyxcbiAgICAgICAgODAwOiAjMDY1ZjQ2LFxuICAgICAgICA5MDA6ICMwNjRlM2IsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kVGVhbDogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2YwZmRmYSxcbiAgICAgICAgMTAwOiAjY2NmYmYxLFxuICAgICAgICAyMDA6ICM5OWY2ZTQsXG4gICAgICAgIDMwMDogIzVlZWFkNCxcbiAgICAgICAgNDAwOiAjMmRkNGJmLFxuICAgICAgICA1MDA6ICMxNGI4YTYsXG4gICAgICAgIDYwMDogIzBkOTQ4OCxcbiAgICAgICAgNzAwOiAjMGY3NjZlLFxuICAgICAgICA4MDA6ICMxMTVlNTksXG4gICAgICAgIDkwMDogIzEzNGU0YSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRDeWFuOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZWNmZWZmLFxuICAgICAgICAxMDA6ICNjZmZhZmUsXG4gICAgICAgIDIwMDogI2E1ZjNmYyxcbiAgICAgICAgMzAwOiAjNjdlOGY5LFxuICAgICAgICA0MDA6ICMyMmQzZWUsXG4gICAgICAgIDUwMDogIzA2YjZkNCxcbiAgICAgICAgNjAwOiAjMDg5MWIyLFxuICAgICAgICA3MDA6ICMwZTc0OTAsXG4gICAgICAgIDgwMDogIzE1NWU3NSxcbiAgICAgICAgOTAwOiAjMTY0ZTYzLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZFNreTogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2YwZjlmZixcbiAgICAgICAgMTAwOiAjZTBmMmZlLFxuICAgICAgICAyMDA6ICNiYWU2ZmQsXG4gICAgICAgIDMwMDogIzdkZDNmYyxcbiAgICAgICAgNDAwOiAjMzhiZGY4LFxuICAgICAgICA1MDA6ICMwZWE1ZTksXG4gICAgICAgIDYwMDogIzAyODRjNyxcbiAgICAgICAgNzAwOiAjMDM2OWExLFxuICAgICAgICA4MDA6ICMwNzU5ODUsXG4gICAgICAgIDkwMDogIzBjNGE2ZSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRCbHVlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZWZmNmZmLFxuICAgICAgICAxMDA6ICNkYmVhZmUsXG4gICAgICAgIDIwMDogI2JmZGJmZSxcbiAgICAgICAgMzAwOiAjOTNjNWZkLFxuICAgICAgICA0MDA6ICM2MGE1ZmEsXG4gICAgICAgIDUwMDogIzNiODJmNixcbiAgICAgICAgNjAwOiAjMjU2M2ViLFxuICAgICAgICA3MDA6ICMxZDRlZDgsXG4gICAgICAgIDgwMDogIzFlNDBhZixcbiAgICAgICAgOTAwOiAjMWUzYThhLFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZEluZGlnbzogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2VlZjJmZixcbiAgICAgICAgMTAwOiAjZTBlN2ZmLFxuICAgICAgICAyMDA6ICNjN2QyZmUsXG4gICAgICAgIDMwMDogI2E1YjRmYyxcbiAgICAgICAgNDAwOiAjODE4Y2Y4LFxuICAgICAgICA1MDA6ICM2MzY2ZjEsXG4gICAgICAgIDYwMDogIzRmNDZlNSxcbiAgICAgICAgNzAwOiAjNDMzOGNhLFxuICAgICAgICA4MDA6ICMzNzMwYTMsXG4gICAgICAgIDkwMDogIzMxMmU4MSxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRWaW9sZXQ6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmNWYzZmYsXG4gICAgICAgIDEwMDogI2VkZTlmZSxcbiAgICAgICAgMjAwOiAjZGRkNmZlLFxuICAgICAgICAzMDA6ICNjNGI1ZmQsXG4gICAgICAgIDQwMDogI2E3OGJmYSxcbiAgICAgICAgNTAwOiAjOGI1Y2Y2LFxuICAgICAgICA2MDA6ICM3YzNhZWQsXG4gICAgICAgIDcwMDogIzZkMjhkOSxcbiAgICAgICAgODAwOiAjNWIyMWI2LFxuICAgICAgICA5MDA6ICM0YzFkOTUsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kUHVycGxlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmFmNWZmLFxuICAgICAgICAxMDA6ICNmM2U4ZmYsXG4gICAgICAgIDIwMDogI2U5ZDVmZixcbiAgICAgICAgMzAwOiAjZDhiNGZlLFxuICAgICAgICA0MDA6ICNjMDg0ZmMsXG4gICAgICAgIDUwMDogI2E4NTVmNyxcbiAgICAgICAgNjAwOiAjOTMzM2VhLFxuICAgICAgICA3MDA6ICM3ZTIyY2UsXG4gICAgICAgIDgwMDogIzZiMjFhOCxcbiAgICAgICAgOTAwOiAjNTgxYzg3LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKSxcbiAgICB0YWlsd2luZEZ1Y2hzaWE6IChcbiAgICAgICAgMDogI2ZmZmZmZixcbiAgICAgICAgNTA6ICNmZGY0ZmYsXG4gICAgICAgIDEwMDogI2ZhZThmZixcbiAgICAgICAgMjAwOiAjZjVkMGZlLFxuICAgICAgICAzMDA6ICNmMGFiZmMsXG4gICAgICAgIDQwMDogI2U4NzlmOSxcbiAgICAgICAgNTAwOiAjZDk0NmVmLFxuICAgICAgICA2MDA6ICNjMDI2ZDMsXG4gICAgICAgIDcwMDogI2EyMWNhZixcbiAgICAgICAgODAwOiAjODYxOThmLFxuICAgICAgICA5MDA6ICM3MDFhNzUsXG4gICAgICAgIDEwMDA6ICMwMDAwMDBcbiAgICApLFxuICAgIHRhaWx3aW5kUGluazogKFxuICAgICAgICAwOiAjZmZmZmZmLFxuICAgICAgICA1MDogI2ZkZjJmOCxcbiAgICAgICAgMTAwOiAjZmNlN2YzLFxuICAgICAgICAyMDA6ICNmYmNmZTgsXG4gICAgICAgIDMwMDogI2Y5YThkNCxcbiAgICAgICAgNDAwOiAjZjQ3MmI2LFxuICAgICAgICA1MDA6ICNlYzQ4OTksXG4gICAgICAgIDYwMDogI2RiMjc3NyxcbiAgICAgICAgNzAwOiAjYmUxODVkLFxuICAgICAgICA4MDA6ICM5ZDE3NGQsXG4gICAgICAgIDkwMDogIzgzMTg0MyxcbiAgICAgICAgMTAwMDogIzAwMDAwMFxuICAgICksXG4gICAgdGFpbHdpbmRSb3NlOiAoXG4gICAgICAgIDA6ICNmZmZmZmYsXG4gICAgICAgIDUwOiAjZmZmMWYyLFxuICAgICAgICAxMDA6ICNmZmU0ZTYsXG4gICAgICAgIDIwMDogI2ZlY2RkMyxcbiAgICAgICAgMzAwOiAjZmRhNGFmLFxuICAgICAgICA0MDA6ICNmYjcxODUsXG4gICAgICAgIDUwMDogI2Y0M2Y1ZSxcbiAgICAgICAgNjAwOiAjZTExZDQ4LFxuICAgICAgICA3MDA6ICNiZTEyM2MsXG4gICAgICAgIDgwMDogIzlmMTIzOSxcbiAgICAgICAgOTAwOiAjODgxMzM3LFxuICAgICAgICAxMDAwOiAjMDAwMDAwXG4gICAgKVxuXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG5cbkBmdW5jdGlvbiBrLWdlbmVyYXRlLXRoZW1lLXZhcmlhbnQoICR2YXJpYW50LCAkbWF0cml4LCAkc3JjLXBhbGV0dGUtbmFtZSApIHtcbiAgICAkcmVzdWx0OiAoKTtcblxuICAgIEBlYWNoICR1aS1zdGF0ZSwgJGluZGljZXMgaW4gJG1hdHJpeCB7XG4gICAgICAgICRwcmVmaXg6IGlmKCAkdWktc3RhdGUgPT0gREVGQVVMVCwgXCJcIiwgXCIjeyR1aS1zdGF0ZX0tXCIgKTtcbiAgICAgICAgJGluZGljZXMtY291bnQ6IGstbGlzdC1sZW5ndGgoICRpbmRpY2VzICk7XG5cbiAgICAgICAgJGJnLXByb3A6IGstbGlzdC1udGgoICRpbmRpY2VzLCAxICk7XG4gICAgICAgICR0ZXh0LXByb3A6IGstbGlzdC1udGgoICRpbmRpY2VzLCAyICk7XG4gICAgICAgICRib3JkZXItcHJvcDogay1saXN0LW50aCggJGluZGljZXMsIDMgKTtcbiAgICAgICAgJGdyYWRpZW50LXByb3A6IGlmKCAkaW5kaWNlcy1jb3VudCA+IDMsIGstbGlzdC1udGgoICRpbmRpY2VzLCA0ICksIG51bGwgKTtcbiAgICAgICAgJHNoYWRvdy1wcm9wOiBpZiggJGluZGljZXMtY291bnQgPiA0LCBrLWxpc3QtbnRoKCAkaW5kaWNlcywgNSApLCBudWxsICk7XG4gICAgICAgICRvdXRsaW5lLXByb3A6IGlmKCAkaW5kaWNlcy1jb3VudCA+IDUsIGstbGlzdC1udGgoICRpbmRpY2VzLCA2ICksIG51bGwgKTtcblxuICAgICAgICAvLyBUYWtlIHZhbHVlIGZyb20gdGhlIHBhbGV0dGUgb25seSBpZiBpdCBpcyBhIG51bWJlclxuICAgICAgICAkYmc6IGlmKCBrLW1ldGEtdHlwZS1vZiggJGJnLXByb3AgKSA9PSBudW1iZXIsIGstZ2V0LXRoZW1lLWNvbG9yKCAkc3JjLXBhbGV0dGUtbmFtZSwgJGJnLXByb3AgKSwgJGJnLXByb3AgKTtcbiAgICAgICAgJHRleHQ6IGlmKCBrLW1ldGEtdHlwZS1vZiggJHRleHQtcHJvcCApID09IG51bWJlciwgay1nZXQtdGhlbWUtY29sb3IoICRzcmMtcGFsZXR0ZS1uYW1lLCAkdGV4dC1wcm9wICksICR0ZXh0LXByb3AgKTtcbiAgICAgICAgJGJvcmRlcjogaWYoIGstbWV0YS10eXBlLW9mKCAkYm9yZGVyLXByb3AgKSA9PSBudW1iZXIsIGstZ2V0LXRoZW1lLWNvbG9yKCAkc3JjLXBhbGV0dGUtbmFtZSwgJGJvcmRlci1wcm9wICksICRib3JkZXItcHJvcCApO1xuICAgICAgICAkZ3JhZGllbnQ6ICRncmFkaWVudC1wcm9wO1xuICAgICAgICAkc2hhZG93OiAkc2hhZG93LXByb3A7XG4gICAgICAgICRvdXRsaW5lOiAkb3V0bGluZS1wcm9wO1xuXG4gICAgICAgICRyZXN1bHQ6IGstbWFwLW1lcmdlKCRyZXN1bHQsIChcbiAgICAgICAgICAgICN7JHByZWZpeH1iZzogJGJnLFxuICAgICAgICAgICAgI3skcHJlZml4fXRleHQ6ICR0ZXh0LFxuICAgICAgICAgICAgI3skcHJlZml4fWJvcmRlcjogJGJvcmRlcixcbiAgICAgICAgICAgICN7JHByZWZpeH1ncmFkaWVudDogJGdyYWRpZW50LFxuICAgICAgICAgICAgI3skcHJlZml4fXNoYWRvdzogJHNoYWRvdyxcbiAgICAgICAgICAgICN7JHByZWZpeH1vdXRsaW5lOiAkb3V0bGluZVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICAkcmVzdWx0OiAoXG4gICAgICAgICN7JHZhcmlhbnR9OiAkcmVzdWx0XG4gICAgKTtcblxuICAgIEByZXR1cm4gJHJlc3VsdDtcblxufTtcblxuXG5AZnVuY3Rpb24gay1wcm9jZXNzLXZhcmlhbnQtbWF0cmljZXMoICR0aGVtZS1tYXRyaXgsICRwYWxldHRlLW1hdHJpeDogKCkgKSB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICAvLyBAZGVidWcgJHRoZW1lLW1hdHJpeDtcbiAgICAvLyBAZGVidWcgJHBhbGV0dGUtbWF0cml4O1xuXG4gICAgQGVhY2ggJHZhcmlhbnQsICRkZWZpbml0aW9uIGluICR0aGVtZS1tYXRyaXgge1xuICAgICAgICAkdGMtaW5kZXg6IGstc3RyaW5nLWluZGV4KCAkdmFyaWFudCwgXCJUSEVNRV9DT0xPUlwiICk7XG4gICAgICAgICRzcmMtcGFsZXR0ZS1uYW1lOiBrLW1hcC1nZXQoICRkZWZpbml0aW9uLCBQQUxFVFRFICk7XG4gICAgICAgICRtYXRyaXg6IGstbWFwLXJlbW92ZSggJGRlZmluaXRpb24sIFBBTEVUVEUgKTtcblxuICAgICAgICBAaWYgKCR0Yy1pbmRleCA9PSBudWxsICkgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICAkdG1wLXJlc3VsdDogay1nZW5lcmF0ZS10aGVtZS12YXJpYW50KCAkdmFyaWFudCwgJG1hdHJpeCwgJHNyYy1wYWxldHRlLW5hbWUgKTtcbiAgICAgICAgICAgICRyZXN1bHQ6IGstbWFwLW1lcmdlKCAkcmVzdWx0LCAkdG1wLXJlc3VsdCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGVhY2ggJGNvbG9yLCAkcGFsZXR0ZSBpbiAkcGFsZXR0ZS1tYXRyaXgge1xuICAgICAgICAgICAgICAgICR2YXJpYW50LW5hbWU6IGstc3RyaW5nLXJlcGxhY2UoICR2YXJpYW50LCBUSEVNRV9DT0xPUiwgJGNvbG9yKTtcbiAgICAgICAgICAgICAgICAkcGFsZXR0ZS1uYW1lOiBrLXN0cmluZy11bnF1b3RlKCRzcmMtcGFsZXR0ZS1uYW1lICsgXCJcIik7XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRwYWxldHRlLW5hbWUgPT0gVEhFTUVfQ09MT1IpIHtcbiAgICAgICAgICAgICAgICAgICAgJHBhbGV0dGUtbmFtZTogay1zdHJpbmctcmVwbGFjZSggJHBhbGV0dGUtbmFtZSwgVEhFTUVfQ09MT1IsICRjb2xvciApO1xuICAgICAgICAgICAgICAgICAgICAkcGFsZXR0ZS1uYW1lOiBrLW1hcC1nZXQoICRwYWxldHRlLW1hdHJpeCwgJHBhbGV0dGUtbmFtZSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICR0bXAtcmVzdWx0OiBrLWdlbmVyYXRlLXRoZW1lLXZhcmlhbnQoICR2YXJpYW50LW5hbWUsICRtYXRyaXgsICRwYWxldHRlLW5hbWUgKTtcbiAgICAgICAgICAgICAgICAkcmVzdWx0OiBrLW1hcC1tZXJnZSggJHJlc3VsdCwgJHRtcC1yZXN1bHQgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuXG5AZnVuY3Rpb24gay1nZXQtdGhlbWUtcGFsZXR0ZSggJG5hbWUgKSB7XG4gICAgQHJldHVybiBrLW1hcC1nZXQoICRrZW5kby1wYWxldHRlcywgJG5hbWUgKTtcbn1cblxuQGZ1bmN0aW9uIGstZ2V0LXRoZW1lLWNvbG9yKCAkcGFsZXR0ZSwgJGh1ZSApIHtcbiAgICBAaWYgKCBrLW1ldGEtdHlwZS1vZiggJHBhbGV0dGUgKSA9PSBcIm1hcFwiICkge1xuICAgICAgICBAcmV0dXJuIGstbWFwLWdldCggJHBhbGV0dGUsICRodWUgKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuIGstbWFwLWdldCggay1nZXQtdGhlbWUtcGFsZXR0ZSggJHBhbGV0dGUgKSwgJGh1ZSApO1xufVxuXG5AZnVuY3Rpb24gay1nZXQtdGhlbWUtY29sb3ItdmFyKCAkbmFtZSwgJGZhbGxiYWNrOiBcImluaGVyaXRcIiwgJHByZWZpeDogXCJrZW5kby1cIiApIHtcbiAgICBAcmV0dXJuIHZhciggLS0jeyRwcmVmaXh9I3skbmFtZX0sICN7JGZhbGxiYWNrfSApO1xufVxuXG5AZnVuY3Rpb24gay1nZXQtc3dhdGNoLWNvbG9yKCAkbmFtZSwgJGNvbG9yICkge1xuICAgICRtYXA6IChcbiAgICAgICAgYXBwLXN1cmZhY2U6IGstY29sb3IoIGFwcC1zdXJmYWNlICksXG4gICAgICAgIG9uLWFwcC1zdXJmYWNlOiBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLFxuICAgICAgICBzdWJ0bGU6IGstY29sb3IoIHN1YnRsZSApLFxuICAgICAgICBzdXJmYWNlOiBrLWNvbG9yKCBzdXJmYWNlICksXG4gICAgICAgIHN1cmZhY2UtYWx0OiBrLWNvbG9yKCBzdXJmYWNlLWFsdCApLFxuICAgICAgICBib3JkZXI6IGstY29sb3IoIGJvcmRlciApLFxuICAgICAgICBib3JkZXItYWx0OiBrLWNvbG9yKCBib3JkZXItYWx0ICksXG4gICAgICAgIGNvbG9yLXN1YnRsZTogay1jb2xvciggI3skY29sb3J9LXN1YnRsZSApLFxuICAgICAgICBjb2xvci1zdWJ0bGUtaG92ZXI6IGstY29sb3IoICN7JGNvbG9yfS1zdWJ0bGUtaG92ZXIgKSxcbiAgICAgICAgY29sb3Itc3VidGxlLWFjdGl2ZTogay1jb2xvciggI3skY29sb3J9LXN1YnRsZS1hY3RpdmUgKSxcbiAgICAgICAgY29sb3I6IGstY29sb3IoICN7JGNvbG9yfSApLFxuICAgICAgICBjb2xvci1ob3Zlcjogay1jb2xvciggI3skY29sb3J9LWhvdmVyICksXG4gICAgICAgIGNvbG9yLWFjdGl2ZTogay1jb2xvciggI3skY29sb3J9LWFjdGl2ZSApLFxuICAgICAgICBjb2xvci1lbXBoYXNpczogay1jb2xvciggI3skY29sb3J9LWVtcGhhc2lzICksXG4gICAgICAgIGNvbG9yLW9uLXN1YnRsZTogay1jb2xvciggI3skY29sb3J9LW9uLXN1YnRsZSApLFxuICAgICAgICBvbi1jb2xvcjogay1jb2xvciggb24tI3skY29sb3J9ICksXG4gICAgICAgIGNvbG9yLW9uLXN1cmZhY2U6IGstY29sb3IoICN7JGNvbG9yfS1vbi1zdXJmYWNlICksXG4gICAgICAgIG9uLWNvbG9yLWRpc2FibGVkOiBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tI3skY29sb3J9ICkgNDYlLCB0cmFuc3BhcmVudClcbiAgICApO1xuXG4gICAgQHJldHVybiBpZiggay1tYXAtaGFzLWtleSggJG1hcCwgJG5hbWUgKSwgay1tYXAtZ2V0KCAkbWFwLCAkbmFtZSApLCAkbmFtZSApO1xufTtcblxuQGZ1bmN0aW9uIGstZ2VuZXJhdGUtdGhlbWUtdmFyaWF0aW9uKCAkdGhlbWUtY29sb3IsICRzb3VyY2UtcGFsZXR0ZS1uYW1lLCAkbWFwcGluZyApIHtcbiAgICAkdGVtcDogKCApO1xuXG4gICAgQGVhY2ggJHVpLXN0YXRlLCAkaW5kaWNlcyBpbiAkbWFwcGluZyB7XG4gICAgICAgICRwcmVmaXg6IGlmKCAkdWktc3RhdGUgPT0gbm9ybWFsLCAnJywgJyN7JHVpLXN0YXRlfS0nICk7XG5cbiAgICAgICAgJGJnLXByb3A6IGstbGlzdC1udGgoJGluZGljZXMsIDEpO1xuICAgICAgICAkdGV4dC1wcm9wOiBrLWxpc3QtbnRoKCRpbmRpY2VzLCAyKTtcbiAgICAgICAgJGJvcmRlci1wcm9wOiBrLWxpc3QtbnRoKCRpbmRpY2VzLCAzKTtcblxuICAgICAgICAvLyBUYWtlIHZhbHVlIGZyb20gdGhlIHBhbGV0dGUgb25seSBpZiBpdCBpcyBhIG51bWJlclxuICAgICAgICAkYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWdldC1zd2F0Y2gtY29sb3IoICRiZy1wcm9wLCAkc291cmNlLXBhbGV0dGUtbmFtZSApLCBpZiggay1tZXRhLXR5cGUtb2YoJGJnLXByb3ApID09IG51bWJlciwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCAjeyRzb3VyY2UtcGFsZXR0ZS1uYW1lfS0jeyRiZy1wcm9wfSApLCAkYmctcHJvcCApKTtcbiAgICAgICAgJHRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWdldC1zd2F0Y2gtY29sb3IoICR0ZXh0LXByb3AsICRzb3VyY2UtcGFsZXR0ZS1uYW1lICksIGlmKCBrLW1ldGEtdHlwZS1vZigkdGV4dC1wcm9wKSA9PSBudW1iZXIsIGstZ2V0LXRoZW1lLWNvbG9yLXZhciggI3skc291cmNlLXBhbGV0dGUtbmFtZX0tI3skdGV4dC1wcm9wfSApLCAkdGV4dC1wcm9wICkpO1xuICAgICAgICAkYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1nZXQtc3dhdGNoLWNvbG9yKCAkYm9yZGVyLXByb3AsICRzb3VyY2UtcGFsZXR0ZS1uYW1lICksIGlmKCBrLW1ldGEtdHlwZS1vZigkYm9yZGVyLXByb3ApID09IG51bWJlciwgay1nZXQtdGhlbWUtY29sb3ItdmFyKCAjeyRzb3VyY2UtcGFsZXR0ZS1uYW1lfS0jeyRib3JkZXItcHJvcH0gKSwgJGJvcmRlci1wcm9wICkpO1xuXG5cbiAgICAgICAgJHRlbXA6IGstbWFwLWRlZXAtbWVyZ2UoICR0ZW1wLCAoXG4gICAgICAgICAgICAjeyRwcmVmaXh9Ymc6ICRiZyxcbiAgICAgICAgICAgICN7JHByZWZpeH10ZXh0OiAkdGV4dCxcbiAgICAgICAgICAgICN7JHByZWZpeH1ib3JkZXI6ICRib3JkZXJcbiAgICAgICAgKSk7XG5cbiAgICAgICAgLy8gQWRkIG91dGxpbmUgaWYgcHJvdmlkZWQgaW4gdGhlIG1hcFxuICAgICAgICBAaWYgKCBrLWxpc3QtbGVuZ3RoKCRpbmRpY2VzKSA+IDMgKSB7XG4gICAgICAgICAgICAkb3V0bGluZS1wcm9wOiBrLWxpc3QtbnRoKCRpbmRpY2VzLCA0KTtcbiAgICAgICAgICAgICRvdXRsaW5lOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1nZXQtc3dhdGNoLWNvbG9yKCAkb3V0bGluZS1wcm9wLCAkc291cmNlLXBhbGV0dGUtbmFtZSApLCBpZiggay1tZXRhLXR5cGUtb2YoJG91dGxpbmUtcHJvcCkgPT0gbnVtYmVyLCBrLWdldC10aGVtZS1jb2xvci12YXIoICN7JHNvdXJjZS1wYWxldHRlLW5hbWV9LSN7JG91dGxpbmUtcHJvcH0gKSwgJG91dGxpbmUtcHJvcCApKTtcblxuICAgICAgICAgICAgJHRlbXA6IGstbWFwLWRlZXAtbWVyZ2UoICR0ZW1wLCAoXG4gICAgICAgICAgICAgICAgI3skcHJlZml4fW91dGxpbmU6ICRvdXRsaW5lXG4gICAgICAgICAgICApKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRtYXA6IChcbiAgICAgICAgI3skdGhlbWUtY29sb3J9OiAkdGVtcFxuICAgICk7XG5cbiAgICBAcmV0dXJuICRtYXA7XG5cbn07XG5cbkBmdW5jdGlvbiBrLWdlbmVyYXRlLWZpbGwtbW9kZS10aGVtZS12YXJpYXRpb24oICRmaWxsLW1vZGUsICR0aGVtZS1jb2xvciwgJHNvdXJjZS1wYWxldHRlLW5hbWUsICRtYXBwaW5nICkge1xuXG4gICAgJG1hcDogay1nZW5lcmF0ZS10aGVtZS12YXJpYXRpb24oICR0aGVtZS1jb2xvciwgJHNvdXJjZS1wYWxldHRlLW5hbWUsICRtYXBwaW5nICk7XG5cbiAgICAkcmVzdWx0OiAoXG4gICAgICAgI3skZmlsbC1tb2RlfTogJG1hcFxuICAgICk7XG5cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbkBmdW5jdGlvbiBrLWhleC10by1yZ2IoICRjb2xvciApIHtcbiAgICBAaWYoJGNvbG9yKSB7XG4gICAgICAgICRyOiBrLWNvbG9yLXJlZCgkY29sb3IpO1xuICAgICAgICAkZzogay1jb2xvci1ncmVlbigkY29sb3IpO1xuICAgICAgICAkYjogay1jb2xvci1ibHVlKCRjb2xvcik7XG5cbiAgICAgICAgQHJldHVybiAkciwgJGcsICRiO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19taXhpbnMuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9jb2xvci1zeXN0ZW0vX21peGlucy5pbXBvcnQuc2Nzc1xuQG1peGluIGstY3NzLXZhcnMoJG1hcCkge1xuICAgIEBlYWNoICRncm91cCwgJHZhbHVlcyBpbiAkbWFwIHtcbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICAgICAgICAgLS1rZW5kby0je2stbWV0YS1pbnNwZWN0KCRncm91cCl9LSN7JGtleX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fc3dhdGNoLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9jb2xvci1zeXN0ZW0vX3N3YXRjaC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mdW5jdGlvbnMuaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9jb2xvci1zeXN0ZW0vX2Z1bmN0aW9ucy5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gQ29uZmlnXG4ka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIENvbG9yc1xuJF9kZWZhdWx0LWNvbG9yczogKFxuICAgIC8vIE1pc2NcbiAgICBhcHAtc3VyZmFjZTogbnVsbCxcbiAgICBvbi1hcHAtc3VyZmFjZTogbnVsbCxcbiAgICBzdWJ0bGU6IG51bGwsXG4gICAgc3VyZmFjZTogbnVsbCxcbiAgICBzdXJmYWNlLWFsdDogbnVsbCxcbiAgICBib3JkZXI6IG51bGwsXG4gICAgYm9yZGVyLWFsdDogbnVsbCxcbiAgICAvLyBCYXNlXG4gICAgYmFzZS1zdWJ0bGU6IG51bGwsXG4gICAgYmFzZS1zdWJ0bGUtaG92ZXI6IG51bGwsXG4gICAgYmFzZS1zdWJ0bGUtYWN0aXZlOiBudWxsLFxuICAgIGJhc2U6IG51bGwsXG4gICAgYmFzZS1ob3ZlcjogbnVsbCxcbiAgICBiYXNlLWFjdGl2ZTogbnVsbCxcbiAgICBiYXNlLWVtcGhhc2lzOiBudWxsLFxuICAgIGJhc2Utb24tc3VidGxlOiBudWxsLFxuICAgIG9uLWJhc2U6IG51bGwsXG4gICAgYmFzZS1vbi1zdXJmYWNlOiBudWxsLFxuICAgIC8vIFByaW1hcnlcbiAgICBwcmltYXJ5LXN1YnRsZTogbnVsbCxcbiAgICBwcmltYXJ5LXN1YnRsZS1ob3ZlcjogbnVsbCxcbiAgICBwcmltYXJ5LXN1YnRsZS1hY3RpdmU6IG51bGwsXG4gICAgcHJpbWFyeTogbnVsbCxcbiAgICBwcmltYXJ5LWhvdmVyOiBudWxsLFxuICAgIHByaW1hcnktYWN0aXZlOiBudWxsLFxuICAgIHByaW1hcnktZW1waGFzaXM6IG51bGwsXG4gICAgcHJpbWFyeS1vbi1zdWJ0bGU6IG51bGwsXG4gICAgb24tcHJpbWFyeTogbnVsbCxcbiAgICBwcmltYXJ5LW9uLXN1cmZhY2U6IG51bGwsXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgc2Vjb25kYXJ5LXN1YnRsZTogbnVsbCxcbiAgICBzZWNvbmRhcnktc3VidGxlLWhvdmVyOiBudWxsLFxuICAgIHNlY29uZGFyeS1zdWJ0bGUtYWN0aXZlOiBudWxsLFxuICAgIHNlY29uZGFyeTogbnVsbCxcbiAgICBzZWNvbmRhcnktaG92ZXI6IG51bGwsXG4gICAgc2Vjb25kYXJ5LWFjdGl2ZTogbnVsbCxcbiAgICBzZWNvbmRhcnktZW1waGFzaXM6IG51bGwsXG4gICAgc2Vjb25kYXJ5LW9uLXN1YnRsZTogbnVsbCxcbiAgICBvbi1zZWNvbmRhcnk6IG51bGwsXG4gICAgc2Vjb25kYXJ5LW9uLXN1cmZhY2U6IG51bGwsXG4gICAgLy8gVGVydGlhcnlcbiAgICB0ZXJ0aWFyeS1zdWJ0bGU6IG51bGwsXG4gICAgdGVydGlhcnktc3VidGxlLWhvdmVyOiBudWxsLFxuICAgIHRlcnRpYXJ5LXN1YnRsZS1hY3RpdmU6IG51bGwsXG4gICAgdGVydGlhcnk6IG51bGwsXG4gICAgdGVydGlhcnktaG92ZXI6IG51bGwsXG4gICAgdGVydGlhcnktYWN0aXZlOiBudWxsLFxuICAgIHRlcnRpYXJ5LWVtcGhhc2lzOiBudWxsLFxuICAgIHRlcnRpYXJ5LW9uLXN1YnRsZTogbnVsbCxcbiAgICBvbi10ZXJ0aWFyeTogbnVsbCxcbiAgICB0ZXJ0aWFyeS1vbi1zdXJmYWNlOiBudWxsLFxuICAgIC8vIEluZm9cbiAgICBpbmZvLXN1YnRsZTogbnVsbCxcbiAgICBpbmZvLXN1YnRsZS1ob3ZlcjogbnVsbCxcbiAgICBpbmZvLXN1YnRsZS1hY3RpdmU6IG51bGwsXG4gICAgaW5mbzogbnVsbCxcbiAgICBpbmZvLWhvdmVyOiBudWxsLFxuICAgIGluZm8tYWN0aXZlOiBudWxsLFxuICAgIGluZm8tZW1waGFzaXM6IG51bGwsXG4gICAgaW5mby1vbi1zdWJ0bGU6IG51bGwsXG4gICAgb24taW5mbzogbnVsbCxcbiAgICBpbmZvLW9uLXN1cmZhY2U6IG51bGwsXG4gICAgLy8gU3VjY2Vzc1xuICAgIHN1Y2Nlc3Mtc3VidGxlOiBudWxsLFxuICAgIHN1Y2Nlc3Mtc3VidGxlLWhvdmVyOiBudWxsLFxuICAgIHN1Y2Nlc3Mtc3VidGxlLWFjdGl2ZTogbnVsbCxcbiAgICBzdWNjZXNzOiBudWxsLFxuICAgIHN1Y2Nlc3MtaG92ZXI6IG51bGwsXG4gICAgc3VjY2Vzcy1hY3RpdmU6IG51bGwsXG4gICAgc3VjY2Vzcy1lbXBoYXNpczogbnVsbCxcbiAgICBzdWNjZXNzLW9uLXN1YnRsZTogbnVsbCxcbiAgICBvbi1zdWNjZXNzOiBudWxsLFxuICAgIHN1Y2Nlc3Mtb24tc3VyZmFjZTogbnVsbCxcbiAgICAvLyBXYXJuaW5nXG4gICAgd2FybmluZy1zdWJ0bGU6IG51bGwsXG4gICAgd2FybmluZy1zdWJ0bGUtaG92ZXI6IG51bGwsXG4gICAgd2FybmluZy1zdWJ0bGUtYWN0aXZlOiBudWxsLFxuICAgIHdhcm5pbmc6IG51bGwsXG4gICAgd2FybmluZy1ob3ZlcjogbnVsbCxcbiAgICB3YXJuaW5nLWFjdGl2ZTogbnVsbCxcbiAgICB3YXJuaW5nLWVtcGhhc2lzOiBudWxsLFxuICAgIHdhcm5pbmctb24tc3VidGxlOiBudWxsLFxuICAgIG9uLXdhcm5pbmc6IG51bGwsXG4gICAgd2FybmluZy1vbi1zdXJmYWNlOiBudWxsLFxuICAgIC8vIEVycm9yXG4gICAgZXJyb3Itc3VidGxlOiBudWxsLFxuICAgIGVycm9yLXN1YnRsZS1ob3ZlcjogbnVsbCxcbiAgICBlcnJvci1zdWJ0bGUtYWN0aXZlOiBudWxsLFxuICAgIGVycm9yOiBudWxsLFxuICAgIGVycm9yLWhvdmVyOiBudWxsLFxuICAgIGVycm9yLWFjdGl2ZTogbnVsbCxcbiAgICBlcnJvci1lbXBoYXNpczogbnVsbCxcbiAgICBlcnJvci1vbi1zdWJ0bGU6IG51bGwsXG4gICAgb24tZXJyb3I6IG51bGwsXG4gICAgZXJyb3Itb24tc3VyZmFjZTogbnVsbCxcbiAgICAvLyBMaWdodFxuICAgIGxpZ2h0LXN1YnRsZTogbnVsbCxcbiAgICBsaWdodC1zdWJ0bGUtaG92ZXI6IG51bGwsXG4gICAgbGlnaHQtc3VidGxlLWFjdGl2ZTogbnVsbCxcbiAgICBsaWdodDogbnVsbCxcbiAgICBsaWdodC1ob3ZlcjogbnVsbCxcbiAgICBsaWdodC1hY3RpdmU6IG51bGwsXG4gICAgbGlnaHQtZW1waGFzaXM6IG51bGwsXG4gICAgbGlnaHQtb24tc3VidGxlOiBudWxsLFxuICAgIG9uLWxpZ2h0OiBudWxsLFxuICAgIGxpZ2h0LW9uLXN1cmZhY2U6IG51bGwsXG4gICAgLy8gRGFya1xuICAgIGRhcmstc3VidGxlOiBudWxsLFxuICAgIGRhcmstc3VidGxlLWhvdmVyOiBudWxsLFxuICAgIGRhcmstc3VidGxlLWFjdGl2ZTogbnVsbCxcbiAgICBkYXJrOiBudWxsLFxuICAgIGRhcmstaG92ZXI6IG51bGwsXG4gICAgZGFyay1hY3RpdmU6IG51bGwsXG4gICAgZGFyay1lbXBoYXNpczogbnVsbCxcbiAgICBkYXJrLW9uLXN1YnRsZTogbnVsbCxcbiAgICBvbi1kYXJrOiBudWxsLFxuICAgIGRhcmstb24tc3VyZmFjZTogbnVsbCxcbiAgICAvLyBJbnZlcnNlXG4gICAgaW52ZXJzZS1zdWJ0bGU6IG51bGwsXG4gICAgaW52ZXJzZS1zdWJ0bGUtaG92ZXI6IG51bGwsXG4gICAgaW52ZXJzZS1zdWJ0bGUtYWN0aXZlOiBudWxsLFxuICAgIGludmVyc2U6IG51bGwsXG4gICAgaW52ZXJzZS1ob3ZlcjogbnVsbCxcbiAgICBpbnZlcnNlLWFjdGl2ZTogbnVsbCxcbiAgICBpbnZlcnNlLWVtcGhhc2lzOiBudWxsLFxuICAgIGludmVyc2Utb24tc3VidGxlOiBudWxsLFxuICAgIG9uLWludmVyc2U6IG51bGwsXG4gICAgaW52ZXJzZS1vbi1zdXJmYWNlOiBudWxsLFxuICAgIC8vIFNlcmllcyBBXG4gICAgc2VyaWVzLWE6IG51bGwsXG4gICAgc2VyaWVzLWEtYm9sZDogbnVsbCxcbiAgICBzZXJpZXMtYS1ib2xkZXI6IG51bGwsXG4gICAgc2VyaWVzLWEtc3VidGxlOiBudWxsLFxuICAgIHNlcmllcy1hLXN1YnRsZXI6IG51bGwsXG4gICAgLy8gU2VyaWVzIEJcbiAgICBzZXJpZXMtYjogbnVsbCxcbiAgICBzZXJpZXMtYi1ib2xkOiBudWxsLFxuICAgIHNlcmllcy1iLWJvbGRlcjogbnVsbCxcbiAgICBzZXJpZXMtYi1zdWJ0bGU6IG51bGwsXG4gICAgc2VyaWVzLWItc3VidGxlcjogbnVsbCxcbiAgICAvLyBTZXJpZXMgQ1xuICAgIHNlcmllcy1jOiBudWxsLFxuICAgIHNlcmllcy1jLWJvbGQ6IG51bGwsXG4gICAgc2VyaWVzLWMtYm9sZGVyOiBudWxsLFxuICAgIHNlcmllcy1jLXN1YnRsZTogbnVsbCxcbiAgICBzZXJpZXMtYy1zdWJ0bGVyOiBudWxsLFxuICAgIC8vIFNlcmllcyBEXG4gICAgc2VyaWVzLWQ6IG51bGwsXG4gICAgc2VyaWVzLWQtYm9sZDogbnVsbCxcbiAgICBzZXJpZXMtZC1ib2xkZXI6IG51bGwsXG4gICAgc2VyaWVzLWQtc3VidGxlOiBudWxsLFxuICAgIHNlcmllcy1kLXN1YnRsZXI6IG51bGwsXG4gICAgLy8gU2VyaWVzINCVXG4gICAgc2VyaWVzLWU6IG51bGwsXG4gICAgc2VyaWVzLWUtYm9sZDogbnVsbCxcbiAgICBzZXJpZXMtZS1ib2xkZXI6IG51bGwsXG4gICAgc2VyaWVzLWUtc3VidGxlOiBudWxsLFxuICAgIHNlcmllcy1lLXN1YnRsZXI6IG51bGwsXG4gICAgLy8gU2VyaWVzIEZcbiAgICBzZXJpZXMtZjogbnVsbCxcbiAgICBzZXJpZXMtZi1ib2xkOiBudWxsLFxuICAgIHNlcmllcy1mLWJvbGRlcjogbnVsbCxcbiAgICBzZXJpZXMtZi1zdWJ0bGU6IG51bGwsXG4gICAgc2VyaWVzLWYtc3VidGxlcjogbnVsbCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2xvYmFsIGRlZmF1bHQgQ29sb3JzIG1hcC5cbi8vLyBAZ3JvdXAgY29sb3Itc3lzdGVtXG4ka2VuZG8tY29sb3JzOiAkX2RlZmF1bHQtY29sb3JzICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yczogay1tYXAtbWVyZ2UoJF9kZWZhdWx0LWNvbG9ycywgJGtlbmRvLWNvbG9ycyk7XG5cbkBmdW5jdGlvbiBrLWNvbG9yKCRrZXkpIHtcbiAgICAkX2NvbG9yOiBrLW1hcC1nZXQoJGtlbmRvLWNvbG9ycywgJGtleSk7XG5cbiAgICBAaWYgKCRfY29sb3IpIHtcbiAgICAgICAgQHJldHVybiB2YXIoLS1rZW5kby1jb2xvci0jeyRrZXl9LCAkX2NvbG9yKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiQ29sb3IgVmFyaWFibGUgXFxgI3ska2V5fVxcYCBkb2VzIG5vdCBleGlzdHMgaW4gdGhlIGNvbG9yIGNvbGxlY3Rpb24uXCI7XG4gICAgfVxufVxuXG5AbWl4aW4gY29sb3Itc3lzdGVtLS1zdHlsZXMoKSB7XG4gICAgOnJvb3Qge1xuICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGtlbmRvLWNvbG9ycyB7XG4gICAgICAgICAgICBAaWYoJHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgLS1rZW5kby1jb2xvci0jeyRrZXl9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NvbnN0YW50cy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvY29sb3Itc3lzdGVtL19jb25zdGFudHMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3N3YXRjaC1sZWdhY3kuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL2NvbG9yLXN5c3RlbS9fc3dhdGNoLWxlZ2FjeS5zY3NzXG4ka2VuZG8taXMtZGFyay10aGVtZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFJvb3Qgc3R5bGVzXG4ka2VuZG8tYm9keS1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1ib2R5LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudCBzdHlsZXNcbiRrZW5kby1jb21wb25lbnQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY29tcG9uZW50LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY29tcG9uZW50LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8gU3RhdGVzIHN0eWxlc1xuJGtlbmRvLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tc2VsZWN0ZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tc2VsZWN0ZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zZWxlY3RlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1zZWxlY3RlZC1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zZWxlY3RlZC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNlbGVjdGVkLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWZvY3VzLW91dGxpbmU6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1zdWJ0bGUtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8gTGlua1xuJGtlbmRvLWxpbmstdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saW5rLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIFZhbGlkYXRvclxuJGtlbmRvLWludmFsaWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW52YWxpZC10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWludmFsaWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWludmFsaWQtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlZCBTdHlsaW5nXG4ka2VuZG8tZGlzYWJsZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1kaXNhYmxlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIExvYWRpbmdcbiRrZW5kby1sb2FkaW5nLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxvYWRpbmctdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXBhbGV0dGVzOiAoKSAhZGVmYXVsdDtcbiRrZW5kby10aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG5AbWl4aW4gY29sb3Itc3lzdGVtLXN0eWxlcygpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIEBpbmNsdWRlIGstY3NzLXZhcnMoJGtlbmRvLXBhbGV0dGVzKTtcbiAgICAgICAgQGluY2x1ZGUgay1jc3MtdmFycygka2VuZG8tdGhlbWUtY29sb3JzKTtcblxuICAgICAgICAvLyBUZXh0IGNvbG9yc1xuICAgICAgICBAZWFjaCAkdGhlbWUtY29sb3IsICRjb2xvci1wcm9wcyBpbiAka2VuZG8tdGhlbWUtY29sb3JzIHtcbiAgICAgICAgICAgICRfY29sb3I6IGstbWFwLWdldCgkY29sb3ItcHJvcHMsIHRleHQpO1xuXG4gICAgICAgICAgICAuay10ZXh0LSN7JHRoZW1lLWNvbG9yfSxcbiAgICAgICAgICAgIC5rLWNvbG9yLSN7JHRoZW1lLWNvbG9yfSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWtlbmRvLXRleHQtI3skdGhlbWUtY29sb3J9LCAjeyRfY29sb3J9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5cXCFrLXRleHQtI3skdGhlbWUtY29sb3J9LFxuICAgICAgICAgICAgLlxcIWstY29sb3ItI3skdGhlbWUtY29sb3J9IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0ta2VuZG8tdGV4dC0jeyR0aGVtZS1jb2xvcn0sICN7JF9jb2xvcn0pICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWJnLSN7JHRoZW1lLWNvbG9yfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0ta2VuZG8tYmctI3skdGhlbWUtY29sb3J9LCAjeyRfY29sb3J9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5cXCFrLWJnLSN7JHRoZW1lLWNvbG9yfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0ta2VuZG8tYmctI3skdGhlbWUtY29sb3J9LCAjeyRfY29sb3J9KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyBAaW1wb3J0IFwiLi9fcGFsZXR0ZXMuc2Nzc1wiO1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL21peGlucy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYm9yZGVyLXJhZGl1cy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3Ncbi8vIEJvcmRlciByYWRpdXNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoICRyYWRpdXM6IG51bGwgKSB7XG4gICAgQGlmICRrZW5kby1lbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cyggJHJhZGl1czogbnVsbCApIHtcbiAgICBAaWYgJGtlbmRvLWVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cy1vbmx5KCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICRyYWRpdXMgMCAwO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMtb25seSggJHJhZGl1czogbnVsbCApIHtcbiAgICBAaWYgJGtlbmRvLWVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkcmFkaXVzICRyYWRpdXMgMDtcbiAgICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cy1vbmx5KCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgJHJhZGl1cyAkcmFkaXVzO1xuICAgIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cy1vbmx5KCAkcmFkaXVzOiBudWxsICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzIDAgMCAkcmFkaXVzO1xuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYm94LXNoYWRvdy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3NcbkBtaXhpbiBib3gtc2hhZG93KCAkc2hhZG93Li4uICkge1xuICAgIEBpZiAka2VuZG8tZW5hYmxlLXNoYWRvd3MgYW5kIGstbGlzdC1udGgoJHNoYWRvdywgMSkge1xuICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZGF0YS11cmkuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9fZGF0YS11cmkuc2Nzc1xuLy8vIEEgbGlzdCBvZiBmaWxlcyBjb252ZXJ0ZWQgdG8gZGF0YSBVUklzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4kX2tlbmRvLWRhdGEtdXJpczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBTYXZlcyBhIGRhdGEgVVJJIHRoYXQgY2FuIGJlIHVzZWQgZnJvbSB0aGUgJF9rZW5kby1kYXRhLXVyaXMgbWFwIGluc3RlYWQgb2YgYSBmaWxlIHJlZmVyZW5jZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVGhlIGRhdGEgVVJJIG9mIHRoZSByZXNvdXJjZS5cbi8vLyBAcmVxdWlyZSAkX2tlbmRvLWRhdGEtdXJpc1xuQG1peGluIHJlZ2lzdGVyLWRhdGEtdXJpKCAkbmFtZSwgJGNvbnRlbnQgKSB7XG4gICAgQGlmICggay1tYXAtaGFzLWtleSggJF9rZW5kby1kYXRhLXVyaXMsICRuYW1lICkgKSB7XG4gICAgICAgIEB3YXJuIFwiQXR0ZW1wdCB0byByZWRlZmluZSBkYXRhIFVSSSBvZiBmaWxlIGAjeyRuYW1lfWAuXCI7XG4gICAgfVxuXG4gICAgJF9rZW5kby1kYXRhLXVyaXM6IGstbWFwLW1lcmdlKCAkX2tlbmRvLWRhdGEtdXJpcywgKCAkbmFtZTogJGNvbnRlbnQgKSApICFnbG9iYWw7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2Rpc2FibGVkLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9taXhpbnMvX2Rpc2FibGVkLnNjc3Ncbi8vIERpc2FibGVkXG5AbWl4aW4gZGlzYWJsZWQoICRrZW5kby1kaXNhYmxlZC1zdHlsaW5nICkge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IGstbWFwLWdldCgka2VuZG8tZGlzYWJsZWQtc3R5bGluZywgb3BhY2l0eSk7XG4gICAgZmlsdGVyOiBrLW1hcC1nZXQoJGtlbmRvLWRpc2FibGVkLXN0eWxpbmcsIGZpbHRlcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuQG1peGluIGRpc2FibGVkLWNvbG9yKCAkY29sb3I6IG51bGwsICRiZzogbnVsbCwgJGJvcmRlcjogbnVsbCApIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZGVjb3JhdGlvbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19kZWNvcmF0aW9uLnNjc3NcbkBtaXhpbiBmaWxsKCAkY29sb3I6IG51bGwsICRiZzogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGdyYWRpZW50OiBudWxsICkge1xuICAgIEBpZiAkYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICBAaWYgJGNvbG9yIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgQGlmICRiZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICB9XG4gICAgQGlmICRncmFkaWVudCB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCggJGdyYWRpZW50ICk7XG4gICAgfVxufVxuXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCAkZ3JhZGllbnQ6IG51bGwgKSB7XG4gICAgQGlmICRncmFkaWVudCBhbmQgJGtlbmRvLWVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICBAaWYgJGdyYWRpZW50ID09IG5vbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoICRncmFkaWVudCApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gcmVwZWF0aW5nLXN0cmlwZWQtZ3JhZGllbnQoICRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYmFja2dyb3VuZDogI0ZGRiwgJGFuZ2xlOiA0NWRlZywgJGxhcmdlU3RlcDogMnB4LCAkc21hbGxTdGVwOiAxcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kICRzbWFsbFN0ZXAsICRjb2xvciAkc21hbGxTdGVwLCAkY29sb3IgJGxhcmdlU3RlcCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2ZvY3VzLWluZGljYXRvci5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbWl4aW5zL19mb2N1cy1pbmRpY2F0b3Iuc2Nzc1xuQG1peGluIGZvY3VzLWluZGljYXRvciggJGluZGljYXRvciwgJGluc2V0OiBmYWxzZSwgJHRoZW1lYWJsZTogZmFsc2UsICR0eXBlOiBcImJveC1zaGFkb3dcIiApIHtcbiAgICBAaWYgJGtlbmRvLWVuYWJsZS1mb2N1cy1jb250cmFzdCBhbmQgay1saXN0LW50aCgkaW5kaWNhdG9yLCAxKSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIGlmKCAkaW5zZXQsIGluc2V0LCBudWxsICkgMCAwIDAgMnB4IGlmKCAkdGhlbWVhYmxlLCBjdXJyZW50Q29sb3IsIHJnYiggMCwgMCwgMCApICkgKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGluZGljYXRvci4uLiApO1xuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZ3JhZGllbnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9fZ3JhZGllbnQuc2Nzc1xuQG1peGluIGxpbmVhci1ncmFkaWVudCggJGdyYWRpZW50OiBudWxsICkge1xuICAgIEBpZiAkZ3JhZGllbnQgYW5kICRrZW5kby1lbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgQGlmICRncmFkaWVudCA9PSBub25lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAkZ3JhZGllbnQgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHN0cmlwZWQtZ3JhZGllbnQoICRjb2xvcjogcmdiYSggd2hpdGUsIC4xNSApLCAkYW5nbGU6IDQ1ZGVnICkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCApO1xufVxuXG5AbWl4aW4gcmVwZWF0aW5nLXN0cmlwZWQtZ3JhZGllbnQoICRjb2xvcjogcmdiYSggd2hpdGUsIC4xNSksICRiYWNrZ3JvdW5kOiB3aGl0ZSwgJGFuZ2xlOiA0NWRlZywgJGxhcmdlLXN0ZXA6IDJweCwgJHNtYWxsLXN0ZXA6IDFweCApIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KCAkYW5nbGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZCAkc21hbGwtc3RlcCwgJGNvbG9yICRzbWFsbC1zdGVwLCAkY29sb3IgJGxhcmdlLXN0ZXAgKTtcbn1cblxuQG1peGluIGNoZWNrZXJib2FyZC1ncmFkaWVudCggJHByaW1hcnktY29sb3I6IHdoaXRlLCAkc2Vjb25kYXJ5LWNvbG9yOiByZ2JhKCBibGFjaywgLjA5ICksICRzaXplOiAxMHB4ICkge1xuICAgICRfcG9zaXRpb246IGNhbGMoICN7JHNpemV9IC8gMiApO1xuXG4gICAgYmFja2dyb3VuZDpcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KCA0NWRlZywgJHNlY29uZGFyeS1jb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNzUlLCAkc2Vjb25kYXJ5LWNvbG9yIDc1JSwgJHNlY29uZGFyeS1jb2xvciApLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoIDQ1ZGVnLCAkc2Vjb25kYXJ5LWNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA3NSUsICRzZWNvbmRhcnktY29sb3IgNzUlLCAkc2Vjb25kYXJ5LWNvbG9yICksXG4gICAgICAgICRwcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQsIHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4LCAkX3Bvc2l0aW9uICRfcG9zaXRpb247XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwIDA7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94LCBwYWRkaW5nLWJveDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplICRzaXplLCAkc2l6ZSAkc2l6ZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgc2NhbGVZKDEpIHNjYWxlWigxKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9faGlkZS1zY3JvbGxiYXIuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9faGlkZS1zY3JvbGxiYXIuc2Nzc1xuJGtlbmRvLXNjcm9sbGJhci13aWR0aDogMTdweCAhZGVmYXVsdDtcblxuQG1peGluIGhpZGUtc2Nyb2xsYmFyKCAkZGlyOiBcInJpZ2h0XCIsICRtYXgtc2Nyb2xsYmFyOiAxMDBweCkge1xuICAgIC8vIGFueXRoaW5nIGxhcmdlciB0aGFuIHRoZSBzY3JvbGxiYXIgd2lkdGggd2lsbCBkb1xuICAgICRzY3JvbGxiYXItc2l6ZTogdmFyKCAtLWtlbmRvLXNjcm9sbGJhci13aWR0aCwgI3ska2VuZG8tc2Nyb2xsYmFyLXdpZHRofSApO1xuICAgICRtYXJnaW46IGNhbGMoIC0jeyRtYXgtc2Nyb2xsYmFyfSAtICN7JHNjcm9sbGJhci1zaXplfSApO1xuXG4gICAgcGFkZGluZy1yaWdodDogJG1heC1zY3JvbGxiYXI7XG4gICAgcGFkZGluZy1sZWZ0OiAkbWF4LXNjcm9sbGJhcjtcblxuICAgIEBpZiAoICRkaXIgPT0gXCJyaWdodFwiICkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRtYXgtc2Nyb2xsYmFyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbWF4LXNjcm9sbGJhcjtcbiAgICB9XG59XG5cbkBtaXhpbiBoaWRlLXNjcm9sbGJhci1kaXItYWdub3N0aWMoJG1heC1zY3JvbGxiYXI6IDEwMHB4KSB7XG4gICAgLy8gYW55dGhpbmcgbGFyZ2VyIHRoYW4gdGhlIHNjcm9sbGJhciB3aWR0aCB3aWxsIGRvXG4gICAgJHNjcm9sbGJhci1zaXplOiB2YXIoIC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9ICk7XG4gICAgJG1hcmdpbjogY2FsYyggLSN7JG1heC1zY3JvbGxiYXJ9IC0gI3skc2Nyb2xsYmFyLXNpemV9ICk7XG5cbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6ICRtYXgtc2Nyb2xsYmFyO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkbWF4LXNjcm9sbGJhcjtcblxuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0kbWF4LXNjcm9sbGJhcjtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJG1hcmdpbjtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9faW1wb3J0LW9uY2Uuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9faW1wb3J0LW9uY2Uuc2Nzc1xuLy8vIEEgbGlzdCBvZiBleHBvcnRlZCBtb2R1bGVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuJF9rZW5kby1pbXBvcnRlZC1tb2R1bGVzOiAoKSAhZGVmYXVsdDtcblxuLy8vIE91dHB1dHMgYSBtb2R1bGUgb25jZSwgbm8gbWF0dGVyIGhvdyBtYW55IHRpbWVzIGl0IGlzIGluY2x1ZGVkLlxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV4cG9ydGVkIG1vZHVsZS5cbi8vLyBAcmVxdWlyZSAkX2tlbmRvLWltcG9ydGVkLW1vZHVsZXNcbkBtaXhpbiBleHBvcnRzKCAkbmFtZSApIHtcbiAgICBAaWYgKGstbGlzdC1pbmRleCggJF9rZW5kby1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSApID09IG51bGwpIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAkX2tlbmRvLWltcG9ydGVkLW1vZHVsZXM6IGstbGlzdC1hcHBlbmQoICRfa2VuZG8taW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUgKSAhZ2xvYmFsO1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3R5cG9ncmFwaHkuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL21peGlucy9fdHlwb2dyYXBoeS5zY3NzXG5AbWl4aW4gdHlwb2dyYXBoeSggJGZvbnQtc2l6ZTogbnVsbCwgJGZvbnQtZmFtaWx5OiBudWxsLCAkbGluZS1oZWlnaHQ6IG51bGwsICRmb250LXdlaWdodDogbnVsbCwgJGxldHRlci1zcGFjaW5nOiBudWxsICkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCAkYmFja2dyb3VuZC1pbWFnZTogbnVsbCApIHtcbiAgICBAaWYgJGJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skYmFja2dyb3VuZC1pbWFnZX0pO1xuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fY29tcG9uZW50cy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbW9kdWxlLXN5c3RlbS9fY29tcG9uZW50cy5zY3NzXG4ka2VuZG8tY29tcG9uZW50czogKFxuICAgIC8vIFR5cG9ncmFwaHkgYW5kIHV0aWxzXG4gICAgXCJ0eXBvZ3JhcGh5XCIsXG4gICAgXCJ1dGlsc1wiLFxuICAgIFwiZHJhZ2dhYmxlXCIsXG5cbiAgICAvLyBHZW5lcmljIGNvbnRlbnRcbiAgICBcInRhYmxlXCIsXG4gICAgXCJpY29uXCIsXG4gICAgXCJjaGlwXCIsXG4gICAgXCJtZXNzYWdlYm94XCIsXG5cbiAgICAvLyBQcmltaXRpdmUgY29tcG9uZW50c1xuICAgIFwiaW5wdXRcIixcbiAgICBcImxpc3RcIixcbiAgICBcImxpc3Rncm91cFwiLFxuICAgIFwib3ZlcmxheVwiLFxuICAgIFwicmlwcGxlXCIsXG4gICAgXCJ2aXJ0dWFsLXNjcm9sbGVyXCIsXG5cbiAgICAvLyBJbmRpY2F0b3JzXG4gICAgXCJhdmF0YXJcIixcbiAgICBcImJhZGdlXCIsXG4gICAgXCJjb2xvci1wcmV2aWV3XCIsXG4gICAgXCJsb2FkZXJcIixcbiAgICBcInNrZWxldG9uXCIsXG4gICAgXCJ0b29sdGlwXCIsXG5cbiAgICAvLyBOYXRpdmUgZm9ybXNcbiAgICBcImJ1dHRvblwiLFxuICAgIFwic3BsaXQtYnV0dG9uXCIsXG4gICAgXCJtZW51LWJ1dHRvblwiLFxuICAgIFwidGV4dGJveFwiLFxuICAgIFwidGV4dGFyZWFcIixcbiAgICBcImNoZWNrYm94XCIsXG4gICAgXCJsaXN0Ym94XCIsXG4gICAgXCJwcm9ncmVzc2JhclwiLFxuICAgIFwicmFkaW9cIixcbiAgICBcInNsaWRlclwiLFxuXG4gICAgLy8gRm9ybSBoZWxwZXJzXG4gICAgXCJmb3JtXCIsXG4gICAgXCJ2YWxpZGF0b3JcIixcbiAgICBcImZsb2F0aW5nLWxhYmVsXCIsXG5cbiAgICAvLyBGb3JtIHJlcXVpcmVtZW50c1xuICAgIFwiY2FsZW5kYXJcIixcbiAgICBcInBvcHVwXCIsXG4gICAgXCJ0aW1lLXNlbGVjdG9yXCIsXG5cbiAgICAvLyBBdWdtZW50ZWQgaW5wdXRzXG4gICAgXCJhdXRvY29tcGxldGVcIixcbiAgICBcImNhcHRjaGFcIixcbiAgICBcImNvbG9yLXBhbGV0dGVcIixcbiAgICBcImNvbG9yLWdyYWRpZW50XCIsXG4gICAgXCJjb2xvci1lZGl0b3JcIixcbiAgICBcImNvbG9yLXBpY2tlclwiLFxuICAgIFwiY29tYm9ib3hcIixcbiAgICBcImRhdGUtaW5wdXRcIixcbiAgICBcImRhdGUtcGlja2VyXCIsXG4gICAgXCJ0aW1lLXBpY2tlclwiLFxuICAgIFwiZGF0ZS10aW1lLXBpY2tlclwiLFxuICAgIFwiZGF0ZS1yYW5nZS1waWNrZXJcIixcbiAgICBcImRyb3Bkb3duLWdyaWRcIixcbiAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICBcImRyb3Bkb3duLXRyZWVcIixcbiAgICBcIm1hc2tlZC10ZXh0Ym94XCIsXG4gICAgXCJtdWx0aXNlbGVjdFwiLFxuICAgIFwibnVtZXJpYy10ZXh0Ym94XCIsXG4gICAgXCJyYXRpbmdcIixcbiAgICBcInNlYXJjaGJveFwiLFxuICAgIFwic3dpdGNoXCIsXG4gICAgXCJ1cGxvYWRcIixcbiAgICBcImRyb3B6b25lXCIsXG5cbiAgICAvLyBDb21tYW5kIGludGVyZmFjZXNcbiAgICBcImFjdGlvbnNcIixcbiAgICBcImFwcGJhclwiLFxuICAgIFwiZmFiXCIsXG4gICAgXCJtZW51XCIsXG4gICAgXCJ0b29sYmFyXCIsXG5cbiAgICAvLyBQb3B1cHMgYW5kIG1vZGFsc1xuICAgIFwiYWN0aW9uLXNoZWV0XCIsXG4gICAgXCJkaWFsb2dcIixcbiAgICBcImRyYXdlclwiLFxuICAgIFwibm90aWZpY2F0aW9uXCIsXG4gICAgXCJwb3BvdmVyXCIsXG4gICAgXCJyZXNwb25zaXZlLXBhbmVsXCIsXG4gICAgXCJ3aW5kb3dcIixcblxuICAgIC8vIE5hdmlnYXRpb25cbiAgICBcImJvdHRvbS1uYXZpZ2F0aW9uXCIsXG4gICAgXCJicmVhZGNydW1iXCIsXG4gICAgXCJwYWdlclwiLFxuICAgIFwic3RlcHBlclwiLFxuICAgIFwidGFic3RyaXBcIixcbiAgICBcInRyZWV2aWV3XCIsXG4gICAgXCJ3aXphcmRcIixcblxuICAgIC8vIExheW91dCAmIGNvbnRhaW5lcnNcbiAgICBcImNhcmRcIixcbiAgICBcImV4cGFuZGVyXCIsXG4gICAgXCJwYW5lbGJhclwiLFxuICAgIFwic3BsaXR0ZXJcIixcbiAgICBcInRpbGUtbGF5b3V0XCIsXG4gICAgXCJkb2NrLW1hbmFnZXJcIixcblxuICAgIC8vIERhdGEgbWFuYWdlbWVudFxuICAgIFwiZ3JpZFwiLFxuICAgIFwibGlzdHZpZXdcIixcbiAgICBcInNwcmVhZHNoZWV0XCIsXG4gICAgXCJwaXZvdGdyaWRcIixcbiAgICBcInRyZWVsaXN0XCIsXG4gICAgXCJmaWx0ZXJcIixcbiAgICBcImZpbGUtbWFuYWdlclwiLFxuICAgIFwidGFzay1ib2FyZFwiLFxuXG4gICAgLy8gRWRpdG9yc1xuICAgIFwiZWRpdG9yXCIsXG4gICAgXCJpbWFnZS1lZGl0b3JcIixcblxuICAgIC8vIFNjaGVkdWxpbmdcbiAgICBcImdhbnR0XCIsXG4gICAgXCJzY2hlZHVsZXJcIixcblxuICAgIC8vIE1pc2NcbiAgICBcImFkYXB0aXZlXCIsXG4gICAgXCJjaGF0XCIsXG4gICAgXCJtZWRpYS1wbGF5ZXJcIixcbiAgICBcInRpbWVsaW5lXCIsXG4gICAgXCJwZGYtdmlld2VyXCIsXG4gICAgXCJzY3JvbGxlclwiLFxuICAgIFwic2Nyb2xsdmlld1wiLFxuICAgIFwicHJvbXB0XCIsXG5cbiAgICAvLyBEYXRhdml6XG4gICAgXCJkYXRhdml6XCIsXG4gICAgXCJtYXBcIixcbiAgICBcIm9yZ2NoYXJ0XCIsXG4gICAgXCJzaWduYXR1cmVcIlxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZGVwZW5kZW5jaWVzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9tb2R1bGUtc3lzdGVtL19kZXBlbmRlbmNpZXMuc2Nzc1xuJF9rZW5kby1kZXBlbmRlbmNpZXM6IChcbiAgICBhY3Rpb24tc2hlZXQ6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdGdyb3VwXCIsXG4gICAgICAgIFwicG9wdXBcIlxuICAgICksXG4gICAgYWN0aW9uczogKCksXG4gICAgYWRhcHRpdmU6ICgpLFxuICAgIGFwcGJhcjogKCksXG4gICAgYXV0b2NvbXBsZXRlOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCJcbiAgICApLFxuICAgIGF2YXRhcjogKCksXG4gICAgYmFkZ2U6ICgpLFxuICAgIGJvdHRvbS1uYXZpZ2F0aW9uOiAoXG4gICAgICAgIFwiaWNvblwiXG4gICAgKSxcbiAgICBicmVhZGNydW1iOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInRleHRib3hcIlxuICAgICksXG4gICAgYnV0dG9uOiAoXG4gICAgICAgIFwiYmFkZ2VcIixcbiAgICAgICAgXCJpY29uXCJcbiAgICApLFxuICAgIGNhbGVuZGFyOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwibGlzdFwiXG4gICAgKSxcbiAgICBjYXB0Y2hhOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwic2xpZGVyXCIsXG4gICAgICAgIFwidGV4dGJveFwiXG4gICAgKSxcbiAgICBjYXJkOiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICAvLyBcInV0aWxzL2ZsZXhcIixcbiAgICAgICAgLy8gXCJ1dGlscy9ncmlkXCJcbiAgICApLFxuICAgIGNoYXQ6IChcbiAgICAgICAgXCJhdmF0YXJcIixcbiAgICAgICAgXCJjYXJkXCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgY2hlY2tib3g6ICgpLFxuICAgIGNoaXA6ICgpLFxuICAgIGNvbG9yLWVkaXRvcjogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJjb2xvci1wYWxldHRlXCIsXG4gICAgICAgIFwiY29sb3ItcHJldmlld1wiLFxuICAgICAgICBcImNvbG9yLWdyYWRpZW50XCJcbiAgICApLFxuICAgIGNvbG9yLWdyYWRpZW50OiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwibnVtZXJpYy10ZXh0Ym94XCIsXG4gICAgICAgIFwic2xpZGVyXCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICAvLyBcInV0aWxzL2ZsZXhcIlxuICAgICksXG4gICAgY29sb3ItcGFsZXR0ZTogKFxuICAgICAgICBcImNvbG9yLXByZXZpZXdcIixcbiAgICAgICAgLy8gXCJ1dGlscy9mbGV4XCJcbiAgICApLFxuICAgIGNvbG9yLXByZXZpZXc6ICgpLFxuICAgIGNvbG9yLXBpY2tlcjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNvbG9yLWVkaXRvclwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIlxuICAgICksXG4gICAgY29tYm9ib3g6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwibGlzdFwiXG4gICAgKSxcbiAgICBjdXJzb3I6ICgpLFxuICAgIGRhdGF2aXo6IChcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgICAgICBcInRvb2x0aXBcIlxuICAgICksXG4gICAgZGF0ZS1pbnB1dDogKFxuICAgICAgICBcImlucHV0XCJcbiAgICApLFxuICAgIGRhdGUtcGlja2VyOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY2FsZW5kYXJcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICBkYXRlLXJhbmdlLXBpY2tlcjogKFxuICAgICAgICBcImRhdGUtcGlja2VyXCJcbiAgICApLFxuICAgIGRhdGUtdGltZS1waWNrZXI6IChcbiAgICAgICAgXCJkYXRlLXBpY2tlclwiLFxuICAgICAgICBcInRpbWUtcGlja2VyXCJcbiAgICApLFxuICAgIGRpYWxvZzogKFxuICAgICAgICBcIndpbmRvd1wiXG4gICAgKSxcbiAgICBkcmFnZ2FibGU6ICgpLFxuICAgIGRyYXdlcjogKFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJvdmVybGF5XCJcbiAgICApLFxuICAgIGRyb3Bkb3duLWdyaWQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJncmlkXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICAgICAgXCJ0YWJsZVwiXG4gICAgKSxcbiAgICBkcm9wZG93bi1saXN0OiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCJcbiAgICApLFxuICAgIGRyb3Bkb3duLXRyZWU6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgICAgICBcInRyZWV2aWV3XCJcbiAgICApLFxuICAgIGRyb3B6b25lOiAoKSxcbiAgICBkb2NrLW1hbmFnZXI6IChcbiAgICAgICAgXCJzcGxpdHRlclwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICAgICAgXCJ0YWJzdHJpcFwiXG4gICAgKSxcbiAgICBlZGl0b3I6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImNvbG9yLXBpY2tlclwiLFxuICAgICAgICBcImNvbWJvYm94XCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICAgICAgXCJ1cGxvYWRcIixcbiAgICAgICAgXCJ3aW5kb3dcIlxuICAgICksXG4gICAgZXhwYW5kZXI6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICAvLyBcInV0aWxzL2Rpc3BsYXlcIixcbiAgICAgICAgLy8gXCJ1dGlscy9mbGV4XCJcbiAgICApLFxuICAgIGZhYjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImJhZGdlXCIsXG4gICAgICAgIC8vIFwidXRpbHMvcG9zaXRpb25cIlxuICAgICksXG4gICAgZmlsZS1tYW5hZ2VyOiAoXG4gICAgICAgIFwiYnJlYWRjcnVtYlwiLFxuICAgICAgICBcImRpYWxvZ1wiLFxuICAgICAgICBcImdyaWRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0dmlld1wiLFxuICAgICAgICBcIm1lbnVcIixcbiAgICAgICAgXCJzcGxpdHRlclwiLFxuICAgICAgICBcInN3aXRjaFwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICAgICAgXCJ0cmVldmlld1wiLFxuICAgICAgICBcInVwbG9hZFwiXG4gICAgKSxcbiAgICBmaWx0ZXI6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImRhdGUtdGltZS1waWNrZXJcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJudW1lcmljLXRleHRib3hcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCIsXG4gICAgICAgIFwidG9vbGJhclwiXG4gICAgKSxcbiAgICBmbG9hdGluZy1sYWJlbDogKFxuICAgICAgICBcImlucHV0XCJcbiAgICApLFxuICAgIGZvcm06IChcbiAgICAgICAgXCJhY3Rpb25zXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwidG9vbGJhclwiXG4gICAgKSxcbiAgICBnYW50dDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImRhdGUtdGltZS1waWNrZXJcIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcIm51bWVyaWMtdGV4dGJveFwiLFxuICAgICAgICBcInNwbGl0dGVyXCIsXG4gICAgICAgIFwidHJlZWxpc3RcIixcbiAgICAgICAgXCJ2YWxpZGF0b3JcIixcbiAgICAgICAgXCJ3aW5kb3dcIlxuICAgICksXG4gICAgZ3JpZDogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImRpYWxvZ1wiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcIm1lbnVcIixcbiAgICAgICAgXCJwYWdlclwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwicmFkaW9cIixcbiAgICAgICAgXCJza2VsZXRvblwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICAgICAgXCJ2YWxpZGF0b3JcIlxuICAgICksXG4gICAgaWNvbjogKCksXG4gICAgaW1hZ2UtZWRpdG9yOiAoXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcIm51bWVyaWMtdGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgaW5wdXQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCJcbiAgICApLFxuICAgIGxpc3Q6ICgpLFxuICAgIGxpc3Rib3g6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJsaXN0XCJcbiAgICApLFxuICAgIGxpc3Rncm91cDogKCksXG4gICAgbGlzdHZpZXc6IChcbiAgICAgICAgXCJwYWdlclwiLFxuICAgICAgICAvLyBcInV0aWxzL2dyaWRcIixcbiAgICAgICAgLy8gXCJ1dGlscy9mbGV4XCJcbiAgICApLFxuICAgIGxvYWRlcjogKCksXG4gICAgbWFwOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwic2Nyb2xsZXJcIixcbiAgICAgICAgLy8gXCJ1dGlscy9wb3NpdGlvblwiXG4gICAgKSxcbiAgICBtYXNrZWQtdGV4dGJveDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImlucHV0XCJcbiAgICApLFxuICAgIG1lZGlhLXBsYXllcjogKFxuICAgICAgICBcInNsaWRlclwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgbWVudTogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICBtZW51LWJ1dHRvbjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcIm1lbnVcIlxuICAgICksXG4gICAgbWVzc2FnZWJveDogKCksXG4gICAgbXVsdGlzZWxlY3Q6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGlwXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCJcbiAgICApLFxuICAgIG5vdGlmaWNhdGlvbjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICBudW1lcmljLXRleHRib3g6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgb3JnY2hhcnQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjYXJkXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInVwbG9hZFwiLFxuICAgICAgICBcIndpbmRvd1wiXG4gICAgKSxcbiAgICBvdmVybGF5OiAoKSxcbiAgICBwYWdlcjogKFxuICAgICAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgcGFuZWxiYXI6IChcbiAgICAgICAgXCJpY29uXCJcbiAgICApLFxuICAgIHBkZi12aWV3ZXI6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjb21ib2JveFwiLFxuICAgICAgICBcImRpYWxvZ1wiLFxuICAgICAgICBcImRyb3B6b25lXCIsXG4gICAgICAgIFwicGFnZXJcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgICAgICBcIndpbmRvd1wiXG4gICAgKSxcbiAgICBwaXZvdGdyaWQ6IChcbiAgICAgICAgXCJkaWFsb2dcIixcbiAgICAgICAgXCJncmlkXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInRyZWV2aWV3XCIsXG4gICAgICAgIC8vIFwidXRpbHMvZmxleFwiLFxuICAgICAgICAvLyBcInV0aWxzL2dyaWRcIixcbiAgICAgICAgLy8gXCJ1dGlscy9wb3NpdGlvblwiXG4gICAgKSxcbiAgICBwb3BvdmVyOiAoXG4gICAgICAgIFwiY2FyZFwiLFxuICAgICAgICBcInBvcHVwXCJcbiAgICApLFxuICAgIHBvcHVwOiAoKSxcbiAgICBwcm9ncmVzc2JhcjogKCksXG4gICAgcHJvbXB0OiAoKSxcbiAgICByYWRpbzogKCksXG4gICAgcmF0aW5nOiAoXG4gICAgICAgIFwiaWNvblwiXG4gICAgKSxcbiAgICByZXNwb25zaXZlLXBhbmVsOiAoKSxcbiAgICByaXBwbGU6ICgpLFxuICAgIHNjaGVkdWxlcjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImRhdGUtdGltZS1waWNrZXJcIixcbiAgICAgICAgXCJkaWFsb2dcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgICAgICBcInRvb2x0aXBcIlxuICAgICksXG4gICAgc2Nyb2xsZXI6ICgpLFxuICAgIHNjcm9sbHZpZXc6IChcbiAgICAgICAgXCJidXR0b25cIlxuICAgICksXG4gICAgc2VhcmNoYm94OiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgc2lnbmF0dXJlOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgc2tlbGV0b246ICgpLFxuICAgIHNsaWRlcjogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcInRvb2x0aXBcIlxuICAgICksXG4gICAgc3BsaXQtYnV0dG9uOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwibWVudVwiXG4gICAgKSxcbiAgICBzcGxpdHRlcjogKFxuICAgICAgICBcImljb25cIlxuICAgICksXG4gICAgc3ByZWFkc2hlZXQ6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImNvbG9yLXBpY2tlclwiLFxuICAgICAgICBcImNvbWJvYm94XCIsXG4gICAgICAgIFwiZGF0ZS10aW1lLXBpY2tlclwiLFxuICAgICAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwibWVudVwiLFxuICAgICAgICBcInJhZGlvXCIsXG4gICAgICAgIFwidGFic3RyaXBcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidHJlZXZpZXdcIixcbiAgICAgICAgXCJ1cGxvYWRcIixcbiAgICAgICAgXCJ3aW5kb3dcIlxuICAgICksXG4gICAgc3RlcHBlcjogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwcm9ncmVzc2JhclwiXG4gICAgKSxcbiAgICBzd2l0Y2g6ICgpLFxuICAgIHRhYmxlOiAoKSxcbiAgICB0YWJzdHJpcDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIlxuICAgICksXG4gICAgdGFzay1ib2FyZDogKFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJmb3JtXCIsXG4gICAgICAgIFwic2VhcmNoYm94XCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIlxuICAgICksXG4gICAgdGV4dGFyZWE6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIlxuICAgICksXG4gICAgdGV4dGJveDogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiXG4gICAgKSxcbiAgICB0aWxlLWxheW91dDogKFxuICAgICAgICBcImNhcmRcIlxuICAgICksXG4gICAgdGltZS1kdXJhdGlvbi1waWNrZXI6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICAgICAgXCJ0aW1lLXNlbGVjdG9yXCJcbiAgICApLFxuICAgIHRpbWUtc2VsZWN0b3I6IChcbiAgICAgICAgXCJhY3Rpb25zXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwibGlzdFwiXG4gICAgKSxcbiAgICB0aW1lbGluZTogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJpY29uXCJcbiAgICApLFxuICAgIHRpbWUtcGlja2VyOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwidGltZS1zZWxlY3RvclwiXG4gICAgKSxcbiAgICB0b29sYmFyOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcIm1lbnVcIixcbiAgICAgICAgXCJwb3B1cFwiXG4gICAgKSxcbiAgICB0b29sdGlwOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInBvcHVwXCJcbiAgICApLFxuICAgIHRyZWVsaXN0OiAoXG4gICAgICAgIFwiZ3JpZFwiXG4gICAgKSxcbiAgICB0cmVldmlldzogKFxuICAgICAgICBcImNoZWNrYm94XCIsXG4gICAgICAgIFwiaWNvblwiXG4gICAgKSxcbiAgICB0eXBvZ3JhcGh5OiAoKSxcbiAgICB1cGxvYWQ6IChcbiAgICAgICAgXCJhY3Rpb25zXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZHJvcHpvbmVcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdGdyb3VwXCIsXG4gICAgICAgIFwidG9vbGJhclwiXG4gICAgKSxcbiAgICB1dGlsczogKCksXG4gICAgdmFsaWRhdG9yOiAoXG4gICAgICAgIFwidG9vbHRpcFwiXG4gICAgKSxcbiAgICB2aXJ0dWFsLXNjcm9sbGVyOiAoKSxcbiAgICB3aW5kb3c6IChcbiAgICAgICAgXCJhY3Rpb25zXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcIm92ZXJsYXlcIlxuICAgICksXG4gICAgd2l6YXJkOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcInN0ZXBwZXJcIlxuICAgIClcbik7XG5cbi8vICNlbmRyZWdpb25cblxuJF9kZXBzOiAoKSAhZGVmYXVsdDtcbiRfaW1wb3J0ZWQ6ICgpICFkZWZhdWx0O1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2F0LWlmLW5vLW51bGxcbkBtaXhpbiBtb2R1bGUtcmVnaXN0ZXIoICRuYW1lOiBudWxsLCAkZGVwZW5kZW5jaWVzOiBudWxsICkge1xuICAgIEBpZiAoay1saXN0LWluZGV4KCAka2VuZG8tY29tcG9uZW50cywgJG5hbWUpICE9IG51bGwpIHtcbiAgICAgICAgJF9kZXBzOiBrLW1hcC1tZXJnZSggJF9kZXBzLCAoICRuYW1lOiAkZGVwZW5kZW5jaWVzICkgKTtcblxuICAgICAgICBAaWYgJGRlcGVuZGVuY2llcyB7XG4gICAgICAgICAgICBAZWFjaCAkZGVwIGluICRkZXBlbmRlbmNpZXMge1xuICAgICAgICAgICAgICAgIEBpZiAoIGstbGlzdC1pbmRleCggJGtlbmRvLWNvbXBvbmVudHMsICRkZXAgKSA9PSBudWxsICkge1xuICAgICAgICAgICAgICAgICAgICBAd2FybiBcIlRoZSBtb2R1bGUgXFxcIiN7JG5hbWV9XFxcIiBkZXBlbmRzIG9uIG1vZHVsZSBcXFwiI3skZGVwfVxcXCIsIGJ1dCB0aGUgc3R5bGVzIHdpbGwgbm90IGJlIGxvYWRlZCFcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBtb2R1bGUtcmVuZGVyKCAkbmFtZTogbnVsbCApIHtcbiAgICAkZGVwZW5kZW5jaWVzOiBrLW1hcC1nZXQoICRfZGVwcywgJG5hbWUgKTtcblxuICAgIEBpZiAkZGVwZW5kZW5jaWVzIHtcbiAgICAgICAgQGVhY2ggJGRlcCBpbiAkZGVwZW5kZW5jaWVzIHtcbiAgICAgICAgICAgIEBpZiAoIGstbGlzdC1pbmRleCggJF9pbXBvcnRlZCwgJGRlcCApID09IG51bGwgKSB7XG4gICAgICAgICAgICAgICAgQHdhcm4gXCJUaGUgbW9kdWxlIFxcXCIjeyRuYW1lfVxcXCIgZGVwZW5kcyBvbiBtb2R1bGUgXFxcIiN7JGRlcH1cXFwiLCBidXQgdGhlIHN0eWxlcyBoYXZlIG5vdCBiZWVuIGxvYWRlZCB5ZXQhXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCBrLWxpc3QtaW5kZXgoICRrZW5kby1jb21wb25lbnRzLCAkbmFtZSApICE9IG51bGwgKSBhbmQgKCBrLWxpc3QtaW5kZXgoICRfaW1wb3J0ZWQsICRuYW1lICkgPT0gbnVsbCApIHtcbiAgICAgICAgJF9pbXBvcnRlZDogay1saXN0LWFwcGVuZCggJF9pbXBvcnRlZCwgJG5hbWUgKSAhZ2xvYmFsO1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiB2ZXJpZnktZGVwZW5kZW5jaWVzKCkge1xuICAgIEBlYWNoICRjb21wb25lbnQgaW4gJGtlbmRvLWNvbXBvbmVudHMge1xuICAgICAgICBAaWYgKGstbWFwLWhhcy1rZXkoICRfa2VuZG8tZGVwZW5kZW5jaWVzLCAkY29tcG9uZW50ICkgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIEBlcnJvciBcIk1vZHVsZSAnI3skY29tcG9uZW50fScgaXMgbm90IGRlZmluZWQuXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5AaW5jbHVkZSB2ZXJpZnktZGVwZW5kZW5jaWVzKCk7XG5cbkBtaXhpbiB2ZXJpZnktcmVuZGVyZWQoKSB7XG4gICAgQGVhY2ggJGNvbXBvbmVudCBpbiAka2VuZG8tY29tcG9uZW50cyB7XG4gICAgICAgIEBpZiAoay1saXN0LWluZGV4KCAkX2ltcG9ydGVkLCAkY29tcG9uZW50ICkgPT0gbnVsbCkge1xuICAgICAgICAgICAgQGVycm9yIFwiTW9kdWxlICcjeyRjb21wb25lbnR9JyBoYXMgbm90IGJlZW4gcmVuZGVyZWQuXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNjc3MvYXQtaWYtbm8tbnVsbFxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3N0eWxlcy9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3N0eWxlcy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYWNjZXNzaWJpbGl0eS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19hY2Nlc3NpYmlsaXR5LnNjc3NcbkBtaXhpbiBrZW5kby1jb3JlLS1zdHlsZXMtLWFjY2Vzc2liaWxpdHkoKSB7XG5cbiAgICAvLy8gVGhpcyBjbGFzcyBjb3VsZCBiZSBhc3NpZ25lZCB0byBlbGVtZW50cyB3aGljaCBzaG91bGQgYmUgdmlzdWFsbHkgaGlkZGVuLCBidXQgcmVtYWluIGFjY2Vzc2libGUgZm9yIHNjcmVlbiByZWFkZXJzLlxuICAgIC8vLyBAbmFtZSAuay1zci1vbmx5XG4gICAgLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG4gICAgLmstc3Itb25seSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2FzcC1mYWxsYmFjay5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19hc3AtZmFsbGJhY2suc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tYXNwLWZhbGxiYWNrKCkge1xuXG4gICAgLmstdGhlbWUtdGVzdC1jbGFzcyxcbiAgICAuay1jb21tb24tdGVzdC1jbGFzcyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tbGF5b3V0KCkge1xuICAgIC5rLWJvZHkge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZvbnQtc2l6ZSwgaW5oZXJpdCApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZvbnQtZmFtaWx5LCBpbmhlcml0ICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tbGluZS1oZWlnaHQsIG5vcm1hbCApLFxuICAgICAgICAgICAgdmFyKCAtLWtlbmRvLWZvbnQtd2VpZ2h0LCBub3JtYWwgKSxcbiAgICAgICAgICAgIHZhciggLS1rZW5kby1sZXR0ZXItc3BhY2luZywgbm9ybWFsICksXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYm9keS10ZXh0LCBpbml0aWFsICksXG4gICAgICAgICAgICB2YXIoIC0ta2VuZG8tYm9keS1iZywgaW5pdGlhbCApXG4gICAgICAgICk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvLyBCYXNpYyBsYXlvdXRcbiAgICAuay1oc3RhY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuICAgIC5rLXZzdGFjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBTcGFjZXJcbiAgICAuay1zcGFjZXIge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLmstc3BhY2VyLXNpemVkIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIEZsb2F0IHdyYXBcbiAgICAuay1mbG9hdC13cmFwOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cblxuICAgIC8vIFN0YWNrIGxheW91dFxuICAgIC5rLXN0YWNrLWxheW91dCB7fVxuXG5cbiAgICAvLyBGbGV4IGxheW91dFxuICAgIC5rLWZsZXgtbGF5b3V0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cblxuICAgIC8vIEdyaWQgbGF5b3V0XG4gICAgLmstZ3JpZC1sYXlvdXQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgIH1cblxuXG4gICAgLy8gU2VwYXJhdG9yXG4gICAgLmstc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB9XG4gICAgLmstc2VwYXJhdG9yLWhvcml6b250YWwsXG4gICAgLmstdnN0YWNrID4gLmstc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgIH1cbiAgICAuay1zZXBhcmF0b3ItdmVydGljYWwsXG4gICAgLmstaHN0YWNrID4gLmstc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgfVxuXG4gICAgaHIuay1zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBIaWRkZW5cbiAgICAuay1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwge1xuICAgICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLmstaGJveCB7IEBleHRlbmQgLmstaHN0YWNrICFvcHRpb25hbDsgfVxuICAgIC5rLXZib3ggeyBAZXh0ZW5kIC5rLXZzdGFjayAhb3B0aW9uYWw7IH1cbiAgICAuay1mbG9hdHdyYXAgeyBAZXh0ZW5kIC5rLWZsb2F0LXdyYXAgIW9wdGlvbmFsOyB9XG4gICAgLmstZmxleCB7IEBleHRlbmQgLmstc3BhY2VyICFvcHRpb25hbDsgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX25vcm1hbGl6ZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19ub3JtYWxpemUuc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tbm9ybWFsaXplKCkge1xuXG4gICAgLy8gSGlkZGVuIGF0dHJpYnV0ZVxuICAgIFtoaWRkZW5dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuXG4gICAgLy8gSGlkZSBzY3JpcHQgdGFnc1xuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGVsZXJpay9rZW5kby10aGVtZXMvaXNzdWVzLzIzNjBcbiAgICBzY3JpcHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2Jhc2Uuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL3N0eWxlcy9fYmFzZS5zY3NzXG5AbWl4aW4ga2VuZG8tY29yZS0tc3R5bGVzLS1iYXNlKCkge1xuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgLmstZGlzYWJsZWQsXG4gICAgLmstd2lkZ2V0W2Rpc2FibGVkXSxcbiAgICAuay1kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkLWNvbG9yKFxuICAgICAgICAgICAgJGNvbG9yOiB2YXIoIC0ta2VuZG8tZGlzYWJsZWQtdGV4dCwgaW5oZXJpdCApLFxuICAgICAgICAgICAgJGJvcmRlcjogdmFyKCAtLWtlbmRvLWRpc2FibGVkLWJvcmRlciwgaW5oZXJpdCApXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBsaW5lXG4gICAgLmstaHIge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCAtLWtlbmRvLWNvbXBvbmVudC1ib3JkZXIsIGluaGVyaXQgKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgICAuay1kLWZsZXgtcm93ID4gLmstaHIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBydWxlXG4gICAgLmstZC1mbGV4LWNvbCA+IC5rLWhyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAuay1zcHJpdGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvLyBMYXlvdXRcbiAgICAuay1yZXNldCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAga2VuZG8tc29ydGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuICAgIC8vIExpbmtzXG4gICAgLmstbGluayxcbiAgICAuay1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIE91dGxpbmVcbiAgICAuay1jb250ZW50IHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAvLyBDZW50ZXJpbmdcbiAgICAuay1jZW50ZXJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZSBtb3VzZSBldmVudHNcbiAgICAuay1uby1jbGljayB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIE9mZi1zY3JlZW4gY29udGFpbmVyIHVzZWQgZHVyaW5nIFBERiBleHBvcnRcbiAgICAuay1wZGYtZXhwb3J0LXNoYWRvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbGVmdDogLTE1MDAwcHg7XG4gICAgICAgIHdpZHRoOiAxNDQwMHB4O1xuICAgIH1cblxuICAgIC8vIFBERiBleHBvcnQgaWNvbnMgZml4XG4gICAgLmtlbmRvLXBkZi1oaWRlLXBzZXVkby1lbGVtZW50czo6YmVmb3JlLFxuICAgIC5rZW5kby1wZGYtaGlkZS1wc2V1ZG8tZWxlbWVudHM6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC8vIERpcnR5IGluZGljYXRvclxuICAgIC5rLWRpcnR5IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICB9XG59XG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sb2FkaW5nLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9zdHlsZXMvX2xvYWRpbmcuc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tbG9hZGluZygpIHtcbiAgICAvLyBMb2FkaW5nIG1hc2tcbiAgICAuay1sb2FkaW5nLW1hc2ssXG4gICAgLmstbG9hZGluZy1pbWFnZSxcbiAgICAuay1sb2FkaW5nLWNvbG9yIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlcixcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbG9hZGluZy1tYXNrIHtcbiAgICAgICAgei1pbmRleDogJGtlbmRvLXppbmRleC1sb2FkaW5nO1xuXG4gICAgICAgICYuay1vcGFxdWUge1xuICAgICAgICAgICAgLmstbG9hZGluZy1jb2xvciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1sb2FkaW5nLXRleHQge1xuICAgICAgICB0ZXh0LWluZGVudDogLTQwMDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tbG9hZGluZy10ZXh0O1xuICAgIH1cbiAgICAuay1sb2FkaW5nLWltYWdlIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgY29sb3I6ICRrZW5kby1sb2FkaW5nLXRleHQ7XG4gICAgfVxuICAgIC5rLWxvYWRpbmctY29sb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tbG9hZGluZy1iZztcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWxvYWRpbmctb3BhY2l0eTtcbiAgICB9XG5cbiAgICAvLyBMb2FkaW5nIGluZGljYXRvclxuICAgIC5rLWktbG9hZGluZyB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tbG9hZGluZy10ZXh0O1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWktbG9hZGluZzo6YmVmb3JlLFxuICAgIC5rLWktbG9hZGluZzo6YWZ0ZXIsXG4gICAgLmstbG9hZGluZy1pbWFnZTo6YmVmb3JlLFxuICAgIC5rLWxvYWRpbmctaW1hZ2U6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAuMDVlbTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstaWNvbi5rLWktbG9hZGluZzo6YmVmb3JlLFxuICAgIC5rLWljb24uay1pLWxvYWRpbmc6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAuay1pLWxvYWRpbmc6OmJlZm9yZSxcbiAgICAuay1sb2FkaW5nLWltYWdlOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAtLjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0uNWVtO1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBrLWxvYWRpbmctYW5pbWF0aW9uIC43cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLmstaS1sb2FkaW5nOjphZnRlcixcbiAgICAuay1sb2FkaW5nLWltYWdlOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0uMjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0uMjVlbTtcbiAgICAgICAgd2lkdGg6IC41ZW07XG4gICAgICAgIGhlaWdodDogLjVlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBrLWxvYWRpbmctYW5pbWF0aW9uIHJldmVyc2UgMS40cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLmstbG9hZGluZy1pbWFnZTo6YmVmb3JlLFxuICAgIC5rLWxvYWRpbmctaW1hZ2U6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90ZWxlcmlrL2tlbmRvLXRoZW1lcy9pc3N1ZXMvMTkyNVxuICAgICAgICBib3JkZXItd2lkdGg6IDFweDsgLy8gVE9ETzogUmVtb3ZlIG9uY2Ugd2UgZHJvcCBJRSBzdXBwb3J0XG4gICAgICAgIGJvcmRlci13aWR0aDogY2xhbXAoIC4wMTVlbSwgMXB4LCAxcHggKTtcbiAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgfVxuXG4gICAgLy8gTG9hZGluZyBhbmltYXRpb25cbiAgICBAa2V5ZnJhbWVzIGstbG9hZGluZy1hbmltYXRpb24ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3NlbGVjdGlvbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19zZWxlY3Rpb24uc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tc2VsZWN0aW9uKCkge1xuICAgIC5rLW1hcnF1ZWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICB9XG5cbiAgICAuay1tYXJxdWVlLWNvbG9yLFxuICAgIC5rLW1hcnF1ZWUtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5rLW1hcnF1ZWUtY29sb3Ige1xuICAgICAgICBjb2xvcjogJGtlbmRvLXNlbGVjdGVkLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGstZ2V0LXRoZW1lLWNvbG9yLXZhciggcHJpbWFyeS02MCwgI3ska2VuZG8tc2VsZWN0ZWQtYmd9ICk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogay1nZXQtdGhlbWUtY29sb3ItdmFyKCBwcmltYXJ5LTEwMCwgI3ska2VuZG8tc2VsZWN0ZWQtYm9yZGVyfSApO1xuICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICB9XG4gICAgLmstbWFycXVlZS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1zZWxlY3RlZC10ZXh0O1xuICAgIH1cbn1cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NvbG9ycy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3Mvc3R5bGVzL19jb2xvcnMuc2Nzc1xuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcy0tY29sb3JzKCkge1xuICAgIEBpZiAoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgQGluY2x1ZGUgY29sb3Itc3lzdGVtLS1zdHlsZXMoKTtcbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLWNvcmUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS1zdHlsZXMtLWNvbG9ycygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tYWNjZXNzaWJpbGl0eSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tYXNwLWZhbGxiYWNrKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29yZS0tc3R5bGVzLS1sYXlvdXQoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS1zdHlsZXMtLW5vcm1hbGl6ZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tYmFzZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tbG9hZGluZygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvcmUtLXN0eWxlcy0tc2VsZWN0aW9uKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbiRfZGVmYXVsdC1lbGV2YXRpb246IChcbiAgICAxOiAoXG4gICAgICAgIDAgMnB4IDNweCByZ2JhKDAsIDAsIDAsIC4wNCksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICAyOiAoXG4gICAgICAgIDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIC4wNiksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICAzOiAoXG4gICAgICAgIDAgNnB4IDhweCByZ2JhKDAsIDAsIDAsIC4wOCksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICA0OiAoXG4gICAgICAgIDAgOHB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMTIpLFxuICAgICAgICAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjEyKVxuICAgICksXG4gICAgNTogKFxuICAgICAgICAwIDEwcHggMTJweCByZ2JhKDAsIDAsIDAsIC4xNiksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICA2OiAoXG4gICAgICAgIDAgMTJweCAxNHB4IHJnYmEoMCwgMCwgMCwgLjIpLFxuICAgICAgICAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjEyKVxuICAgICksXG4gICAgNzogKFxuICAgICAgICAwIDE0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4yNCksXG4gICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpXG4gICAgKSxcbiAgICA4OiAoXG4gICAgICAgIDAgMTZweCAxOHB4IHJnYmEoMCwgMCwgMCwgLjI4KSxcbiAgICAgICAgMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4xMilcbiAgICApLFxuICAgIDk6IChcbiAgICAgICAgMCAzMnB4IDM0cHggcmdiYSgwLCAwLCAwLCAuMzIpLFxuICAgICAgICAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjEyKVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2xvYmFsIGRlZmF1bHQgRWxldmF0aW9uIG1hcC5cbi8vLyBAZ3JvdXAgZWxldmF0aW9uXG4ka2VuZG8tZWxldmF0aW9uOiAkX2RlZmF1bHQtZWxldmF0aW9uICFkZWZhdWx0O1xuXG4ka2VuZG8tZWxldmF0aW9uOiBrLW1hcC1tZXJnZSgkX2RlZmF1bHQtZWxldmF0aW9uLCAka2VuZG8tZWxldmF0aW9uKTtcblxuQGZ1bmN0aW9uIGstc2hhZG93LWZpbHRlcigkc2hhZG93KSB7XG4gICAgJHJlc3VsdDogJyc7XG4gICAgQGVhY2ggJHZhbHVlIGluICRzaGFkb3cge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgXCJkcm9wLXNoYWRvdyhcIiArICR2YWx1ZSArIFwiKSBcIjtcbiAgICB9XG4gICAgQHJldHVybiAjeyRyZXN1bHR9O1xufVxuXG5AZnVuY3Rpb24gay1lbGV2YXRpb24oJGxldmVsKSB7XG4gICAgQHJldHVybiB2YXIoLS1rZW5kby1lbGV2YXRpb24tI3skbGV2ZWx9LCBrLW1hcC1nZXQoJGtlbmRvLWVsZXZhdGlvbiwgJGxldmVsKSk7XG59XG5cblxuQG1peGluIGtlbmRvLWVsZXZhdGlvbi0tc3R5bGVzKCkge1xuICAgIDpyb290IHtcbiAgICAgICAgQGVhY2ggJGxldmVsLCAkc2hhZG93IGluICRrZW5kby1lbGV2YXRpb24ge1xuICAgICAgICAgICAgLS1rZW5kby1lbGV2YXRpb24tI3skbGV2ZWx9OiAjeyRzaGFkb3d9O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtY29yZS9zY3NzL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9mdW5jdGlvbnMvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cbi8vIE9wdGlvbnNcbiRrZW5kby1lbmFibGUtc2hhZG93czogdHJ1ZSAhZGVmYXVsdDtcbiRrZW5kby1lbmFibGUtcm91bmRlZDogdHJ1ZSAhZGVmYXVsdDtcbiRrZW5kby1lbmFibGUtZ3JhZGllbnRzOiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLWVuYWJsZS10cmFuc2l0aW9uczogdHJ1ZSAhZGVmYXVsdDtcblxuJGtlbmRvLXNwYWNpbmc6IChcbiAgICAwOiAwLFxuICAgIDFweDogMXB4LFxuICAgIDAuNTogMC4xMjVyZW0sXG4gICAgMTogMC4yNXJlbSxcbiAgICAxLjU6IDAuMzc1cmVtLFxuICAgIDI6IDAuNXJlbSxcbiAgICAyLjU6IDAuNjI1cmVtLFxuICAgIDM6IDAuNzVyZW0sXG4gICAgMy41OiAwLjg3NXJlbSxcbiAgICA0OiAxcmVtLFxuICAgIDQuNTogMS4xMjVyZW0sXG4gICAgNTogMS4yNXJlbSxcbiAgICA1LjU6IDEuMzc1cmVtLFxuICAgIDY6IDEuNXJlbSxcbiAgICA2LjU6IDEuNjI1cmVtLFxuICAgIDc6IDEuNzVyZW0sXG4gICAgNy41OiAxLjg3NXJlbSxcbiAgICA4OiAycmVtLFxuICAgIDk6IDIuMjVyZW0sXG4gICAgMTA6IDIuNXJlbSxcbiAgICAxMTogMi43NXJlbSxcbiAgICAxMjogM3JlbSxcbiAgICAxMzogMy4yNXJlbSxcbiAgICAxNDogMy41cmVtLFxuICAgIDE1OiAzLjc1cmVtLFxuICAgIDE2OiA0cmVtLFxuICAgIDE3OiA0LjI1cmVtLFxuICAgIDE4OiA0LjVyZW0sXG4gICAgMTk6IDQuNzVyZW0sXG4gICAgMjA6IDVyZW0sXG4gICAgMjE6IDUuMjVyZW0sXG4gICAgMjI6IDUuNXJlbSxcbiAgICAyMzogNS43NXJlbSxcbiAgICAyNDogNnJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBhbGwgY29tcG9uZW50cy5cbiRrZW5kby1ib3JkZXItcmFkaXVzOiBrLW1hcC1nZXQoJGtlbmRvLXNwYWNpbmcsIDAuNSkgIWRlZmF1bHQ7XG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1zbTogay1tYXRoLWRpdigka2VuZG8tYm9yZGVyLXJhZGl1cywgMikgIWRlZmF1bHQ7XG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1tZDogJGtlbmRvLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4ka2VuZG8tYm9yZGVyLXJhZGl1cy1sZzogKCRrZW5kby1ib3JkZXItcmFkaXVzICogMikgIWRlZmF1bHQ7XG5cbiRrZW5kby1ib3JkZXItcmFkaWk6IChcbiAgICBERUZBVUxUOiB2YXIoLS1rZW5kby1ib3JkZXItcmFkaXVzLW1kLCAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCksXG4gICAgMDogMCxcbiAgICBzbTogdmFyKC0ta2VuZG8tYm9yZGVyLXJhZGl1cy1zbSwgJGtlbmRvLWJvcmRlci1yYWRpdXMtc20pLFxuICAgIG1kOiB2YXIoLS1rZW5kby1ib3JkZXItcmFkaXVzLW1kLCAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCksXG4gICAgbGc6IHZhcigtLWtlbmRvLWJvcmRlci1yYWRpdXMtbGcsICRrZW5kby1ib3JkZXItcmFkaXVzLWxnKSxcbiAgICBub25lOiAwLFxuICAgIGZ1bGw6IDk5OTlweCxcbikgIWRlZmF1bHQ7XG5cbi8vIE1ldHJpY3NcbiRrZW5kby1wYWRkaW5nLXg6IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMikgIWRlZmF1bHQ7XG4ka2VuZG8tcGFkZGluZy15OiBrLW1hcC1nZXQoJGtlbmRvLXNwYWNpbmcsIDEpICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmctc20teDogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCAxKSAhZGVmYXVsdDtcbiRrZW5kby1wYWRkaW5nLXNtLXk6IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMC41KSAhZGVmYXVsdDtcbiRrZW5kby1wYWRkaW5nLW1kLXg6IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMikgIWRlZmF1bHQ7XG4ka2VuZG8tcGFkZGluZy1tZC15OiBrLW1hcC1nZXQoJGtlbmRvLXNwYWNpbmcsIDEpICFkZWZhdWx0O1xuJGtlbmRvLXBhZGRpbmctbGcteDogay1tYXAtZ2V0KCRrZW5kby1zcGFjaW5nLCAzKSAhZGVmYXVsdDtcbiRrZW5kby1wYWRkaW5nLWxnLXk6IGstbWFwLWdldCgka2VuZG8tc3BhY2luZywgMS41KSAhZGVmYXVsdDtcblxuLy8gRXF1aWxhdGVyYWwgdHJpYW5nbGUgdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBudW1iZXItbWF4LXByZWNpc2lvblxuJGVxdWlsYXRlcmFsLWluZGV4OiAxLjczMjA1MDgwNzYgIWRlZmF1bHQ7XG4kZXF1aWxhdGVyYWwtaGVpZ2h0OiAwLjg2NjAyNTQwMzggIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uXG5cbi8vIExvYWRpbmdcbiRrZW5kby1sb2FkaW5nLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGtlbmRvLXppbmRleC1sb2FkaW5nOiAxMDAgIWRlZmF1bHQ7XG4vLyAjZW5kcmVnaW9uXG5cbi8vICNlbmRyZWdpb25cblxuLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eVxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvci1zeXN0ZW0vX3N3YXRjaC1sZWdhY3kuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvY29sb3Itc3lzdGVtL19zd2F0Y2gtbGVnYWN5LnNjc3NcbkBpZiAoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAkaW5wdXQtYmc6IGstY29sb3IoIGFwcC1zdXJmYWNlICk7XG4gICAgJGlucHV0LWNvbG9yOiBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApO1xuICAgICRpbnB1dC1ib3JkZXItY29sb3I6IGstY29sb3IoIGJvcmRlci1hbHQgKTtcbiAgICAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6IGstY29sb3IoIHN1YnRsZSApO1xuICAgICRrZW5kby1jb2xvci1wcmltYXJ5OiBrLWNvbG9yKCBwcmltYXJ5ICk7XG4gICAgJGtlbmRvLWNvbG9yLXByaW1hcnktY29udHJhc3Q6IGstY29sb3IoIG9uLXByaW1hcnkgKTtcbiAgICAka2VuZG8tY29sb3Itc2Vjb25kYXJ5OiBrLWNvbG9yKCBzZWNvbmRhcnkgKTtcbiAgICAka2VuZG8tY29sb3ItdGVydGlhcnk6IGstY29sb3IoIHRlcnRpYXJ5ICk7XG4gICAgJGtlbmRvLWNvbG9yLWluZm86IGstY29sb3IoIGluZm8gKTtcbiAgICAka2VuZG8tY29sb3Itc3VjY2Vzczogay1jb2xvciggc3VjY2VzcyApO1xuICAgICRrZW5kby1jb2xvci13YXJuaW5nOiBrLWNvbG9yKCB3YXJuaW5nICk7XG4gICAgJGtlbmRvLWNvbG9yLWVycm9yOiBrLWNvbG9yKCBlcnJvciApO1xuICAgICRrZW5kby1jb2xvci1kYXJrOiBrLWNvbG9yKCBkYXJrICk7XG4gICAgJGtlbmRvLWNvbG9yLWxpZ2h0OiBrLWNvbG9yKCBsaWdodCApO1xuICAgICRrZW5kby1jb2xvci1pbnZlcnNlOiAka2VuZG8tY29sb3ItZGFyaztcbiAgICAka2VuZG8tYm9keS1iZzogay1jb2xvciggYXBwLXN1cmZhY2UgKTtcbiAgICAka2VuZG8tYm9keS10ZXh0OiBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApO1xuICAgICRrZW5kby1zdWJ0bGUtdGV4dDogay1jb2xvciggc3VidGxlICk7XG4gICAgJGtlbmRvLWFwcC1iZzogay1jb2xvciggc3VyZmFjZSApO1xuICAgICRrZW5kby1hcHAtdGV4dDogJGtlbmRvLWJvZHktdGV4dDtcbiAgICAka2VuZG8tYXBwLWJvcmRlcjogay1jb2xvciggYm9yZGVyICk7XG4gICAgJGtlbmRvLWxpbmstdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG4gICAgJGtlbmRvLWxpbmstaG92ZXItdGV4dDogay1jb2xvciggcHJpbWFyeS1ob3ZlciApO1xuICAgICRrZW5kby1jb21wb25lbnQtYmc6ICRrZW5kby1ib2R5LWJnO1xuICAgICRrZW5kby1jb21wb25lbnQtdGV4dDogJGtlbmRvLWJvZHktdGV4dDtcbiAgICAka2VuZG8tY29tcG9uZW50LWJvcmRlcjogJGtlbmRvLWFwcC1ib3JkZXI7XG4gICAgJGtlbmRvLWJhc2UtYmc6IGstY29sb3IoIHN1cmZhY2UgKTtcbiAgICAka2VuZG8tYmFzZS10ZXh0OiAka2VuZG8tYm9keS10ZXh0O1xuICAgICRrZW5kby1iYXNlLWJvcmRlcjogJGtlbmRvLWFwcC1ib3JkZXI7XG4gICAgJGtlbmRvLWJhc2UtZ3JhZGllbnQ6IG51bGw7XG4gICAgJGtlbmRvLWhvdmVyLWJnOiBrLWNvbG9yKCBiYXNlLXN1YnRsZS1ob3ZlciApO1xuICAgICRrZW5kby1ob3Zlci10ZXh0OiAka2VuZG8tYmFzZS10ZXh0O1xuICAgICRrZW5kby1ob3Zlci1ib3JkZXI6ICRrZW5kby1iYXNlLWJvcmRlcjtcbiAgICAka2VuZG8taG92ZXItZ3JhZGllbnQ6IG51bGw7XG4gICAgJGtlbmRvLXNlbGVjdGVkLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeTtcbiAgICAka2VuZG8tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktY29udHJhc3Q7XG4gICAgJGtlbmRvLXNlbGVjdGVkLWJvcmRlcjogay1jb2xvciggcHJpbWFyeSApO1xuICAgICRrZW5kby1zZWxlY3RlZC1ncmFkaWVudDogJGtlbmRvLWJhc2UtZ3JhZGllbnQ7XG4gICAgJGtlbmRvLXNlbGVjdGVkLWhvdmVyLWJnOiBrLWNvbG9yKCBwcmltYXJ5LWhvdmVyICk7XG4gICAgJGtlbmRvLXNlbGVjdGVkLWhvdmVyLXRleHQ6ICRrZW5kby1zZWxlY3RlZC10ZXh0O1xuICAgICRrZW5kby1zZWxlY3RlZC1ob3Zlci1ib3JkZXI6ICRrZW5kby1iYXNlLWJvcmRlcjtcbiAgICAka2VuZG8tc2VsZWN0ZWQtaG92ZXItZ3JhZGllbnQ6ICRrZW5kby1iYXNlLWdyYWRpZW50O1xuICAgICRrZW5kby1kaXNhYmxlZC10ZXh0OiBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApO1xuICAgICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnOiAka2VuZG8tYmFzZS1iZztcbiAgICAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQ7XG4gICAgJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlcjtcbiAgICAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ncmFkaWVudDogbnVsbDtcbiAgICAka2VuZG8taW52YWxpZC1iZzogbnVsbDtcbiAgICAka2VuZG8taW52YWxpZC10ZXh0OiAka2VuZG8tY29sb3ItZXJyb3I7XG4gICAgJGtlbmRvLWludmFsaWQtYm9yZGVyOiAka2VuZG8tY29sb3ItZXJyb3I7XG4gICAgJGtlbmRvLWludmFsaWQtc2hhZG93OiAwIDAgMCAuMjVyZW0gY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGVycm9yICkgMjUlLCB0cmFuc3BhcmVudCk7XG5cbiAgICAka2VuZG8tdGhlbWUtY29sb3JzOiAoXG4gICAgICAgIFwicHJpbWFyeVwiOiAka2VuZG8tY29sb3ItcHJpbWFyeSxcbiAgICAgICAgXCJzZWNvbmRhcnlcIjogJGtlbmRvLWNvbG9yLXNlY29uZGFyeSxcbiAgICAgICAgXCJ0ZXJ0aWFyeVwiOiAka2VuZG8tY29sb3ItdGVydGlhcnksXG4gICAgICAgIFwiaW5mb1wiOiAka2VuZG8tY29sb3ItaW5mbyxcbiAgICAgICAgXCJzdWNjZXNzXCI6ICRrZW5kby1jb2xvci1zdWNjZXNzLFxuICAgICAgICBcIndhcm5pbmdcIjogJGtlbmRvLWNvbG9yLXdhcm5pbmcsXG4gICAgICAgIFwiZXJyb3JcIjogJGtlbmRvLWNvbG9yLWVycm9yLFxuICAgICAgICBcImRhcmtcIjogJGtlbmRvLWNvbG9yLWRhcmssXG4gICAgICAgIFwibGlnaHRcIjogJGtlbmRvLWNvbG9yLWxpZ2h0LFxuICAgICAgICBcImludmVyc2VcIjogJGtlbmRvLWNvbG9yLWludmVyc2UsXG4gICAgKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyBFeHBvc2VcbkBpbmNsdWRlIGV4cG9ydHMoXCJrZW5kby1jb3JlLXN0eWxlc1wiKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29yZS0tc3R5bGVzKCk7XG5cbiAgICAvLyBFbGV2YXRpb24gU3lzdGVtXG4gICAgQGluY2x1ZGUga2VuZG8tZWxldmF0aW9uLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2Jhc2Uuc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9fYmFzZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbW1vbi9fYmFzZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29tbW9uL19iYXNlLnNjc3NcbkBpbmNsdWRlIGV4cG9ydHMoIFwiY29tbW9uL2xheW91dFwiICkge1xuXG4gICAgLy8gTGF5b3V0XG4gICAgLmstcmVzZXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIGtlbmRvLXNvcnRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG5cbiAgICAvLyBMaW5rc1xuICAgIC5rLWxpbmssXG4gICAgLmstbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAvLyBPdXRsaW5lXG4gICAgLmstY29udGVudCB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBDZW50ZXJpbmdcbiAgICAuay1jZW50ZXJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuXG5cbiAgICAvLyBEaXNhYmxlIG1vdXNlIGV2ZW50c1xuICAgIC5rLW5vLWNsaWNrIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBPZmYtc2NyZWVuIGNvbnRhaW5lciB1c2VkIGR1cmluZyBQREYgZXhwb3J0XG4gICAgLmstcGRmLWV4cG9ydC1zaGFkb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGxlZnQ6IC0xNTAwMHB4O1xuICAgICAgICB3aWR0aDogMTQ0MDBweDtcbiAgICB9XG5cbiAgICAvLyBQREYgZXhwb3J0IGljb25zIGZpeFxuICAgIC5rZW5kby1wZGYtaGlkZS1wc2V1ZG8tZWxlbWVudHM6OmJlZm9yZSxcbiAgICAua2VuZG8tcGRmLWhpZGUtcHNldWRvLWVsZW1lbnRzOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyggXCJjb21tb24vdGhlbWVcIiApIHtcblxuICAgIC8vIFRleHQgc2VsZWN0aW9uXG4gICAgLmstdGV4dC1zZWxlY3Rpb24ge1xuICAgICAgICA6OnNlbGVjdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeS1jb250cmFzdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBhbmVsc1xuICAgIC5rLWJsb2NrLFxuICAgIC5rLXBhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgKTtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtYmcsXG4gICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICA+IC5rLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyggJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWhlYWRlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApO1xuICAgICAgICB9XG4gICAgICAgID4gLmstY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1iZyxcbiAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyggXCJjb21tb24vZGlzYWJsZWRcIiApIHtcblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgLmstZGlzYWJsZWQsXG4gICAgLmstd2lkZ2V0W2Rpc2FibGVkXSB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKCAka2VuZG8tZGlzYWJsZWQtc3R5bGluZyApO1xuXG5cbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBOZXN0ZWQgZGlzYWJsZWRcbiAgICAgICAgW2Rpc2FibGVkXSxcbiAgICAgICAgLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyggXCJjb21tb24vbWlzYy9oclwiICkge1xuXG4gICAgLmstaHIge1xuICAgICAgICBtYXJnaW46IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tY29tcG9uZW50LWJvcmRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgICAuay1kLWZsZXgtcm93ID4gLmstaHIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBydWxlXG4gICAgLmstZC1mbGV4LWNvbCA+IC5rLWhyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKCBcImNvbW1vbi9taXNjL2RpcnR5XCIgKSB7XG5cbiAgICAvLyBEaXJ0eSBpbmRpY2F0b3JcbiAgICAuay1kaXJ0eSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbG9yLWVycm9yICRrZW5kby1jb2xvci1lcnJvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIFtkaXI9XCJydGxcIl0sXG4gICAgLmstcnRsIHtcbiAgICAgICAgLmstZGlydHkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAka2VuZG8tY29sb3ItZXJyb3IgJGtlbmRvLWNvbG9yLWVycm9yO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYW5pbWF0aW9ucy5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19hbmltYXRpb25zLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29tbW9uL19hbmltYXRpb25zLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21tb24vX2FuaW1hdGlvbnMuc2Nzc1xuQGluY2x1ZGUgZXhwb3J0cyhcImFuaW1hdGlvbi9jb250YWluZXJcIikge1xuXG4gICAgLmstYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICYtZml4ZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1yZWxhdGl2ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYW5pbWF0aW9uL2VmZmVjdFwiKSB7XG5cbiAgICAuay1wdXNoLXJpZ2h0IHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1wdXNoLWxlZnQge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXB1c2gtZG93biB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcHVzaC11cCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZXhwYW5kLXZlcnRpY2FsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWV4cGFuZC1ob3Jpem9udGFsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZhZGUge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUgKyAmLWV4aXQtYWN0aXZlLFxuICAgICAgICAmLWVudGVyLWFjdGl2ZSArICYtZW50ZXItYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay16b29tLWluIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtLCBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSwgb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXpvb20tb3V0IHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtLCBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSwgb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNsaWRlLWluIHtcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgb3BhY2l0eTogLjE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM2VtKTtcblxuICAgICAgICAgICAgLmstY2VudGVyZWQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC02MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4yLCAuNiwgLjQsIDEpLCBvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjIsIDEsIC4yLCAxKTtcblxuICAgICAgICAgICAgLmstY2VudGVyZWQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtZG93biB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQtYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZS11cCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtcmlnaHQge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRlci1hY3RpdmUsXG4gICAgICAgICYtYXBwZWFyLWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWV4aXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0LWFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGUtbGVmdCB7XG4gICAgICAgICYtZW50ZXIsXG4gICAgICAgICYtYXBwZWFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1leGl0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmV2ZWFsLXZlcnRpY2FsIHtcbiAgICAgICAgJi1lbnRlcixcbiAgICAgICAgJi1hcHBlYXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZW50ZXItYWN0aXZlLFxuICAgICAgICAmLWFwcGVhci1hY3RpdmUge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgLy8gb3ZlcnJpZGUgYW55IG1heC1oZWlnaHQgc2V0IHRvIGVsZW1lbnQgdG8gYWxsb3cgYW5pbWF0aW9uXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmV2ZWFsLWhvcml6b250YWwge1xuICAgICAgICAmLWVudGVyLFxuICAgICAgICAmLWFwcGVhciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAgICAgJi1hcHBlYXItYWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZXhpdC1hY3RpdmUge1xuICAgICAgICAgICAgLy8gb3ZlcnJpZGUgYW55IG1heC1oZWlnaHQgc2V0IHRvIGVsZW1lbnQgdG8gYWxsb3cgYW5pbWF0aW9uXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYW5pbWF0aW9uL2Z4XCIpIHtcbiAgICAkZngtZHVyYXRpb246IDM1MG1zO1xuXG4gICAgLmstZngtZW5kIC5rLWZ4LW5leHQsXG4gICAgLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGZ4LWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIC5rLWZ4IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZ4LWhpZGRlbixcbiAgICAuay1meC1oaWRkZW4gKiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1meC1uZXh0IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBab29tXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgLmstZngtem9vbSB7XG4gICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtcmV2ZXJzZSB7XG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCxcbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgLy8gRmFkZVxuICAgIC5rLWZ4LWZhZGUge1xuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTbGlkZVxuICAgIC5rLWZ4LXNsaWRlIHtcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1mb290ZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstZm9vdGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlcixcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmttLWhlYWRlcixcbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRmeC1kdXJhdGlvbiBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxlZnRcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWhlYWRlcixcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstZm9vdGVyLFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tZm9vdGVyIHtcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1mb290ZXIsXG4gICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAua20taGVhZGVyLFxuICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGVmdCByZXZlcnNlXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rLWNvbnRlbnQsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmstZm9vdGVyLFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQgLmttLWhlYWRlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWhlYWRlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rLWZvb3RlcixcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IC5rbS1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQgLmstaGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rLWZvb3RlcixcbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAua20taGVhZGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1mb290ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCAuay1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmstZm9vdGVyLFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IC5rbS1oZWFkZXIsXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWZvb3RlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJpZ2h0XG4gICAgICAgICYuay1meC1yaWdodCB7XG4gICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHJpZ2h0IHJldmVyc2VcbiAgICAgICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IC5rbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAuay1jb250ZW50LFxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCAua20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmstY29udGVudCxcbiAgICAgICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LW5leHQgLmttLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRpbGVcbiAgICAuay1meC10aWxlIHtcbiAgICAgICAgLy8gbGVmdFxuICAgICAgICAmLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsZWZ0IHJldmVyc2VcbiAgICAgICAgJi5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmlnaHRcbiAgICAgICAgJi5rLWZ4LXJpZ2h0IHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcmlnaHQgcmV2ZXJzZVxuICAgICAgICAgICAgJi5rLWZ4LXJldmVyc2Uge1xuICAgICAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdmVybGF5XG4gICAgLmstZnguay1meC1vdmVybGF5IHtcbiAgICAgICAgJi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQsXG4gICAgICAgICYuay1meC1sZWZ0LmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LXJpZ2h0LmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWZ4LXVwLmstZngtc3RhcnQgLmstZngtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZngtZG93bi5rLWZ4LXN0YXJ0IC5rLWZ4LW5leHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1meC1yZXZlcnNlIHtcbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1uZXh0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1meC1zdGFydCAuay1meC1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWVuZCAuay1meC1jdXJyZW50LFxuICAgICAgICAgICAgJi5rLWZ4LWxlZnQuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZngtcmlnaHQuay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LXVwLmstZngtZW5kIC5rLWZ4LWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZ4LWRvd24uay1meC1lbmQgLmstZngtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19pbmRpY2F0b3JzLnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGljYXRvcnMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21tb24vX2luZGljYXRvcnMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbW1vbi9faW5kaWNhdG9ycy5zY3NzXG5AaW5jbHVkZSBleHBvcnRzKCBcImNvbW1vbi9pbmRpY2F0b3JzL2N1cnJlbnQtdGltZVwiICkge1xuXG4gICAgJGtlbmRvLWN1cnJlbnQtdGltZS1jb2xvcjogI2ZmMDAwMCAhZGVmYXVsdDtcblxuICAgIC8vIExheW91dFxuICAgIC5rLWN1cnJlbnQtdGltZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmLmstY3VycmVudC10aW1lLWFycm93LWxlZnQsXG4gICAgICAgICYuay1jdXJyZW50LXRpbWUtYXJyb3ctcmlnaHQsXG4gICAgICAgICYuay1jdXJyZW50LXRpbWUtYXJyb3ctZG93biB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRoZW1lXG4gICAgLmstY3VycmVudC10aW1lIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWN1cnJlbnQtdGltZS1jb2xvcjtcblxuICAgICAgICAmLmstY3VycmVudC10aW1lLWFycm93LWxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAka2VuZG8tY3VycmVudC10aW1lLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWN1cnJlbnQtdGltZS1hcnJvdy1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGtlbmRvLWN1cnJlbnQtdGltZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1jdXJyZW50LXRpbWUtYXJyb3ctZG93biB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tY3VycmVudC10aW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fcmVzaXppbmcuc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9fcmVzaXppbmcuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21tb24vX3Jlc2l6aW5nLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21tb24vX3Jlc2l6aW5nLnNjc3NcbkBpbmNsdWRlIGV4cG9ydHMoIFwiY29tbW9uL3Jlc2l6aW5nXCIgKSB7XG5cbiAgICAvLyBSZXNpemUgaGFuZGxlXG4gICAgLmstcmVzaXplLWhhbmRsZSxcbiAgICAuay1yZXNpemUtaGludCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmstcmVzaXplLWhhbmRsZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgIGN1cnNvcjogbi1yZXNpemU7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IC0zcHg7XG4gICAgICAgIGN1cnNvcjogcy1yZXNpemU7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS13IHtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0zcHg7XG4gICAgICAgIGN1cnNvcjogdy1yZXNpemU7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1lIHtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICBjdXJzb3I6IGUtcmVzaXplO1xuICAgIH1cblxuICAgIC5rLXJlc2l6ZS1zdyxcbiAgICAuay1yZXNpemUtc2UsXG4gICAgLmstcmVzaXplLW53LFxuICAgIC5rLXJlc2l6ZS1uZSB7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgIH1cblxuICAgIC5rLXJlc2l6ZS1zdyB7XG4gICAgICAgIGN1cnNvcjogc3ctcmVzaXplO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIC5rLXJlc2l6ZS1zZSB7XG4gICAgICAgIGN1cnNvcjogc2UtcmVzaXplO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAuay1yZXNpemUtbncge1xuICAgICAgICBjdXJzb3I6IG53LXJlc2l6ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAuay1yZXNpemUtbmUge1xuICAgICAgICBjdXJzb3I6IG5lLXJlc2l6ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuay12ZXJ0aWNhbC1yZXNpemUge1xuICAgICAgICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gICAgfVxuICAgIC5rLWhvcml6b250YWwtcmVzaXplIHtcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgIH1cblxuXG4gICAgLmstcmVzaXplLWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5rLXJlc2l6ZS1oaW50LWhhbmRsZSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLWhpbnQtbWFya2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1yZXNpemUtaGludC12ZXJ0aWNhbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstcmVzaXplLWhpbnQtaGFuZGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1oaW50LW1hcmtlciB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19zY3JvbGxiYXIuc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9fc2Nyb2xsYmFyLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29tbW9uL19zY3JvbGxiYXIuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbW1vbi9fc2Nyb2xsYmFyLnNjc3NcbkBpbmNsdWRlIGV4cG9ydHMoIFwiY29tbW9uL3Njcm9sbGJhclwiICkge1xuXG4gICAgLy8gdmlydHVhbCBzY3JvbGxiYXJcbiAgICAuay1zY3JvbGxiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsYmFyLXZlcnRpY2FsIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDE3cHg7IC8vIHNjcm9sbGJhciB3aWR0aFxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay10b3VjaC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDIwMDAwMDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTg1ODU7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gVHlwb2dyYXBoeSBhbmQgdXRpbHNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdHlwb2dyYXBoeS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3R5cG9ncmFwaHkvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInV0aWxzXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mdW5jdGlvbnMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9fZnVuY3Rpb25zLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZnVuY3Rpb25zL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9fdmFyaWFibGVzLnNjc3NcbiRrZW5kby1wcmVmaXg6IGstICFkZWZhdWx0O1xuJGtlbmRvLWltcG9ydGFudDogdHJ1ZSAhZGVmYXVsdDtcblxuJGtlbmRvLXRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbiRrZW5kby1mb250LXNpemVzOiAoKSAhZGVmYXVsdDtcblxuJGtlbmRvLXNwYWNpbmc6IChcbiAgICAwOiAwLFxuICAgIDFweDogMXB4LFxuICAgIDAuNTogLjEyNXJlbSxcbiAgICAxOiAuMjVyZW0sXG4gICAgMS41OiAuMzc1cmVtLFxuICAgIDI6IC41cmVtLFxuICAgIDIuNTogLjYyNXJlbSxcbiAgICAzOiAuNzVyZW0sXG4gICAgMy41OiAuODc1cmVtLFxuICAgIDQ6IDFyZW0sXG4gICAgNC41OiAxLjEyNXJlbSxcbiAgICA1OiAxLjI1cmVtLFxuICAgIDUuNTogMS4zNzVyZW0sXG4gICAgNjogMS41cmVtLFxuICAgIDYuNTogMS42MjVyZW0sXG4gICAgNzogMS43NXJlbSxcbiAgICA3LjU6IDEuODc1cmVtLFxuICAgIDg6IDJyZW0sXG4gICAgOTogMi4yNXJlbSxcbiAgICAxMDogMi41cmVtLFxuICAgIDExOiAyLjc1cmVtLFxuICAgIDEyOiAzcmVtLFxuICAgIDEzOiAzLjI1cmVtLFxuICAgIDE0OiAzLjVyZW0sXG4gICAgMTU6IDMuNzVyZW0sXG4gICAgMTY6IDRyZW0sXG4gICAgMTc6IDQuMjVyZW0sXG4gICAgMTg6IDQuNXJlbSxcbiAgICAxOTogNC43NXJlbSxcbiAgICAyMDogNXJlbSxcbiAgICAyMTogNS4yNXJlbSxcbiAgICAyMjogNS41cmVtLFxuICAgIDIzOiA1Ljc1cmVtLFxuICAgIDI0OiA2cmVtXG4pICFkZWZhdWx0O1xuXG4ka2VuZG8tc2l6aW5nOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNwYWNpbmcsIChcbiAgICBcImF1dG9cIjogYXV0byxcbiAgICBcIjEvMlwiOiA1MCUsXG4gICAgXCIxLzNcIjogMzMuMzMzMzMzJSxcbiAgICBcIjIvM1wiOiA2Ni42NjY2NjclLFxuICAgIFwiMS80XCI6IDI1JSxcbiAgICBcIjIvNFwiOiA1MCUsXG4gICAgXCIzLzRcIjogNzUlLFxuICAgIFwiMS81XCI6IDIwJSxcbiAgICBcIjIvNVwiOiA0MCUsXG4gICAgXCIzLzVcIjogNjAlLFxuICAgIFwiNC81XCI6IDgwJSxcbiAgICBcIjEvNlwiOiAxNi42NjY2NjclLFxuICAgIFwiMi82XCI6IDMzLjMzMzMzMyUsXG4gICAgXCIzLzZcIjogNTAlLFxuICAgIFwiNC82XCI6IDY2LjY2NjY2NyUsXG4gICAgXCI1LzZcIjogODMuMzMzMzMzJSxcbiAgICBcIjEvMTJcIjogOC4zMzMzMzMlLFxuICAgIFwiMi8xMlwiOiAxNi42NjY2NjclLFxuICAgIFwiMy8xMlwiOiAyNSUsXG4gICAgXCI0LzEyXCI6IDMzLjMzMzMzMyUsXG4gICAgXCI1LzEyXCI6IDQxLjY2NjY2NyUsXG4gICAgXCI2LzEyXCI6IDUwJSxcbiAgICBcIjcvMTJcIjogNTguMzMzMzMzJSxcbiAgICBcIjgvMTJcIjogNjYuNjY2NjY3JSxcbiAgICBcIjkvMTJcIjogNzUlLFxuICAgIFwiMTAvMTJcIjogODMuMzMzMzMzJSxcbiAgICBcIjExLzEyXCI6IDkxLjY2NjY2NyUsXG4gICAgXCJmdWxsXCI6IDEwMCUsXG4gICAgXCJtaW5cIjogbWluLWNvbnRlbnQsXG4gICAgXCJtYXhcIjogbWF4LWNvbnRlbnQsXG4gICAgXCJmaXRcIjogZml0LWNvbnRlbnRcbikpICFkZWZhdWx0O1xuXG4ka2VuZG8tYm9yZGVyLXJhZGlpOiAoXG4gICAgREVGQVVMVDogLjI1cmVtLFxuICAgIDA6IDAsXG4gICAgc206IC4xMjVyZW0sXG4gICAgbWQ6IC4yNXJlbSxcbiAgICBsZzogLjVyZW0sXG4gICAgZnVsbDogOTk5OXB4XG4pICFkZWZhdWx0O1xuXG4ka2VuZG8tdXRpbHM6IChcblxuICAgIC8vIEFjY2Vzc2liaWxpdHlcbiAgICBcInNjcmVlbi1yZWFkZXJzXCI6IHRydWUsXG5cbiAgICAvLyBMYXlvdXRcbiAgICBcImFzcGVjdC1yYXRpb1wiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIDE6IDEsXG4gICAgICAgIHNxdWFyZTogay1zdHJpbmctdW5xdW90ZShcIjEgLyAxXCIpLFxuICAgICAgICB2aWRlbzogay1zdHJpbmctdW5xdW90ZShcIjE2IC8gOVwiKVxuICAgICksXG4gICAgXCJjb250YWluZXJcIjogKCksXG4gICAgXCJjb2x1bW5zXCI6IChcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgNjogNixcbiAgICAgICAgNzogNyxcbiAgICAgICAgODogOCxcbiAgICAgICAgOTogOSxcbiAgICAgICAgMTA6IDEwLFxuICAgICAgICAxMTogMTEsXG4gICAgICAgIDEyOiAxMixcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJicmVhay1hZnRlclwiOiAoKSxcbiAgICBcImJyZWFrLWJlZm9yZVwiOiAoKSxcbiAgICBcImJyZWFrLWluc2lkZVwiOiAoKSxcbiAgICBcImJveC1kZWNvcmF0aW9uLWJyZWFrXCI6ICgpLFxuICAgIFwiYm94LXNpemluZ1wiOiAoXG4gICAgICAgIGJvcmRlcjogYm9yZGVyLWJveCxcbiAgICAgICAgY29udGVudDogY29udGVudC1ib3hcbiAgICApLFxuICAgIFwiZGlzcGxheVwiOiAoXG4gICAgICAgIG5vbmUsXG4gICAgICAgIGNvbnRlbnRzLFxuICAgICAgICBibG9jayxcbiAgICAgICAgaW5saW5lLFxuICAgICAgICBpbmxpbmUtYmxvY2ssXG4gICAgICAgIGZsZXgsXG4gICAgICAgIGlubGluZS1mbGV4LFxuICAgICAgICBncmlkLFxuICAgICAgICBpbmxpbmUtZ3JpZCxcbiAgICAgICAgdGFibGUsXG4gICAgICAgIGlubGluZS10YWJsZSxcbiAgICAgICAgdGFibGUtcm93LFxuICAgICAgICB0YWJsZS1jZWxsLFxuICAgICAgICBsaXN0LWl0ZW1cbiAgICApLFxuICAgIFwiZmxvYXRcIjogKFxuICAgICAgICBsZWZ0LFxuICAgICAgICByaWdodCxcbiAgICAgICAgbm9uZVxuICAgICksXG4gICAgXCJjbGVhclwiOiAoXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHJpZ2h0LFxuICAgICAgICBib3RoLFxuICAgICAgICBub25lXG4gICAgKSxcbiAgICBcImlzb2xhdGlvblwiOiAoKSxcbiAgICBcIm9iamVjdC1maXRcIjogKFxuICAgICAgICBjb250YWluLFxuICAgICAgICBjb3ZlcixcbiAgICAgICAgZmlsbCxcbiAgICAgICAgc2NhbGUtZG93bixcbiAgICAgICAgaW5pdGlhbCxcbiAgICAgICAgbm9uZVxuICAgICksXG4gICAgXCJvYmplY3QtcG9zaXRpb25cIjogKFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgdG9wOiB0b3AsXG4gICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgYm90dG9tOiBib3R0b20sXG4gICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIHRvcC1sZWZ0OiB0b3AgbGVmdCxcbiAgICAgICAgdG9wLXJpZ2h0OiB0b3AgcmlnaHQsXG4gICAgICAgIGJvdHRvbS1sZWZ0OiBib3R0b20gbGVmdCxcbiAgICAgICAgYm90dG9tLXJpZ2h0OiBib3R0b20gcmlnaHRcbiAgICApLFxuICAgIFwib3ZlcmZsb3dcIjogKFxuICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICBoaWRkZW46IGhpZGRlbixcbiAgICAgICAgdmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgc2Nyb2xsOiBzY3JvbGwsXG4gICAgICAgIGNsaXA6IGNsaXBcbiAgICApLFxuICAgIFwib3ZlcnNjcm9sbFwiOiAoKSxcbiAgICBcInBsYWNlbWVudFwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNwYWNpbmcsIChcbiAgICAgICAgLTE6IC0xcHhcbiAgICApKSxcbiAgICBcInBvc2l0aW9uXCI6IChcbiAgICAgICAgc3RhdGljLFxuICAgICAgICByZWxhdGl2ZSxcbiAgICAgICAgYWJzb2x1dGUsXG4gICAgICAgIGZpeGVkLFxuICAgICAgICBzdGlja3lcbiAgICApLFxuICAgIFwiaW5zZXRcIjogKFxuICAgICAgICAwOiAwLFxuICAgICAgICAxOiAxcHgsXG4gICAgICAgIC0xOiAtMXB4XG4gICAgKSxcbiAgICBcInZpc2liaWxpdHlcIjogKFxuICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICBpbnZpc2libGU6IGhpZGRlbixcbiAgICAgICAgY29sbGFwc2U6IGNvbGxhcHNlXG4gICAgKSxcbiAgICBcInppbmRleFwiOiAoXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDEwOiAxMCxcbiAgICAgICAgMjA6IDIwLFxuICAgICAgICAzMDogMzAsXG4gICAgICAgIDQwOiA0MCxcbiAgICAgICAgNTA6IDUwLFxuICAgICAgICBhdXRvOiBhdXRvXG4gICAgKSxcblxuICAgIC8vIEZsZXggLyBHcmlkXG4gICAgXCJmbGV4LWRpcmVjdGlvblwiOiAoXG4gICAgICAgIHJvdzogcm93LFxuICAgICAgICByb3ctcmV2ZXJzZTogcm93LXJldmVyc2UsXG4gICAgICAgIGNvbDogY29sdW1uLFxuICAgICAgICBjb2wtcmV2ZXJzZTogY29sdW1uLXJldmVyc2VcbiAgICApLFxuICAgIFwiZmxleC13cmFwXCI6IChcbiAgICAgICAgd3JhcCxcbiAgICAgICAgd3JhcC1yZXZlcnNlLFxuICAgICAgICBub3dyYXBcbiAgICApLFxuICAgIFwiZmxleFwiOiAoXG4gICAgICAgIDE6IDEgMSAwJSxcbiAgICAgICAgYXV0bzogMSAxIGF1dG8sXG4gICAgICAgIGluaXRpYWw6IDAgMSBhdXRvLFxuICAgICAgICBub25lOiBub25lXG4gICAgKSxcbiAgICBcImZsZXgtZ3Jvd1wiOiAoXG4gICAgICAgIERFRkFVTFQ6IDEsXG4gICAgICAgIDA6IDBcbiAgICApLFxuICAgIFwiZmxleC1zaHJpbmtcIjogKFxuICAgICAgICBERUZBVUxUOiAxLFxuICAgICAgICAwOiAwXG4gICAgKSxcbiAgICBcImZsZXgtYmFzaXNcIjogJGtlbmRvLXNpemluZyxcbiAgICBcIm9yZGVyXCI6IChcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgNjogNixcbiAgICAgICAgNzogNyxcbiAgICAgICAgODogOCxcbiAgICAgICAgOTogOSxcbiAgICAgICAgMTA6IDEwLFxuICAgICAgICAxMTogMTEsXG4gICAgICAgIDEyOiAxMixcbiAgICAgICAgZmlyc3Q6IC05OTk5LFxuICAgICAgICBsYXN0OiA5OTk5LFxuICAgICAgICBub25lOiAwXG4gICAgKSxcbiAgICBcImdyaWQtdGVtcGxhdGUtY29sdW1uc1wiOiAoXG4gICAgICAgIDE6IHJlcGVhdCggMSwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICAyOiByZXBlYXQoIDIsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgMzogcmVwZWF0KCAzLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDQ6IHJlcGVhdCggNCwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICA1OiByZXBlYXQoIDUsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgNjogcmVwZWF0KCA2LCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDc6IHJlcGVhdCggNywgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICA4OiByZXBlYXQoIDgsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgOTogcmVwZWF0KCA5LCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDEwOiByZXBlYXQoIDEwLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDExOiByZXBlYXQoIDExLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDEyOiByZXBlYXQoIDEyLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIG5vbmU6IG5vbmVcbiAgICApLFxuICAgIFwiZ3JpZC10ZW1wbGF0ZS1yb3dzXCI6IChcbiAgICAgICAgMTogcmVwZWF0KCAxLCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDI6IHJlcGVhdCggMiwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICAzOiByZXBlYXQoIDMsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgNDogcmVwZWF0KCA0LCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDU6IHJlcGVhdCggNSwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICA2OiByZXBlYXQoIDYsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgNzogcmVwZWF0KCA3LCBtaW5tYXgoIDAsIDFmciApICksXG4gICAgICAgIDg6IHJlcGVhdCggOCwgbWlubWF4KCAwLCAxZnIgKSApLFxuICAgICAgICA5OiByZXBlYXQoIDksIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgMTA6IHJlcGVhdCggMTAsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgMTE6IHJlcGVhdCggMTEsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgMTI6IHJlcGVhdCggMTIsIG1pbm1heCggMCwgMWZyICkgKSxcbiAgICAgICAgbm9uZTogbm9uZVxuICAgICksXG4gICAgXCJncmlkLWNvbHVtbi1zdGFydFwiOiAoXG4gICAgICAgIDE6IDEsXG4gICAgICAgIDI6IDIsXG4gICAgICAgIDM6IDMsXG4gICAgICAgIDQ6IDQsXG4gICAgICAgIDU6IDUsXG4gICAgICAgIDY6IDYsXG4gICAgICAgIDc6IDcsXG4gICAgICAgIDg6IDgsXG4gICAgICAgIDk6IDksXG4gICAgICAgIDEwOiAxMCxcbiAgICAgICAgMTE6IDExLFxuICAgICAgICAxMjogMTIsXG4gICAgICAgIDEzOiAxMyxcbiAgICAgICAgLTE6IC0xLFxuICAgICAgICAtMjogLTIsXG4gICAgICAgIC0zOiAtMyxcbiAgICAgICAgLTQ6IC00LFxuICAgICAgICAtNTogLTUsXG4gICAgICAgIC02OiAtNixcbiAgICAgICAgLTc6IC03LFxuICAgICAgICAtODogLTgsXG4gICAgICAgIC05OiAtOSxcbiAgICAgICAgLTEwOiAtMTAsXG4gICAgICAgIC0xMTogLTExLFxuICAgICAgICAtMTI6IC0xMixcbiAgICAgICAgLTEzOiAtMTMsXG4gICAgICAgIGF1dG86IGF1dG9cbiAgICApLFxuICAgIFwiZ3JpZC1jb2x1bW4tZW5kXCI6IChcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgNjogNixcbiAgICAgICAgNzogNyxcbiAgICAgICAgODogOCxcbiAgICAgICAgOTogOSxcbiAgICAgICAgMTA6IDEwLFxuICAgICAgICAxMTogMTEsXG4gICAgICAgIDEyOiAxMixcbiAgICAgICAgMTM6IDEzLFxuICAgICAgICAtMTogLTEsXG4gICAgICAgIC0yOiAtMixcbiAgICAgICAgLTM6IC0zLFxuICAgICAgICAtNDogLTQsXG4gICAgICAgIC01OiAtNSxcbiAgICAgICAgLTY6IC02LFxuICAgICAgICAtNzogLTcsXG4gICAgICAgIC04OiAtOCxcbiAgICAgICAgLTk6IC05LFxuICAgICAgICAtMTA6IC0xMCxcbiAgICAgICAgLTExOiAtMTEsXG4gICAgICAgIC0xMjogLTEyLFxuICAgICAgICAtMTM6IC0xMyxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJncmlkLWNvbHVtbi1zcGFuXCI6IChcbiAgICAgICAgMTogc3BhbiAxIC8gc3BhbiAxLFxuICAgICAgICAyOiBzcGFuIDIgLyBzcGFuIDIsXG4gICAgICAgIDM6IHNwYW4gMyAvIHNwYW4gMyxcbiAgICAgICAgNDogc3BhbiA0IC8gc3BhbiA0LFxuICAgICAgICA1OiBzcGFuIDUgLyBzcGFuIDUsXG4gICAgICAgIDY6IHNwYW4gNiAvIHNwYW4gNixcbiAgICAgICAgNzogc3BhbiA3IC8gc3BhbiA3LFxuICAgICAgICA4OiBzcGFuIDggLyBzcGFuIDgsXG4gICAgICAgIDk6IHNwYW4gOSAvIHNwYW4gOSxcbiAgICAgICAgMTA6IHNwYW4gMTAgLyBzcGFuIDEwLFxuICAgICAgICAxMTogc3BhbiAxMSAvIHNwYW4gMTEsXG4gICAgICAgIDEyOiBzcGFuIDEyIC8gc3BhbiAxMixcbiAgICAgICAgZnVsbDogay1zdHJpbmctdW5xdW90ZShcIjEgLyAtMVwiKSxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJncmlkLXJvdy1zdGFydFwiOiAoXG4gICAgICAgIDE6IDEsXG4gICAgICAgIDI6IDIsXG4gICAgICAgIDM6IDMsXG4gICAgICAgIDQ6IDQsXG4gICAgICAgIDU6IDUsXG4gICAgICAgIDY6IDYsXG4gICAgICAgIDc6IDcsXG4gICAgICAgIDg6IDgsXG4gICAgICAgIDk6IDksXG4gICAgICAgIDEwOiAxMCxcbiAgICAgICAgMTE6IDExLFxuICAgICAgICAxMjogMTIsXG4gICAgICAgIDEzOiAxMyxcbiAgICAgICAgLTE6IC0xLFxuICAgICAgICAtMjogLTIsXG4gICAgICAgIC0zOiAtMyxcbiAgICAgICAgLTQ6IC00LFxuICAgICAgICAtNTogLTUsXG4gICAgICAgIC02OiAtNixcbiAgICAgICAgLTc6IC03LFxuICAgICAgICAtODogLTgsXG4gICAgICAgIC05OiAtOSxcbiAgICAgICAgLTEwOiAtMTAsXG4gICAgICAgIC0xMTogLTExLFxuICAgICAgICAtMTI6IC0xMixcbiAgICAgICAgLTEzOiAtMTMsXG4gICAgICAgIGF1dG86IGF1dG9cbiAgICApLFxuICAgIFwiZ3JpZC1yb3ctZW5kXCI6IChcbiAgICAgICAgMTogMSxcbiAgICAgICAgMjogMixcbiAgICAgICAgMzogMyxcbiAgICAgICAgNDogNCxcbiAgICAgICAgNTogNSxcbiAgICAgICAgNjogNixcbiAgICAgICAgNzogNyxcbiAgICAgICAgODogOCxcbiAgICAgICAgOTogOSxcbiAgICAgICAgMTA6IDEwLFxuICAgICAgICAxMTogMTEsXG4gICAgICAgIDEyOiAxMixcbiAgICAgICAgMTM6IDEzLFxuICAgICAgICAtMTogLTEsXG4gICAgICAgIC0yOiAtMixcbiAgICAgICAgLTM6IC0zLFxuICAgICAgICAtNDogLTQsXG4gICAgICAgIC01OiAtNSxcbiAgICAgICAgLTY6IC02LFxuICAgICAgICAtNzogLTcsXG4gICAgICAgIC04OiAtOCxcbiAgICAgICAgLTk6IC05LFxuICAgICAgICAtMTA6IC0xMCxcbiAgICAgICAgLTExOiAtMTEsXG4gICAgICAgIC0xMjogLTEyLFxuICAgICAgICAtMTM6IC0xMyxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJncmlkLXJvdy1zcGFuXCI6IChcbiAgICAgICAgMTogc3BhbiAxIC8gc3BhbiAxLFxuICAgICAgICAyOiBzcGFuIDIgLyBzcGFuIDIsXG4gICAgICAgIDM6IHNwYW4gMyAvIHNwYW4gMyxcbiAgICAgICAgNDogc3BhbiA0IC8gc3BhbiA0LFxuICAgICAgICA1OiBzcGFuIDUgLyBzcGFuIDUsXG4gICAgICAgIDY6IHNwYW4gNiAvIHNwYW4gNixcbiAgICAgICAgNzogc3BhbiA3IC8gc3BhbiA3LFxuICAgICAgICA4OiBzcGFuIDggLyBzcGFuIDgsXG4gICAgICAgIDk6IHNwYW4gOSAvIHNwYW4gOSxcbiAgICAgICAgMTA6IHNwYW4gMTAgLyBzcGFuIDEwLFxuICAgICAgICAxMTogc3BhbiAxMSAvIHNwYW4gMTEsXG4gICAgICAgIDEyOiBzcGFuIDEyIC8gc3BhbiAxMixcbiAgICAgICAgZnVsbDogc3BhbiAxIC8gc3BhbiAtMSxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICksXG4gICAgXCJncmlkLWF1dG8tZmxvd1wiOiAoXG4gICAgICAgIHJvdzogcm93LFxuICAgICAgICBjb2w6IGNvbHVtbixcbiAgICAgICAgZGVuc2U6IGRlbnNlLFxuICAgICAgICByb3ctZGVuc2U6IHJvdyBkZW5zZSxcbiAgICAgICAgY29sLWRlbnNlOiBjb2x1bW4gZGVuc2UsXG4gICAgICAgIHVuc2V0OiB1bnNldFxuICAgICksXG4gICAgXCJncmlkLWF1dG8tY29sdW1uc1wiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIG1pbjogbWluLWNvbnRlbnQsXG4gICAgICAgIG1heDogbWF4LWNvbnRlbnQsXG4gICAgICAgIGZyOiBtaW5tYXgoIDAsIDFmciApLFxuICAgICksXG4gICAgXCJncmlkLWF1dG8tcm93c1wiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIG1pbjogbWluLWNvbnRlbnQsXG4gICAgICAgIG1heDogbWF4LWNvbnRlbnQsXG4gICAgICAgIGZyOiBtaW5tYXgoIDAsIDFmciApLFxuICAgICksXG4gICAgXCJnYXBcIjogay1tYXAtbWVyZ2UoICRrZW5kby1zcGFjaW5nLCAoXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIGV4dGVuc2lvbiBvbmNlIHdlIGZpeCBkb2NzXG4gICAgICAgIHhzOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICksXG4gICAgICAgIHNtOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICksXG4gICAgICAgIG1kOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICksXG4gICAgICAgIGxnOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICksXG4gICAgICAgIHhsOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA2ICksXG4gICAgICAgIHRoaW46IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDAuNSApLFxuICAgICAgICBoYWlyOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxcHggKVxuICAgICkpLFxuICAgIFwiYWxpZ24tY29udGVudFwiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgIGZpcnN0LWJhc2VsaW5lOiBmaXJzdCBiYXNlbGluZSxcbiAgICAgICAgbGFzdC1iYXNlbGluZTogbGFzdCBiYXNlbGluZSxcbiAgICAgICAgYmV0d2Vlbjogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgYXJvdW5kOiBzcGFjZS1hcm91bmQsXG4gICAgICAgIGV2ZW5seTogc3BhY2UtZXZlbmx5XG4gICAgKSxcbiAgICBcImFsaWduLWl0ZW1zXCI6IChcbiAgICAgICAgbm9ybWFsOiBub3JtYWwsXG4gICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kLFxuICAgICAgICBmbGV4LXN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBmbGV4LWVuZDogZmxleC1lbmQsXG4gICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgZmlyc3QtYmFzZWxpbmU6IGZpcnN0IGJhc2VsaW5lLFxuICAgICAgICBsYXN0LWJhc2VsaW5lOiBsYXN0IGJhc2VsaW5lLFxuICAgICAgICBzZWxmLXN0YXJ0OiBzZWxmLXN0YXJ0LFxuICAgICAgICBzZWxmLWVuZDogc2VsZi1lbmRcbiAgICApLFxuICAgIFwiYWxpZ24tc2VsZlwiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgIGZpcnN0LWJhc2VsaW5lOiBmaXJzdCBiYXNlbGluZSxcbiAgICAgICAgbGFzdC1iYXNlbGluZTogbGFzdCBiYXNlbGluZSxcbiAgICAgICAgc2VsZi1zdGFydDogc2VsZi1zdGFydCxcbiAgICAgICAgc2VsZi1lbmQ6IHNlbGYtZW5kXG4gICAgKSxcbiAgICBcImp1c3RpZnktY29udGVudFwiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgZmlyc3QtYmFzZWxpbmU6IGZpcnN0IGJhc2VsaW5lLFxuICAgICAgICBsYXN0LWJhc2VsaW5lOiBsYXN0IGJhc2VsaW5lLFxuICAgICAgICBiZXR3ZWVuOiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICBhcm91bmQ6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgZXZlbmx5OiBzcGFjZS1ldmVubHlcbiAgICApLFxuICAgIFwianVzdGlmeS1pdGVtc1wiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBzZWxmLXN0YXJ0OiBzZWxmLXN0YXJ0LFxuICAgICAgICBzZWxmLWVuZDogc2VsZi1lbmQsXG4gICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lLFxuICAgICAgICBmaXJzdC1iYXNlbGluZTogZmlyc3QgYmFzZWxpbmUsXG4gICAgICAgIGxhc3QtYmFzZWxpbmU6IGxhc3QgYmFzZWxpbmVcbiAgICApLFxuICAgIFwianVzdGlmeS1zZWxmXCI6IChcbiAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgbm9ybWFsOiBub3JtYWwsXG4gICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kLFxuICAgICAgICBmbGV4LXN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBmbGV4LWVuZDogZmxleC1lbmQsXG4gICAgICAgIHNlbGYtc3RhcnQ6IHNlbGYtc3RhcnQsXG4gICAgICAgIHNlbGYtZW5kOiBzZWxmLWVuZCxcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lLFxuICAgICAgICBmaXJzdC1iYXNlbGluZTogZmlyc3QgYmFzZWxpbmUsXG4gICAgICAgIGxhc3QtYmFzZWxpbmU6IGxhc3QgYmFzZWxpbmVcbiAgICApLFxuICAgIFwicGxhY2UtY29udGVudFwiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgIGFyb3VuZDogc3BhY2UtYXJvdW5kLFxuICAgICAgICBldmVubHk6IHNwYWNlLWV2ZW5seVxuICAgICksXG4gICAgXCJwbGFjZS1pdGVtc1wiOiAoXG4gICAgICAgIG5vcm1hbDogbm9ybWFsLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgZmxleC1zdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZmxleC1lbmQ6IGZsZXgtZW5kLFxuICAgICAgICBzZWxmLXN0YXJ0OiBzZWxmLXN0YXJ0LFxuICAgICAgICBzZWxmLWVuZDogc2VsZi1lbmQsXG4gICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZVxuICAgICksXG4gICAgXCJwbGFjZS1zZWxmXCI6IChcbiAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgbm9ybWFsOiBub3JtYWwsXG4gICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kLFxuICAgICAgICBmbGV4LXN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBmbGV4LWVuZDogZmxleC1lbmQsXG4gICAgICAgIHNlbGYtc3RhcnQ6IHNlbGYtc3RhcnQsXG4gICAgICAgIHNlbGYtZW5kOiBzZWxmLWVuZCxcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lXG4gICAgKSxcblxuICAgIC8vIFNwYWNpbmdcbiAgICBcIm1hcmdpblwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNwYWNpbmcsXG4gICAgICAgIGstbWFwLW5lZ2F0ZSggJGtlbmRvLXNwYWNpbmcpLCAoXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGlzIGV4dGVuc2lvbiBvbmNlIHdlIGZpeCBkb2NzXG4gICAgICAgIHhzOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICksXG4gICAgICAgIHNtOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICksXG4gICAgICAgIG1kOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICksXG4gICAgICAgIGxnOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICksXG4gICAgICAgIHhsOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA2ICksXG4gICAgICAgIHRoaW46IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDAuNSApLFxuICAgICAgICBoYWlyOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxcHggKSxcbiAgICAgICAgYXV0bzogYXV0b1xuICAgICkpLFxuICAgIFwicGFkZGluZ1wiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNwYWNpbmcsIChcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgZXh0ZW5zaW9uIG9uY2Ugd2UgZml4IGRvY3NcbiAgICAgICAgeHM6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSxcbiAgICAgICAgc206IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSxcbiAgICAgICAgbWQ6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDMgKSxcbiAgICAgICAgbGc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSxcbiAgICAgICAgeGw6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDYgKSxcbiAgICAgICAgdGhpbjogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMC41ICksXG4gICAgICAgIGhhaXI6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDFweCApXG4gICAgKSksXG4gICAgXCJzcGFjZS1iZXR3ZWVuXCI6ICgpLFxuXG4gICAgLy8gU2l6aW5nXG4gICAgXCJ3aWR0aFwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXNpemluZywgKFxuICAgICAgICBzY3JlZW46IDEwMHZ3XG4gICAgKSksXG4gICAgXCJtaW4td2lkdGhcIjogKFxuICAgICAgICAwOiAwLFxuICAgICAgICBmdWxsOiAxMDAlLFxuICAgICAgICBzY3JlZW46IDEwMHZ3LFxuICAgICAgICBtaW46IG1pbi1jb250ZW50LFxuICAgICAgICBtYXg6IG1heC1jb250ZW50LFxuICAgICAgICBmaXQ6IGZpdC1jb250ZW50XG4gICAgKSxcbiAgICBcIm1heC13aWR0aFwiOiAoXG4gICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICAgIDA6IDAsXG4gICAgICAgIGZ1bGw6IDEwMCUsXG4gICAgICAgIHNjcmVlbjogMTAwdncsXG4gICAgICAgIG1pbjogbWluLWNvbnRlbnQsXG4gICAgICAgIG1heDogbWF4LWNvbnRlbnQsXG4gICAgICAgIGZpdDogZml0LWNvbnRlbnRcbiAgICApLFxuICAgIFwiaGVpZ2h0XCI6IGstbWFwLW1lcmdlKCAka2VuZG8tc2l6aW5nLCAoXG4gICAgICAgIHNjcmVlbjogMTAwdmhcbiAgICApKSxcbiAgICBcIm1pbi1oZWlnaHRcIjogKFxuICAgICAgICAwOiAwLFxuICAgICAgICBmdWxsOiAxMDAlLFxuICAgICAgICBzY3JlZW46IDEwMHZoLFxuICAgICAgICBtaW46IG1pbi1jb250ZW50LFxuICAgICAgICBtYXg6IG1heC1jb250ZW50LFxuICAgICAgICBmaXQ6IGZpdC1jb250ZW50XG4gICAgKSxcbiAgICBcIm1heC1oZWlnaHRcIjogKFxuICAgICAgICBub25lOiBub25lLFxuICAgICAgICAwOiAwLFxuICAgICAgICBmdWxsOiAxMDAlLFxuICAgICAgICBzY3JlZW46IDEwMHZoLFxuICAgICAgICBtaW46IG1pbi1jb250ZW50LFxuICAgICAgICBtYXg6IG1heC1jb250ZW50LFxuICAgICAgICBmaXQ6IGZpdC1jb250ZW50XG4gICAgKSxcblxuICAgIC8vIFR5cG9ncmFwaHlcbiAgICBcImZvbnQtZmFtaWx5XCI6ICgpLFxuICAgIFwiZm9udC1zaXplXCI6ICRrZW5kby1mb250LXNpemVzLFxuICAgIFwiZm9udC1zbW9vdGhpbmdcIjogKCksXG4gICAgXCJmb250LXN0eWxlXCI6IChcbiAgICAgICAgaXRhbGljOiBpdGFsaWMsXG4gICAgICAgIG5vbi1pdGFsaWM6IG5vcm1hbFxuICAgICksXG4gICAgXCJmb250LXdlaWdodFwiOiAoXG4gICAgICAgIFwidGhpblwiOiAxMDAsXG4gICAgICAgIFwiZXh0cmFsaWdodFwiOiAyMDAsXG4gICAgICAgIFwibGlnaHRcIjogMzAwLFxuICAgICAgICBcIm5vcm1hbFwiOiA0MDAsXG4gICAgICAgIFwibWVkaXVtXCI6IDUwMCxcbiAgICAgICAgXCJzZW1pYm9sZFwiOiA2MDAsXG4gICAgICAgIFwiYm9sZFwiOiA3MDAsXG4gICAgICAgIFwiZXh0cmFib2xkXCI6IDgwMCxcbiAgICAgICAgXCJibGFja1wiOiA5MDBcbiAgICApLFxuICAgIFwiZm9udC12YXJpYW50LW51bWVyaWNcIjogKCksXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAoKSxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICgpLFxuICAgIFwibGlzdC1zdHlsZS10eXBlXCI6IChcbiAgICAgICAgbm9uZSxcbiAgICAgICAgZGlzYyxcbiAgICAgICAgZGVjaW1hbFxuICAgICksXG4gICAgXCJsaXN0LXN0eWxlLXBvc2l0aW9uXCI6ICgpLFxuICAgIFwidGV4dC1hbGlnblwiOiAoXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHJpZ2h0LFxuICAgICAgICBjZW50ZXIsXG4gICAgICAgIGp1c3RpZnksXG4gICAgICAgIHN0YXJ0LFxuICAgICAgICBlbmRcbiAgICApLFxuICAgIFwidGV4dC1jb2xvclwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXRoZW1lLWNvbG9ycywgKFxuICAgICAgICBcImluaGVyaXRcIjogaW5oZXJpdCxcbiAgICAgICAgXCJjdXJyZW50XCI6IGN1cnJlbnRDb2xvcixcbiAgICAgICAgXCJ0cmFuc3BhcmVudFwiOiB0cmFuc3BhcmVudCxcbiAgICAgICAgXCJibGFja1wiOiBibGFjayxcbiAgICAgICAgXCJ3aGl0ZVwiOiB3aGl0ZVxuICAgICkpLFxuICAgIFwidGV4dC1kZWNvcmF0aW9uXCI6IChcbiAgICAgICAgdW5kZXJsaW5lOiB1bmRlcmxpbmUsXG4gICAgICAgIG92ZXJsaW5lOiBvdmVybGluZSxcbiAgICAgICAgbGluZS10aHJvdWdoOiBsaW5lLXRocm91Z2gsXG4gICAgICAgIG5vLXVuZGVybGluZTogbm9uZVxuICAgICksXG4gICAgXCJ0ZXh0LWRlY29yYXRpb24td2lkdGhcIjogKCksXG4gICAgXCJ0ZXh0LWRlY29yYXRpb24tc3R5bGVcIjogKCksXG4gICAgXCJ0ZXh0LWRlY29yYXRpb24tY29sb3JcIjogKCksXG4gICAgXCJ0ZXh0LWRlY29yYXRpb24tb2Zmc2V0XCI6ICgpLFxuICAgIFwidGV4dC10cmFuc2Zvcm1cIjogKFxuICAgICAgICB1cHBlcmNhc2U6IHVwcGVyY2FzZSxcbiAgICAgICAgbG93ZXJjYXNlOiBsb3dlcmNhc2UsXG4gICAgICAgIGNhcGl0YWxpemU6IGNhcGl0YWxpemUsXG4gICAgICAgIG5vcm1hbC1jYXNlOiBub25lXG4gICAgKSxcbiAgICBcInRleHQtb3ZlcmZsb3dcIjogKFxuICAgICAgICBjbGlwOiBjbGlwLFxuICAgICAgICBlbGxpcHNpczogZWxsaXBzaXNcbiAgICApLFxuICAgIFwidGV4dC1pbmRlbnRcIjogKCksXG4gICAgXCJ2ZXJ0aWNhbC1hbGlnblwiOiAoXG4gICAgICAgIGJhc2VsaW5lLFxuICAgICAgICB0b3AsXG4gICAgICAgIG1pZGRsZSxcbiAgICAgICAgYm90dG9tLFxuICAgICAgICB0ZXh0LXRvcCxcbiAgICAgICAgdGV4dC1ib3R0b20sXG4gICAgICAgIHN1YixcbiAgICAgICAgc3VwZXJcbiAgICApLFxuICAgIFwid2hpdGUtc3BhY2VcIjogKFxuICAgICAgICBub3JtYWwsXG4gICAgICAgIG5vd3JhcCxcbiAgICAgICAgcHJlLFxuICAgICAgICBwcmUtbGluZSxcbiAgICAgICAgcHJlLXdyYXAsXG4gICAgICAgIGJyZWFrLXNwYWNlc1xuICAgICksXG4gICAgXCJ3b3JkLWJyZWFrXCI6ICgpLFxuXG4gICAgLy8gQmFja2dyb3VuZFxuICAgIFwiYmFja2dyb3VuZC1jbGlwXCI6IChcbiAgICAgICAgYm9yZGVyOiBib3JkZXItYm94LFxuICAgICAgICBwYWRkaW5nOiBwYWRkaW5nLWJveCxcbiAgICAgICAgY29udGVudDogY29udGVudC1ib3gsXG4gICAgICAgIHRleHQ6IHRleHRcbiAgICApLFxuICAgIFwiYmFja2dyb3VuZC1jb2xvclwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXRoZW1lLWNvbG9ycywgKFxuICAgICAgICBcImluaGVyaXRcIjogaW5oZXJpdCxcbiAgICAgICAgXCJ0cmFuc3BhcmVudFwiOiB0cmFuc3BhcmVudCxcbiAgICAgICAgXCJibGFja1wiOiBibGFjayxcbiAgICAgICAgXCJ3aGl0ZVwiOiB3aGl0ZVxuICAgICkpLFxuICAgIFwiYmFja2dyb3VuZC1wb3NpdGlvblwiOiAoXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICB0b3A6IHRvcCxcbiAgICAgICAgcmlnaHQ6IHJpZ2h0LFxuICAgICAgICBib3R0b206IGJvdHRvbSxcbiAgICAgICAgbGVmdDogbGVmdCxcbiAgICAgICAgdG9wLWxlZnQ6IHRvcCBsZWZ0LFxuICAgICAgICB0b3AtcmlnaHQ6IHRvcCByaWdodCxcbiAgICAgICAgYm90dG9tLWxlZnQ6IGJvdHRvbSBsZWZ0LFxuICAgICAgICBib3R0b20tcmlnaHQ6IGJvdHRvbSByaWdodFxuICAgICksXG4gICAgXCJiYWNrZ3JvdW5kLXNpemVcIjogKFxuICAgICAgICBhdXRvLFxuICAgICAgICBjb3ZlcixcbiAgICAgICAgY29udGFpblxuICAgICksXG5cbiAgICAvLyBCb3JkZXJcbiAgICBcImJvcmRlci13aWR0aFwiOiAoXG4gICAgICAgIERFRkFVTFQ6IDFweCxcbiAgICAgICAgMDogMCxcbiAgICAgICAgMjogMnB4LFxuICAgICAgICA0OiA0cHgsXG4gICAgICAgIDg6IDhweFxuICAgICksXG4gICAgXCJib3JkZXItc3R5bGVcIjogKFxuICAgICAgICBzb2xpZCxcbiAgICAgICAgZGFzaGVkLFxuICAgICAgICBkb3R0ZWQsXG4gICAgICAgIGRvdWJsZSxcbiAgICAgICAgLy8gZ3Jvb3ZlLFxuICAgICAgICAvLyByaWRnZSxcbiAgICAgICAgaW5zZXQsXG4gICAgICAgIG91dHNldCxcbiAgICAgICAgaGlkZGVuLFxuICAgICAgICBub25lXG4gICAgKSxcbiAgICBcImJvcmRlci1jb2xvclwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXRoZW1lLWNvbG9ycywgKFxuICAgICAgICBcImluaGVyaXRcIjogaW5oZXJpdCxcbiAgICAgICAgXCJjdXJyZW50XCI6IGN1cnJlbnRDb2xvcixcbiAgICAgICAgXCJ0cmFuc3BhcmVudFwiOiB0cmFuc3BhcmVudCxcbiAgICAgICAgXCJibGFja1wiOiBibGFjayxcbiAgICAgICAgXCJ3aGl0ZVwiOiB3aGl0ZVxuICAgICkpLFxuICAgIFwiYm9yZGVyLXJhZGl1c1wiOiAka2VuZG8tYm9yZGVyLXJhZGlpLFxuICAgIFwib3V0bGluZS13aWR0aFwiOiAoXG4gICAgICAgIERFRkFVTFQ6IDFweCxcbiAgICAgICAgMDogMCxcbiAgICAgICAgMjogMnB4LFxuICAgICAgICA0OiA0cHgsXG4gICAgICAgIDg6IDhweFxuICAgICksXG4gICAgXCJvdXRsaW5lLXN0eWxlXCI6IChcbiAgICAgICAgc29saWQsXG4gICAgICAgIGRhc2hlZCxcbiAgICAgICAgZG90dGVkLFxuICAgICAgICBkb3VibGUsXG4gICAgICAgIC8vIGdyb292ZSxcbiAgICAgICAgLy8gcmlkZ2UsXG4gICAgICAgIGluc2V0LFxuICAgICAgICBvdXRzZXQsXG4gICAgICAgIG5vbmVcbiAgICApLFxuICAgIFwib3V0bGluZS1jb2xvclwiOiBrLW1hcC1tZXJnZSggJGtlbmRvLXRoZW1lLWNvbG9ycywgKFxuICAgICAgICBcImluaGVyaXRcIjogaW5oZXJpdCxcbiAgICAgICAgXCJjdXJyZW50XCI6IGN1cnJlbnRDb2xvcixcbiAgICAgICAgXCJ0cmFuc3BhcmVudFwiOiB0cmFuc3BhcmVudCxcbiAgICAgICAgXCJibGFja1wiOiBibGFjayxcbiAgICAgICAgXCJ3aGl0ZVwiOiB3aGl0ZVxuICAgICkpLFxuICAgIFwib3V0bGluZS1vZmZzZXRcIjogKFxuICAgICAgICAwOiAwLFxuICAgICAgICAxOiAxcHgsXG4gICAgICAgIDI6IDJweCxcbiAgICAgICAgNDogNHB4LFxuICAgICAgICA4OiA4cHhcbiAgICApLFxuXG4gICAgLy8gRWZmZWN0c1xuICAgIFwiYm94LXNoYWRvd1wiOiAoKSxcbiAgICBcImJveC1zaGFkb3ctY29sb3JcIjogKCksXG4gICAgXCJvcGFjaXR5XCI6IChcbiAgICAgICAgMDogMCxcbiAgICAgICAgNTogMC4wNSxcbiAgICAgICAgMTA6IDAuMSxcbiAgICAgICAgMjA6IDAuMixcbiAgICAgICAgMzA6IDAuMyxcbiAgICAgICAgNDA6IDAuNCxcbiAgICAgICAgNTA6IDAuNSxcbiAgICAgICAgNjA6IDAuNixcbiAgICAgICAgNzA6IDAuNyxcbiAgICAgICAgODA6IDAuOCxcbiAgICAgICAgOTA6IDAuOSxcbiAgICAgICAgMTAwOiAxXG4gICAgKSxcblxuICAgIC8vIEZpbHRlclxuICAgIFwiYmFja2Ryb3AtYmx1clwiOiAoXG4gICAgICAgIERFRkFVTFQ6IGJsdXIoOHB4KSxcbiAgICAgICAgbm9uZTogYmx1cigwKSxcbiAgICAgICAgc206IGJsdXIoNHB4KSxcbiAgICAgICAgbWQ6IGJsdXIoNnB4KSxcbiAgICAgICAgbGc6IGJsdXIoMTJweClcbiAgICApLFxuXG4gICAgLy8gVGFibGVcbiAgICBcImJvcmRlci1jb2xsYXBzZVwiOiAoXG4gICAgICAgIGNvbGxhcHNlLFxuICAgICAgICBzZXBhcmF0ZVxuICAgICksXG4gICAgXCJ0YWJsZS1sYXlvdXRcIjogKFxuICAgICAgICBhdXRvLFxuICAgICAgICBmaXhlZFxuICAgICksXG5cbiAgICAvLyBUcmFuc2l0aW9uXG5cbiAgICAvLyBUcmFuc2Zvcm1cbiAgICBcImZsaXBcIjogdHJ1ZSxcbiAgICBcInNjYWxlXCI6IChcbiAgICAgICAgMDogMCxcbiAgICAgICAgMC4yNTogLjI1LFxuICAgICAgICAwLjU6IC41LFxuICAgICAgICAwLjc1OiAuNzUsXG4gICAgICAgIDE6IDEsXG4gICAgICAgIDEuMjU6IDEuMjUsXG4gICAgICAgIDEuNTogMS41LFxuICAgICAgICAyOiAyXG4gICAgKSxcbiAgICBcInJvdGF0ZVwiOiAoXG4gICAgICAgIDA6IDBkZWcsXG4gICAgICAgIDQ1OiA0NWRlZyxcbiAgICAgICAgOTA6IDkwZGVnLFxuICAgICAgICAxMzU6IDEzNWRlZyxcbiAgICAgICAgMTgwOiAxODBkZWcsXG4gICAgICAgIDIyNTogMjI1ZGVnLFxuICAgICAgICAyNzA6IDI3MGRlZyxcbiAgICAgICAgMzE1OiAzMTVkZWdcbiAgICApLFxuICAgIFwidHJhbnNsYXRlXCI6IGstbWFwLXJlbW92ZSggJGtlbmRvLXNpemluZywgXCJhdXRvXCIsIFwibWluXCIsIFwibWF4XCIsIFwiZml0XCIgKSxcbiAgICBcInNrZXdcIjogKFxuICAgICAgICAwOiAwZGVnLFxuICAgICAgICAxOiAxZGVnLFxuICAgICAgICAyOiAyZGVnLFxuICAgICAgICAzOiAzZGVnLFxuICAgICAgICA0OiA0ZGVnLFxuICAgICAgICA1OiA1ZGVnLFxuICAgICAgICA2OiA2ZGVnLFxuICAgICAgICA3OiA3ZGVnLFxuICAgICAgICA4OiA4ZGVnLFxuICAgICAgICA5OiA5ZGVnLFxuICAgICAgICAxMDogMTBkZWcsXG4gICAgICAgIDExOiAxMWRlZyxcbiAgICAgICAgMTI6IDEyZGVnXG4gICAgKSxcbiAgICBcIm9yaWdpblwiOiAoXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICB0b3A6IHRvcCxcbiAgICAgICAgcmlnaHQ6IHJpZ2h0LFxuICAgICAgICBib3R0b206IGJvdHRvbSxcbiAgICAgICAgbGVmdDogbGVmdCxcbiAgICAgICAgdG9wLWxlZnQ6IHRvcCBsZWZ0LFxuICAgICAgICB0b3AtcmlnaHQ6IHRvcCByaWdodCxcbiAgICAgICAgYm90dG9tLWxlZnQ6IGJvdHRvbSBsZWZ0LFxuICAgICAgICBib3R0b20tcmlnaHQ6IGJvdHRvbSByaWdodFxuICAgICksXG5cblxuICAgIC8vIEludGVyYWN0aXZpdHlcbiAgICBcImFjY2VudC1jb2xvclwiOiAoKSxcbiAgICBcImFwcGVhcmFuY2VcIjogKFxuICAgICAgICBub25lLFxuICAgICAgICBhdXRvXG4gICAgKSxcbiAgICBcImN1cnNvclwiOiAoXG4gICAgICAgIG5vbmUsXG4gICAgICAgIGF1dG8sXG4gICAgICAgIGRlZmF1bHQsXG4gICAgICAgIGNvbnRleHQtbWVudSxcbiAgICAgICAgaGVscCxcbiAgICAgICAgcG9pbnRlcixcbiAgICAgICAgcHJvZ3Jlc3MsXG4gICAgICAgIHdhaXQsXG4gICAgICAgIGNlbGwsXG4gICAgICAgIGNyb3NzaGFpcixcbiAgICAgICAgdGV4dCxcbiAgICAgICAgdmVydGljYWwtdGV4dCxcbiAgICAgICAgYWxpYXMsXG4gICAgICAgIGNvcHksXG4gICAgICAgIG1vdmUsXG4gICAgICAgIG5vLWRyb3AsXG4gICAgICAgIG5vdC1hbGxvd2VkLFxuICAgICAgICBlLXJlc2l6ZSxcbiAgICAgICAgbi1yZXNpemUsXG4gICAgICAgIG5lLXJlc2l6ZSxcbiAgICAgICAgbnctcmVzaXplLFxuICAgICAgICBzLXJlc2l6ZSxcbiAgICAgICAgc2UtcmVzaXplLFxuICAgICAgICBzdy1yZXNpemUsXG4gICAgICAgIHctcmVzaXplLFxuICAgICAgICBldy1yZXNpemUsXG4gICAgICAgIG5zLXJlc2l6ZSxcbiAgICAgICAgbmVzdy1yZXNpemUsXG4gICAgICAgIG53c2UtcmVzaXplLFxuICAgICAgICBjb2wtcmVzaXplLFxuICAgICAgICByb3ctcmVzaXplLFxuICAgICAgICBhbGwtc2Nyb2xsLFxuICAgICAgICB6b29tLWluLFxuICAgICAgICB6b29tLW91dCxcbiAgICAgICAgZ3JhYixcbiAgICAgICAgZ3JhYmJpbmdcbiAgICApLFxuICAgIFwiY2FyZXQtY29sb3JcIjogKCksXG4gICAgXCJwb2ludGVyLWV2ZW50c1wiOiAoXG4gICAgICAgIG5vbmUsXG4gICAgICAgIGF1dG9cbiAgICApLFxuICAgIFwicmVzaXplXCI6IChcbiAgICAgICAgREVGQVVMVDogYm90aCxcbiAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgICAgeDogaG9yaXpvbnRhbCxcbiAgICAgICAgeTogdmVydGljYWxcbiAgICApLFxuICAgIFwic2Nyb2xsLWJlaGF2aW9yXCI6IChcbiAgICAgICAgYXV0byxcbiAgICAgICAgc21vb3RoXG4gICAgKSxcbiAgICBcInNjcm9sbC1zbmFwLXR5cGVcIjogKFxuICAgICAgICBub25lOiBub25lLFxuICAgICAgICBzbmFwLXg6IHggdmFyKC0tI3ska2VuZG8tcHJlZml4fXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpLFxuICAgICAgICBzbmFwLXk6IHkgdmFyKC0tI3ska2VuZG8tcHJlZml4fXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpLFxuICAgICAgICBzbmFwLWJvdGg6IGJvdGggdmFyKC0tI3ska2VuZG8tcHJlZml4fXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpXG4gICAgKSxcbiAgICBcInNjcm9sbC1zbmFwLWFsaWduXCI6IChcbiAgICAgICAgc3RhcnQsXG4gICAgICAgIGVuZCxcbiAgICAgICAgY2VudGVyLFxuICAgICAgICBub25lXG4gICAgKSxcbiAgICBcInNjcm9sbC1zbmFwLXN0b3BcIjogKFxuICAgICAgICBub3JtYWwsXG4gICAgICAgIGFsd2F5c1xuICAgICksXG4gICAgXCJzY3JvbGwtbWFyZ2luXCI6ICRrZW5kby1zcGFjaW5nLFxuICAgIFwic2Nyb2xsLXBhZGRpbmdcIjogJGtlbmRvLXNwYWNpbmcsXG4gICAgXCJ0b3VjaC1hY3Rpb25cIjogKFxuICAgICAgICBub25lLFxuICAgICAgICBhdXRvLFxuICAgICAgICBwYW4teCxcbiAgICAgICAgcGFuLWxlZnQsXG4gICAgICAgIHBhbi1yaWdodCxcbiAgICAgICAgcGFuLXksXG4gICAgICAgIHBhbi11cCxcbiAgICAgICAgcGFuLWRvd24sXG4gICAgICAgIHBpbmNoLXpvb20sXG4gICAgICAgIG1hbmlwdWxhdGlvblxuICAgICksXG4gICAgXCJ1c2VyLXNlbGVjdFwiOiAoXG4gICAgICAgIG5vbmUsXG4gICAgICAgIGF1dG8sXG4gICAgICAgIHRleHQsXG4gICAgICAgIGFsbCxcbiAgICAgICAgY29udGFpblxuICAgICksXG4gICAgXCJ3aWxsLWNoYW5nZVwiOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIHNjcm9sbDogc2Nyb2xsLXBvc2l0aW9uLFxuICAgICAgICBjb250ZW50czogY29udGVudHMsXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtXG4gICAgKSxcbiAgICBcImZpbGwtc3Ryb2tlXCI6IChcbiAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgICAgaW5oZXJpdDogaW5oZXJpdCxcbiAgICAgICAgY3VycmVudDogY3VycmVudENvbG9yLFxuICAgICAgICBcInRyYW5zcGFyZW50XCI6IHRyYW5zcGFyZW50LFxuICAgICAgICBcImJsYWNrXCI6IGJsYWNrLFxuICAgICAgICBcIndoaXRlXCI6IHdoaXRlXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbWl4aW5zLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvX21peGlucy5zY3NzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbHMoICRuYW1lLCAkcHJvcHMsICR2YWx1ZXMsICRmdW5jdGlvbjogXCJcIiwgJGltcG9ydGFudDogJGtlbmRvLWltcG9ydGFudCApIHtcbiAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICRfcHJvcHM6IGlmKCBrLW1ldGEtdHlwZS1vZigkcHJvcHMpID09IGxpc3QsICRwcm9wcywgKCAkcHJvcHMgKSApO1xuICAgICAgICAkX2ZuOiBpZiggay1tZXRhLWZ1bmN0aW9uLWV4aXN0cyggJGZ1bmN0aW9uICksIGstbWV0YS1nZXQtZnVuY3Rpb24oICRmdW5jdGlvbiApLCBudWxsICk7XG5cbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkdmFsdWVzIHtcbiAgICAgICAgICAgICRfa2V5OiBrLWVzY2FwZS1jbGFzcy1uYW1lKCAka2V5ICk7XG4gICAgICAgICAgICAkX3ZhbDogaWYoIGstbWV0YS10eXBlLW9mKCR2YWx1ZXMpID09IGxpc3QsICRrZXksICR2YWwgKTtcbiAgICAgICAgICAgICRfbmFtZTogay1lc2NhcGUtY2xhc3MtbmFtZSggJG5hbWUgKTtcbiAgICAgICAgICAgICRfc2VsZWN0b3I6IGlmKCAkX2tleSA9PSBERUZBVUxULCAjeyRrZW5kby1wcmVmaXh9I3skX25hbWV9LCAjeyRrZW5kby1wcmVmaXh9I3skX25hbWV9LSN7JF9rZXl9KTtcblxuICAgICAgICAgICAgQGlmICRpbXBvcnRhbnQgIT0gb25seSB7XG4gICAgICAgICAgICAgICAgLiN7JF9zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICAgICAgICBAZWFjaCAkcHJvcCBpbiAkX3Byb3BzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHByb3B9OiBpZiggJF9mbiwgay1tZXRhLWNhbGwoJF9mbiwgJF92YWwpLCAkX3ZhbCApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICAgICAgICAgIC5cXCEjeyRfc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gJF9wcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRwcm9wfTogIGlmKCAkX2ZuLCBrLW1ldGEtY2FsbCgkX2ZuLCAkX3ZhbCksICRfdmFsICkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2FjY2Vzc2liaWxpdHkvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYWNjZXNzaWJpbGl0eS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fc2NyZWVuLXJlYWRlcnMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9hY2Nlc3NpYmlsaXR5L19zY3JlZW4tcmVhZGVycy5zY3NzXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWFjY2Vzc2liaWxpdHktLXNjcmVlbi1yZWFkZXJzKCkge1xuXG4gICAgLy8gU2NyZWVuIHJlYWRlcnMgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWFjY2Vzc2liaWxpdHk6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImFjY2Vzc2liaWxpdHlcIiApICFkZWZhdWx0O1xuXG4gICAgQGlmICRrZW5kby11dGlscy1hY2Nlc3NpYmlsaXR5IHtcbiAgICAgICAgLy8vIFRoaXMgY2xhc3MgY291bGQgYmUgYXNzaWduZWQgdG8gZWxlbWVudHMgd2hpY2ggc2hvdWxkIGJlIHZpc3VhbGx5IGhpZGRlbiwgYnV0IHJlbWFpbiBhY2Nlc3NpYmxlIGZvciBzY3JlZW4gcmVhZGVycy5cbiAgICAgICAgLy8vIEBuYW1lIC5rLXNyLW9ubHlcbiAgICAgICAgLy8vIEBncm91cCBhY2Nlc3NpYmlsaXR5XG4gICAgICAgIC4jeyRrZW5kby1wcmVmaXh9c3Itb25seSB7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAuI3ska2VuZG8tcHJlZml4fW5vdC1zci1vbmx5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgY2xpcDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWFjY2Vzc2liaWxpdHkoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWFjY2Vzc2liaWxpdHktLXNjcmVlbi1yZWFkZXJzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbGF5b3V0L2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYXNwZWN0LXJhdGlvLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvbGF5b3V0L19hc3BlY3QtcmF0aW8uc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYXNwZWN0LXJhdGlvOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgYXNwZWN0LXJhdGlvOiBhdXRvO1xuLy8vIEBuYW1lIC5rLWFzcGVjdC1yYXRpby1hdXRvXG4vLy8gQGdyb3VwIGFzcGVjdC1yYXRpb1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYXNwZWN0LXJhdGlvOiAxO2AuXG4vLy8gQGV4YW1wbGUgYXNwZWN0LXJhdGlvOiAxO1xuLy8vIEBuYW1lIC5rLWFzcGVjdC1yYXRpby0xXG4vLy8gQGdyb3VwIGFzcGVjdC1yYXRpb1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYXNwZWN0LXJhdGlvOiAxIC8gMTtgLlxuLy8vIEBleGFtcGxlIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4vLy8gQG5hbWUgLmstYXNwZWN0LXJhdGlvLXNxdWFyZVxuLy8vIEBncm91cCBhc3BlY3QtcmF0aW9cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFzcGVjdC1yYXRpbzogMTYgLyA5O2AuXG4vLy8gQGV4YW1wbGUgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4vLy8gQG5hbWUgLmstYXNwZWN0LXJhdGlvLXZpZGVvXG4vLy8gQGdyb3VwIGFzcGVjdC1yYXRpb1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQtLWFzcGVjdC1yYXRpbygpIHtcblxuICAgIC8vIEFzcGVjdCByYXRpbyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYXNwZWN0LXJhdGlvOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJhc3BlY3QtcmF0aW9cIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByYXRpbywgYXNwZWN0LXJhdGlvLCAka2VuZG8tdXRpbHMtYXNwZWN0LXJhdGlvICk7XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGFzcGVjdC1yYXRpbywgYXNwZWN0LXJhdGlvLCAka2VuZG8tdXRpbHMtYXNwZWN0LXJhdGlvICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYm94LXNpemluZy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fYm94LXNpemluZy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3gtc2l6aW5nOiBib3JkZXItYm94O2AuXG4vLy8gQGV4YW1wbGUgYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vLyBAbmFtZSAuay1ib3gtc2l6aW5nLWJvcmRlclxuLy8vIEBncm91cCBib3gtc2l6aW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3gtc2l6aW5nOiBjb250ZW50LWJveDtgLlxuLy8vIEBleGFtcGxlIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuLy8vIEBuYW1lIC5rLWJveC1zaXppbmctY29udGVudFxuLy8vIEBncm91cCBib3gtc2l6aW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWxheW91dC0tYm94LXNpemluZygpIHtcblxuICAgIC8vIGJveC1zaXppbmcgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWJveC1zaXppbmc6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImJveC1zaXppbmdcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3gtc2l6aW5nLCBib3gtc2l6aW5nLCAka2VuZG8tdXRpbHMtYm94LXNpemluZyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NsZWFyLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvbGF5b3V0L19jbGVhci5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjbGVhcjogbGVmdDtgLlxuLy8vIEBleGFtcGxlIGNsZWFyOiBsZWZ0O1xuLy8vIEBuYW1lIC5rLWNsZWFyLWxlZnRcbi8vLyBAZ3JvdXAgY2xlYXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNsZWFyOiByaWdodDtgLlxuLy8vIEBleGFtcGxlIGNsZWFyOiByaWdodDtcbi8vLyBAbmFtZSAuay1jbGVhci1yaWdodFxuLy8vIEBncm91cCBjbGVhclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY2xlYXI6IGJvdGg7YC5cbi8vLyBAZXhhbXBsZSBjbGVhcjogYm90aDtcbi8vLyBAbmFtZSAuay1jbGVhci1ib3RoXG4vLy8gQGdyb3VwIGNsZWFyXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjbGVhcjogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGNsZWFyOiBub25lO1xuLy8vIEBuYW1lIC5rLWNsZWFyLW5vbmVcbi8vLyBAZ3JvdXAgY2xlYXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1jbGVhcigpIHtcblxuICAgIC8vIENsZWFyIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1jbGVhcjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiY2xlYXJcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBjbGVhciwgY2xlYXIsICRrZW5kby11dGlscy1jbGVhciApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NvbHVtbnMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX2NvbHVtbnMuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogMTtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IDE7XG4vLy8gQG5hbWUgLmstY29sdW1ucy0xXG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbnM6IDI7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiAyO1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtMlxuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiAzO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uczogMztcbi8vLyBAbmFtZSAuay1jb2x1bW5zLTNcbi8vLyBAZ3JvdXAgY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogNDtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IDQ7XG4vLy8gQG5hbWUgLmstY29sdW1ucy00XG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbnM6IDU7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiA1O1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtNVxuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiA2O2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uczogNjtcbi8vLyBAbmFtZSAuay1jb2x1bW5zLTZcbi8vLyBAZ3JvdXAgY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogNztgLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IDc7XG4vLy8gQG5hbWUgLmstY29sdW1ucy03XG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbnM6IDg7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiA4O1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtOFxuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiA5O2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uczogOTtcbi8vLyBAbmFtZSAuay1jb2x1bW5zLTlcbi8vLyBAZ3JvdXAgY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogMTA7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiAxMDtcbi8vLyBAbmFtZSAuay1jb2x1bW5zLTEwXG4vLy8gQGdyb3VwIGNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbnM6IDExO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uczogMTE7XG4vLy8gQG5hbWUgLmstY29sdW1ucy0xMVxuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW5zOiAxMjtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbnM6IDEyO1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtMTJcbi8vLyBAZ3JvdXAgY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uczogYXV0bztgLlRoZSBudW1iZXIgb2YgY29sdW1ucyBpcyBkZXRlcm1pbmVkIGJ5IG90aGVyIENTUyBwcm9wZXJ0aWVzLCBzdWNoIGFzIGNvbHVtbi13aWR0aC5cbi8vLyBAZXhhbXBsZSBjb2x1bW5zOiBhdXRvO1xuLy8vIEBuYW1lIC5rLWNvbHVtbnMtYXV0b1xuLy8vIEBncm91cCBjb2x1bW5zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWxheW91dC0tY29sdW1ucygpIHtcblxuICAgIC8vIGNvbHVtbnMgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWNvbHVtbnM6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImNvbHVtbnNcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBjb2x1bW5zLCBjb2x1bW5zLCAka2VuZG8tdXRpbHMtY29sdW1ucyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2Rpc3BsYXkuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX2Rpc3BsYXkuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IG5vbmU7XG4vLy8gQG5hbWUgLmstZC1ub25lXG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IGNvbnRlbnRzO2AuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogY29udGVudHM7XG4vLy8gQG5hbWUgLmstZC1jb250ZW50c1xuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiBibG9jaztgLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IGJsb2NrO1xuLy8vIEBuYW1lIC5rLWQtYmxvY2tcbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogaW5saW5lO2AuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogaW5saW5lO1xuLy8vIEBuYW1lIC5rLWQtaW5saW5lXG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IGlubGluZS1ibG9jaztgLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vLyBAbmFtZSAuay1kLWlubGluZS1ibG9ja1xuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiBmbGV4O2AuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogZmxleDtcbi8vLyBAbmFtZSAuay1kLWZsZXhcbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogaW5saW5lLWZsZXg7YC5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vLyBAbmFtZSAuay1kLWlubGluZS1mbGV4XG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IGdyaWRgLiBJdCBkZWZpbmVzIHRoZSBlbGVtZW50IGFzIGEgZ3JpZCBjb250YWluZXIgYW5kIGVzdGFibGlzaGVzIGEgbmV3IGdyaWQgZm9ybWF0dGluZyBjb250ZXh0IGZvciBpdHMgY29udGVudHMuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogZ3JpZFxuLy8vIEBuYW1lIC5rLWQtZ3JpZFxuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiBpbmxpbmUtZ3JpZGAuIEl0IGRlZmluZXMgdGhlIGVsZW1lbnQgYXMgYSBncmlkIGNvbnRhaW5lciBhbmQgZXN0YWJsaXNoZXMgYSBuZXcgZ3JpZCBmb3JtYXR0aW5nIGNvbnRleHQgZm9yIGl0cyBjb250ZW50cy5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiBpbmxpbmUtZ3JpZFxuLy8vIEBuYW1lIC5rLWQtaW5saW5lLWdyaWRcbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogdGFibGU7YC5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiB0YWJsZTtcbi8vLyBAbmFtZSAuay1kLXRhYmxlXG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IGlubGluZS10YWJsZTtgLlxuLy8vIEBleGFtcGxlIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbi8vLyBAbmFtZSAuay1kLWlubGluZS10YWJsZVxuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBkaXNwbGF5OiBsaXN0LWl0ZW07YC5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiBsaXN0LWl0ZW07XG4vLy8gQG5hbWUgLmstZC1saXN0LWl0ZW1cbi8vLyBAZ3JvdXAgZGlzcGxheVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZGlzcGxheTogdGFibGUtcm93O2AuXG4vLy8gQGV4YW1wbGUgZGlzcGxheTogdGFibGUtcm93O1xuLy8vIEBuYW1lIC5rLWQtdGFibGUtcm93XG4vLy8gQGdyb3VwIGRpc3BsYXlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGRpc3BsYXk6IHRhYmxlLWNlbGw7YC5cbi8vLyBAZXhhbXBsZSBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuLy8vIEBuYW1lIC5rLWQtdGFibGUtY2VsbFxuLy8vIEBncm91cCBkaXNwbGF5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWxheW91dC0tZGlzcGxheSgpIHtcblxuICAgIC8vIERpc3BsYXkgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWRpc3BsYXk6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImRpc3BsYXlcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBkLCBkaXNwbGF5LCAka2VuZG8tdXRpbHMtZGlzcGxheSApO1xuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBkaXNwbGF5LCBkaXNwbGF5LCAka2VuZG8tdXRpbHMtZGlzcGxheSApO1xuICAgIC4jeyRrZW5kby1wcmVmaXh9ZC1mbGV4LXJvdyB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1kLWZsZXgsIC4jeyRrZW5kby1wcmVmaXh9ZmxleC1yb3cgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH1kLWZsZXgtcm93IHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fWQtZmxleCwgLlxcISN7JGtlbmRvLXByZWZpeH1mbGV4LXJvdyAhb3B0aW9uYWw7IH1cbiAgICAuI3ska2VuZG8tcHJlZml4fWQtZmxleC1jb2wgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9ZC1mbGV4LCAuI3ska2VuZG8tcHJlZml4fWZsZXgtY29sICFvcHRpb25hbDsgfVxuICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZC1mbGV4LWNvbCB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1kLWZsZXgsIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxleC1yb3cgIW9wdGlvbmFsOyB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmxvYXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX2Zsb2F0LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsb2F0OiBsZWZ0O2AuXG4vLy8gQGV4YW1wbGUgZmxvYXQ6IGxlZnQ7XG4vLy8gQG5hbWUgLmstZmxvYXQtbGVmdFxuLy8vIEBncm91cCBmbG9hdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxvYXQ6IHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgZmxvYXQ6IHJpZ2h0O1xuLy8vIEBuYW1lIC5rLWZsb2F0LXJpZ2h0XG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmbG9hdDogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGZsb2F0OiBub25lO1xuLy8vIEBuYW1lIC5rLWZsb2F0LW5vbmVcbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1mbG9hdCgpIHtcblxuICAgIC8vIEZsb2F0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1mbG9hdDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZmxvYXRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmbG9hdCwgZmxvYXQsICRrZW5kby11dGlscy1mbG9hdCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX29iamVjdC1maXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX29iamVjdC1maXQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb2JqZWN0LWZpdDogY29udGFpbjtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1maXQ6IGNvbnRhaW47XG4vLy8gQG5hbWUgLmstb2JqZWN0LWZpdC1jb250YWluXG4vLy8gQGdyb3VwIG9iamVjdC1maXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1maXQ6IGNvdmVyO2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LWZpdDogY292ZXI7XG4vLy8gQG5hbWUgLmstb2JqZWN0LWZpdC1jb3ZlclxuLy8vIEBncm91cCBvYmplY3QtZml0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtZml0OiBmaWxsO2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LWZpdDogZmlsbDtcbi8vLyBAbmFtZSAuay1vYmplY3QtZml0LWZpbGxcbi8vLyBAZ3JvdXAgb2JqZWN0LWZpdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb2JqZWN0LWZpdDogc2NhbGUtZG93bjtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG4vLy8gQG5hbWUgLmstb2JqZWN0LWZpdC1zY2FsZS1kb3duXG4vLy8gQGdyb3VwIG9iamVjdC1maXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9iamVjdC1maXQ6IGluaXRpYWw7YC5cbi8vLyBAZXhhbXBsZSBvYmplY3QtZml0OiBpbml0aWFsO1xuLy8vIEBuYW1lIC5rLW9iamVjdC1maXQtaW5pdGlhbFxuLy8vIEBncm91cCBvYmplY3QtZml0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtZml0OiBub25lO2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LWZpdDogbm9uZTtcbi8vLyBAbmFtZSAuay1vYmplY3QtZml0LW5vbmVcbi8vLyBAZ3JvdXAgb2JqZWN0LWZpdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1sYXlvdXQtLW9iamVjdC1maXQoKSB7XG5cbiAgICAvLyBvYmplY3QtZml0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vYmplY3QtZml0OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJvYmplY3QtZml0XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggb2JqZWN0LWZpdCwgb2JqZWN0LWZpdCwgJGtlbmRvLXV0aWxzLW9iamVjdC1maXQgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19vYmplY3QtcG9zaXRpb24uc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX29iamVjdC1wb3NpdGlvbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuLy8vIEBuYW1lIC5rLW9iamVjdC1wb3NpdGlvbi1jZW50ZXJcbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IHRvcDtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuLy8vIEBuYW1lIC5rLW9iamVjdC1wb3NpdGlvbi10b3Bcbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LXBvc2l0aW9uOiByaWdodDtcbi8vLyBAbmFtZSAuay1vYmplY3QtcG9zaXRpb24tcmlnaHRcbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IGJvdHRvbTtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xuLy8vIEBuYW1lIC5rLW9iamVjdC1wb3NpdGlvbi1ib3R0b21cbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBvYmplY3QtcG9zaXRpb246IGxlZnQ7XG4vLy8gQG5hbWUgLmstb2JqZWN0LXBvc2l0aW9uLWxlZnRcbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IHRvcCBsZWZ0O2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDtcbi8vLyBAbmFtZSAuay1vYmplY3QtcG9zaXRpb24tdG9wLWxlZnRcbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IHRvcCByaWdodDtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xuLy8vIEBuYW1lIC5rLW9iamVjdC1wb3NpdGlvbi10b3AtcmlnaHRcbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IGJvdHRvbSBsZWZ0O2AuXG4vLy8gQGV4YW1wbGUgb2JqZWN0LXBvc2l0aW9uOiBib3R0b20gbGVmdDtcbi8vLyBAbmFtZSAuay1vYmplY3QtcG9zaXRpb24tYm90dG9tLWxlZnRcbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvYmplY3QtcG9zaXRpb246IGJvdHRvbSByaWdodDtgLlxuLy8vIEBleGFtcGxlIG9iamVjdC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuLy8vIEBuYW1lIC5rLW9iamVjdC1wb3NpdGlvbi1ib3R0b20tcmlnaHRcbi8vLyBAZ3JvdXAgb2JqZWN0LXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWxheW91dC0tb2JqZWN0LXBvc2l0aW9uKCkge1xuXG4gICAgLy8gb2JqZWN0LXBvc2l0aW9uIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vYmplY3QtcG9zaXRpb246IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcIm9iamVjdC1wb3NpdGlvblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG9iamVjdC1wb3NpdGlvbiwgb2JqZWN0LXBvc2l0aW9uLCAka2VuZG8tdXRpbHMtb2JqZWN0LXBvc2l0aW9uICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fb3ZlcmZsb3cuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX292ZXJmbG93LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3c6IGF1dG87XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3ctYXV0b1xuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3c6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3ctaGlkZGVuXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdzogdmlzaWJsZTtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93OiB2aXNpYmxlO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LXZpc2libGVcbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93OiBzY3JvbGw7YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdzogc2Nyb2xsO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LXNjcm9sbFxuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3c6IGNsaXA7YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdzogY2xpcDtcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy1jbGlwXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdy14OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3cteDogYXV0bztcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy14LWF1dG9cbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93LXg6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93LXg6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy14LWhpZGRlblxuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3cteDogdmlzaWJsZTtgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93LXg6IHZpc2libGU7XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3cteC12aXNpYmxlXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdy14OiBzY3JvbGw7YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdy14OiBzY3JvbGw7XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3cteC1zY3JvbGxcbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93LXg6IGNsaXA7YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdy14OiBjbGlwO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LXgtY2xpcFxuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3cteTogYXV0bztgLlxuLy8vIEBleGFtcGxlIG92ZXJmbG93LXk6IGF1dG87XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3cteS1hdXRvXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdy15OiBoaWRkZW47YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdy15OiBoaWRkZW47XG4vLy8gQG5hbWUgLmstb3ZlcmZsb3cteS1oaWRkZW5cbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG92ZXJmbG93LXk6IHZpc2libGU7YC5cbi8vLyBAZXhhbXBsZSBvdmVyZmxvdy15OiB2aXNpYmxlO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LXktdmlzaWJsZVxuLy8vIEBncm91cCBvdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3ZlcmZsb3cteTogc2Nyb2xsO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3cteTogc2Nyb2xsO1xuLy8vIEBuYW1lIC5rLW92ZXJmbG93LXktc2Nyb2xsXG4vLy8gQGdyb3VwIG92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdmVyZmxvdy15OiBjbGlwO2AuXG4vLy8gQGV4YW1wbGUgb3ZlcmZsb3cteTogY2xpcDtcbi8vLyBAbmFtZSAuay1vdmVyZmxvdy15LWNsaXBcbi8vLyBAZ3JvdXAgb3ZlcmZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1vdmVyZmxvdygpIHtcblxuICAgIC8vIE92ZXJmbG93IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vdmVyZmxvdzogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwib3ZlcmZsb3dcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvdmVyZmxvdywgb3ZlcmZsb3csICRrZW5kby11dGlscy1vdmVyZmxvdyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvdmVyZmxvdy14LCBvdmVyZmxvdy14LCAka2VuZG8tdXRpbHMtb3ZlcmZsb3cgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggb3ZlcmZsb3cteSwgb3ZlcmZsb3cteSwgJGtlbmRvLXV0aWxzLW92ZXJmbG93ICk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3BsYWNlbWVudC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2xheW91dC9fcGxhY2VtZW50LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvcDogMDtgLlxuLy8vIEBleGFtcGxlIHRvcDogMDtcbi8vLyBAbmFtZSAuay10b3AtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHJpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgcmlnaHQ6IDA7XG4vLy8gQG5hbWUgLmstcmlnaHQtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvdHRvbTogMDtgLlxuLy8vIEBleGFtcGxlIGJvdHRvbTogMDtcbi8vLyBAbmFtZSAuay1ib3R0b20tMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGxlZnQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBsZWZ0OiAwO1xuLy8vIEBuYW1lIC5rLWxlZnQtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvcDogMDtgLlxuLy8vIEBleGFtcGxlIHRvcDogMDtcbi8vLyBAbmFtZSAuay1wb3MtdG9wLTBcbi8vLyBAZ3JvdXAgcGxhY2VtZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByaWdodDogMDtgLlxuLy8vIEBleGFtcGxlIHJpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLXBvcy1yaWdodC0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm90dG9tOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm90dG9tOiAwO1xuLy8vIEBuYW1lIC5rLXBvcy1ib3R0b20tMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGxlZnQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBsZWZ0OiAwO1xuLy8vIEBuYW1lIC5rLXBvcy1sZWZ0LTBcbi8vLyBAZ3JvdXAgcGxhY2VtZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0b3A6IDA7IGxlZnQ6IDA7YC5cbi8vLyBAZXhhbXBsZSB0b3A6IDA7IGxlZnQ6IDA7XG4vLy8gQG5hbWUgLmstdG9wLWxlZnQtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvcDogMDsgcmlnaHQ6IDA7YC5cbi8vLyBAZXhhbXBsZSB0b3A6IDA7IHJpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLXRvcC1yaWdodC0wXG4vLy8gQGdyb3VwIHBsYWNlbWVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm90dG9tOiAwOyBsZWZ0OiAwO2AuXG4vLy8gQGV4YW1wbGUgYm90dG9tOiAwOyBsZWZ0OiAwO1xuLy8vIEBuYW1lIC5rLWJvdHRvbS1sZWZ0LTBcbi8vLyBAZ3JvdXAgcGxhY2VtZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3R0b206IDA7IHJpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgYm90dG9tOiAwOyByaWdodDogMDtcbi8vLyBAbmFtZSAuay1ib3R0b20tcmlnaHQtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGluc2V0OiAwO2AuXG4vLy8gQGV4YW1wbGUgaW5zZXQ6IDA7XG4vLy8gQG5hbWUgLmstaW5zZXQtMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGluc2V0LWlubGluZTogMDtgLlxuLy8vIEBleGFtcGxlIGluc2V0LWlubGluZTogMDtcbi8vLyBAbmFtZSAuay1pbnNldC14LTBcbi8vLyBAZ3JvdXAgcGxhY2VtZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBpbnNldC1ibG9jazogMDtgLlxuLy8vIEBleGFtcGxlIGluc2V0LWJsb2NrOiAwO1xuLy8vIEBuYW1lIC5rLWluc2V0LXktMFxuLy8vIEBncm91cCBwbGFjZW1lbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1wbGFjZW1lbnQoKSB7XG4gICAgLy8gVG9wIC8gcmlnaHQgLyBib3R0b20gLyBsZWZ0XG4gICAgJGtlbmRvLXV0aWxzLXBsYWNlbWVudDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwicGxhY2VtZW50XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdG9wLCB0b3AsICRrZW5kby11dGlscy1wbGFjZW1lbnQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcmlnaHQsIHJpZ2h0LCAka2VuZG8tdXRpbHMtcGxhY2VtZW50ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvdHRvbSwgYm90dG9tLCAka2VuZG8tdXRpbHMtcGxhY2VtZW50ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGxlZnQsIGxlZnQsICRrZW5kby11dGlscy1wbGFjZW1lbnQgKTtcblxuXG4gICAgLy8gcGxhY2VtZW50IGxlbmd0aCB1dGlsaXR5IGNsYXNzZXNcbiAgICBAZWFjaCAkc2lkZSBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KSB7XG4gICAgICAgIC4jeyRrZW5kby1wcmVmaXh9I3skc2lkZX0sXG4gICAgICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLSN7JHNpZGV9IHsgI3skc2lkZX06IDA7IH1cbiAgICB9XG5cbiAgICAvLyBJbnNldCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtaW5zZXQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImluc2V0XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggaW5zZXQsIGluc2V0LCAka2VuZG8tdXRpbHMtaW5zZXQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggaW5zZXQteCwgaW5zZXQtaW5saW5lLCAka2VuZG8tdXRpbHMtaW5zZXQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggaW5zZXQteSwgaW5zZXQtYmxvY2ssICRrZW5kby11dGlscy1pbnNldCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB0b3AtbGVmdCwgKCB0b3AsIGxlZnQgKSwgJGtlbmRvLXV0aWxzLWluc2V0ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRvcC1yaWdodCwgKCB0b3AsIHJpZ2h0ICksICRrZW5kby11dGlscy1pbnNldCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3R0b20tbGVmdCwgKCBib3R0b20sIGxlZnQgKSwgJGtlbmRvLXV0aWxzLWluc2V0ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvdHRvbS1yaWdodCwgKCBib3R0b20sIHJpZ2h0ICksICRrZW5kby11dGlscy1pbnNldCApO1xuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIC4jeyRrZW5kby1wcmVmaXh9dG9wLXN0YXJ0LFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLXRvcC1zdGFydCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgIC4jeyRrZW5kby1wcmVmaXh9dG9wLWVuZCxcbiAgICAuI3ska2VuZG8tcHJlZml4fXBvcy10b3AtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuICAgIC4jeyRrZW5kby1wcmVmaXh9Ym90dG9tLXN0YXJ0LFxuICAgIC4jeyRrZW5kby1wcmVmaXh9cG9zLWJvdHRvbS1zdGFydCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgIC4jeyRrZW5kby1wcmVmaXh9Ym90dG9tLWVuZCxcbiAgICAuI3ska2VuZG8tcHJlZml4fXBvcy1ib3R0b20tZW5kIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuICAgIC4jeyRrZW5kby1wcmVmaXh9dG9wLWNlbnRlcixcbiAgICAuI3ska2VuZG8tcHJlZml4fXBvcy10b3AtY2VudGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1taWRkbGUtbGVmdCxcbiAgICAuI3ska2VuZG8tcHJlZml4fW1pZGRsZS1zdGFydCxcbiAgICAuI3ska2VuZG8tcHJlZml4fXBvcy1taWRkbGUtc3RhcnQge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICAuI3ska2VuZG8tcHJlZml4fW1pZGRsZS1jZW50ZXIge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICAgIC4jeyRrZW5kby1wcmVmaXh9bWlkZGxlLXJpZ2h0LFxuICAgIC4jeyRrZW5kby1wcmVmaXh9bWlkZGxlLWVuZCxcbiAgICAuI3ska2VuZG8tcHJlZml4fXBvcy1taWRkbGUtZW5kIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICAgIC4jeyRrZW5kby1wcmVmaXh9Ym90dG9tLWNlbnRlcixcbiAgICAuI3ska2VuZG8tcHJlZml4fXBvcy1ib3R0b20tY2VudGVyIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fcG9zaXRpb24uc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX3Bvc2l0aW9uLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBvc2l0aW9uOiBzdGF0aWM7YC5cbi8vLyBAZXhhbXBsZSBwb3NpdGlvbjogc3RhdGljO1xuLy8vIEBuYW1lIC5rLXBvcy1zdGF0aWNcbi8vLyBAZ3JvdXAgcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBvc2l0aW9uOiByZWxhdGl2ZTtgLlxuLy8vIEBleGFtcGxlIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vLyBAbmFtZSAuay1wb3MtcmVsYXRpdmVcbi8vLyBAZ3JvdXAgcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBvc2l0aW9uOiBhYnNvbHV0ZTtgLlxuLy8vIEBleGFtcGxlIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyBAbmFtZSAuay1wb3MtYWJzb2x1dGVcbi8vLyBAZ3JvdXAgcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBvc2l0aW9uOiBmaXhlZDtgLlxuLy8vIEBleGFtcGxlIHBvc2l0aW9uOiBmaXhlZDtcbi8vLyBAbmFtZSAuay1wb3MtZml4ZWRcbi8vLyBAZ3JvdXAgcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBvc2l0aW9uOiBzdGlja3k7YC5cbi8vLyBAZXhhbXBsZSBwb3NpdGlvbjogc3RpY2t5O1xuLy8vIEBuYW1lIC5rLXBvcy1zdGlja3lcbi8vLyBAZ3JvdXAgcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS1wb3NpdGlvbigpIHtcblxuICAgIC8vIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1wb3NpdGlvbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwicG9zaXRpb25cIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwb3MsIHBvc2l0aW9uLCAka2VuZG8tdXRpbHMtcG9zaXRpb24gKTtcblxuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICAuI3ska2VuZG8tcHJlZml4fXN0YXRpYyB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1wb3Mtc3RhdGljICFvcHRpb25hbDsgfVxuICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9c3RhdGljIHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fXBvcy1zdGF0aWMgIW9wdGlvbmFsOyB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1yZWxhdGl2ZSB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1wb3MtcmVsYXRpdmUgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH1yZWxhdGl2ZSB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1wb3MtcmVsYXRpdmUgIW9wdGlvbmFsOyB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1hYnNvbHV0ZSB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1wb3MtYWJzb2x1dGUgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH1hYnNvbHV0ZSB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1wb3MtYWJzb2x1dGUgIW9wdGlvbmFsOyB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1maXhlZCB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1wb3MtZml4ZWQgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH1maXhlZCB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1wb3MtZml4ZWQgIW9wdGlvbmFsOyB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1zdGlja3kgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9cG9zLXN0aWNreSAhb3B0aW9uYWw7IH1cbiAgICAuXFwhI3ska2VuZG8tcHJlZml4fXN0aWNreSB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1wb3Mtc3RpY2t5ICFvcHRpb25hbDsgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3Zpc2liaWxpdHkuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX3Zpc2liaWxpdHkuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdmlzaWJpbGl0eTogdmlzYmxlO2AuXG4vLy8gQGV4YW1wbGUgdmlzaWJpbGl0eTogdmlzYmxlO1xuLy8vIEBuYW1lIC5rLXZpc2libGVcbi8vLyBAZ3JvdXAgdmlzaWJpbGl0eVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdmlzaWJpbGl0eTogaGlkZGVuO2AuXG4vLy8gQGV4YW1wbGUgdmlzaWJpbGl0eTogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLWludmlzaWJsZVxuLy8vIEBncm91cCB2aXNpYmlsaXR5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB2aXNpYmlsaXR5OiBjb2xsYXBzZTtgLlxuLy8vIEBleGFtcGxlIHZpc2liaWxpdHk6IGNvbGxhcHNlO1xuLy8vIEBuYW1lIC5rLWNvbGxhcHNlXG4vLy8gQGdyb3VwIHZpc2liaWxpdHlcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0LS12aXNpYmlsaXR5KCkge1xuXG4gICAgLy8gVmlzaWJpbGl0eSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtdmlzaWJpbGl0eTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwidmlzaWJpbGl0eVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHZpc2liaWxpdHksIHZpc2liaWxpdHksICRrZW5kby11dGlscy12aXNpYmlsaXR5ICk7XG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIC4jeyRrZW5kby1wcmVmaXh9dmlzaWJsZSB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH12aXNpYmlsaXR5LXZpc2libGUgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH12aXNpYmxlIHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fXZpc2liaWxpdHktdmlzaWJsZSAhb3B0aW9uYWw7IH1cbiAgICAuI3ska2VuZG8tcHJlZml4fWludmlzaWJsZSB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH12aXNpYmlsaXR5LWhpZGRlbiAhb3B0aW9uYWw7IH1cbiAgICAuXFwhI3ska2VuZG8tcHJlZml4fWludmlzaWJsZSB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH12aXNpYmlsaXR5LWhpZGRlbiAhb3B0aW9uYWw7IH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL196aW5kZXguc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9sYXlvdXQvX3ppbmRleC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB6LWluZGV4OiAwO2AuXG4vLy8gQGV4YW1wbGUgei1pbmRleDogMDtcbi8vLyBAbmFtZSAuay16LTBcbi8vLyBAZ3JvdXAgemluZGV4XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB6LWluZGV4OiAxMDtgLlxuLy8vIEBleGFtcGxlIHotaW5kZXg6IDEwO1xuLy8vIEBuYW1lIC5rLXotMTBcbi8vLyBAZ3JvdXAgemluZGV4XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB6LWluZGV4OiAyMDtgLlxuLy8vIEBleGFtcGxlIHotaW5kZXg6IDIwO1xuLy8vIEBuYW1lIC5rLXotMjBcbi8vLyBAZ3JvdXAgemluZGV4XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB6LWluZGV4OiAzMDtgLlxuLy8vIEBleGFtcGxlIHotaW5kZXg6IDMwO1xuLy8vIEBuYW1lIC5rLXotMzBcbi8vLyBAZ3JvdXAgemluZGV4XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB6LWluZGV4OiA0MDtgLlxuLy8vIEBleGFtcGxlIHotaW5kZXg6IDQwO1xuLy8vIEBuYW1lIC5rLXotNDBcbi8vLyBAZ3JvdXAgemluZGV4XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB6LWluZGV4OiA1MDtgLlxuLy8vIEBleGFtcGxlIHotaW5kZXg6IDUwO1xuLy8vIEBuYW1lIC5rLXotNTBcbi8vLyBAZ3JvdXAgemluZGV4XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB6LWluZGV4OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgei1pbmRleDogYXV0bztcbi8vLyBAbmFtZSAuay16LWF1dG9cbi8vLyBAZ3JvdXAgemluZGV4XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWxheW91dC0temluZGV4KCkge1xuXG4gICAgLy8gWi1pbmRleCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtemluZGV4OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ6aW5kZXhcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB6LCB6LWluZGV4LCAka2VuZG8tdXRpbHMtemluZGV4ICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby11dGlscy0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLWFzcGVjdC1yYXRpbygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLWJveC1zaXppbmcoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS1jbGVhcigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLWNvbHVtbnMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS1kaXNwbGF5KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWxheW91dC0tZmxvYXQoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS1vYmplY3QtZml0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWxheW91dC0tb2JqZWN0LXBvc2l0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWxheW91dC0tb3ZlcmZsb3coKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS1wbGFjZW1lbnQoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS1wb3NpdGlvbigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1sYXlvdXQtLXZpc2liaWxpdHkoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0LS16aW5kZXgoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9mbGV4LWdyaWQvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19hbGlnbi1jb250ZW50LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19hbGlnbi1jb250ZW50LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWNvbnRlbnQ6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LW5vcm1hbFxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1jb250ZW50OiBzdHJldGNoO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LXN0cmV0Y2hcbi8vLyBAZ3JvdXAgYWxpZ24tY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogY2VudGVyO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogY2VudGVyO1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtY2VudGVyXG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IHN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogc3RhcnQ7XG4vLy8gQG5hbWUgLmstYWxpZ24tY29udGVudC1zdGFydFxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1jb250ZW50OiBlbmQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBlbmQ7XG4vLy8gQG5hbWUgLmstYWxpZ24tY29udGVudC1lbmRcbi8vLyBAZ3JvdXAgYWxpZ24tY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4vLy8gQG5hbWUgLmstYWxpZ24tY29udGVudC1mbGV4LXN0YXJ0XG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstYWxpZ24tY29udGVudC1mbGV4LWVuZFxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1jb250ZW50OiBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgYWxpZ24tY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogZmlyc3QgYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBmaXJzdCBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LWZpcnN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IGxhc3QgYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1jb250ZW50OiBsYXN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtbGFzdC1iYXNlbGluZVxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LWJldHdlZW5cbi8vLyBAZ3JvdXAgYWxpZ24tY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kO1xuLy8vIEBuYW1lIC5rLWFsaWduLWNvbnRlbnQtYXJvdW5kXG4vLy8gQGdyb3VwIGFsaWduLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbi8vLyBAbmFtZSAuay1hbGlnbi1jb250ZW50LWV2ZW5seVxuLy8vIEBncm91cCBhbGlnbi1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tYWxpZ24tY29udGVudCgpIHtcblxuICAgIC8vIEFsaWduIGNvbnRlbnQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWFsaWduLWNvbnRlbnQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImFsaWduLWNvbnRlbnRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBhbGlnbi1jb250ZW50LCBhbGlnbi1jb250ZW50LCAka2VuZG8tdXRpbHMtYWxpZ24tY29udGVudCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2FsaWduLWl0ZW1zLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19hbGlnbi1pdGVtcy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1pdGVtczogbm9ybWFsO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1ub3JtYWxcbi8vLyBAZ3JvdXAgYWxpZ24taXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWl0ZW1zOiBzdHJldGNoO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstYWxpZ24taXRlbXMtc3RyZXRjaFxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24taXRlbXM6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstYWxpZ24taXRlbXMtc3RyZXRjaFxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24taXRlbXM6IHN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IHN0YXJ0O1xuLy8vIEBuYW1lIC5rLWFsaWduLWl0ZW1zLXN0YXJ0XG4vLy8gQGdyb3VwIGFsaWduLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1pdGVtczogZW5kO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IGVuZDtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1lbmRcbi8vLyBAZ3JvdXAgYWxpZ24taXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4vLy8gQG5hbWUgLmstYWxpZ24taXRlbXMtZmxleC1zdGFydFxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24taXRlbXM6IGZsZXgtZW5kO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuLy8vIEBuYW1lIC5rLWFsaWduLWl0ZW1zLWZsZXgtZW5kXG4vLy8gQGdyb3VwIGFsaWduLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1pdGVtczogYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstYWxpZ24taXRlbXMtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgYWxpZ24taXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWl0ZW1zOiBmaXJzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWl0ZW1zOiBmaXJzdCBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1maXJzdC1iYXNlbGluZVxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24taXRlbXM6IGxhc3QgYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1pdGVtczogbGFzdCBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1sYXN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGFsaWduLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuLy8vIEBuYW1lIC5rLWFsaWduLWl0ZW1zLXNlbGYtc3RhcnRcbi8vLyBAZ3JvdXAgYWxpZ24taXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLWl0ZW1zOiBzZWxmLWVuZDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLWl0ZW1zOiBzZWxmLWVuZDtcbi8vLyBAbmFtZSAuay1hbGlnbi1pdGVtcy1zZWxmLWVuZFxuLy8vIEBncm91cCBhbGlnbi1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWFsaWduLWl0ZW1zKCkge1xuXG4gICAgLy8gQWxpZ24gaXRlbXMgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWFsaWduLWl0ZW1zOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJhbGlnbi1pdGVtc1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGFsaWduLWl0ZW1zLCBhbGlnbi1pdGVtcywgJGtlbmRvLXV0aWxzLWFsaWduLWl0ZW1zICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYWxpZ24tc2VsZi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fYWxpZ24tc2VsZi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tc2VsZjogYXV0bztcbi8vLyBAbmFtZSAuay1hbGlnbi1zZWxmLWF1dG9cbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tc2VsZjogbm9ybWFsO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tc2VsZjogbm9ybWFsO1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtbm9ybWFsXG4vLy8gQGdyb3VwIGFsaWduLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IHN0cmV0Y2g7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBzdHJldGNoO1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtc3RyZXRjaFxuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstYWxpZ24tc2VsZi1jZW50ZXJcbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tc2VsZjogc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBzdGFydDtcbi8vLyBAbmFtZSAuay1hbGlnbi1zZWxmLXN0YXJ0XG4vLy8gQGdyb3VwIGFsaWduLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IGVuZDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IGVuZDtcbi8vLyBAbmFtZSAuay1hbGlnbi1zZWxmLWVuZFxuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbi8vLyBAbmFtZSAuay1hbGlnbi1zZWxmLWZsZXgtc3RhcnRcbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tc2VsZjogZmxleC1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbi8vLyBAbmFtZSAuay1hbGlnbi1zZWxmLWZsZXgtZW5kXG4vLy8gQGdyb3VwIGFsaWduLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstYWxpZ24tc2VsZi1iYXNlbGluZVxuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBmaXJzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IGZpcnN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtZmlyc3QtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYWxpZ24tc2VsZjogbGFzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IGxhc3QgYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstYWxpZ24tc2VsZi1sYXN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGFsaWduLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGFsaWduLXNlbGY6IHNlbGYtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBhbGlnbi1zZWxmOiBzZWxmLXN0YXJ0O1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtc2VsZi1zdGFydFxuLy8vIEBncm91cCBhbGlnbi1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhbGlnbi1zZWxmOiBzZWxmLWVuZDtgLlxuLy8vIEBleGFtcGxlIGFsaWduLXNlbGY6IHNlbGYtZW5kO1xuLy8vIEBuYW1lIC5rLWFsaWduLXNlbGYtc2VsZi1lbmRcbi8vLyBAZ3JvdXAgYWxpZ24tc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWFsaWduLXNlbGYoKSB7XG5cbiAgICAvLyBBbGlnbiBzZWxmIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1hbGlnbi1zZWxmOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJhbGlnbi1zZWxmXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYWxpZ24tc2VsZiwgYWxpZ24tc2VsZiwgJGtlbmRvLXV0aWxzLWFsaWduLXNlbGYgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mbGV4LWJhc2lzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19mbGV4LWJhc2lzLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtYmFzaXM6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBmbGV4LWJhc2lzOiBhdXRvO1xuLy8vIEBuYW1lIC5rLWZsZXgtYmFzaXMtYXV0b1xuLy8vIEBncm91cCBmbGV4LWJhc2lzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmbGV4LWJhc2lzOiAwO2AuXG4vLy8gQGV4YW1wbGUgZmxleC1iYXNpczogMDtcbi8vLyBAbmFtZSAuay1mbGV4LWJhc2lzLTBcbi8vLyBAZ3JvdXAgZmxleC1iYXNpc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgtYmFzaXMoKSB7XG5cbiAgICAvLyBGbGV4IGJhc2lzIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1mbGV4LWJhc2lzOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJmbGV4LWJhc2lzXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYmFzaXMsIGZsZXgtYmFzaXMsICRrZW5kby11dGlscy1mbGV4LWJhc2lzICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGZsZXgtYmFzaXMsIGZsZXgtYmFzaXMsICRrZW5kby11dGlscy1mbGV4LWJhc2lzICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmxleC1kaXJlY3Rpb24uc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2ZsZXgtZGlyZWN0aW9uLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtZGlyZWN0aW9uOiByb3c7YC5cbi8vLyBAZXhhbXBsZSBmbGV4LWRpcmVjdGlvbjogcm93O1xuLy8vIEBuYW1lIC5rLWZsZXgtcm93XG4vLy8gQGdyb3VwIGZsZXgtZGlyZWN0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7YC5cbi8vLyBAZXhhbXBsZSBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4vLy8gQG5hbWUgLmstZmxleC1yb3ctcmV2ZXJzZVxuLy8vIEBncm91cCBmbGV4LWRpcmVjdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtgLlxuLy8vIEBleGFtcGxlIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4vLy8gQG5hbWUgLmstZmxleC1jb2xcbi8vLyBAZ3JvdXAgZmxleC1kaXJlY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtgLlxuLy8vIEBleGFtcGxlIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbi8vLyBAbmFtZSAuay1mbGV4LWNvbC1yZXZlcnNlXG4vLy8gQGdyb3VwIGZsZXgtZGlyZWN0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZmxleC1kaXJlY3Rpb24oKSB7XG5cbiAgICAvLyBGbGV4IGRpcmVjdGlvbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZmxleC1kaXJlY3Rpb246IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZsZXgtZGlyZWN0aW9uXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZmxleCwgZmxleC1kaXJlY3Rpb24sICRrZW5kby11dGlscy1mbGV4LWRpcmVjdGlvbiApO1xuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIC4jeyRrZW5kby1wcmVmaXh9ZmxleC1jb2x1bW4geyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9ZmxleC1jb2wgIW9wdGlvbmFsOyB9XG4gICAgLiN7JGtlbmRvLXByZWZpeH1mbGV4LWNvbHVtbi1yZXZlcnNlIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fWZsZXgtY29sLXJldmVyc2UgIW9wdGlvbmFsOyB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmxleC1ncm93LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19mbGV4LWdyb3cuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmxleC1ncm93OiAxO2AuXG4vLy8gQGV4YW1wbGUgZmxleC1ncm93OiAxO1xuLy8vIEBuYW1lIC5rLWZsZXgtZ3Jvd1xuLy8vIEBncm91cCBmbGV4LWdyb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtZ3JvdzogMDtgLlxuLy8vIEBleGFtcGxlIGZsZXgtZ3JvdzogMDtcbi8vLyBAbmFtZSAuay1mbGV4LWdyb3ctMFxuLy8vIEBncm91cCBmbGV4LWdyb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1mbGV4LWdyb3coKSB7XG5cbiAgICAvLyBGbGV4IGdyb3cgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWZsZXgtZ3Jvdzogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZmxleC1ncm93XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZ3JvdywgZmxleC1ncm93LCAka2VuZG8tdXRpbHMtZmxleC1ncm93ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGZsZXgtZ3JvdywgZmxleC1ncm93LCAka2VuZG8tdXRpbHMtZmxleC1ncm93ICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmxleC1zaHJpbmsuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2ZsZXgtc2hyaW5rLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtc2hyaW5rOiAxO2AuXG4vLy8gQGV4YW1wbGUgZmxleC1zaHJpbms6IDE7XG4vLy8gQG5hbWUgLmstZmxleC1zaHJpbmtcbi8vLyBAZ3JvdXAgZmxleC1zaHJpbmtcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtc2hyaW5rOiAwO2AuXG4vLy8gQGV4YW1wbGUgZmxleC1zaHJpbms6IDA7XG4vLy8gQG5hbWUgLmstZmxleC1zaHJpbmstMFxuLy8vIEBncm91cCBmbGV4LXNocmlua1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgtc2hyaW5rKCkge1xuXG4gICAgLy8gRmxleCBzaHJpbmsgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWZsZXgtc2hyaW5rOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJmbGV4LXNocmlua1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNocmluaywgZmxleC1zaHJpbmssICRrZW5kby11dGlscy1mbGV4LXNocmluayApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmbGV4LXNocmluaywgZmxleC1zaHJpbmssICRrZW5kby11dGlscy1mbGV4LXNocmluayApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2ZsZXgtd3JhcC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZmxleC13cmFwLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtd3JhcDogd3JhcDtgLlxuLy8vIEBleGFtcGxlIGZsZXgtd3JhcDogd3JhcFxuLy8vIEBuYW1lIC5rLWZsZXgtd3JhcFxuLy8vIEBncm91cCBmbGV4LXdyYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtd3JhcDogbm93cmFwO2AuXG4vLy8gQGV4YW1wbGUgZmxleC13cmFwOiBub3dyYXBcbi8vLyBAbmFtZSAuay1mbGV4LW5vd3JhcFxuLy8vIEBncm91cCBmbGV4LXdyYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO2AuXG4vLy8gQGV4YW1wbGUgZmxleC13cmFwOiB3cmFwLXJldmVyc2Vcbi8vLyBAbmFtZSAuay1mbGV4LXdyYXAtcmV2ZXJzZVxuLy8vIEBncm91cCBmbGV4LXdyYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1mbGV4LXdyYXAoKSB7XG5cbiAgICAvLyBGbGV4IHdyYXAgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWZsZXgtd3JhcDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZmxleC13cmFwXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZmxleCwgZmxleC13cmFwLCAka2VuZG8tdXRpbHMtZmxleC13cmFwICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmxleC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZmxleC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmbGV4OiAxIDEgMCU7YC5cbi8vLyBAZXhhbXBsZSBmbGV4OiAxIDEgMCU7XG4vLy8gQG5hbWUgLmstZmxleC0xXG4vLy8gQGdyb3VwIGZsZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXg6IDEgMSBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgZmxleDogMSAxIGF1dG87XG4vLy8gQG5hbWUgLmstZmxleC1hdXRvXG4vLy8gQGdyb3VwIGZsZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIHRoZSBzYW1lIGFzIGBmbGV4OiBpbml0aWFsO2AgYW5kIHRoZSBzaG9ydGhhbmQgZm9yIHRoZSBkZWZhdWx0IHZhbHVlOiBgZmxleDogMCAxIGF1dG9gLiBJdCBzaXplcyB0aGUgaXRlbSBiYXNlZCBvbiBpdHMgYHdpZHRoYC9gaGVpZ2h0YCBwcm9wZXJ0aWVzIChvciBpdHMgY29udGVudCBpZiBub3Qgc2V0KS4gSXQgbWFrZXMgdGhlIGZsZXggaXRlbSBpbmZsZXhpYmxlIHdoZW4gdGhlcmUgaXMgc29tZSBmcmVlIHNwYWNlIGxlZnQsIGJ1dCBhbGxvd3MgaXQgdG8gc2hyaW5rIHRvIGl0cyBtaW5pbXVtIHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCBzcGFjZS4gVGhlIGFsaWdubWVudCBhYmlsaXRpZXMgb3IgYGF1dG9gIG1hcmdpbnMgY2FuIGJlIHVzZWQgdG8gYWxpZ24gZmxleCBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzLlxuLy8vIEBleGFtcGxlIGZsZXg6IGluaXRpYWw7XG4vLy8gQG5hbWUgLmstZmxleC1pbml0aWFsXG4vLy8gQGdyb3VwIGZsZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZsZXg6IDAgMCBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgZmxleDogMCAwIGF1dG87XG4vLy8gQG5hbWUgLmstZmxleC1ub25lXG4vLy8gQGdyb3VwIGZsZXhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1mbGV4KCkge1xuXG4gICAgLy8gRmxleCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZmxleDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZmxleFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGZsZXgsIGZsZXgsICRrZW5kby11dGlscy1mbGV4ICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZ2FwLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19nYXAuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAwO2AuXG4vLy8gQGV4YW1wbGUgZ2FwOiAwO1xuLy8vIEBuYW1lIC5rLWdhcC0wXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBnYXA6IDFweDtcbi8vLyBAbmFtZSAuay1nYXAtMXB4XG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgZ2FwOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC0xXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgZ2FwOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC14c1xuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdhcDogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgZ2FwOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXNtXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgZ2FwOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC1tZFxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdhcDogMXJlbTtgLlxuLy8vIEBleGFtcGxlIGdhcDogMXJlbTtcbi8vLyBAbmFtZSAuay1nYXAtbGdcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBnYXA6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGdhcDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC14bFxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdhcDogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBnYXA6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC10aGluXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ2FwOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBnYXA6IDFweDtcbi8vLyBAbmFtZSAuay1nYXAtaGFpclxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbi1nYXA6IDA7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW4tZ2FwOiAwO1xuLy8vIEBuYW1lIC5rLWdhcC14LTBcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW4tZ2FwOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW4tZ2FwOiAxcHg7XG4vLy8gQG5hbWUgLmstZ2FwLXgtMXB4XG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uLWdhcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbi1nYXA6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXgtMVxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbi1nYXA6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBjb2x1bW4tZ2FwOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC14LXhzXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uLWdhcDogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uLWdhcDogMC41cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC14LXNtXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgY29sdW1uLWdhcDogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbi1nYXA6IDAuNzVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXgtbWRcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBjb2x1bW4tZ2FwOiAxcmVtO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uLWdhcDogMXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteC1sZ1xuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbi1nYXA6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbi1nYXA6IDEuNXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteC14bFxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbi1nYXA6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgY29sdW1uLWdhcDogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXgtdGhpblxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGNvbHVtbi1nYXA6IDFweDtgLlxuLy8vIEBleGFtcGxlIGNvbHVtbi1nYXA6IDFweDtcbi8vLyBAbmFtZSAuay1nYXAteC1oYWlyXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcm93LWdhcDogMDtgLlxuLy8vIEBleGFtcGxlIHJvdy1nYXA6IDA7XG4vLy8gQG5hbWUgLmstZ2FwLXktMFxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHJvdy1nYXA6IDFweDtgLlxuLy8vIEBleGFtcGxlIHJvdy1nYXA6IDFweDtcbi8vLyBAbmFtZSAuay1nYXAteS0xcHhcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByb3ctZ2FwOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcm93LWdhcDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteS0xXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcm93LWdhcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHJvdy1nYXA6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXkteHNcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByb3ctZ2FwOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSByb3ctZ2FwOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstZ2FwLXktc21cbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByb3ctZ2FwOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcm93LWdhcDogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteS1tZFxuLy8vIEBncm91cCBnYXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHJvdy1nYXA6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSByb3ctZ2FwOiAxcmVtO1xuLy8vIEBuYW1lIC5rLWdhcC15LWxnXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcm93LWdhcDogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcm93LWdhcDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLWdhcC15LXhsXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcm93LWdhcDogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSByb3ctZ2FwOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1nYXAteS10aGluXG4vLy8gQGdyb3VwIGdhcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcm93LWdhcDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcm93LWdhcDogMXB4O1xuLy8vIEBuYW1lIC5rLWdhcC15LWhhaXJcbi8vLyBAZ3JvdXAgZ2FwXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ2FwKCkge1xuXG4gICAgLy8gR2FwIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1nYXA6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImdhcFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGdhcCwgZ2FwLCAka2VuZG8tdXRpbHMtZ2FwICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGdhcC14LCBjb2x1bW4tZ2FwLCAka2VuZG8tdXRpbHMtZ2FwICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGdhcC15LCByb3ctZ2FwLCAka2VuZG8tdXRpbHMtZ2FwICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZ3JpZC1hdXRvLWNvbHVtbnMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2dyaWQtYXV0by1jb2x1bW5zLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1jb2x1bW5zOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1hdXRvLWNvbHVtbnM6IGF1dG87XG4vLy8gQG5hbWUgLmstZ3JpZC1hdXRvLWNvbHMtYXV0b1xuLy8vIEBncm91cCBncmlkLWF1dG8tY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbi1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLWdyaWQtYXV0by1jb2xzLW1pblxuLy8vIEBncm91cCBncmlkLWF1dG8tY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWNvbHVtbnM6IG1heC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1hdXRvLWNvbHVtbnM6IG1heC1jb250ZW50O1xuLy8vIEBuYW1lIC5rLWdyaWQtYXV0by1jb2xzLW1heFxuLy8vIEBncm91cCBncmlkLWF1dG8tY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCggMCwgMWZyICk7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tY29sdW1uczogbWlubWF4KCAwLCAxZnIgKTtcbi8vLyBAbmFtZSAuay1ncmlkLWF1dG8tY29scy1mclxuLy8vIEBncm91cCBncmlkLWF1dG8tY29sdW1uc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtYXV0by1jb2x1bW5zKCkge1xuXG4gICAgLy8gR3JpZCBhdXRvIGNvbHVtbnMgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtYXV0by1jb2x1bW5zOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJncmlkLWF1dG8tY29sdW1uc1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGdyaWQtYXV0by1jb2xzLCBncmlkLWF1dG8tY29sdW1ucywgJGtlbmRvLXV0aWxzLWdyaWQtYXV0by1jb2x1bW5zICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZ3JpZC1hdXRvLWZsb3cuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2dyaWQtYXV0by1mbG93LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1mbG93OiByb3c7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tZmxvdzogcm93O1xuLy8vIEBuYW1lIC5rLWdyaWQtZmxvdy1yb3dcbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLWZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1mbG93OiBjb2x1bW47YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuLy8vIEBuYW1lIC5rLWdyaWQtZmxvdy1jb2x1bW5cbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLWZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1mbG93OiBkZW5zZTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcbi8vLyBAbmFtZSAuay1ncmlkLWZsb3ctZGVuc2Vcbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLWZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1mbG93OiByb3cgZGVuc2U7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tZmxvdzogcm93IGRlbnNlO1xuLy8vIEBuYW1lIC5rLWdyaWQtZmxvdy1yb3ctZGVuc2Vcbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLWZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1mbG93OiBjb2wgZGVuc2U7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tZmxvdzogY29sIGRlbnNlO1xuLy8vIEBuYW1lIC5rLWdyaWQtZmxvdy1jb2wtZGVuc2Vcbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLWZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtYXV0by1mbG93OiB1bnNldDtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1mbG93OiB1bnNldDtcbi8vLyBAbmFtZSAuay1ncmlkLWZsb3ctdW5zZXRcbi8vLyBAZ3JvdXAgZ3JpZC1hdXRvLWZsb3dcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1ncmlkLWF1dG8tZmxvdygpIHtcblxuICAgIC8vIEdyaWQgYXV0byBmbG93IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1ncmlkLWF1dG8tZmxvdzogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ3JpZC1hdXRvLWZsb3dcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBncmlkLWZsb3csIGdyaWQtYXV0by1mbG93LCAka2VuZG8tdXRpbHMtZ3JpZC1hdXRvLWZsb3cgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ncmlkLWF1dG8tcm93cy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZ3JpZC1hdXRvLXJvd3Muc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZ3JpZC1hdXRvLXJvd3M6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tcm93czogYXV0bztcbi8vLyBAbmFtZSAuay1ncmlkLWF1dG8tcm93cy1hdXRvXG4vLy8gQGdyb3VwIGdyaWQtYXV0by1yb3dzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstZ3JpZC1hdXRvLXJvd3MtbWluXG4vLy8gQGdyb3VwIGdyaWQtYXV0by1yb3dzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWF1dG8tcm93czogbWF4LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWF1dG8tcm93czogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstZ3JpZC1hdXRvLXJvd3MtbWF4XG4vLy8gQGdyb3VwIGdyaWQtYXV0by1yb3dzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWF1dG8tcm93czogbWlubWF4KCAwLCAxZnIgKTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoIDAsIDFmciApO1xuLy8vIEBuYW1lIC5rLWdyaWQtYXV0by1yb3dzLWZyXG4vLy8gQGdyb3VwIGdyaWQtYXV0by1yb3dzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC1hdXRvLXJvd3MoKSB7XG5cbiAgICAvLyBHcmlkIGF1dG8gcm93cyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtZ3JpZC1hdXRvLXJvd3M6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImdyaWQtYXV0by1yb3dzXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZ3JpZC1hdXRvLXJvd3MsIGdyaWQtYXV0by1yb3dzLCAka2VuZG8tdXRpbHMtZ3JpZC1hdXRvLXJvd3MgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ncmlkLWNvbHVtbi1zdGFydC1lbmQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2dyaWQtY29sdW1uLXN0YXJ0LWVuZC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWNvbHVtbi1zdGFydDogMTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuLy8vIEBuYW1lIC5rLWNvbC1zdGFydC0xXG4vLy8gQGdyb3VwIGdyaWQtY29sdW1uLXN0YXJ0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWNvbHVtbi1zdGFydDogLTE7YC5cbi8vLyBAZXhhbXBsZSBncmlkLWNvbHVtbi1zdGFydDogLTE7XG4vLy8gQG5hbWUgLmstY29sLXN0YXJ0LS0xXG4vLy8gQGdyb3VwIGdyaWQtY29sdW1uLXN0YXJ0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLWNvbHVtbi1zdGFydDogYXV0bztgLlxuLy8vIEBleGFtcGxlIGdyaWQtY29sdW1uLXN0YXJ0OiBhdXRvO1xuLy8vIEBuYW1lIC5rLWNvbC1zdGFydC1hdXRvXG4vLy8gQGdyb3VwIGdyaWQtY29sdW1uLXN0YXJ0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC1jb2x1bW4tc3RhcnQtZW5kKCkge1xuXG4gICAgLy8gR3JpZCBjb2x1bW4gc3RhcnQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtY29sdW1uLXN0YXJ0OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJncmlkLWNvbHVtbi1zdGFydFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGNvbC1zdGFydCwgZ3JpZC1jb2x1bW4tc3RhcnQsICRrZW5kby11dGlscy1ncmlkLWNvbHVtbi1zdGFydCApO1xuXG5cbiAgICAvLyBHcmlkIGNvbHVtbiBlbmQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtY29sdW1uLWVuZDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ3JpZC1jb2x1bW4tZW5kXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggY29sLWVuZCwgZ3JpZC1jb2x1bW4tZW5kLCAka2VuZG8tdXRpbHMtZ3JpZC1jb2x1bW4tZW5kICk7XG5cblxuICAgIC8vIEdyaWQgY29sdW1uIHNwYW4gdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtY29sdW1uLXNwYW46IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImdyaWQtY29sdW1uLXNwYW5cIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBjb2wtc3BhbiwgZ3JpZC1jb2x1bW4sICRrZW5kby11dGlscy1ncmlkLWNvbHVtbi1zcGFuICk7XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGNvbHNwYW4sIGdyaWQtY29sdW1uLCAka2VuZG8tdXRpbHMtZ3JpZC1jb2x1bW4tc3BhbiApO1xuICAgIC4jeyRrZW5kby1wcmVmaXh9Y29sc3Bhbi1hbGwgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9Y29sc3Bhbi1mdWxsICFvcHRpb25hbDsgfVxuICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9Y29sc3Bhbi1hbGwgeyBAZXh0ZW5kIC5cXCEjeyRrZW5kby1wcmVmaXh9Y29sc3Bhbi1mdWxsICFvcHRpb25hbDsgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2dyaWQtcm93LXN0YXJ0LWVuZC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZ3JpZC1yb3ctc3RhcnQtZW5kLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtcm93LXN0YXJ0OiAxO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4vLy8gQG5hbWUgLmstcm93LXN0YXJ0LTFcbi8vLyBAZ3JvdXAgZ3JpZC1yb3ctc3RhcnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtcm93LXN0YXJ0OiAtMTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtcm93LXN0YXJ0OiAtMTtcbi8vLyBAbmFtZSAuay1yb3ctc3RhcnQtLTFcbi8vLyBAZ3JvdXAgZ3JpZC1yb3ctc3RhcnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtcm93LXN0YXJ0OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgZ3JpZC1yb3ctc3RhcnQ6IGF1dG87XG4vLy8gQG5hbWUgLmstcm93LXN0YXJ0LWF1dG9cbi8vLyBAZ3JvdXAgZ3JpZC1yb3ctc3RhcnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1ncmlkLXJvdy1zdGFydC1lbmQoKSB7XG5cbiAgICAvLyBHcmlkIHJvdyBzdGFydC9lbmQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtcm93LXN0YXJ0OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJncmlkLXJvdy1zdGFydFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdy1zdGFydCwgZ3JpZC1yb3ctc3RhcnQsICRrZW5kby11dGlscy1ncmlkLXJvdy1zdGFydCApO1xuXG5cbiAgICAvLyBHcmlkIHJvdyBzdGFydC9lbmQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtcm93LWVuZDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ3JpZC1yb3ctZW5kXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm93LWVuZCwgZ3JpZC1yb3ctZW5kLCAka2VuZG8tdXRpbHMtZ3JpZC1yb3ctZW5kICk7XG5cblxuICAgIC8vIEdyaWQgcm93IHNwYW4gdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtcm93LXNwYW46IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImdyaWQtcm93LXNwYW5cIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByb3ctc3BhbiwgZ3JpZC1yb3csICRrZW5kby11dGlscy1ncmlkLXJvdy1zcGFuICk7XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvd3NwYW4sIGdyaWQtcm93LCAka2VuZG8tdXRpbHMtZ3JpZC1yb3ctc3BhbiApO1xuICAgIC4jeyRrZW5kby1wcmVmaXh9cm93c3Bhbi1hbGwgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9cm93c3Bhbi1mdWxsICFvcHRpb25hbDsgfVxuICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9cm93c3Bhbi1hbGwgeyBAZXh0ZW5kIC5cXCEjeyRrZW5kby1wcmVmaXh9cm93c3Bhbi1mdWxsICFvcHRpb25hbDsgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2dyaWQtdGVtcGxhdGUtY29sdW1ucy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcbi8vLyBAbmFtZSAuay1ncmlkLWNvbHMtMVxuLy8vIEBncm91cCBncmlkLXRlbXBsYXRlLWNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbi8vLyBAbmFtZSAuay1ncmlkLWNvbHMtMlxuLy8vIEBncm91cCBncmlkLXRlbXBsYXRlLWNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcbi8vLyBAbmFtZSAuay1ncmlkLWNvbHMtbm9uZVxuLy8vIEBncm91cCBncmlkLXRlbXBsYXRlLWNvbHVtbnNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1ncmlkLXRlbXBsYXRlLWNvbHVtbnMoKSB7XG5cbiAgICAvLyBHcmlkIHRlbXBsYXRlIGNvbHVtbnMgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWdyaWQtdGVtcGxhdGUtY29sdW1uczogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZ3JpZC1jb2xzLCBncmlkLXRlbXBsYXRlLWNvbHVtbnMsICRrZW5kby11dGlscy1ncmlkLXRlbXBsYXRlLWNvbHVtbnMgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ncmlkLXRlbXBsYXRlLXJvd3Muc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2dyaWQtdGVtcGxhdGUtcm93cy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7YC5cbi8vLyBAZXhhbXBsZSBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG4vLy8gQG5hbWUgLmstZ3JpZC1yb3dzLTFcbi8vLyBAZ3JvdXAgZ3JpZC10ZW1wbGF0ZS1yb3dzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7YC5cbi8vLyBAZXhhbXBsZSBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4vLy8gQG5hbWUgLmstZ3JpZC1yb3dzLTJcbi8vLyBAZ3JvdXAgZ3JpZC10ZW1wbGF0ZS1yb3dzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBncmlkLXRlbXBsYXRlLXJvd3M6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBncmlkLXRlbXBsYXRlLXJvd3M6IG5vbmU7XG4vLy8gQG5hbWUgLmstZ3JpZC1yb3dzLW5vbmVcbi8vLyBAZ3JvdXAgZ3JpZC10ZW1wbGF0ZS1yb3dzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC10ZW1wbGF0ZS1yb3dzKCkge1xuXG4gICAgLy8gR3JpZCB0ZW1wbGF0ZSByb3dzIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1ncmlkLXRlbXBsYXRlLXJvd3M6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImdyaWQtdGVtcGxhdGUtcm93c1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGdyaWQtcm93cywgZ3JpZC10ZW1wbGF0ZS1yb3dzLCAka2VuZG8tdXRpbHMtZ3JpZC10ZW1wbGF0ZS1yb3dzICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fanVzdGlmeS1jb250ZW50LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19qdXN0aWZ5LWNvbnRlbnQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBub3JtYWw7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtbm9ybWFsXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBzdHJldGNoO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1zdHJldGNoXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBzdGFydDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LXN0YXJ0XG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBlbmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtZW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1zZWxmdC1zdGFydFxuLy8vIEBncm91cCBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1zZWxmLWVuZFxuLy8vIEBncm91cCBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktY29udGVudDogYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1iYXNlbGluZVxuLy8vIEBncm91cCBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktY29udGVudDogZmlyc3QgYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWNvbnRlbnQ6IGZpcnN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktY29udGVudC1maXJzdC1iYXNlbGluZVxuLy8vIEBncm91cCBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktY29udGVudDogbGFzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogbGFzdCBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtbGFzdC1iYXNlbGluZVxuLy8vIEBncm91cCBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblxuLy8vIEBncm91cCBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LWFyb3VuZFxuLy8vIEBncm91cCBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1jb250ZW50LWV2ZW5seVxuLy8vIEBncm91cCBqdXN0aWZ5LWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1qdXN0aWZ5LWNvbnRlbnQoKSB7XG5cbiAgICAvLyBKdXN0aWZ5IGNvbnRlbnQgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWp1c3RpZnktY29udGVudDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwianVzdGlmeS1jb250ZW50XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscygganVzdGlmeS1jb250ZW50LCBqdXN0aWZ5LWNvbnRlbnQsICRrZW5kby11dGlscy1qdXN0aWZ5LWNvbnRlbnQgKTtcblxuXG4gICAgLy8gQ3VzdG9tIGp1c3RpZnktY29udGVudCBjbGFzc2VzXG4gICAgLiN7JGtlbmRvLXByZWZpeH1qdXN0aWZ5LWNvbnRlbnQtc3RyZXRjaCA+ICogeyBmbGV4OiAxIDAgMCU7IH1cbiAgICAuXFwhLiN7JGtlbmRvLXByZWZpeH1qdXN0aWZ5LWNvbnRlbnQtc3RyZXRjaCA+ICogeyBmbGV4OiAxIDAgMCUgIWltcG9ydGFudDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2p1c3RpZnktaXRlbXMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX2p1c3RpZnktaXRlbXMuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogbm9ybWFsO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogbm9ybWFsO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtbm9ybWFsXG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBzdHJldGNoO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtc3RyZXRjaFxuLy8vIEBncm91cCBqdXN0aWZ5LWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1pdGVtcy1jZW50ZXJcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLXN0YXJ0XG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IGVuZDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktaXRlbXM6IGVuZDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLWVuZFxuLy8vIEBncm91cCBqdXN0aWZ5LWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiBmbGV4LXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogZmxleC1zdGFydDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLXNlbGZ0LXN0YXJ0XG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IGZsZXgtZW5kO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1pdGVtcy1zZWxmLWVuZFxuLy8vIEBncm91cCBqdXN0aWZ5LWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiBzZWxmLXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogc2VsZi1zdGFydDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLXNlbGZ0LXN0YXJ0XG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IHNlbGYtZW5kO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogc2VsZi1lbmQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1pdGVtcy1zZWxmLWVuZFxuLy8vIEBncm91cCBqdXN0aWZ5LWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiBsZWZ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogbGVmdDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLWxlZnRcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogcmlnaHQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LWl0ZW1zOiByaWdodDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LWl0ZW1zLXJpZ2h0XG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktaXRlbXM6IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1pdGVtczogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1pdGVtcy1iYXNlbGluZVxuLy8vIEBncm91cCBqdXN0aWZ5LWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LWl0ZW1zOiBmaXJzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktaXRlbXM6IGZpcnN0IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktaXRlbXMtZmlyc3QtYmFzZWxpbmVcbi8vLyBAZ3JvdXAganVzdGlmeS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1pdGVtczogbGFzdCBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktaXRlbXM6IGxhc3QgYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1pdGVtcy1sYXN0LWJhc2VsaW5lXG4vLy8gQGdyb3VwIGp1c3RpZnktaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1qdXN0aWZ5LWl0ZW1zKCkge1xuXG4gICAgLy8gSnVzdGlmeSBpdGVtcyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtanVzdGlmeS1pdGVtczogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwianVzdGlmeS1pdGVtc1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGp1c3RpZnktaXRlbXMsIGp1c3RpZnktaXRlbXMsICRrZW5kby11dGlscy1qdXN0aWZ5LWl0ZW1zICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fanVzdGlmeS1zZWxmLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19qdXN0aWZ5LXNlbGYuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1zZWxmOiBhdXRvO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1hdXRvXG4vLy8gQGdyb3VwIGp1c3RpZnktc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBub3JtYWw7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtbm9ybWFsXG4vLy8gQGdyb3VwIGp1c3RpZnktc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBzdHJldGNoO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1zZWxmOiBzdHJldGNoO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1zdHJldGNoXG4vLy8gQGdyb3VwIGp1c3RpZnktc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtY2VudGVyXG4vLy8gQGdyb3VwIGp1c3RpZnktc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBzdGFydDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1zZWxmLXN0YXJ0XG4vLy8gQGdyb3VwIGp1c3RpZnktc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBlbmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IGVuZDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtZW5kXG4vLy8gQGdyb3VwIGp1c3RpZnktc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBganVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1zZWxmdC1zdGFydFxuLy8vIEBncm91cCBqdXN0aWZ5LXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktc2VsZjogZmxleC1lbmQ7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xuLy8vIEBuYW1lIC5rLWp1c3RpZnktc2VsZi1zZWxmLWVuZFxuLy8vIEBncm91cCBqdXN0aWZ5LXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGp1c3RpZnktc2VsZjogc2VsZi1zdGFydDtgLlxuLy8vIEBleGFtcGxlIGp1c3RpZnktc2VsZjogc2VsZi1zdGFydDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtc2VsZnQtc3RhcnRcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtc2VsZi1lbmRcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1zZWxmOiBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtYmFzZWxpbmVcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IGZpcnN0IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUganVzdGlmeS1zZWxmOiBmaXJzdCBiYXNlbGluZTtcbi8vLyBAbmFtZSAuay1qdXN0aWZ5LXNlbGYtZmlyc3QtYmFzZWxpbmVcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBqdXN0aWZ5LXNlbGY6IGxhc3QgYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSBqdXN0aWZ5LXNlbGY6IGxhc3QgYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstanVzdGlmeS1zZWxmLWxhc3QtYmFzZWxpbmVcbi8vLyBAZ3JvdXAganVzdGlmeS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tanVzdGlmeS1zZWxmKCkge1xuXG4gICAgLy8gSnVzdGlmeSBzZWxmIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1qdXN0aWZ5LXNlbGY6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImp1c3RpZnktc2VsZlwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGp1c3RpZnktc2VsZiwganVzdGlmeS1zZWxmLCAka2VuZG8tdXRpbHMtanVzdGlmeS1zZWxmICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fb3JkZXIuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX29yZGVyLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9yZGVyOiAxO2AuXG4vLy8gQGV4YW1wbGUgb3JkZXI6IDE7XG4vLy8gQG5hbWUgLmstb3JkZXItZmlyc3Rcbi8vLyBAZ3JvdXAgb3JkZXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9yZGVyOiAtOTk5OTtgLlxuLy8vIEBleGFtcGxlIG9yZGVyOiAtOTk5OTtcbi8vLyBAbmFtZSAuay1vcmRlci1maXJzdFxuLy8vIEBncm91cCBvcmRlclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3JkZXI6IDk5OTk7YC5cbi8vLyBAZXhhbXBsZSBvcmRlcjogOTk5OTtcbi8vLyBAbmFtZSAuay1vcmRlci1sYXN0XG4vLy8gQGdyb3VwIG9yZGVyXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvcmRlcjogMDtgLlxuLy8vIEBleGFtcGxlIG9yZGVyOiAwO1xuLy8vIEBuYW1lIC5rLW9yZGVyLW5vbmVcbi8vLyBAZ3JvdXAgb3JkZXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmxleC1ncmlkLS1vcmRlcigpIHtcblxuICAgIC8vIE9yZGVyIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vcmRlcjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwib3JkZXJcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvcmRlciwgb3JkZXIsICRrZW5kby11dGlscy1vcmRlciApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3BsYWNlLWNvbnRlbnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9mbGV4LWdyaWQvX3BsYWNlLWNvbnRlbnQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtY29udGVudDogbm9ybWFsO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogbm9ybWFsO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWNvbnRlbnQtbm9ybWFsXG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IHN0cmV0Y2g7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBzdHJldGNoO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWNvbnRlbnQtc3RyZXRjaFxuLy8vIEBncm91cCBwbGFjZS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1jb250ZW50OiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstcGxhY2UtY29udGVudC1jZW50ZXJcbi8vLyBAZ3JvdXAgcGxhY2UtY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtY29udGVudDogc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBzdGFydDtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LXN0YXJ0XG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IGVuZDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWNvbnRlbnQ6IGVuZDtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LWVuZFxuLy8vIEBncm91cCBwbGFjZS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1jb250ZW50OiBmbGV4LXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogZmxleC1zdGFydDtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LXNlbGZ0LXN0YXJ0XG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IGZsZXgtZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogZmxleC1lbmQ7XG4vLy8gQG5hbWUgLmstcGxhY2UtY29udGVudC1zZWxmLWVuZFxuLy8vIEBncm91cCBwbGFjZS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1jb250ZW50OiBzZWxmLXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogc2VsZi1zdGFydDtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LXNlbGZ0LXN0YXJ0XG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IHNlbGYtZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtY29udGVudDogc2VsZi1lbmQ7XG4vLy8gQG5hbWUgLmstcGxhY2UtY29udGVudC1zZWxmLWVuZFxuLy8vIEBncm91cCBwbGFjZS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1jb250ZW50OiBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWNvbnRlbnQ6IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWNvbnRlbnQtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgcGxhY2UtY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtY29udGVudDogc3BhY2UtYmV0d2VlbjtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4vLy8gQG5hbWUgLmstcGxhY2UtY29udGVudC1iZXR3ZWVuXG4vLy8gQGdyb3VwIHBsYWNlLWNvbnRlbnRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbi8vLyBAbmFtZSAuay1wbGFjZS1jb250ZW50LWFyb3VuZFxuLy8vIEBncm91cCBwbGFjZS1jb250ZW50XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1jb250ZW50OiBzcGFjZS1ldmVubHk7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4vLy8gQG5hbWUgLmstcGxhY2UtY29udGVudC1ldmVubHlcbi8vLyBAZ3JvdXAgcGxhY2UtY29udGVudFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLXBsYWNlLWNvbnRlbnQoKSB7XG5cbiAgICAvLyBQbGFjZSBjb250ZW50IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1wbGFjZS1jb250ZW50OiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJwbGFjZS1jb250ZW50XCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcGxhY2UtY29udGVudCwgcGxhY2UtY29udGVudCwgJGtlbmRvLXV0aWxzLXBsYWNlLWNvbnRlbnQgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19wbGFjZS1pdGVtcy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZsZXgtZ3JpZC9fcGxhY2UtaXRlbXMuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtaXRlbXM6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWl0ZW1zOiBub3JtYWw7XG4vLy8gQG5hbWUgLmstcGxhY2UtaXRlbXMtbm9ybWFsXG4vLy8gQGdyb3VwIHBsYWNlLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1pdGVtczogc3RyZXRjaDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWl0ZW1zOiBzdHJldGNoO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWl0ZW1zLXN0cmV0Y2hcbi8vLyBAZ3JvdXAgcGxhY2UtaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWl0ZW1zOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1pdGVtczogY2VudGVyO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWl0ZW1zLWNlbnRlclxuLy8vIEBncm91cCBwbGFjZS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtaXRlbXM6IHN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IHN0YXJ0O1xuLy8vIEBuYW1lIC5rLXBsYWNlLWl0ZW1zLXN0YXJ0XG4vLy8gQGdyb3VwIHBsYWNlLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1pdGVtczogZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IGVuZDtcbi8vLyBAbmFtZSAuay1wbGFjZS1pdGVtcy1lbmRcbi8vLyBAZ3JvdXAgcGxhY2UtaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWl0ZW1zOiBmbGV4LXN0YXJ0O2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IGZsZXgtc3RhcnQ7XG4vLy8gQG5hbWUgLmstcGxhY2UtaXRlbXMtZmxleC1zdGFydFxuLy8vIEBncm91cCBwbGFjZS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtaXRlbXM6IGZsZXgtZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IGZsZXgtZW5kO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWl0ZW1zLWZsZXgtZW5kXG4vLy8gQGdyb3VwIHBsYWNlLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1pdGVtczogc2VsZi1zdGFydDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuLy8vIEBuYW1lIC5rLXBsYWNlLWl0ZW1zLXNlbGYtc3RhcnRcbi8vLyBAZ3JvdXAgcGxhY2UtaXRlbXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLWl0ZW1zOiBzZWxmLWVuZDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLWl0ZW1zOiBzZWxmLWVuZDtcbi8vLyBAbmFtZSAuay1wbGFjZS1pdGVtcy1zZWxmLWVuZFxuLy8vIEBncm91cCBwbGFjZS1pdGVtc1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2UtaXRlbXM6IGJhc2VsaW5lO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2UtaXRlbXM6IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLXBsYWNlLWl0ZW1zLWJhc2VsaW5lXG4vLy8gQGdyb3VwIHBsYWNlLWl0ZW1zXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tcGxhY2UtaXRlbXMoKSB7XG5cbiAgICAvLyBQbGFjZSBpdGVtcyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtcGxhY2UtaXRlbXM6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInBsYWNlLWl0ZW1zXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcGxhY2UtaXRlbXMsIHBsYWNlLWl0ZW1zLCAka2VuZG8tdXRpbHMtcGxhY2UtaXRlbXMgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19wbGFjZS1zZWxmLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmxleC1ncmlkL19wbGFjZS1zZWxmLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLXNlbGY6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1zZWxmOiBhdXRvO1xuLy8vIEBuYW1lIC5rLXBsYWNlLXNlbGYtYXV0b1xuLy8vIEBncm91cCBwbGFjZS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1zZWxmOiBub3JtYWw7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1zZWxmOiBub3JtYWw7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1ub3JtYWxcbi8vLyBAZ3JvdXAgcGxhY2Utc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2Utc2VsZjogc3RyZXRjaDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IHN0cmV0Y2g7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1zdHJldGNoXG4vLy8gQGdyb3VwIHBsYWNlLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLXNlbGY6IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1wbGFjZS1zZWxmLWNlbnRlclxuLy8vIEBncm91cCBwbGFjZS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1zZWxmOiBzdGFydDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IHN0YXJ0O1xuLy8vIEBuYW1lIC5rLXBsYWNlLXNlbGYtc3RhcnRcbi8vLyBAZ3JvdXAgcGxhY2Utc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2Utc2VsZjogZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2Utc2VsZjogZW5kO1xuLy8vIEBuYW1lIC5rLXBsYWNlLXNlbGYtZW5kXG4vLy8gQGdyb3VwIHBsYWNlLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLXNlbGY6IGZsZXgtc3RhcnQ7YC5cbi8vLyBAZXhhbXBsZSBwbGFjZS1zZWxmOiBmbGV4LXN0YXJ0O1xuLy8vIEBuYW1lIC5rLXBsYWNlLXNlbGYtZmxleC1zdGFydFxuLy8vIEBncm91cCBwbGFjZS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1zZWxmOiBmbGV4LWVuZDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IGZsZXgtZW5kO1xuLy8vIEBuYW1lIC5rLXBsYWNlLXNlbGYtZmxleC1lbmRcbi8vLyBAZ3JvdXAgcGxhY2Utc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGxhY2Utc2VsZjogc2VsZi1zdGFydDtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IHNlbGYtc3RhcnQ7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1zZWxmLXN0YXJ0XG4vLy8gQGdyb3VwIHBsYWNlLXNlbGZcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBsYWNlLXNlbGY6IHNlbGYtZW5kO2AuXG4vLy8gQGV4YW1wbGUgcGxhY2Utc2VsZjogc2VsZi1lbmQ7XG4vLy8gQG5hbWUgLmstcGxhY2Utc2VsZi1zZWxmLWVuZFxuLy8vIEBncm91cCBwbGFjZS1zZWxmXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwbGFjZS1zZWxmOiBiYXNlbGluZTtgLlxuLy8vIEBleGFtcGxlIHBsYWNlLXNlbGY6IGJhc2VsaW5lO1xuLy8vIEBuYW1lIC5rLXBsYWNlLXNlbGYtYmFzZWxpbmVcbi8vLyBAZ3JvdXAgcGxhY2Utc2VsZlxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLXBsYWNlLXNlbGYoKSB7XG5cbiAgICAvLyBQbGFjZSBzZWxmIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1wbGFjZS1zZWxmOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJwbGFjZS1zZWxmXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcGxhY2Utc2VsZiwgcGxhY2Utc2VsZiwgJGtlbmRvLXV0aWxzLXBsYWNlLXNlbGYgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tYWxpZ24tY29udGVudCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWFsaWduLWl0ZW1zKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tYWxpZ24tc2VsZigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgtYmFzaXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1mbGV4LWRpcmVjdGlvbigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgtZ3JvdygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWZsZXgtc2hyaW5rKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZmxleC13cmFwKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZmxleCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdhcCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtYXV0by1jb2x1bW5zKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZC0tZ3JpZC1hdXRvLWZsb3coKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1ncmlkLWF1dG8tcm93cygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtY29sdW1uLXN0YXJ0LWVuZCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtcm93LXN0YXJ0LWVuZCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtdGVtcGxhdGUtY29sdW1ucygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWdyaWQtdGVtcGxhdGUtcm93cygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWp1c3RpZnktY29udGVudCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLWp1c3RpZnktaXRlbXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1qdXN0aWZ5LXNlbGYoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1vcmRlcigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLXBsYWNlLWNvbnRlbnQoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmxleC1ncmlkLS1wbGFjZS1pdGVtcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1mbGV4LWdyaWQtLXBsYWNlLXNlbGYoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zcGFjaW5nL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NwYWNpbmcvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX21hcmdpbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NwYWNpbmcvX21hcmdpbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW46IDA7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDA7XG4vLy8gQG5hbWUgLmstbS0wXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDFweDtcbi8vLyBAbmFtZSAuay1tLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbjogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW46IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IC0xcHg7XG4vLy8gQG5hbWUgLmstbS0tMXB4XG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiAtMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbjogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstbS0tMVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbjogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tLXhzXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1tLXNtXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLW0tbWRcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW46IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDFyZW07XG4vLy8gQG5hbWUgLmstbS1sZ1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstbS14bFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW46IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLW0tdGhpblxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbjogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luOiAxcHg7XG4vLy8gQG5hbWUgLmstbS1oYWlyXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luOiBhdXRvO1xuLy8vIEBuYW1lIC5rLW0tYXV0b1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi10b3A6IDA7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAwO1xuLy8vIEBuYW1lIC5rLW10LTBcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAxcHg7XG4vLy8gQG5hbWUgLmstbXQtMXB4XG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi10b3A6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstbXQtMVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi10b3A6IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAtMXB4O1xuLy8vIEBuYW1lIC5rLW10LS0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiAtMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW10LS0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi10b3A6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstbXQteHNcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstbXQtc21cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXRvcDogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1tdC1tZFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi10b3A6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAxcmVtO1xuLy8vIEBuYW1lIC5rLW10LWxnXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXRvcDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLW10LXhsXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1tdC10aGluXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXRvcDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXRvcDogMXB4O1xuLy8vIEBuYW1lIC5rLW10LWhhaXJcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tdG9wOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXRvcDogYXV0bztcbi8vLyBAbmFtZSAuay1tdC1hdXRvXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXJpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLW1yLTBcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IDFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLW1yLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tci0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXJpZ2h0OiAtMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuLy8vIEBuYW1lIC5rLW1yLS0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tci0tMVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tci14c1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4vLy8gQG5hbWUgLmstbXItc21cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4vLy8gQG5hbWUgLmstbXItbWRcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tcmlnaHQ6IDFyZW07XG4vLy8gQG5hbWUgLmstbXItbGdcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLW1yLXhsXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstbXItdGhpblxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLXJpZ2h0OiAxcHg7XG4vLy8gQG5hbWUgLmstbXItaGFpclxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1yaWdodDogYXV0bztgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyBAbmFtZSAuay1tci1hdXRvXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJvdHRvbTogMDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDA7XG4vLy8gQG5hbWUgLmstbWItMFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IDFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDFweDtcbi8vLyBAbmFtZSAuay1tYi0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tYi0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJvdHRvbTogLTFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IC0xcHg7XG4vLy8gQG5hbWUgLmstbWItLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstbWItLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1tYi14c1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1tYi1zbVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLW1iLW1kXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJvdHRvbTogMXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDFyZW07XG4vLy8gQG5hbWUgLmstbWItbGdcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstbWIteGxcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLW1iLXRoaW5cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYm90dG9tOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYm90dG9tOiAxcHg7XG4vLy8gQG5hbWUgLmstbWItaGFpclxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ib3R0b206IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYm90dG9tOiBhdXRvO1xuLy8vIEBuYW1lIC5rLW1iLWF1dG9cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwO1xuLy8vIEBuYW1lIC5rLW1sLTBcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWxlZnQ6IDFweDtcbi8vLyBAbmFtZSAuay1tbC0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1sLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogLTFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAtMXB4O1xuLy8vIEBuYW1lIC5rLW1sLS0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogLTAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstbWwtLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1sLXhzXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWxlZnQ6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4vLy8gQG5hbWUgLmstbWwtc21cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLW1sLW1kXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWxlZnQ6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tbGVmdDogMXJlbTtcbi8vLyBAbmFtZSAuay1tbC1sZ1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1sZWZ0OiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tbGVmdDogMS41cmVtO1xuLy8vIEBuYW1lIC5rLW1sLXhsXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLW1sLXRoaW5cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWxlZnQ6IDFweDtcbi8vLyBAbmFtZSAuay1tbC1oYWlyXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWxlZnQ6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tbGVmdDogYXV0bztcbi8vLyBAbmFtZSAuay1tbC1hdXRvXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWlubGluZTogMDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDA7XG4vLy8gQG5hbWUgLmstbXgtMFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IDFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDFweDtcbi8vLyBAbmFtZSAuay1teC0xcHhcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWlubGluZTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1teC0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWlubGluZTogLTFweDtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IC0xcHg7XG4vLy8gQG5hbWUgLmstbXgtLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWlubGluZTogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstbXgtLTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWlubGluZTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1teC14c1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1teC1zbVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4taW5saW5lOiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLW14LW1kXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWlubGluZTogMXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDFyZW07XG4vLy8gQG5hbWUgLmstbXgtbGdcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4taW5saW5lOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstbXgteGxcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1pbmxpbmU6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLW14LXRoaW5cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4taW5saW5lOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4taW5saW5lOiAxcHg7XG4vLy8gQG5hbWUgLmstbXgtaGFpclxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1pbmxpbmU6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4taW5saW5lOiBhdXRvO1xuLy8vIEBuYW1lIC5rLW14LWF1dG9cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYmxvY2s6IDA7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IDA7XG4vLy8gQG5hbWUgLmstbXktMFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAxcHg7XG4vLy8gQG5hbWUgLmstbXktMXB4XG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW15LTFcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYmxvY2s6IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IC0xcHg7XG4vLy8gQG5hbWUgLmstbXktLTFweFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogLTAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IC0wLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW15LS0xXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW15LXhzXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1teS1zbVxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ibG9jazogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1teS1tZFxuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogMXJlbTtgLlxuLy8vIEBleGFtcGxlIG1hcmdpbi1ibG9jazogMXJlbTtcbi8vLyBAbmFtZSAuay1teS1sZ1xuLy8vIEBncm91cCBtYXJnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1hcmdpbi1ibG9jazogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAxLjVyZW07XG4vLy8gQG5hbWUgLmstbXkteGxcbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXJnaW4tYmxvY2s6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1teS10aGluXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBtYXJnaW4tYmxvY2s6IDFweDtcbi8vLyBAbmFtZSAuay1teS1oYWlyXG4vLy8gQGdyb3VwIG1hcmdpblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWFyZ2luLWJsb2NrOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgbWFyZ2luLWJsb2NrOiBhdXRvO1xuLy8vIEBuYW1lIC5rLW15LWF1dG9cbi8vLyBAZ3JvdXAgbWFyZ2luXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXNwYWNpbmctLW1hcmdpbigpIHtcblxuICAgIC8vIE1hcmdpbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtbWFyZ2luOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJtYXJnaW5cIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBtLCBtYXJnaW4sICRrZW5kby11dGlscy1tYXJnaW4gKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbXQsIG1hcmdpbi10b3AsICRrZW5kby11dGlscy1tYXJnaW4gKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbXIsIG1hcmdpbi1yaWdodCwgJGtlbmRvLXV0aWxzLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBtYiwgbWFyZ2luLWJvdHRvbSwgJGtlbmRvLXV0aWxzLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBtbCwgbWFyZ2luLWxlZnQsICRrZW5kby11dGlscy1tYXJnaW4gKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbXgsIG1hcmdpbi1pbmxpbmUsICRrZW5kby11dGlscy1tYXJnaW4gKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbXksIG1hcmdpbi1ibG9jaywgJGtlbmRvLXV0aWxzLW1hcmdpbiApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3BhZGRpbmcuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9zcGFjaW5nL19wYWRkaW5nLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmc6IDA7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAwO1xuLy8vIEBuYW1lIC5rLXAtMFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAxcHg7XG4vLy8gQG5hbWUgLmstcC0xcHhcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmc6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcC0xXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmc6IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAtMXB4O1xuLy8vIEBuYW1lIC5rLXAtLTFweFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiAtMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmc6IC0wLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXAtLTFcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmc6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcC14c1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcC1zbVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1wLW1kXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmc6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAxcmVtO1xuLy8vIEBuYW1lIC5rLXAtbGdcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogMS41cmVtO1xuLy8vIEBuYW1lIC5rLXAteGxcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1wLXRoaW5cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZzogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogMXB4O1xuLy8vIEBuYW1lIC5rLXAtaGFpclxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZzogYXV0bztcbi8vLyBAbmFtZSAuay1wLWF1dG9cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy10b3A6IDA7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogMDtcbi8vLyBAbmFtZSAuay1wdC0wXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctdG9wOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogMXB4O1xuLy8vIEBuYW1lIC5rLXB0LTFweFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXB0LTFcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy10b3A6IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogLTFweDtcbi8vLyBAbmFtZSAuay1wdC0tMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctdG9wOiAtMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctdG9wOiAtMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1wdC0tMVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXB0LXhzXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctdG9wOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXB0LXNtXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctdG9wOiAwLjc1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy10b3A6IDAuNzVyZW07XG4vLy8gQG5hbWUgLmstcHQtbWRcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy10b3A6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogMXJlbTtcbi8vLyBAbmFtZSAuay1wdC1sZ1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy10b3A6IDEuNXJlbTtcbi8vLyBAbmFtZSAuay1wdC14bFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXRvcDogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcHQtdGhpblxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXRvcDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy10b3A6IDFweDtcbi8vLyBAbmFtZSAuay1wdC1oYWlyXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctdG9wOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy10b3A6IGF1dG87XG4vLy8gQG5hbWUgLmstcHQtYXV0b1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXJpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1yaWdodDogMDtcbi8vLyBAbmFtZSAuay1wci0wXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDFweDtcbi8vLyBAbmFtZSAuay1wci0xcHhcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcHItMVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXJpZ2h0OiAtMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1yaWdodDogLTFweDtcbi8vLyBAbmFtZSAuay1wci0tMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1yaWdodDogLTAuMjVyZW07XG4vLy8gQG5hbWUgLmstcHItLTFcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcHIteHNcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1yaWdodDogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXByLXNtXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuLy8vIEBuYW1lIC5rLXByLW1kXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuLy8vIEBuYW1lIC5rLXByLWxnXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbi8vLyBAbmFtZSAuay1wci14bFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLXJpZ2h0OiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXByLXRoaW5cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1yaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLXByLWhhaXJcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1yaWdodDogYXV0bztgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctcmlnaHQ6IGF1dG87XG4vLy8gQG5hbWUgLmstcHItYXV0b1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJvdHRvbTogMDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAwO1xuLy8vIEBuYW1lIC5rLXBiLTBcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ib3R0b206IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAxcHg7XG4vLy8gQG5hbWUgLmstcGItMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcGItMVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJvdHRvbTogLTFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAtMXB4O1xuLy8vIEBuYW1lIC5rLXBiLS0xcHhcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ib3R0b206IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ib3R0b206IC0wLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXBiLS0xXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcGIteHNcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ib3R0b206IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcGItc21cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ib3R0b206IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1wYi1tZFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJvdHRvbTogMXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuLy8vIEBuYW1lIC5rLXBiLWxnXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuLy8vIEBuYW1lIC5rLXBiLXhsXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1wYi10aGluXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYm90dG9tOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJvdHRvbTogMXB4O1xuLy8vIEBuYW1lIC5rLXBiLWhhaXJcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ib3R0b206IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJvdHRvbTogYXV0bztcbi8vLyBAbmFtZSAuay1wYi1hdXRvXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogMDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogMDtcbi8vLyBAbmFtZSAuay1wbC0wXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1sZWZ0OiAxcHg7XG4vLy8gQG5hbWUgLmstcGwtMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1wbC0xXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogLTFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogLTFweDtcbi8vLyBAbmFtZSAuay1wbC0tMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogLTAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IC0wLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXBsLS0xXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1wbC14c1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXBsLXNtXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1wbC1tZFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDFyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IDFyZW07XG4vLy8gQG5hbWUgLmstcGwtbGdcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1sZWZ0OiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbi8vLyBAbmFtZSAuay1wbC14bFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1sZWZ0OiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1wbC10aGluXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1sZWZ0OiAxcHg7XG4vLy8gQG5hbWUgLmstcGwtaGFpclxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWxlZnQ6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWxlZnQ6IGF1dG87XG4vLy8gQG5hbWUgLmstcGwtYXV0b1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWlubGluZTogMDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAwO1xuLy8vIEBuYW1lIC5rLXB4LTBcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IDFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAxcHg7XG4vLy8gQG5hbWUgLmstcHgtMXB4XG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctaW5saW5lOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1pbmxpbmU6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcHgtMVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWlubGluZTogLTFweDtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAtMXB4O1xuLy8vIEBuYW1lIC5rLXB4LS0xcHhcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IC0wLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1pbmxpbmU6IC0wLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXB4LS0xXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctaW5saW5lOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1pbmxpbmU6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcHgteHNcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcHgtc21cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IDAuNzVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWlubGluZTogMC43NXJlbTtcbi8vLyBAbmFtZSAuay1weC1tZFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWlubGluZTogMXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAxcmVtO1xuLy8vIEBuYW1lIC5rLXB4LWxnXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctaW5saW5lOiAxLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWlubGluZTogMS41cmVtO1xuLy8vIEBuYW1lIC5rLXB4LXhsXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctaW5saW5lOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctaW5saW5lOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1weC10aGluXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctaW5saW5lOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWlubGluZTogMXB4O1xuLy8vIEBuYW1lIC5rLXB4LWhhaXJcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1pbmxpbmU6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWlubGluZTogYXV0bztcbi8vLyBAbmFtZSAuay1weC1hdXRvXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYmxvY2s6IDA7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAwO1xuLy8vIEBuYW1lIC5rLXB5LTBcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogMXB4O2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ibG9jazogMXB4O1xuLy8vIEBuYW1lIC5rLXB5LTFweFxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJsb2NrOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ibG9jazogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1weS0xXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYmxvY2s6IC0xcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAtMXB4O1xuLy8vIEBuYW1lIC5rLXB5LS0xcHhcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogLTAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAtMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1weS0tMVxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJsb2NrOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ibG9jazogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1weS14c1xuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJsb2NrOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcHktc21cbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogMC43NXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYmxvY2s6IDAuNzVyZW07XG4vLy8gQG5hbWUgLmstcHktbWRcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogMXJlbTtgLlxuLy8vIEBleGFtcGxlIHBhZGRpbmctYmxvY2s6IDFyZW07XG4vLy8gQG5hbWUgLmstcHktbGdcbi8vLyBAZ3JvdXAgcGFkZGluZ1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcGFkZGluZy1ibG9jazogMS41cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ibG9jazogMS41cmVtO1xuLy8vIEBuYW1lIC5rLXB5LXhsXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBhZGRpbmctYmxvY2s6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ibG9jazogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcHktdGhpblxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJsb2NrOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBwYWRkaW5nLWJsb2NrOiAxcHg7XG4vLy8gQG5hbWUgLmstcHktaGFpclxuLy8vIEBncm91cCBwYWRkaW5nXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwYWRkaW5nLWJsb2NrOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgcGFkZGluZy1ibG9jazogYXV0bztcbi8vLyBAbmFtZSAuay1weS1hdXRvXG4vLy8gQGdyb3VwIHBhZGRpbmdcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tc3BhY2luZy0tcGFkZGluZygpIHtcblxuICAgIC8vIFBhZGRpbmcgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXBhZGRpbmc6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInBhZGRpbmdcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwLCBwYWRkaW5nLCAka2VuZG8tdXRpbHMtcGFkZGluZyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwdCwgcGFkZGluZy10b3AsICRrZW5kby11dGlscy1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHByLCBwYWRkaW5nLXJpZ2h0LCAka2VuZG8tdXRpbHMtcGFkZGluZyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwYiwgcGFkZGluZy1ib3R0b20sICRrZW5kby11dGlscy1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHBsLCBwYWRkaW5nLWxlZnQsICRrZW5kby11dGlscy1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHB4LCBwYWRkaW5nLWlubGluZSwgJGtlbmRvLXV0aWxzLXBhZGRpbmcgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcHksIHBhZGRpbmctYmxvY2ssICRrZW5kby11dGlscy1wYWRkaW5nICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fc3BhY2UtYmV0d2Vlbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NwYWNpbmcvX3NwYWNlLWJldHdlZW4uc2Nzc1xuLy8gVE9ETzogZG9jc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXNwYWNpbmctLXNwYWNlLWJldHdlZW4oKSB7XG5cbiAgICAvLyBTcGFjZSBiZXR3ZWVuIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1zcGFjZS1iZXR3ZWVuOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJzcGFjZS1iZXR3ZWVuXCIgKSAhZGVmYXVsdDtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGtlbmRvLXV0aWxzLXNwYWNlLWJldHdlZW4ge1xuICAgICAgICAkX2tleTogay1lc2NhcGUtY2xhc3MtbmFtZSggJGtleSApO1xuXG4gICAgICAgIC4jeyRrZW5kby1wcmVmaXh9c3BhY2UteC0jeyRfa2V5fSA+ICogKyAqIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3ska2VuZG8tcHJlZml4fXNwYWNlLXktI3skX2tleX0gPiAqICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1zcGFjaW5nKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zcGFjaW5nLS1tYXJnaW4oKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tc3BhY2luZy0tcGFkZGluZygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zcGFjaW5nLS1zcGFjZS1iZXR3ZWVuKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc2l6aW5nL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3NpemluZy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9faGVpZ2h0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3Mvc2l6aW5nL19oZWlnaHQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgaGVpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgaGVpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLWgtMFxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGhlaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgaGVpZ2h0OiAxcHg7XG4vLy8gQG5hbWUgLmstaC0xcHhcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBoZWlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBoZWlnaHQ6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstaC0xXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLWhlaWdodDogMTAwJTtgLlxuLy8vIEBleGFtcGxlIG1pbi1oZWlnaHQ6IDEwMCU7XG4vLy8gQG5hbWUgLmstaC1mdWxsXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgaGVpZ2h0OiAxMDB2aDtgLlxuLy8vIEBleGFtcGxlIGhlaWdodDogMTAwdmg7XG4vLy8gQG5hbWUgLmstaC1zY3JlZW5cbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBoZWlnaHQ6IG1pbi1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgaGVpZ2h0OiBtaW4tY29udGVudDtcbi8vLyBAbmFtZSAuay1oLW1pblxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGhlaWdodDogbWF4LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBoZWlnaHQ6IG1heC1jb250ZW50O1xuLy8vIEBuYW1lIC5rLWgtbWF4XG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgaGVpZ2h0OiBmaXQtY29udGVudDtgLlxuLy8vIEBleGFtcGxlIGhlaWdodDogZml0LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstaC1maXRcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4taGVpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgbWluLWhlaWdodDogMDtcbi8vLyBAbmFtZSAuay1taW4taC0wXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLWhlaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWluLWhlaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLW1pbi1oLTFweFxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi1oZWlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtaW4taGVpZ2h0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1pbi1oLTFcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4taGVpZ2h0OiAxMDAlO2AuXG4vLy8gQGV4YW1wbGUgbWluLWhlaWdodDogMTAwJTtcbi8vLyBAbmFtZSAuay1taW4taC1mdWxsXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLWhlaWdodDogMTAwdmg7YC5cbi8vLyBAZXhhbXBsZSBtaW4taGVpZ2h0OiAxMDB2aDtcbi8vLyBAbmFtZSAuay1taW4taC1zY3JlZW5cbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4taGVpZ2h0OiBtaW4tY29udGVudDtgLlxuLy8vIEBleGFtcGxlIG1pbi1oZWlnaHQ6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLW1pbi1oLW1pblxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi1oZWlnaHQ6IG1heC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgbWluLWhlaWdodDogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstbWluLWgtbWF4XG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbi8vLyBAbmFtZSAuay1taW4taC1maXRcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtaGVpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgbWF4LWhlaWdodDogMDtcbi8vLyBAbmFtZSAuay1tYXgtaC0wXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LWhlaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgbWF4LWhlaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLW1heC1oLTFweFxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC1oZWlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBtYXgtaGVpZ2h0OiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1heC1oLTFcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtaGVpZ2h0OiAxMDAlO2AuXG4vLy8gQGV4YW1wbGUgbWF4LWhlaWdodDogMTAwJTtcbi8vLyBAbmFtZSAuay1tYXgtaC1mdWxsXG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LWhlaWdodDogMTAwdmg7YC5cbi8vLyBAZXhhbXBsZSBtYXgtaGVpZ2h0OiAxMDB2aDtcbi8vLyBAbmFtZSAuay1tYXgtaC1zY3JlZW5cbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtaGVpZ2h0OiBtaW4tY29udGVudDtgLlxuLy8vIEBleGFtcGxlIG1heC1oZWlnaHQ6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLW1heC1oLW1pblxuLy8vIEBncm91cCBoZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC1oZWlnaHQ6IG1heC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgbWF4LWhlaWdodDogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstbWF4LWgtbWF4XG4vLy8gQGdyb3VwIGhlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcbi8vLyBAbmFtZSAuay1tYXgtaC1maXRcbi8vLyBAZ3JvdXAgaGVpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXNpemluZy0taGVpZ2h0KCkge1xuXG4gICAgLy8gSGVpZ2h0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1oZWlnaHQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImhlaWdodFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGgsIGhlaWdodCwgJGtlbmRvLXV0aWxzLWhlaWdodCApO1xuXG4gICAgLy8gTWluIGhlaWdodCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtbWluLWhlaWdodDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwibWluLWhlaWdodFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG1pbi1oLCBtaW4taGVpZ2h0LCAka2VuZG8tdXRpbHMtbWluLWhlaWdodCApO1xuXG4gICAgLy8gTWF4IGhlaWdodCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtbWF4LWhlaWdodDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwibWF4LWhlaWdodFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG1heC1oLCBtYXgtaGVpZ2h0LCAka2VuZG8tdXRpbHMtbWF4LWhlaWdodCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3dpZHRoLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3Mvc2l6aW5nL193aWR0aC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aWR0aDogMDtgLlxuLy8vIEBleGFtcGxlIHdpZHRoOiAwO1xuLy8vIEBuYW1lIC5rLXctMFxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIHdpZHRoOiAxcHg7XG4vLy8gQG5hbWUgLmstdy0xcHhcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHdpZHRoOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgd2lkdGg6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstdy0xXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4td2lkdGg6IDEwMCU7YC5cbi8vLyBAZXhhbXBsZSBtaW4td2lkdGg6IDEwMCU7XG4vLy8gQG5hbWUgLmstdy1mdWxsXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aWR0aDogMTAwdnc7YC5cbi8vLyBAZXhhbXBsZSB3aWR0aDogMTAwdnc7XG4vLy8gQG5hbWUgLmstdy1zY3JlZW5cbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHdpZHRoOiBtaW4tY29udGVudDtgLlxuLy8vIEBleGFtcGxlIHdpZHRoOiBtaW4tY29udGVudDtcbi8vLyBAbmFtZSAuay13LW1pblxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgd2lkdGg6IG1heC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgd2lkdGg6IG1heC1jb250ZW50O1xuLy8vIEBuYW1lIC5rLXctbWF4XG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aWR0aDogZml0LWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSB3aWR0aDogZml0LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstdy1maXRcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi13aWR0aDogMDtgLlxuLy8vIEBleGFtcGxlIG1pbi13aWR0aDogMDtcbi8vLyBAbmFtZSAuay1taW4tdy0wXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4td2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIG1pbi13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLW1pbi13LTFweFxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLXdpZHRoOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWluLXdpZHRoOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1pbi13LTFcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi13aWR0aDogMTAwJTtgLlxuLy8vIEBleGFtcGxlIG1pbi13aWR0aDogMTAwJTtcbi8vLyBAbmFtZSAuay1taW4tdy1mdWxsXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4td2lkdGg6IDEwMHZ3O2AuXG4vLy8gQGV4YW1wbGUgbWluLXdpZHRoOiAxMDB2dztcbi8vLyBAbmFtZSAuay1taW4tdy1zY3JlZW5cbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBtaW4td2lkdGg6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLW1pbi13LW1pblxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWluLXdpZHRoOiBtYXgtY29udGVudDtgLlxuLy8vIEBleGFtcGxlIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstbWluLXctbWF4XG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtaW4td2lkdGg6IGZpdC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbi8vLyBAbmFtZSAuay1taW4tdy1maXRcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC13aWR0aDogMDtgLlxuLy8vIEBleGFtcGxlIG1heC13aWR0aDogMDtcbi8vLyBAbmFtZSAuay1tYXgtdy0wXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIG1heC13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLW1heC13LTFweFxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LXdpZHRoOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgbWF4LXdpZHRoOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLW1heC13LTFcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC13aWR0aDogMTAwJTtgLlxuLy8vIEBleGFtcGxlIG1heC13aWR0aDogMTAwJTtcbi8vLyBAbmFtZSAuay1tYXgtdy1mdWxsXG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtd2lkdGg6IDEwMHZoO2AuXG4vLy8gQGV4YW1wbGUgbWF4LXdpZHRoOiAxMDB2aDtcbi8vLyBAbmFtZSAuay1tYXgtdy1zY3JlZW5cbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG1heC13aWR0aDogbWluLWNvbnRlbnQ7YC5cbi8vLyBAZXhhbXBsZSBtYXgtd2lkdGg6IG1pbi1jb250ZW50O1xuLy8vIEBuYW1lIC5rLW1heC13LW1pblxuLy8vIEBncm91cCB3aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbWF4LXdpZHRoOiBtYXgtY29udGVudDtgLlxuLy8vIEBleGFtcGxlIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7XG4vLy8gQG5hbWUgLmstbWF4LXctbWF4XG4vLy8gQGdyb3VwIHdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBtYXgtd2lkdGg6IGZpdC1jb250ZW50O2AuXG4vLy8gQGV4YW1wbGUgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbi8vLyBAbmFtZSAuay1tYXgtdy1maXRcbi8vLyBAZ3JvdXAgd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tc2l6aW5nLS13aWR0aCgpIHtcblxuICAgIC8vIFdpZHRoIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy13aWR0aDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwid2lkdGhcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB3LCB3aWR0aCwgJGtlbmRvLXV0aWxzLXdpZHRoICk7XG5cbiAgICAvLyBNaW4td2lkdGggdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLW1pbi13aWR0aDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwibWluLXdpZHRoXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggbWluLXcsIG1pbi13aWR0aCwgJGtlbmRvLXV0aWxzLW1pbi13aWR0aCApO1xuXG4gICAgLy8gTWF4LXdpZHRoIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1tYXgtd2lkdGg6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcIm1heC13aWR0aFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG1heC13LCBtYXgtd2lkdGgsICRrZW5kby11dGlscy1tYXgtd2lkdGggKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1zaXppbmcoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXNpemluZy0taGVpZ2h0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXNpemluZy0td2lkdGgoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90eXBvZ3JhcGh5L2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIGZvbnQgZmFtaWx5XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19mb250LXNpemUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90eXBvZ3JhcGh5L19mb250LXNpemUuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC1zaXplOiAxMHB4O2AuXG4vLy8gQGV4YW1wbGUgZm9udC1zaXplOiAxMHB4O1xuLy8vIEBuYW1lIC5rLWZvbnQteHNcbi8vLyBAZ3JvdXAgZm9udC1zaXplXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXNpemU6IDEycHg7YC5cbi8vLyBAZXhhbXBsZSBmb250LXNpemU6IDEycHg7XG4vLy8gQG5hbWUgLmstZm9udC1zbVxuLy8vIEBncm91cCBmb250LXNpemVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtc2l6ZTogMTRweDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtc2l6ZTogMTRweDtcbi8vLyBAbmFtZSAuay1mb250LW1kXG4vLy8gQGdyb3VwIGZvbnQtc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC1zaXplOiAxNnB4O2AuXG4vLy8gQGV4YW1wbGUgZm9udC1zaXplOiAxNnB4O1xuLy8vIEBuYW1lIC5rLWZvbnQtbGdcbi8vLyBAZ3JvdXAgZm9udC1zaXplXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXNpemU6IDIwcHg7YC5cbi8vLyBAZXhhbXBsZSBmb250LXNpemU6IDIwcHg7XG4vLy8gQG5hbWUgLmstZm9udC14bFxuLy8vIEBncm91cCBmb250LXNpemVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tZm9udC1zaXplKCkge1xuXG4gICAgLy8gRm9udCBzaXplIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1mb250LXNpemU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZvbnQtc2l6ZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGZvbnQtc2l6ZSwgZm9udC1zaXplLCAka2VuZG8tdXRpbHMtZm9udC1zaXplICk7XG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmcywgZm9udC1zaXplLCAka2VuZG8tdXRpbHMtZm9udC1zaXplICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gZm9udCBzbW9vdGhpbmdcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2ZvbnQtc3R5bGUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90eXBvZ3JhcGh5L19mb250LXN0eWxlLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtc3R5bGU6IGl0YWxpYztgLlxuLy8vIEBleGFtcGxlIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vLyBAbmFtZSAuay1mb250LWl0YWxpY1xuLy8vIEBncm91cCBmb250LXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXN0eWxlOiBub3JtYWw7YC5cbi8vLyBAZXhhbXBsZSBmb250LXN0eWxlOiBub3JtYWw7XG4vLy8gQG5hbWUgLmstZm9udC1ub24taXRhbGljXG4vLy8gQGdyb3VwIGZvbnQtc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tZm9udC1zdHlsZSgpIHtcblxuICAgIC8vIEZvbnQgc3R5bGUgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWZvbnQtc3R5bGU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZvbnQtc3R5bGVcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmb250LCBmb250LXN0eWxlLCAka2VuZG8tdXRpbHMtZm9udC1zdHlsZSApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2ZvbnQtd2VpZ2h0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHlwb2dyYXBoeS9fZm9udC13ZWlnaHQuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC13ZWlnaHQ6IDEwMDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtd2VpZ2h0OiAxMDA7XG4vLy8gQG5hbWUgLmstZm9udC10aGluXG4vLy8gQGdyb3VwIGZvbnQtd2VpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXdlaWdodDogMjAwO2AuXG4vLy8gQGV4YW1wbGUgZm9udC13ZWlnaHQ6IDIwMDtcbi8vLyBAbmFtZSAuay1mb250LWV4dHJhbGlnaHRcbi8vLyBAZ3JvdXAgZm9udC13ZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtd2VpZ2h0OiAzMDA7YC5cbi8vLyBAZXhhbXBsZSBmb250LXdlaWdodDogMzAwO1xuLy8vIEBuYW1lIC5rLWZvbnQtbGlnaHRcbi8vLyBAZ3JvdXAgZm9udC13ZWlnaHRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZvbnQtd2VpZ2h0OiA0MDA7YC5cbi8vLyBAZXhhbXBsZSBmb250LXdlaWdodDogNDAwO1xuLy8vIEBuYW1lIC5rLWZvbnQtbm9ybWFsXG4vLy8gQGdyb3VwIGZvbnQtd2VpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXdlaWdodDogNTAwO2AuXG4vLy8gQGV4YW1wbGUgZm9udC13ZWlnaHQ6IDUwMDtcbi8vLyBAbmFtZSAuay1mb250LW1lZGl1bVxuLy8vIEBncm91cCBmb250LXdlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC13ZWlnaHQ6IDYwMDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtd2VpZ2h0OiA2MDA7XG4vLy8gQG5hbWUgLmstZm9udC1zZW1pYm9sZFxuLy8vIEBncm91cCBmb250LXdlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC13ZWlnaHQ6IDcwMDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtd2VpZ2h0OiA3MDA7XG4vLy8gQG5hbWUgLmstZm9udC1ib2xkXG4vLy8gQGdyb3VwIGZvbnQtd2VpZ2h0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmb250LXdlaWdodDogODAwO2AuXG4vLy8gQGV4YW1wbGUgZm9udC13ZWlnaHQ6IDgwMDtcbi8vLyBAbmFtZSAuay1mb250LWV4dHJhYm9sZFxuLy8vIEBncm91cCBmb250LXdlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZm9udC13ZWlnaHQ6IDkwMDtgLlxuLy8vIEBleGFtcGxlIGZvbnQtd2VpZ2h0OiA5MDA7XG4vLy8gQG5hbWUgLmstZm9udC1ibGFja1xuLy8vIEBncm91cCBmb250LXdlaWdodFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1mb250LXdlaWdodCgpIHtcblxuICAgIC8vIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1mb250LXdlaWdodDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiZm9udC13ZWlnaHRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBmb250LCBmb250LXdlaWdodCwgJGtlbmRvLXV0aWxzLWZvbnQtd2VpZ2h0ICk7XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGZvbnQtd2VpZ2h0LCBmb250LXdlaWdodCwgJGtlbmRvLXV0aWxzLWZvbnQtd2VpZ2h0ICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gZm9udCB2YXJpYW50XG4vLyBsZXR0ZXIgc3BhY2luZ1xuLy8gbGluZSBoZWlnaHRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xpc3Qtc3R5bGUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90eXBvZ3JhcGh5L19saXN0LXN0eWxlLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbi8vLyBAbmFtZSAuay1saXN0LW5vbmVcbi8vLyBAZ3JvdXAgbGlzdC1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgbGlzdC1zdHlsZS10eXBlOiBkaXNjO2AuXG4vLy8gQGV4YW1wbGUgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuLy8vIEBuYW1lIC5rLWxpc3QtZGlzY1xuLy8vIEBncm91cCBsaXN0LXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7YC5UaGUgbWFya2VyIG9mIGxpc3QgaXRlbXMgaXMgYSBudW1iZXIuXG4vLy8gQGV4YW1wbGUgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuLy8vIEBuYW1lIC5rLWxpc3QtZGVjaW1hbFxuLy8vIEBncm91cCBsaXN0LXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLWxpc3Qtc3R5bGUtdHlwZSgpIHtcblxuICAgIC8vIGxpc3Qtc3R5bGUtdHlwZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtbGlzdC1zdHlsZS10eXBlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJsaXN0LXN0eWxlLXR5cGVcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBsaXN0LCBsaXN0LXN0eWxlLXR5cGUsICRrZW5kby11dGlscy1saXN0LXN0eWxlLXR5cGUgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190ZXh0LWFsaWduLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHlwb2dyYXBoeS9fdGV4dC1hbGlnbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LWFsaWduOiBsZWZ0O2AuXG4vLy8gQGV4YW1wbGUgdGV4dC1hbGlnbjogbGVmdDtcbi8vLyBAbmFtZSAuay10ZXh0LWxlZnRcbi8vLyBAZ3JvdXAgdGV4dC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC1hbGlnbjogcmlnaHQ7YC5cbi8vLyBAZXhhbXBsZSB0ZXh0LWFsaWduOiByaWdodDtcbi8vLyBAbmFtZSAuay10ZXh0LXJpZ2h0XG4vLy8gQGdyb3VwIHRleHQtYWxpZ25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtYWxpZ246IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vLyBAbmFtZSAuay10ZXh0LWNlbnRlclxuLy8vIEBncm91cCB0ZXh0LWFsaWduXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LWFsaWduOiBqdXN0aWZ5O2AuXG4vLy8gQGV4YW1wbGUgdGV4dC1hbGlnbjoganVzdGlmeTtcbi8vLyBAbmFtZSAuay10ZXh0LWp1c3RpZnlcbi8vLyBAZ3JvdXAgdGV4dC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS10ZXh0LWFsaWduKCkge1xuXG4gICAgLy8gVGV4dCBhbGlnbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtdGV4dC1hbGlnbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwidGV4dC1hbGlnblwiICkgIWRlZmF1bHQ7XG5cbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdGV4dCwgdGV4dC1hbGlnbiwgJGtlbmRvLXV0aWxzLXRleHQtYWxpZ24gKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190ZXh0LWNvbG9yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHlwb2dyYXBoeS9fdGV4dC1jb2xvci5zY3NzXG4vLyBUT0RPOiBkb2NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tdGV4dC1jb2xvcigpIHtcblxuICAgIC8vIFRleHQgY29sb3IgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXRleHQtY29sb3I6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRleHQtY29sb3JcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB0ZXh0LCBjb2xvciwgJGtlbmRvLXV0aWxzLXRleHQtY29sb3IgKTtcblxuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggY29sb3IsIGNvbG9yLCAka2VuZG8tdXRpbHMtdGV4dC1jb2xvciApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RleHQtZGVjb3JhdGlvbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3R5cG9ncmFwaHkvX3RleHQtZGVjb3JhdGlvbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtgLlxuLy8vIEBleGFtcGxlIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuLy8vIEBuYW1lIC5rLXVuZGVybGluZVxuLy8vIEBncm91cCB0ZXh0LWRlY29yYXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtZGVjb3JhdGlvbjogb3ZlcmxpbmU7YC5cbi8vLyBAZXhhbXBsZSB0ZXh0LWRlY29yYXRpb246IG92ZXJsaW5lO1xuLy8vIEBuYW1lIC5rLW92ZXJsaW5lXG4vLy8gQGdyb3VwIHRleHQtZGVjb3JhdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7YC5cbi8vLyBAZXhhbXBsZSB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbi8vLyBAbmFtZSAuay1saW5lLXRocm91Z2hcbi8vLyBAZ3JvdXAgdGV4dC1kZWNvcmF0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LWRlY29yYXRpb246IG5vbmUtZGVjb3JhdGlvbjtgLlxuLy8vIEBleGFtcGxlIHRleHQtZGVjb3JhdGlvbjogbm9uZS1kZWNvcmF0aW9uO1xuLy8vIEBuYW1lIC5rLW5vbmUtZGVjb3JhdGlvblxuLy8vIEBncm91cCB0ZXh0LWRlY29yYXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tdGV4dC1kZWNvcmF0aW9uKCkge1xuXG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10ZXh0LWRlY29yYXRpb246IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRleHQtZGVjb3JhdGlvblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRleHQsIHRleHQtZGVjb3JhdGlvbiwgJGtlbmRvLXV0aWxzLXRleHQtZGVjb3JhdGlvbiApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RleHQtb3ZlcmZsb3cuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90eXBvZ3JhcGh5L190ZXh0LW92ZXJmbG93LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtb3ZlcmZsb3c6IGNsaXA7YC5cbi8vLyBAZXhhbXBsZSB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuLy8vIEBuYW1lIC5rLXRleHQtY2xpcFxuLy8vIEBncm91cCB0ZXh0LW92ZXJmbG93XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLXRleHQtZWxsaXBzaXNcbi8vLyBAZ3JvdXAgdGV4dC1vdmVyZmxvd1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS10ZXh0LW92ZXJmbG93KCkge1xuXG4gICAgLy8gVGV4dCBvdmVyZmxvdyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtdGV4dC1vdmVyZmxvdzogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwidGV4dC1vdmVyZmxvd1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRleHQsIHRleHQtb3ZlcmZsb3csICRrZW5kby11dGlscy10ZXh0LW92ZXJmbG93ICk7XG5cblxuICAgIC8vIFRleHQgdHJ1bmNhdGUgdXRpbGl0eSBjbGFzc2VzXG4gICAgLiN7JGtlbmRvLXByZWZpeH10ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9dGV4dC10cnVuY2F0ZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLiN7JGtlbmRvLXByZWZpeH10ZXh0LWVsbGlwc2lzIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXRleHQtdHJ1bmNhdGUgIW9wdGlvbmFsOyB9XG4gICAgLlxcISN7JGtlbmRvLXByZWZpeH10ZXh0LWVsbGlwc2lzIHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fXRleHQtdHJ1bmNhdGUgIW9wdGlvbmFsOyB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGV4dC10cmFuc2Zvcm0uc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90eXBvZ3JhcGh5L190ZXh0LXRyYW5zZm9ybS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO2AuXG4vLy8gQGV4YW1wbGUgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbi8vLyBAbmFtZSAuay10ZXh0LWxvd2VyY2FzZVxuLy8vIEBncm91cCB0ZXh0LXRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtgLlxuLy8vIEBleGFtcGxlIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLy8gQG5hbWUgLmstdGV4dC11cHBlcmNhc2Vcbi8vLyBAZ3JvdXAgdGV4dC10cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO2AuXG4vLy8gQGV4YW1wbGUgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4vLy8gQG5hbWUgLmstdGV4dC1jYXBpdGFsaXplXG4vLy8gQGdyb3VwIHRleHQtdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXRleHQtdHJhbnNmb3JtKCkge1xuXG4gICAgLy8gVGV4dCB0cmFuc2Zvcm0gdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXRleHQtdHJhbnNmb3JtOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ0ZXh0LXRyYW5zZm9ybVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRleHQsIHRleHQtdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtdGV4dC10cmFuc2Zvcm0gKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyB0ZXh0IGluZGVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmVydGljYWwtYWxpZ24uc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90eXBvZ3JhcGh5L192ZXJ0aWNhbC1hbGlnbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7YC5cbi8vLyBAZXhhbXBsZSB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4vLy8gQG5hbWUgLmstYWxpZ24tYmFzZWxpbmVcbi8vLyBAZ3JvdXAgdmVydGljYWwtYWxpZ25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHZlcnRpY2FsLWFsaWduOiB0b3A7YC5cbi8vLyBAZXhhbXBsZSB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuLy8vIEBuYW1lIC5rLWFsaWduLXRvcFxuLy8vIEBncm91cCB2ZXJ0aWNhbC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdmVydGljYWwtYWxpZ246IG1pZGRsZTtgLlxuLy8vIEBleGFtcGxlIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLy8gQG5hbWUgLmstYWxpZ24tbWlkZGxlXG4vLy8gQGdyb3VwIHZlcnRpY2FsLWFsaWduXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO2AuXG4vLy8gQGV4YW1wbGUgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbi8vLyBAbmFtZSAuay1hbGlnbi1ib3R0b21cbi8vLyBAZ3JvdXAgdmVydGljYWwtYWxpZ25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtgLlxuLy8vIEBleGFtcGxlIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbi8vLyBAbmFtZSAuay1hbGlnbi10ZXh0LXRvcFxuLy8vIEBncm91cCB2ZXJ0aWNhbC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO2AuXG4vLy8gQGV4YW1wbGUgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuLy8vIEBuYW1lIC5rLWFsaWduLXRleHQtYm90dG9tXG4vLy8gQGdyb3VwIHZlcnRpY2FsLWFsaWduXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB2ZXJ0aWNhbC1hbGlnbjogc3ViO2AuXG4vLy8gQGV4YW1wbGUgdmVydGljYWwtYWxpZ246IHN1Yjtcbi8vLyBAbmFtZSAuay1hbGlnbi1zdWJcbi8vLyBAZ3JvdXAgdmVydGljYWwtYWxpZ25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHZlcnRpY2FsLWFsaWduOiBzdXBlcjtgLlxuLy8vIEBleGFtcGxlIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbi8vLyBAbmFtZSAuay1hbGlnbi1zdXBlclxuLy8vIEBncm91cCB2ZXJ0aWNhbC1hbGlnblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS12ZXJ0aWNhbC1hbGlnbigpIHtcblxuICAgIC8vIHZlcnRpY2FsLWFsaWduIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy12ZXJ0aWNhbC1hbGlnbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwidmVydGljYWwtYWxpZ25cIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBhbGlnbiwgdmVydGljYWwtYWxpZ24sICRrZW5kby11dGlscy12ZXJ0aWNhbC1hbGlnbiApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3doaXRlLXNwYWNlLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdHlwb2dyYXBoeS9fd2hpdGUtc3BhY2Uuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgd2hpdGUtc3BhY2U6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4vLy8gQG5hbWUgLmstd2hpdGUtc3BhY2Utbm9ybWFsXG4vLy8gQGdyb3VwIHdoaXRlLXNwYWNlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aGl0ZS1zcGFjZTogbm93cmFwO2AuXG4vLy8gQGV4YW1wbGUgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyBAbmFtZSAuay13aGl0ZS1zcGFjZS1ub3dyYXBcbi8vLyBAZ3JvdXAgd2hpdGUtc3BhY2Vcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHdoaXRlLXNwYWNlOiBwcmU7YC5cbi8vLyBAZXhhbXBsZSB3aGl0ZS1zcGFjZTogcHJlO1xuLy8vIEBuYW1lIC5rLXdoaXRlLXNwYWNlLXByZVxuLy8vIEBncm91cCB3aGl0ZS1zcGFjZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgd2hpdGUtc3BhY2U6IHByZS13cmFwO2AuXG4vLy8gQGV4YW1wbGUgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuLy8vIEBuYW1lIC5rLXdoaXRlLXNwYWNlLXByZS13cmFwXG4vLy8gQGdyb3VwIHdoaXRlLXNwYWNlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7YC5cbi8vLyBAZXhhbXBsZSB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4vLy8gQG5hbWUgLmstd2hpdGUtc3BhY2UtcHJlLWxpbmVcbi8vLyBAZ3JvdXAgd2hpdGUtc3BhY2Vcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7YC5cbi8vLyBAZXhhbXBsZSB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xuLy8vIEBuYW1lIC5rLXdoaXRlLXNwYWNlLWJyZWFrLXNwYWNlc1xuLy8vIEBncm91cCB3aGl0ZS1zcGFjZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS13aGl0ZS1zcGFjZSgpIHtcblxuICAgIC8vIFdoaXRlIHNwYWNlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy13aGl0ZS1zcGFjZTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwid2hpdGUtc3BhY2VcIiApICFkZWZhdWx0O1xuXG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHdoaXRlLXNwYWNlLCB3aGl0ZS1zcGFjZSwgJGtlbmRvLXV0aWxzLXdoaXRlLXNwYWNlICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHdoaXRlc3BhY2UsIHdoaXRlLXNwYWNlLCAka2VuZG8tdXRpbHMtd2hpdGUtc3BhY2UgKTtcblxuXG4gICAgLy8gTGVnYWN5IGFsaWFzZXNcbiAgICAuI3ska2VuZG8tcHJlZml4fXRleHQtbm93cmFwIHsgQGV4dGVuZCAuI3ska2VuZG8tcHJlZml4fXdoaXRlLXNwYWNlLW5vd3JhcCAhb3B0aW9uYWw7IH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1mb250LXNpemUoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tZm9udC1zdHlsZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1mb250LXdlaWdodCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS1saXN0LXN0eWxlLXR5cGUoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdHlwb2dyYXBoeS0tdGV4dC1hbGlnbigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS10ZXh0LWNvbG9yKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXRleHQtZGVjb3JhdGlvbigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5LS10ZXh0LW92ZXJmbG93KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXRleHQtdHJhbnNmb3JtKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXZlcnRpY2FsLWFsaWduKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXR5cG9ncmFwaHktLXdoaXRlLXNwYWNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYmFja2dyb3VuZC9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9iYWNrZ3JvdW5kL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19iYWNrZ3JvdW5kLWNsaXAuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9iYWNrZ3JvdW5kL19iYWNrZ3JvdW5kLWNsaXAuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuLy8vIEBuYW1lIC5rLWJnLWNsaXAtYm9yZGVyXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtY2xpcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4vLy8gQG5hbWUgLmstYmctY2xpcC1wYWRkaW5nXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtY2xpcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4vLy8gQG5hbWUgLmstYmctY2xpcC1jb250ZW50XG4vLy8gQGdyb3VwIGJhY2tncm91bmQtY2xpcFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuLy8vIEBuYW1lIC5rLWJnLWNsaXAtdGV4dFxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLWNsaXBcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYmFja2dyb3VuZC0tYmFja2dyb3VuZC1jbGlwKCkge1xuXG4gICAgLy8gQmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYmFja2dyb3VuZC1jbGlwOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJiYWNrZ3JvdW5kLWNsaXBcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBiZy1jbGlwLCBiYWNrZ3JvdW5kLWNsaXAsICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLWNsaXAgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19iYWNrZ3JvdW5kLWNvbG9yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYmFja2dyb3VuZC9fYmFja2dyb3VuZC1jb2xvci5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbi8vLyBAbmFtZSAuay1iZy1pbmhlcml0XG4vLy8gQGdyb3VwIGJhY2tncm91bmQtY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4vLy8gQG5hbWUgLmstYmctdHJhbnNwYXJlbnRcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1jb2xvclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbi8vLyBAbmFtZSAuay1iZy1ibGFja1xuLy8vIEBncm91cCBiYWNrZ3JvdW5kLWNvbG9yXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuLy8vIEBuYW1lIC5rLWJnLXdoaXRlXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYmFja2dyb3VuZC0tYmFja2dyb3VuZC1jb2xvcigpIHtcblxuICAgIC8vIEJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWJhY2tncm91bmQtY29sb3I6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImJhY2tncm91bmQtY29sb3JcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBiZywgYmFja2dyb3VuZC1jb2xvciwgJGtlbmRvLXV0aWxzLWJhY2tncm91bmQtY29sb3IgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19iYWNrZ3JvdW5kLXBvc2l0aW9uLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYmFja2dyb3VuZC9fYmFja2dyb3VuZC1wb3NpdGlvbi5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4vLy8gQG5hbWUgLmstYmctY2VudGVyXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbi8vLyBAbmFtZSAuay1iZy10b3Bcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1wb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbi8vLyBAbmFtZSAuay1iZy1yaWdodFxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4vLy8gQG5hbWUgLmstYmctYm90dG9tXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuLy8vIEBuYW1lIC5rLWJnLWxlZnRcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1wb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbi8vLyBAbmFtZSAuay1iZy10b3AtbGVmdFxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4vLy8gQG5hbWUgLmstYmctdG9wLXJpZ2h0XG4vLy8gQGdyb3VwIGJhY2tncm91bmQtcG9zaXRpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQ7XG4vLy8gQG5hbWUgLmstYmctYm90dG9tLWxlZnRcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1wb3NpdGlvblxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuLy8vIEBuYW1lIC5rLWJnLWJvdHRvbS1yaWdodFxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLXBvc2l0aW9uXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWJhY2tncm91bmQtLWJhY2tncm91bmQtcG9zaXRpb24oKSB7XG5cbiAgICAvLyBCYWNrZ3JvdW5kIHBvc2l0aW9uIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLXBvc2l0aW9uOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYmcsIGJhY2tncm91bmQtcG9zaXRpb24sICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLXBvc2l0aW9uICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYmFja2dyb3VuZC1zaXplLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYmFja2dyb3VuZC9fYmFja2dyb3VuZC1zaXplLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tncm91bmQtc2l6ZTogYXV0bztgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbi8vLyBAbmFtZSAuay1iZy1hdXRvXG4vLy8gQGdyb3VwIGJhY2tncm91bmQtc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtgLlxuLy8vIEBleGFtcGxlIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4vLy8gQG5hbWUgLmstYmctY292ZXJcbi8vLyBAZ3JvdXAgYmFja2dyb3VuZC1zaXplXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47YC5cbi8vLyBAZXhhbXBsZSBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4vLy8gQG5hbWUgLmstYmctY29udGFpblxuLy8vIEBncm91cCBiYWNrZ3JvdW5kLXNpemVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYmFja2dyb3VuZC0tYmFja2dyb3VuZC1zaXplKCkge1xuXG4gICAgLy8gQmFja2dyb3VuZCBzaXplIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLXNpemU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImJhY2tncm91bmQtc2l6ZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJnLCBiYWNrZ3JvdW5kLXNpemUsICRrZW5kby11dGlscy1iYWNrZ3JvdW5kLXNpemUgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kLS1iYWNrZ3JvdW5kLWNsaXAoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tYmFja2dyb3VuZC0tYmFja2dyb3VuZC1jb2xvcigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1iYWNrZ3JvdW5kLS1iYWNrZ3JvdW5kLXBvc2l0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJhY2tncm91bmQtLWJhY2tncm91bmQtc2l6ZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2JvcmRlci9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9ib3JkZXIvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2JvcmRlci1jb2xvci5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2JvcmRlci9fYm9yZGVyLWNvbG9yLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogaW5oZXJpdDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbi8vLyBAbmFtZSAuay1ib3JkZXItaW5oZXJpdFxuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWN1cnJlbnRDb2xvclxuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuLy8vIEBuYW1lIC5rLWJvcmRlci10cmFuc3BhcmVudFxuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogYmxhY2s7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItY29sb3I6IGJsYWNrO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1ibGFja1xuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1jb2xvcjogd2hpdGU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItY29sb3I6IHdoaXRlO1xuLy8vIEBuYW1lIC5rLWJvcmRlci13aGl0ZVxuLy8vIEBncm91cCBib3JkZXItY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS1ib3JkZXItLWJvcmRlci1jb2xvcigpIHtcblxuICAgIC8vIEJvcmRlciBjb2xvciB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYm9yZGVyLWNvbG9yOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJib3JkZXItY29sb3JcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXIsIGJvcmRlci1jb2xvciwgJGtlbmRvLXV0aWxzLWJvcmRlci1jb2xvciApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItdCwgYm9yZGVyLXRvcC1jb2xvciwgJGtlbmRvLXV0aWxzLWJvcmRlci1jb2xvciApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItciwgYm9yZGVyLXJpZ2h0LWNvbG9yLCAka2VuZG8tdXRpbHMtYm9yZGVyLWNvbG9yICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci1iLCBib3JkZXItYm90dG9tLWNvbG9yLCAka2VuZG8tdXRpbHMtYm9yZGVyLWNvbG9yICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci1sLCBib3JkZXItbGVmdC1jb2xvciwgJGtlbmRvLXV0aWxzLWJvcmRlci1jb2xvciApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXIteCwgYm9yZGVyLWlubGluZS1jb2xvciwgJGtlbmRvLXV0aWxzLWJvcmRlci1jb2xvciApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXIteSwgYm9yZGVyLWJsb2NrLWNvbG9yLCAka2VuZG8tdXRpbHMtYm9yZGVyLWNvbG9yICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYm9yZGVyLXJhZGl1cy5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2JvcmRlci9fYm9yZGVyLXJhZGl1cy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yYWRpdXM6IDA7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmFkaXVzOiAwO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtMFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtc21cbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1tZFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmFkaXVzOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1sZ1xuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmFkaXVzOiA5OTk5cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4vLy8gQG5hbWUgLmstcm91bmRlZC1mdWxsXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdGxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4vLy8gQG5hbWUgLmstcm91bmRlZC10bC0wXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC10bC1zbVxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRsLW1kXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRsLWxnXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDk5OTlweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDk5OTlweDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRsLWZ1bGxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRyXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4vLy8gQG5hbWUgLmstcm91bmRlZC10ci0wXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRyLXNtXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC10ci1tZFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXRyLWxnXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA5OTk5cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOTk5OXB4O1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdHItZnVsbFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYnJcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWJyLTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYnItc21cbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWJyLW1kXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYnItbGdcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDk5OTlweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA5OTk5cHg7XG4vLy8gQG5hbWUgLmstcm91bmRlZC1ici1mdWxsXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYmxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4vLy8gQG5hbWUgLmstcm91bmRlZC1ibC0wXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1ibC1zbVxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWJsLW1kXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWJsLWxnXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA5OTk5cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOTk5OXB4O1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYmwtZnVsbFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXJhZGl1czogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXJhZGl1czogMDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmFkaXVzOiAwO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdC0wXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmFkaXVzOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmFkaXVzOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXQtc21cbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXQtbWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1yYWRpdXM6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3AtcmFkaXVzOiAwLjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC10LWxnXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3AtcmFkaXVzOiA5OTk5cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXJhZGl1czogOTk5OXB4O1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtdC1mdWxsXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtclxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtcmFkaXVzOiAwO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXJhZGl1czogMDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXItMFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtci1zbVxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLXItbWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXJhZGl1czogMC41cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtci1sZ1xuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtcmFkaXVzOiA5OTk5cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtcmFkaXVzOiA5OTk5cHg7XG4vLy8gQG5hbWUgLmstcm91bmRlZC1yLWZ1bGxcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJhZGl1czogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWJcbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1yYWRpdXM6IDA7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJhZGl1czogMDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWItMFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJhZGl1czogMC4xMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJhZGl1czogMC4xMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1iLXNtXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1iLW1kXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tcmFkaXVzOiAwLjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXJhZGl1czogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtYi1sZ1xuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXJhZGl1czogOTk5OXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1yYWRpdXM6IDk5OTlweDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWItZnVsbFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1yYWRpdXM6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstcm91bmRlZC1sXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1sZWZ0LXJhZGl1czogMDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXJhZGl1czogMDtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWwtMFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1yYWRpdXM6IDAuMTI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTtcbi8vLyBAbmFtZSAuay1yb3VuZGVkLWwtc21cbi8vLyBAZ3JvdXAgYm9yZGVyLXJhZGl1c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtcmFkaXVzOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtbC1tZFxuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1yYWRpdXM6IDAuNXJlbTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXJhZGl1czogMC41cmVtO1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtbC1sZ1xuLy8vIEBncm91cCBib3JkZXItcmFkaXVzXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC1yYWRpdXM6IDk5OTlweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXJhZGl1czogOTk5OXB4O1xuLy8vIEBuYW1lIC5rLXJvdW5kZWQtbC1mdWxsXG4vLy8gQGdyb3VwIGJvcmRlci1yYWRpdXNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYm9yZGVyLS1ib3JkZXItcmFkaXVzKCkge1xuXG4gICAgLy8gQm9yZGVyIHJhZGl1cyB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYm9yZGVyLXJhZGl1czogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYm9yZGVyLXJhZGl1c1wiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdW5kZWQsIGJvcmRlci1yYWRpdXMsICRrZW5kby11dGlscy1ib3JkZXItcmFkaXVzICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdW5kZWQtdGwsIGJvcmRlci10b3AtbGVmdC1yYWRpdXMsICRrZW5kby11dGlscy1ib3JkZXItcmFkaXVzICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdW5kZWQtdHIsIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzLCAka2VuZG8tdXRpbHMtYm9yZGVyLXJhZGl1cyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByb3VuZGVkLWJyLCBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cywgJGtlbmRvLXV0aWxzLWJvcmRlci1yYWRpdXMgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm91bmRlZC1ibCwgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cywgJGtlbmRvLXV0aWxzLWJvcmRlci1yYWRpdXMgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm91bmRlZC10LCAoIGJvcmRlci10b3AtbGVmdC1yYWRpdXMsIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzICksICRrZW5kby11dGlscy1ib3JkZXItcmFkaXVzICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdW5kZWQtciwgKCBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cywgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMgKSwgJGtlbmRvLXV0aWxzLWJvcmRlci1yYWRpdXMgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggcm91bmRlZC1iLCAoIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMsIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzICksICRrZW5kby11dGlscy1ib3JkZXItcmFkaXVzICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHJvdW5kZWQtbCwgKCBib3JkZXItdG9wLWxlZnQtcmFkaXVzLCBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzICksICRrZW5kby11dGlscy1ib3JkZXItcmFkaXVzICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYm9yZGVyLXN0eWxlLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYm9yZGVyL19ib3JkZXItc3R5bGUuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXN0eWxlOiBzb2xpZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1zdHlsZTogc29saWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXNvbGlkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItc3R5bGU6IGRhc2hlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItZGFzaGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItc3R5bGU6IGRvdHRlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItZG90dGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXN0eWxlOiBkb3VibGU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItc3R5bGU6IGRvdWJsZTtcbi8vLyBAbmFtZSAuay1ib3JkZXItZG91YmxlXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXN0eWxlOiBoaWRkZW47YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItc3R5bGU6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1ib3JkZXItaGlkZGVuXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXN0eWxlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXN0eWxlOiBub25lO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1ub25lXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItdC1zb2xpZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItdC1kYXNoZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXQtZG90dGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC1zdHlsZTogZG91YmxlO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1zdHlsZTogZG91YmxlO1xuLy8vIEBuYW1lIC5rLWJvcmRlci10LWRvdWJsZVxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3Atc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3Atc3R5bGU6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1ib3JkZXItdC1oaWRkZW5cbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXN0eWxlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC1zdHlsZTogbm9uZTtcbi8vLyBAbmFtZSAuay1ib3JkZXItdC1ub25lXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXItc29saWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC1zdHlsZTogZGFzaGVkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1yLWRhc2hlZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1zdHlsZTogZG90dGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXN0eWxlOiBkb3R0ZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXItZG90dGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXN0eWxlOiBkb3VibGU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtc3R5bGU6IGRvdWJsZTtcbi8vLyBAbmFtZSAuay1ib3JkZXItci1kb3VibGVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItcmlnaHQtc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC1zdHlsZTogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1yLWhpZGRlblxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbi8vLyBAbmFtZSAuay1ib3JkZXItci1ub25lXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItYi1zb2xpZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tc3R5bGU6IGRhc2hlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXItYi1kYXNoZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWItZG90dGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG91YmxlO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG91YmxlO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iLWRvdWJsZVxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20tc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20tc3R5bGU6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1ib3JkZXItYi1oaWRkZW5cbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbi8vLyBAbmFtZSAuay1ib3JkZXItYi1ub25lXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci1sLXNvbGlkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXN0eWxlOiBkYXNoZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWwtZGFzaGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtc3R5bGU6IGRvdHRlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXN0eWxlOiBkb3R0ZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWwtZG90dGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtc3R5bGU6IGRvdWJsZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXN0eWxlOiBkb3VibGU7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWwtZG91YmxlXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXN0eWxlOiBoaWRkZW47XG4vLy8gQG5hbWUgLmstYm9yZGVyLWwtaGlkZGVuXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWlubGluZS1zdHlsZTogc29saWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItaW5saW5lLXN0eWxlOiBzb2xpZDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteC1zb2xpZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1pbmxpbmUtc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1pbmxpbmUtc3R5bGU6IGRhc2hlZDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteC1kYXNoZWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItaW5saW5lLXN0eWxlOiBkb3R0ZWQ7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItaW5saW5lLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXgtZG90dGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWlubGluZS1zdHlsZTogZG91YmxlO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWlubGluZS1zdHlsZTogZG91YmxlO1xuLy8vIEBuYW1lIC5rLWJvcmRlci14LWRvdWJsZVxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1pbmxpbmUtc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1pbmxpbmUtc3R5bGU6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1ib3JkZXIteC1oaWRkZW5cbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItaW5saW5lLXN0eWxlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWlubGluZS1zdHlsZTogbm9uZTtcbi8vLyBAbmFtZSAuay1ib3JkZXIteC1ub25lXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJsb2NrLXN0eWxlOiBzb2xpZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay1zdHlsZTogc29saWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXktc29saWRcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2stc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay1zdHlsZTogZGFzaGVkO1xuLy8vIEBuYW1lIC5rLWJvcmRlci15LWRhc2hlZFxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ibG9jay1zdHlsZTogZG90dGVkO2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJsb2NrLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXktZG90dGVkXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJsb2NrLXN0eWxlOiBkb3VibGU7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYmxvY2stc3R5bGU6IGRvdWJsZTtcbi8vLyBAbmFtZSAuay1ib3JkZXIteS1kb3VibGVcbi8vLyBAZ3JvdXAgYm9yZGVyLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2stc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay1zdHlsZTogaGlkZGVuO1xuLy8vIEBuYW1lIC5rLWJvcmRlci15LWhpZGRlblxuLy8vIEBncm91cCBib3JkZXItc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ibG9jay1zdHlsZTogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay1zdHlsZTogbm9uZTtcbi8vLyBAbmFtZSAuay1ib3JkZXIteS1ub25lXG4vLy8gQGdyb3VwIGJvcmRlci1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWJvcmRlci0tYm9yZGVyLXN0eWxlKCkge1xuXG4gICAgLy8gQm9yZGVyIHN0eWxlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1ib3JkZXItc3R5bGU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImJvcmRlci1zdHlsZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlciwgYm9yZGVyLXN0eWxlLCAka2VuZG8tdXRpbHMtYm9yZGVyLXN0eWxlICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci10LCBib3JkZXItdG9wLXN0eWxlLCAka2VuZG8tdXRpbHMtYm9yZGVyLXN0eWxlICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci1yLCBib3JkZXItcmlnaHQtc3R5bGUsICRrZW5kby11dGlscy1ib3JkZXItc3R5bGUgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLWIsIGJvcmRlci1ib3R0b20tc3R5bGUsICRrZW5kby11dGlscy1ib3JkZXItc3R5bGUgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLWwsIGJvcmRlci1sZWZ0LXN0eWxlLCAka2VuZG8tdXRpbHMtYm9yZGVyLXN0eWxlICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci14LCBib3JkZXItaW5saW5lLXN0eWxlLCAka2VuZG8tdXRpbHMtYm9yZGVyLXN0eWxlICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci15LCBib3JkZXItYmxvY2stc3R5bGUsICRrZW5kby11dGlscy1ib3JkZXItc3R5bGUgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19ib3JkZXItd2lkdGguc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9ib3JkZXIvX2JvcmRlci13aWR0aC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlclxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci13aWR0aDogMDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci13aWR0aDogMDtcbi8vLyBAbmFtZSAuay1ib3JkZXItMFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci13aWR0aDogMnB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXdpZHRoOiAycHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLTJcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItd2lkdGg6IDRweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci13aWR0aDogNHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci00XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXdpZHRoOiA4cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItd2lkdGg6IDhweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItOFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3Atd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItdFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3Atd2lkdGg6IDBweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3Atd2lkdGg6IDBweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItdC0wXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXRvcC13aWR0aDogMnB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXRvcC13aWR0aDogMnB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci10LTJcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItdG9wLXdpZHRoOiA0cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItdG9wLXdpZHRoOiA0cHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXQtNFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci10b3Atd2lkdGg6IDhweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci10b3Atd2lkdGg6IDhweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItdC04XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItclxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC13aWR0aDogMHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXItMFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC13aWR0aDogMnB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXItMlxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC13aWR0aDogNHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXdpZHRoOiA0cHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXItNFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1yaWdodC13aWR0aDogOHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLXJpZ2h0LXdpZHRoOiA4cHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXItOFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItYlxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20td2lkdGg6IDBweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItYi0wXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci1iLTJcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYm90dG9tLXdpZHRoOiA0cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYm90dG9tLXdpZHRoOiA0cHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWItNFxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1ib3R0b20td2lkdGg6IDhweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ib3R0b20td2lkdGg6IDhweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItYi04XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWxcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC13aWR0aDogMHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtd2lkdGg6IDBweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItbC0wXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWxlZnQtd2lkdGg6IDJweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1sZWZ0LXdpZHRoOiAycHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWwtMlxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItbGVmdC13aWR0aDogNHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci1sLTRcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItbGVmdC13aWR0aDogOHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWxlZnQtd2lkdGg6IDhweDtcbi8vLyBAbmFtZSAuay1ib3JkZXItbC04XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWlubGluZS13aWR0aDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWlubGluZS13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci14XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWlubGluZS13aWR0aDogMHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWlubGluZS13aWR0aDogMHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci14LTBcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItaW5saW5lLXdpZHRoOiAycHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItaW5saW5lLXdpZHRoOiAycHg7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXgtMlxuLy8vIEBncm91cCBib3JkZXItd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJvcmRlci1pbmxpbmUtd2lkdGg6IDRweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1pbmxpbmUtd2lkdGg6IDRweDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteC00XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWlubGluZS13aWR0aDogOHB4O2AuXG4vLy8gQGV4YW1wbGUgYm9yZGVyLWlubGluZS13aWR0aDogOHB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci14LThcbi8vLyBAZ3JvdXAgYm9yZGVyLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBib3JkZXItYmxvY2std2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1ibG9jay13aWR0aDogMXB4O1xuLy8vIEBuYW1lIC5rLWJvcmRlci15XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJsb2NrLXdpZHRoOiAwcHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYmxvY2std2lkdGg6IDBweDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteS0wXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJsb2NrLXdpZHRoOiAycHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYmxvY2std2lkdGg6IDJweDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteS0yXG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJsb2NrLXdpZHRoOiA0cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYmxvY2std2lkdGg6IDRweDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteS00XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWJsb2NrLXdpZHRoOiA4cHg7YC5cbi8vLyBAZXhhbXBsZSBib3JkZXItYmxvY2std2lkdGg6IDhweDtcbi8vLyBAbmFtZSAuay1ib3JkZXIteS04XG4vLy8gQGdyb3VwIGJvcmRlci13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYm9yZGVyLS1ib3JkZXItd2lkdGgoKSB7XG5cbiAgICAvLyBCb3JkZXIgd2lkdGggdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYm9yZGVyLXdpZHRoXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLCBib3JkZXItd2lkdGgsICRrZW5kby11dGlscy1ib3JkZXItd2lkdGggKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXQsIGJvcmRlci10b3Atd2lkdGgsICRrZW5kby11dGlscy1ib3JkZXItd2lkdGggKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXIsIGJvcmRlci1yaWdodC13aWR0aCwgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItYiwgYm9yZGVyLWJvdHRvbS13aWR0aCwgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aCApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItbCwgYm9yZGVyLWxlZnQtd2lkdGgsICRrZW5kby11dGlscy1ib3JkZXItd2lkdGggKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXgsIGJvcmRlci1pbmxpbmUtd2lkdGgsICRrZW5kby11dGlscy1ib3JkZXItd2lkdGggKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLXksIGJvcmRlci1ibG9jay13aWR0aCwgJGtlbmRvLXV0aWxzLWJvcmRlci13aWR0aCApO1xuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBib3JkZXItdG9wLCBib3JkZXItdG9wLXdpZHRoLCAka2VuZG8tdXRpbHMtYm9yZGVyLXdpZHRoICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci1yaWdodCwgYm9yZGVyLXJpZ2h0LXdpZHRoLCAka2VuZG8tdXRpbHMtYm9yZGVyLXdpZHRoICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlci1ib3R0b20sIGJvcmRlci1ib3R0b20td2lkdGgsICRrZW5kby11dGlscy1ib3JkZXItd2lkdGggKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYm9yZGVyLWxlZnQsIGJvcmRlci1sZWZ0LXdpZHRoLCAka2VuZG8tdXRpbHMtYm9yZGVyLXdpZHRoICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fb3V0bGluZS1jb2xvci5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2JvcmRlci9fb3V0bGluZS1jb2xvci5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLWNvbG9yOiBpbmhlcml0O2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS1jb2xvcjogaW5oZXJpdDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLWluaGVyaXRcbi8vLyBAZ3JvdXAgb3V0bGluZS1jb2xvclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtY3VycmVudENvbG9yXG4vLy8gQGdyb3VwIG91dGxpbmUtY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtY29sb3I6IHRyYW5zcGFyZW50O2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4vLy8gQG5hbWUgLmstb3V0bGluZS10cmFuc3BhcmVudFxuLy8vIEBncm91cCBvdXRsaW5lLWNvbG9yXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLWNvbG9yOiBibGFjaztgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtY29sb3I6IGJsYWNrO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtYmxhY2tcbi8vLyBAZ3JvdXAgb3V0bGluZS1jb2xvclxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS1jb2xvcjogd2hpdGU7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLWNvbG9yOiB3aGl0ZTtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLXdoaXRlXG4vLy8gQGdyb3VwIG91dGxpbmUtY29sb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYm9yZGVyLS1vdXRsaW5lLWNvbG9yKCkge1xuXG4gICAgLy8gT3V0bGluZSBjb2xvciB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtb3V0bGluZS1jb2xvcjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwib3V0bGluZS1jb2xvclwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG91dGxpbmUsIG91dGxpbmUtY29sb3IsICRrZW5kby11dGlscy1vdXRsaW5lLWNvbG9yICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fb3V0bGluZS1vZmZzZXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9ib3JkZXIvX291dGxpbmUtb2Zmc2V0LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtb2Zmc2V0OiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLW9mZnNldDogMXB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0XG4vLy8gQGdyb3VwIG91dGxpbmUtb2Zmc2V0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLW9mZnNldDogMDtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtb2Zmc2V0OiAwO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0LTBcbi8vLyBAZ3JvdXAgb3V0bGluZS1vZmZzZXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtb2Zmc2V0OiAycHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLW9mZnNldDogMnB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0LTJcbi8vLyBAZ3JvdXAgb3V0bGluZS1vZmZzZXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtb2Zmc2V0OiA0cHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLW9mZnNldDogNHB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0LTRcbi8vLyBAZ3JvdXAgb3V0bGluZS1vZmZzZXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtb2Zmc2V0OiA4cHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLW9mZnNldDogOHB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtb2Zmc2V0LThcbi8vLyBAZ3JvdXAgb3V0bGluZS1vZmZzZXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tYm9yZGVyLS1vdXRsaW5lLW9mZnNldCgpIHtcblxuICAgIC8vIE91dGxpbmUgb2Zmc2V0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vdXRsaW5lLW9mZnNldDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwib3V0bGluZS1vZmZzZXRcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvdXRsaW5lLW9mZnNldCwgb3V0bGluZS1vZmZzZXQsICRrZW5kby11dGlscy1vdXRsaW5lLW9mZnNldCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX291dGxpbmUtc3R5bGUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9ib3JkZXIvX291dGxpbmUtc3R5bGUuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS1zdHlsZTogc29saWQ7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLXNvbGlkXG4vLy8gQGdyb3VwIG91dGxpbmUtc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtc3R5bGU6IGRhc2hlZDtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLWRhc2hlZFxuLy8vIEBncm91cCBvdXRsaW5lLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLXN0eWxlOiBkb3R0ZWQ7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gQG5hbWUgLmstb3V0bGluZS1kb3R0ZWRcbi8vLyBAZ3JvdXAgb3V0bGluZS1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS1zdHlsZTogZG91YmxlO2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS1zdHlsZTogZG91YmxlO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtZG91YmxlXG4vLy8gQGdyb3VwIG91dGxpbmUtc3R5bGVcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtc3R5bGU6IGhpZGRlbjtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtc3R5bGU6IGhpZGRlbjtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLWhpZGRlblxuLy8vIEBncm91cCBvdXRsaW5lLXN0eWxlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLXN0eWxlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS1zdHlsZTogbm9uZTtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLW5vbmVcbi8vLyBAZ3JvdXAgb3V0bGluZS1zdHlsZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1ib3JkZXItLW91dGxpbmUtc3R5bGUoKSB7XG5cbiAgICAvLyBPdXRsaW5lIHN0eWxlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vdXRsaW5lLXN0eWxlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJvdXRsaW5lLXN0eWxlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggb3V0bGluZSwgb3V0bGluZS1zdHlsZSwgJGtlbmRvLXV0aWxzLW91dGxpbmUtc3R5bGUgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19vdXRsaW5lLXdpZHRoLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvYm9yZGVyL19vdXRsaW5lLXdpZHRoLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtd2lkdGg6IDFweDtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtd2lkdGg6IDFweDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lXG4vLy8gQGdyb3VwIG91dGxpbmUtd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtd2lkdGg6IDA7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLXdpZHRoOiAwO1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtMFxuLy8vIEBncm91cCBvdXRsaW5lLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvdXRsaW5lLXdpZHRoOiAycHg7YC5cbi8vLyBAZXhhbXBsZSBvdXRsaW5lLXdpZHRoOiAycHg7XG4vLy8gQG5hbWUgLmstb3V0bGluZS0yXG4vLy8gQGdyb3VwIG91dGxpbmUtd2lkdGhcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG91dGxpbmUtd2lkdGg6IDRweDtgLlxuLy8vIEBleGFtcGxlIG91dGxpbmUtd2lkdGg6IDRweDtcbi8vLyBAbmFtZSAuay1vdXRsaW5lLTRcbi8vLyBAZ3JvdXAgb3V0bGluZS13aWR0aFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgb3V0bGluZS13aWR0aDogOHB4O2AuXG4vLy8gQGV4YW1wbGUgb3V0bGluZS13aWR0aDogOHB4O1xuLy8vIEBuYW1lIC5rLW91dGxpbmUtOFxuLy8vIEBncm91cCBvdXRsaW5lLXdpZHRoXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWJvcmRlci0tb3V0bGluZS13aWR0aCgpIHtcblxuICAgIC8vIE91dGxpbmUgd2lkdGggdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLW91dGxpbmUtd2lkdGg6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcIm91dGxpbmUtd2lkdGhcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBvdXRsaW5lLCBvdXRsaW5lLXdpZHRoLCAka2VuZG8tdXRpbHMtb3V0bGluZS13aWR0aCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWJvcmRlcigpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tYm9yZGVyLS1ib3JkZXItY29sb3IoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tYm9yZGVyLS1ib3JkZXItcmFkaXVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlci0tYm9yZGVyLXN0eWxlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlci0tYm9yZGVyLXdpZHRoKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlci0tb3V0bGluZS1jb2xvcigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1ib3JkZXItLW91dGxpbmUtb2Zmc2V0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJvcmRlci0tb3V0bGluZS1zdHlsZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1ib3JkZXItLW91dGxpbmUtd2lkdGgoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9lZmZlY3RzL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2VmZmVjdHMvaW5kZXguaW1wb3J0LnNjc3Ncbi8vIGJveCBzaGFkb3dcbi8vIGJveCBzaGFkb3cgY29sb3Jcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX29wYWNpdHkuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9lZmZlY3RzL19vcGFjaXR5LnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYG9wYWNpdHk6IDA7YC5cbi8vLyBAZXhhbXBsZSBvcGFjaXR5OiAwO1xuLy8vIEBuYW1lIC5rLW9wYWNpdHktMFxuLy8vIEBncm91cCBvcGFjaXR5XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBvcGFjaXR5OiAxO2AuXG4vLy8gQGV4YW1wbGUgb3BhY2l0eTogMTtcbi8vLyBAbmFtZSAuay1vcGFjaXR5LTFcbi8vLyBAZ3JvdXAgb3BhY2l0eVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1lZmZlY3RzLS1vcGFjaXR5KCkge1xuXG4gICAgLy8gb3BhY2l0eSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtb3BhY2l0eTogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwib3BhY2l0eVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG9wYWNpdHksIG9wYWNpdHksICRrZW5kby11dGlscy1vcGFjaXR5ICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWVmZmVjdHMoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWVmZmVjdHMtLW9wYWNpdHkoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9maWx0ZXIvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvZmlsdGVyL2luZGV4LmltcG9ydC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19iYWNrZHJvcC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ZpbHRlci9fYmFja2Ryb3Auc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbi8vLyBAbmFtZSAuay1iYWNrZHJvcC1ibHVyXG4vLy8gQGdyb3VwIGJhY2tkcm9wLWJsdXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tkcm9wLWZpbHRlcjogYmx1cigwKTtgLlxuLy8vIEBleGFtcGxlIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwKTtcbi8vLyBAbmFtZSAuay1iYWNrZHJvcC1ibHVyLW5vbmVcbi8vLyBAZ3JvdXAgYmFja2Ryb3AtYmx1clxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbi8vLyBAbmFtZSAuay1iYWNrZHJvcC1ibHVyLXNtXG4vLy8gQGdyb3VwIGJhY2tkcm9wLWJsdXJcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpO2AuXG4vLy8gQGV4YW1wbGUgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4vLy8gQG5hbWUgLmstYmFja2Ryb3AtYmx1ci1tZFxuLy8vIEBncm91cCBiYWNrZHJvcC1ibHVyXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7YC5cbi8vLyBAZXhhbXBsZSBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4vLy8gQG5hbWUgLmstYmFja2Ryb3AtYmx1ci1sZ1xuLy8vIEBncm91cCBiYWNrZHJvcC1ibHVyXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWZpbHRlci0tYmFja2Ryb3AoKSB7XG5cbiAgICAvLyBiYWNrZHJvcCB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtYmFja2Ryb3AtYmx1cjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYmFja2Ryb3AtYmx1clwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJhY2tkcm9wLWJsdXIsIGJhY2tkcm9wLWZpbHRlciwgJGtlbmRvLXV0aWxzLWJhY2tkcm9wLWJsdXIgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby11dGlscy0tZmlsdGVyKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1maWx0ZXItLWJhY2tkcm9wKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdGFibGUvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdGFibGUvaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2JvcmRlci1jb2xsYXBzZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RhYmxlL19ib3JkZXItY29sbGFwc2Uuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4vLy8gQG5hbWUgLmstYm9yZGVyLWNvbGxhcHNlXG4vLy8gQGdyb3VwIGJvcmRlci1jb2xsYXBzZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtgLlxuLy8vIEBleGFtcGxlIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4vLy8gQG5hbWUgLmstYm9yZGVyLXNlcGFyYXRlXG4vLy8gQGdyb3VwIGJvcmRlci1jb2xsYXBzZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10YWJsZS0tYm9yZGVyLWNvbGxhcHNlKCkge1xuXG4gICAgLy8gQm9yZGVyIGNvbGxhcHNlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1ib3JkZXItY29sbGFwc2U6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImJvcmRlci1jb2xsYXBzZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGJvcmRlciwgYm9yZGVyLWNvbGxhcHNlLCAka2VuZG8tdXRpbHMtYm9yZGVyLWNvbGxhcHNlICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGFibGUtbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvdGFibGUvX3RhYmxlLWxheW91dC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0YWJsZS1sYXlvdXQ6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSB0YWJsZS1sYXlvdXQ6IGF1dG87XG4vLy8gQG5hbWUgLmstdGFibGUtYXV0b1xuLy8vIEBncm91cCB0YWJsZS1sYXlvdXRcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRhYmxlLWxheW91dDogZml4ZWQ7YC5cbi8vLyBAZXhhbXBsZSB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuLy8vIEBuYW1lIC5rLXRhYmxlLWZpeGVkXG4vLy8gQGdyb3VwIHRhYmxlLWxheW91dFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS10YWJsZS0tdGFibGUtbGF5b3V0KCkge1xuXG4gICAgLy8gVGFibGUgbGF5b3V0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10YWJsZS1sYXlvdXQ6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRhYmxlLWxheW91dFwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRhYmxlLCB0YWJsZS1sYXlvdXQsICRrZW5kby11dGlscy10YWJsZS1sYXlvdXQgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggdGFibGUtbGF5b3V0LCB0YWJsZS1sYXlvdXQsICRrZW5kby11dGlscy10YWJsZS1sYXlvdXQgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS10YWJsZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tdGFibGUtLWJvcmRlci1jb2xsYXBzZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10YWJsZS0tdGFibGUtbGF5b3V0KCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vIHRyYW5zaXRpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdHJhbnNmb3JtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmxpcC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9fZmxpcC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHNjYWxlWCggLTEgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2NhbGVYKCAtMSApO1xuLy8vIEBuYW1lIC5rLWZsaXAtaFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogc2NhbGVZKCAtMSApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiBzY2FsZVkoIC0xICk7XG4vLy8gQG5hbWUgLmstZmxpcC12XG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8gVE9ETzogY29uc2lkZXIgZ2xvYmFsbHkgaG9yaXpvbnRhbCB2cyBoIHZzIHhcblxuQG1peGluIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLWZsaXAoKSB7XG5cbiAgICAvLyBGbGlwIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1mbGlwOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJmbGlwXCIgKSAhZGVmYXVsdDtcbiAgICBAaWYgJGtlbmRvLXV0aWxzLWZsaXAge1xuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAtaCB7IHRyYW5zZm9ybTogc2NhbGVYKCAtMSApOyB9XG4gICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxpcC1oIHsgdHJhbnNmb3JtOiBzY2FsZVgoIC0xICkgIWltcG9ydGFudDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAtdiB7IHRyYW5zZm9ybTogc2NhbGVZKCAtMSApOyB9XG4gICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxpcC12IHsgdHJhbnNmb3JtOiBzY2FsZVkoIC0xICkgIWltcG9ydGFudDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAtaC4jeyRrZW5kby1wcmVmaXh9ZmxpcC12IHsgdHJhbnNmb3JtOiBzY2FsZSggLTEsIC0xICk7IH1cbiAgICAgICAgLlxcISN7JGtlbmRvLXByZWZpeH1mbGlwLWguXFwhI3ska2VuZG8tcHJlZml4fWZsaXAtdiB7IHRyYW5zZm9ybTogc2NhbGUoIC0xLCAtMSApICFpbXBvcnRhbnQ7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgICAgICAuI3ska2VuZG8tcHJlZml4fWZsaXAteCB7IEBleHRlbmQgLiN7JGtlbmRvLXByZWZpeH1mbGlwLWggIW9wdGlvbmFsOyB9XG4gICAgICAgIC5cXCEjeyRrZW5kby1wcmVmaXh9ZmxpcC14IHsgQGV4dGVuZCAuXFwhI3ska2VuZG8tcHJlZml4fWZsaXAtaCAhb3B0aW9uYWw7IH1cbiAgICAgICAgLiN7JGtlbmRvLXByZWZpeH1mbGlwLXkgeyBAZXh0ZW5kIC4jeyRrZW5kby1wcmVmaXh9ZmxpcC12ICFvcHRpb25hbDsgfVxuICAgICAgICAuXFwhI3ska2VuZG8tcHJlZml4fWZsaXAteSB7IEBleHRlbmQgLlxcISN7JGtlbmRvLXByZWZpeH1mbGlwLXYgIW9wdGlvbmFsOyB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX29yaWdpbi5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9fb3JpZ2luLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbi8vLyBAbmFtZSAuay1vcmlnaW4tY2VudGVyXG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IHRvcDtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbi8vLyBAbmFtZSAuay1vcmlnaW4tdG9wXG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4vLy8gQG5hbWUgLmstb3JpZ2luLXJpZ2h0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbi8vLyBAbmFtZSAuay1vcmlnaW4tYm90dG9tXG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuLy8vIEBuYW1lIC5rLW9yaWdpbi1sZWZ0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IHRvcC1sZWZ0O2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtLW9yaWdpbjogdG9wLWxlZnQ7XG4vLy8gQG5hbWUgLmstb3JpZ2luLXRvcC1sZWZ0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IHRvcC1yaWdodDtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IHRvcC1yaWdodDtcbi8vLyBAbmFtZSAuay1vcmlnaW4tdG9wLXJpZ2h0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbS1sZWZ0O2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tLWxlZnQ7XG4vLy8gQG5hbWUgLmstb3JpZ2luLWJvdHRvbS1sZWZ0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbS1yaWdodDtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbS1yaWdodDtcbi8vLyBAbmFtZSAuay1vcmlnaW4tYm90dG9tLXJpZ2h0XG4vLy8gQGdyb3VwIHRyYW5zZm9ybS1vcmlnaW5cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHJhbnNmb3JtLS1vcmlnaW4oKSB7XG5cbiAgICAvLyBUcmFuc2Zvcm0gb3JpZ2luIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1vcmlnaW46IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcIm9yaWdpblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIG9yaWdpbiwgdHJhbnNmb3JtLW9yaWdpbiwgJGtlbmRvLXV0aWxzLW9yaWdpbiApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3JvdGF0ZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9fcm90YXRlLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogcm90YXRlKCAwICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHJvdGF0ZSggMCApO1xuLy8vIEBuYW1lIC5rLXJvdGF0ZS0wXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiByb3RhdGUoIDQ1ZGVnICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHJvdGF0ZSggNDVkZWcgKTtcbi8vLyBAbmFtZSAuay1yb3RhdGUtNDVcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHJvdGF0ZSggOTBkZWcgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogcm90YXRlKCA5MGRlZyApO1xuLy8vIEBuYW1lIC5rLXJvdGF0ZS05MFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogcm90YXRlKCAxMzVkZWcgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogcm90YXRlKCAxMzVkZWcgKTtcbi8vLyBAbmFtZSAuay1yb3RhdGUtMTM1XG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiByb3RhdGUoIDE4MGRlZyApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiByb3RhdGUoIDE4MGRlZyApO1xuLy8vIEBuYW1lIC5rLXJvdGF0ZS0xODBcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHJvdGF0ZSggMjI1ZGVnICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHJvdGF0ZSggMjI1ZGVnICk7XG4vLy8gQG5hbWUgLmstcm90YXRlLTIyNVxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogcm90YXRlKCAyNzBkZWcgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogcm90YXRlKCAyNzBkZWcgKTtcbi8vLyBAbmFtZSAuay1yb3RhdGUtMjcwXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiByb3RhdGUoIDMxNWRlZyApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiByb3RhdGUoIDMxNWRlZyApO1xuLy8vIEBuYW1lIC5rLXJvdGF0ZS0zMTVcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2F0LWZ1bmN0aW9uLXBhdHRlcm5cbkBmdW5jdGlvbiBfX3JvdGF0ZSggJHZhbCApIHtcbiAgICBAcmV0dXJuIHJvdGF0ZSggJHZhbCApO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL2F0LWZ1bmN0aW9uLXBhdHRlcm5cblxuQG1peGluIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXJvdGF0ZSgpIHtcblxuICAgIC8vIFJvdGF0ZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtcm90YXRlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJyb3RhdGVcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByb3RhdGUsIHRyYW5zZm9ybSwgJGtlbmRvLXV0aWxzLXJvdGF0ZSwgX19yb3RhdGUgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19zY2FsZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3RyYW5zZm9ybS9fc2NhbGUuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiBzY2FsZSggMCwgMCApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiBzY2FsZSggMCwgMCApO1xuLy8vIEBuYW1lIC5rLXNjYWxlLTBcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHNjYWxlKCAxLCAxICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHNjYWxlKCAxLCAxICk7XG4vLy8gQG5hbWUgLmstc2NhbGUtMVxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogc2NhbGUoIDIsIDIgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2NhbGUoIDIsIDIgKTtcbi8vLyBAbmFtZSAuay1zY2FsZS0yXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9hdC1mdW5jdGlvbi1wYXR0ZXJuXG5AZnVuY3Rpb24gX19zY2FsZSggJHZhbCApIHtcbiAgICBAcmV0dXJuIHNjYWxlKCAkdmFsICk7XG59XG5AZnVuY3Rpb24gX19zY2FsZS14KCAkdmFsICkge1xuICAgIEByZXR1cm4gc2NhbGVYKCAkdmFsICk7XG59XG5AZnVuY3Rpb24gX19zY2FsZS15KCAkdmFsICkge1xuICAgIEByZXR1cm4gc2NhbGVZKCAkdmFsICk7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNjc3MvYXQtZnVuY3Rpb24tcGF0dGVyblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tc2NhbGUoKSB7XG5cbiAgICAvLyBTY2FsZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtc2NhbGU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInNjYWxlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2NhbGUsIHRyYW5zZm9ybSwgJGtlbmRvLXV0aWxzLXNjYWxlLCBfX3NjYWxlICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjYWxlLXgsIHRyYW5zZm9ybSwgJGtlbmRvLXV0aWxzLXNjYWxlLCBfX3NjYWxlLXggKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2NhbGUteSwgdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtc2NhbGUsIF9fc2NhbGUteSApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3NrZXcuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90cmFuc2Zvcm0vX3NrZXcuc2Nzc1xuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4vLy8gQG5hbWUgLmstc2tldy14LTBcbi8vLyBAZ3JvdXAgc2tld1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiBza2V3WCgxZGVnKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2tld1goMWRlZyk7XG4vLy8gQG5hbWUgLmstc2tldy14LTFcbi8vLyBAZ3JvdXAgc2tld1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiBza2V3WSgwZGVnKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2tld1koMGRlZyk7XG4vLy8gQG5hbWUgLmstc2tldy15LTBcbi8vLyBAZ3JvdXAgc2tld1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiBza2V3WSgxZGVnKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogc2tld1koMWRlZyk7XG4vLy8gQG5hbWUgLmstc2tldy15LTFcbi8vLyBAZ3JvdXAgc2tld1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9hdC1mdW5jdGlvbi1wYXR0ZXJuXG5AZnVuY3Rpb24gX19za2V3LXgoICR2YWwgKSB7XG4gICAgQHJldHVybiBza2V3WCggJHZhbCApO1xufVxuQGZ1bmN0aW9uIF9fc2tldy15KCAkdmFsICkge1xuICAgIEByZXR1cm4gc2tld1koICR2YWwgKTtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2Nzcy9hdC1mdW5jdGlvbi1wYXR0ZXJuXG5cbkBtaXhpbiBrZW5kby11dGlscy0tdHJhbnNmb3JtLS1za2V3KCkge1xuXG4gICAgLy8gVHJhbnNmb3JtIHNrZXcgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXNrZXc6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInNrZXdcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBza2V3LXgsIHRyYW5zZm9ybSwgJGtlbmRvLXV0aWxzLXNrZXcsIF9fc2tldy14ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNrZXcteSwgdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtc2tldywgX19za2V3LXkgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190cmFuc2xhdGUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy90cmFuc2Zvcm0vX3RyYW5zbGF0ZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMCwgMCApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDAsIDAgKTtcbi8vLyBAbmFtZSAuay10cmFuc2xhdGUtMFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCAwLCA1MCUgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAwLCA1MCUgKTtcbi8vLyBAbmFtZSAuay10cmFuc2xhdGUtMC01MFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCAwLCAxMDAlICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMCwgMTAwJSApO1xuLy8vIEBuYW1lIC5rLXRyYW5zbGF0ZS0wLTEwMFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIDAgKTtgLlxuLy8vIEBleGFtcGxlIHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIDAgKTtcbi8vLyBAbmFtZSAuay10cmFuc2xhdGUtNTAtMFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIDUwJSApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDUwJSwgNTAlICk7XG4vLy8gQG5hbWUgLmstdHJhbnNsYXRlLTUwLTUwXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDUwJSwgMTAwJSApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDUwJSwgMTAwJSApO1xuLy8vIEBuYW1lIC5rLXRyYW5zbGF0ZS01MC0xMDBcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMTAwJSwgMCApO2AuXG4vLy8gQGV4YW1wbGUgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDEwMCUsIDAgKTtcbi8vLyBAbmFtZSAuay10cmFuc2xhdGUtMTAwLTBcbi8vLyBAZ3JvdXAgdHJhbnNmb3JtXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMTAwJSwgNTAlICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMTAwJSwgNTAlICk7XG4vLy8gQG5hbWUgLmstdHJhbnNsYXRlLTEwMC01MFxuLy8vIEBncm91cCB0cmFuc2Zvcm1cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRyYW5zZm9ybTogdHJhbnNsYXRlKCAxMDAlLCAxMDAlICk7YC5cbi8vLyBAZXhhbXBsZSB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMTAwJSwgMTAwJSApO1xuLy8vIEBuYW1lIC5rLXRyYW5zbGF0ZS0xMDAtMTAwXG4vLy8gQGdyb3VwIHRyYW5zZm9ybVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9hdC1mdW5jdGlvbi1wYXR0ZXJuXG5AZnVuY3Rpb24gX190cmFuc2xhdGUoICR2YWwgKSB7XG4gICAgQHJldHVybiB0cmFuc2xhdGUoICR2YWwgKTtcbn1cbkBmdW5jdGlvbiBfX3RyYW5zbGF0ZS14KCAkdmFsICkge1xuICAgIEByZXR1cm4gdHJhbnNsYXRlWCggJHZhbCApO1xufVxuQGZ1bmN0aW9uIF9fdHJhbnNsYXRlLXkoICR2YWwgKSB7XG4gICAgQHJldHVybiB0cmFuc2xhdGVZKCAkdmFsICk7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNjc3MvYXQtZnVuY3Rpb24tcGF0dGVyblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tdHJhbnNsYXRlKCkge1xuXG4gICAgLy8gVHJhbnNsYXRlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10cmFuc2xhdGU6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRyYW5zbGF0ZVwiICkgIWRlZmF1bHQ7XG4gICAgJGtlbmRvLXV0aWxzLXRyYW5zbGF0ZS14eTogKFxuICAgICAgICBcIjBcIjogKCAwLCAwICksXG4gICAgICAgIFwiMC01MFwiOiAoIDAsIDUwJSApLFxuICAgICAgICBcIjAtMTAwXCI6ICggMCwgMTAwJSApLFxuICAgICAgICBcIjUwLTBcIjogKCA1MCUsIDAgKSxcbiAgICAgICAgXCI1MC01MFwiOiAoIDUwJSwgNTAlICksXG4gICAgICAgIFwiNTAtMTAwXCI6ICggNTAlLCAxMDAlICksXG4gICAgICAgIFwiMTAwLTBcIjogKCAxMDAlLCAwICksXG4gICAgICAgIFwiMTAwLTUwXCI6ICggMTAwJSwgNTAlICksXG4gICAgICAgIFwiMTAwLTEwMFwiOiAoIDEwMCUsIDEwMCUgKVxuICAgICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRyYW5zbGF0ZSwgdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtdHJhbnNsYXRlLXh5LCBfX3RyYW5zbGF0ZSApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB0cmFuc2xhdGUteCwgdHJhbnNmb3JtLCAka2VuZG8tdXRpbHMtdHJhbnNsYXRlLCBfX3RyYW5zbGF0ZS14ICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRyYW5zbGF0ZS15LCB0cmFuc2Zvcm0sICRrZW5kby11dGlscy10cmFuc2xhdGUsIF9fdHJhbnNsYXRlLXkgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0oKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tZmxpcCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLW9yaWdpbigpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXJvdGF0ZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXNjYWxlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXRyYW5zZm9ybS0tc2tldygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10cmFuc2Zvcm0tLXRyYW5zbGF0ZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ludGVyYWN0aXZpdHkvaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fYWNjZW50LWNvbG9yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fYWNjZW50LWNvbG9yLnNjc3Ncbi8vIFRPRE86IGRvY3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5LS1hY2NlbnQtY29sb3IoKSB7XG5cbiAgICAvLyBBY2NlbnQgY29sb3IgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWFjY2VudC1jb2xvcjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwiYWNjZW50LWNvbG9yXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggYWNjZW50LWNvbG9yLCBhY2NlbnQtY29sb3IsICRrZW5kby11dGlscy1hY2NlbnQtY29sb3IgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19hcHBlYXJhbmNlLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fYXBwZWFyYW5jZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBhcHBlYXJhbmNlOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgYXBwZWFyYW5jZTogbm9uZTtcbi8vLyBAbmFtZSAuay1hcHBlYXJhbmNlLW5vbmVcbi8vLyBAZ3JvdXAgYXBwZWFyYW5jZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYXBwZWFyYW5jZTogYXV0bztgLlxuLy8vIEBleGFtcGxlIGFwcGVhcmFuY2U6IGF1dG87XG4vLy8gQG5hbWUgLmstYXBwZWFyYW5jZS1hdXRvXG4vLy8gQGdyb3VwIGFwcGVhcmFuY2Vcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tYXBwZWFyYW5jZSgpIHtcblxuICAgIC8vIEFwcGVhcmFuY2UgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWFwcGVhcmFuY2U6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImFwcGVhcmFuY2VcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBhcHBlYXJhbmNlLCBhcHBlYXJhbmNlLCAka2VuZG8tdXRpbHMtYXBwZWFyYW5jZSApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2NhcmV0LWNvbG9yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fY2FyZXQtY29sb3Iuc2Nzc1xuLy8gVE9ETzogZG9jc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLWNhcmV0LWNvbG9yKCkge1xuXG4gICAgLy8gQ2FyZXQgY29sb3IgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWNhcmV0LWNvbG9yOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJjYXJldC1jb2xvclwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGNhcmV0LCBjYXJldC1jb2xvciwgJGtlbmRvLXV0aWxzLWNhcmV0LWNvbG9yICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fY3Vyc29yLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fY3Vyc29yLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGN1cnNvcjogbm9uZTtgLlxuLy8vIEBleGFtcGxlIGN1cnNvcjogbm9uZTtcbi8vLyBAbmFtZSAuay1jdXJzb3Itbm9uZVxuLy8vIEBncm91cCBjdXJzb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGN1cnNvcjogYXV0bztgLlxuLy8vIEBleGFtcGxlIGN1cnNvcjogYXV0bztcbi8vLyBAbmFtZSAuay1jdXJzb3ItYXV0b1xuLy8vIEBncm91cCBjdXJzb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGN1cnNvcjogZGVmYXVsdDtgLlxuLy8vIEBleGFtcGxlIGN1cnNvcjogZGVmYXVsdDtcbi8vLyBAbmFtZSAuay1jdXJzb3ItZGVmYXVsdFxuLy8vIEBncm91cCBjdXJzb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGN1cnNvcjogcG9pbnRlcjtgLlxuLy8vIEBleGFtcGxlIGN1cnNvcjogcG9pbnRlcjtcbi8vLyBAbmFtZSAuay1jdXJzb3ItcG9pbnRlclxuLy8vIEBncm91cCBjdXJzb3Jcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tY3Vyc29yKCkge1xuXG4gICAgLy8gQ3Vyc29yIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1jdXJzb3I6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImN1cnNvclwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIGN1cnNvciwgY3Vyc29yLCAka2VuZG8tdXRpbHMtY3Vyc29yICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fcG9pbnRlci1ldmVudHMuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9pbnRlcmFjdGl2aXR5L19wb2ludGVyLWV2ZW50cy5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBwb2ludGVyLWV2ZW50czogbm9uZTtgLlxuLy8vIEBleGFtcGxlIHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8vIEBuYW1lIC5rLXBvaW50ZXItZXZlbnRzLW5vbmVcbi8vLyBAZ3JvdXAgcG9pbnRlci1ldmVudHNcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHBvaW50ZXItZXZlbnRzOiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgcG9pbnRlci1ldmVudHM6IGF1dG87XG4vLy8gQG5hbWUgLmstcG9pbnRlci1ldmVudHMtYXV0b1xuLy8vIEBncm91cCBwb2ludGVyLWV2ZW50c1xuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5LS1wb2ludGVyLWV2ZW50cygpIHtcblxuICAgIC8vIFBvaW50ZXIgZXZlbnRzIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1wb2ludGVyLWV2ZW50czogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwicG9pbnRlci1ldmVudHNcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBwb2ludGVyLWV2ZW50cywgcG9pbnRlci1ldmVudHMsICRrZW5kby11dGlscy1wb2ludGVyLWV2ZW50cyApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3Jlc2l6ZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ludGVyYWN0aXZpdHkvX3Jlc2l6ZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGByZXNpemU6IGJvdGg7YC5cbi8vLyBAZXhhbXBsZSByZXNpemU6IGJvdGg7XG4vLy8gQG5hbWUgLmstcmVzaXplXG4vLy8gQGdyb3VwIHJlc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcmVzaXplOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgcmVzaXplOiBub25lO1xuLy8vIEBuYW1lIC5rLXJlc2l6ZS1ub25lXG4vLy8gQGdyb3VwIHJlc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcmVzaXplOiBob3Jpem9udGFsO2AuXG4vLy8gQGV4YW1wbGUgcmVzaXplOiBob3Jpem9udGFsO1xuLy8vIEBuYW1lIC5rLXJlc2l6ZS14XG4vLy8gQGdyb3VwIHJlc2l6ZVxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgcmVzaXplOiB2ZXJ0aWNhbDtgLlxuLy8vIEBleGFtcGxlIHJlc2l6ZTogdmVydGljYWw7XG4vLy8gQG5hbWUgLmstcmVzaXplLXlcbi8vLyBAZ3JvdXAgcmVzaXplXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXJlc2l6ZSgpIHtcblxuICAgIC8vIFJlc2l6ZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtcmVzaXplOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJyZXNpemVcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCByZXNpemUsIHJlc2l6ZSwgJGtlbmRvLXV0aWxzLXJlc2l6ZSApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3Njcm9sbC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL2ludGVyYWN0aXZpdHkvX3Njcm9sbC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtYmVoYXZpb3I6IGF1dG87YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG4vLy8gQG5hbWUgLmstc2Nyb2xsLWF1dG9cbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbW9vdGhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtc25hcC10eXBlOiB4IHZhcigtLWstc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcyk7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtc25hcC10eXBlOiB4IHZhcigtLWstc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcyk7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXNuYXAtc25hcC14XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXNuYXAtdHlwZTogeSB2YXIoLS1rLXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXNuYXAtdHlwZTogeSB2YXIoLS1rLXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLXNuYXAteVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYC0tay1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBtYW5kYXRvcnk7YC5cbi8vLyBAZXhhbXBsZSAtLWstc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogbWFuZGF0b3J5O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLW1hbmRhdG9yeVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYC0tay1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7YC5cbi8vLyBAZXhhbXBsZSAtLWstc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLXByb3hpbWl0eVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLXN0b3A6IG5vcm1hbDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1zbmFwLXN0b3A6IG5vcm1hbDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtc25hcC1zdG9wLW5vcm1hbFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cztgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cztcbi8vLyBAbmFtZSAuay1zY3JvbGwtc25hcC1zdG9wLWFsd2F5c1xuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtc25hcC1hbGlnbi1zdGFydFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLWFsaWduOiBlbmQ7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtc25hcC1hbGlnbjogZW5kO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLWFsaWduLWVuZFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1zbmFwLWFsaWduLWNlbnRlclxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1zbmFwLWFsaWduOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXNuYXAtYWxpZ24tbm9uZVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW46IDA7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luOiAwO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1tLTBcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtbWFyZ2luOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luOiAxcHg7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW0tMXB4XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLW1hcmdpbjogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1tYXJnaW46IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW0tMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tdG9wOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi10b3A6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW0tMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tdG9wOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLXRvcDogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1tLTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tdG9wOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi10b3A6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW0tMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tcmlnaHQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLXJpZ2h0OiAwO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1tci0wXG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLW1hcmdpbi1yaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1yaWdodDogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1tci0xcHhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1yaWdodDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbXItMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tYm90dG9tOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1ib3R0b206IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW1iLTBcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtbWFyZ2luLWJvdHRvbTogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1ib3R0b206IDFweDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbWItMXB4XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLW1hcmdpbi1ib3R0b206IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbWItMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tbGVmdDogMDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1tYXJnaW4tbGVmdDogMDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbWwtMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1sZWZ0OiAxcHg7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLW1sLTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tbGVmdDogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1tYXJnaW4tbGVmdDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtbWwtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4taW5saW5lOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1pbmxpbmU6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXgtMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4taW5saW5lOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLWlubGluZTogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC14LTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4taW5saW5lOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLW1hcmdpbi1pbmxpbmU6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXgtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1tYXJnaW4tYmxvY2s6IDA7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLWJsb2NrOiAwO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC15LTBcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtbWFyZ2luLWJsb2NrOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtbWFyZ2luLWJsb2NrOiAxcHg7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXktMXB4XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLW1hcmdpbi1ibG9jazogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1tYXJnaW4tYmxvY2s6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXktMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmc6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXAtMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZzogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1wLTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmc6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXAtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLXRvcDogMDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1wYWRkaW5nLXRvcDogMDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcC0wXG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXBhZGRpbmctdG9wOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy10b3A6IDFweDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcC0xcHhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtcGFkZGluZy10b3A6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy10b3A6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXAtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLXJpZ2h0OiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXByLTBcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtcGFkZGluZy1yaWdodDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6IDFweDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcHItMXB4XG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcHItMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMDtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcGItMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctYm90dG9tOiAxcHg7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXBiLTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1wYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcGItMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWxlZnQ6IDA7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1sZWZ0OiAwO1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1wbC0wXG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXBhZGRpbmctbGVmdDogMXB4O2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctbGVmdDogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC1wbC0xcHhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtcGFkZGluZy1sZWZ0OiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctbGVmdDogMC4yNXJlbTtcbi8vLyBAbmFtZSAuay1zY3JvbGwtcGwtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWlubGluZTogMDtgLlxuLy8vIEBleGFtcGxlIHNjcm9sbC1wYWRkaW5nLWlubGluZTogMDtcbi8vLyBAbmFtZSAuay1zY3JvbGwteC0wXG4vLy8gQGdyb3VwIHNjcm9sbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgc2Nyb2xsLXBhZGRpbmctaW5saW5lOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1pbmxpbmU6IDFweDtcbi8vLyBAbmFtZSAuay1zY3JvbGwteC0xcHhcbi8vLyBAZ3JvdXAgc2Nyb2xsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzY3JvbGwtcGFkZGluZy1pbmxpbmU6IDAuMjVyZW07YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1pbmxpbmU6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXgtMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJsb2NrOiAwO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctYmxvY2s6IDA7XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXktMFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJsb2NrOiAxcHg7YC5cbi8vLyBAZXhhbXBsZSBzY3JvbGwtcGFkZGluZy1ibG9jazogMXB4O1xuLy8vIEBuYW1lIC5rLXNjcm9sbC15LTFweFxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHNjcm9sbC1wYWRkaW5nLWJsb2NrOiAwLjI1cmVtO2AuXG4vLy8gQGV4YW1wbGUgc2Nyb2xsLXBhZGRpbmctYmxvY2s6IDAuMjVyZW07XG4vLy8gQG5hbWUgLmstc2Nyb2xsLXktMVxuLy8vIEBncm91cCBzY3JvbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXNjcm9sbCgpIHtcblxuICAgIC8vIFNjcm9sbCBiZWhhdmlvciB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtc2Nyb2xsLWJlaGF2aW9yOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJzY3JvbGwtYmVoYXZpb3JcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwsIHNjcm9sbC1iZWhhdmlvciwgJGtlbmRvLXV0aWxzLXNjcm9sbC1iZWhhdmlvciApO1xuXG5cbiAgICAvLyBTY3JvbGwgc25hcCB0eXBlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1zY3JvbGwtc25hcC10eXBlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJzY3JvbGwtc25hcC10eXBlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2Nyb2xsLXNuYXAsIHNjcm9sbC1zbmFwLXR5cGUsICRrZW5kby11dGlscy1zY3JvbGwtc25hcC10eXBlICk7XG5cbiAgICAvLyBDdXN0b20gc2Nyb2xsIHNuYXAgdHlwZSB1dGlsaXR5IGNsYXNzZXNcbiAgICAuI3ska2VuZG8tcHJlZml4fXNjcm9sbC1zbmFwLW1hbmRhdG9yeSB7ICN7LS0jeyRrZW5kby1wcmVmaXh9c2Nyb2xsLXNuYXAtc3RyaWN0bmVzc306IG1hbmRhdG9yeTsgfVxuICAgIC4jeyRrZW5kby1wcmVmaXh9c2Nyb2xsLXNuYXAtcHJveGltaXR5IHsgI3stLSN7JGtlbmRvLXByZWZpeH1zY3JvbGwtc25hcC1zdHJpY3RuZXNzfTogcHJveGltaXR5OyB9XG5cblxuICAgIC8vIFNjcm9sbCBzbmFwIHN0b3AgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXNjcm9sbC1zbmFwLXN0b3A6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInNjcm9sbC1zbmFwLXN0b3BcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtc25hcC1zdG9wLCBzY3JvbGwtc25hcC1zdG9wLCAka2VuZG8tdXRpbHMtc2Nyb2xsLXNuYXAtc3RvcCApO1xuXG5cbiAgICAvLyBTY3JvbGwgc25hcCBhbGlnbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtc2Nyb2xsLXNuYXAtYWxpZ246IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInNjcm9sbC1zbmFwLWFsaWduXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2Nyb2xsLXNuYXAtYWxpZ24sIHNjcm9sbC1zbmFwLWFsaWduLCAka2VuZG8tdXRpbHMtc2Nyb2xsLXNuYXAtYWxpZ24gKTtcblxuXG4gICAgLy8gU2Nyb2xsIG1hcmdpbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbjogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwic2Nyb2xsLW1hcmdpblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1tLCBzY3JvbGwtbWFyZ2luLCAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtbXQsIHNjcm9sbC1tYXJnaW4tdG9wLCAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtbXIsIHNjcm9sbC1tYXJnaW4tcmlnaHQsICRrZW5kby11dGlscy1zY3JvbGwtbWFyZ2luICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1tYiwgc2Nyb2xsLW1hcmdpbi1ib3R0b20sICRrZW5kby11dGlscy1zY3JvbGwtbWFyZ2luICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1tbCwgc2Nyb2xsLW1hcmdpbi1sZWZ0LCAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtbXgsIHNjcm9sbC1tYXJnaW4taW5saW5lLCAka2VuZG8tdXRpbHMtc2Nyb2xsLW1hcmdpbiApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtbXksIHNjcm9sbC1tYXJnaW4tYmxvY2ssICRrZW5kby11dGlscy1zY3JvbGwtbWFyZ2luICk7XG5cblxuICAgIC8vIFNjcm9sbCBwYWRkaW5nIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1zY3JvbGwtcGFkZGluZzogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwic2Nyb2xsLXBhZGRpbmdcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtcCwgc2Nyb2xsLXBhZGRpbmcsICRrZW5kby11dGlscy1zY3JvbGwtcGFkZGluZyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtcHQsIHNjcm9sbC1wYWRkaW5nLXRvcCwgJGtlbmRvLXV0aWxzLXNjcm9sbC1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1wciwgc2Nyb2xsLXBhZGRpbmctcmlnaHQsICRrZW5kby11dGlscy1zY3JvbGwtcGFkZGluZyApO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCBzY3JvbGwtcGIsIHNjcm9sbC1wYWRkaW5nLWJvdHRvbSwgJGtlbmRvLXV0aWxzLXNjcm9sbC1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1wbCwgc2Nyb2xsLXBhZGRpbmctbGVmdCwgJGtlbmRvLXV0aWxzLXNjcm9sbC1wYWRkaW5nICk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHNjcm9sbC1weCwgc2Nyb2xsLXBhZGRpbmctaW5saW5lLCAka2VuZG8tdXRpbHMtc2Nyb2xsLXBhZGRpbmcgKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc2Nyb2xsLXB5LCBzY3JvbGwtcGFkZGluZy1ibG9jaywgJGtlbmRvLXV0aWxzLXNjcm9sbC1wYWRkaW5nICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdG91Y2gtYWN0aW9uLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fdG91Y2gtYWN0aW9uLnNjc3Ncbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogbm9uZTtgLlxuLy8vIEBleGFtcGxlIHRvdWNoLWFjdGlvbjogbm9uZTtcbi8vLyBAbmFtZSAuay10b3VjaC1hY3Rpb24tbm9uZVxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogYXV0bztgLlxuLy8vIEBleGFtcGxlIHRvdWNoLWFjdGlvbjogYXV0bztcbi8vLyBAbmFtZSAuay10b3VjaC1hY3Rpb24tYXV0b1xuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLXg7YC5cbi8vLyBAZXhhbXBsZSB0b3VjaC1hY3Rpb246IHBhbi14O1xuLy8vIEBuYW1lIC5rLXRvdWNoLWFjdGlvbi1wYW4teFxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLXk7YC5cbi8vLyBAZXhhbXBsZSB0b3VjaC1hY3Rpb246IHBhbi15O1xuLy8vIEBuYW1lIC5rLXRvdWNoLWFjdGlvbi1wYW4teVxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLWxlZnQ7YC5cbi8vLyBAZXhhbXBsZSB0b3VjaC1hY3Rpb246IHBhbi1sZWZ0O1xuLy8vIEBuYW1lIC5rLXRvdWNoLWFjdGlvbi1wYW4tbGVmdFxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLXJpZ2h0O2AuXG4vLy8gQGV4YW1wbGUgdG91Y2gtYWN0aW9uOiBwYW4tcmlnaHQ7XG4vLy8gQG5hbWUgLmstdG91Y2gtYWN0aW9uLXBhbi1yaWdodFxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLXVwO2AuXG4vLy8gQGV4YW1wbGUgdG91Y2gtYWN0aW9uOiBwYW4tdXA7XG4vLy8gQG5hbWUgLmstdG91Y2gtYWN0aW9uLXBhbi11cFxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGFuLWRvd247YC5cbi8vLyBAZXhhbXBsZSB0b3VjaC1hY3Rpb246IHBhbi1kb3duO1xuLy8vIEBuYW1lIC5rLXRvdWNoLWFjdGlvbi1wYW4tZG93blxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtgLlxuLy8vIEBleGFtcGxlIHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbi8vLyBAbmFtZSAuay10b3VjaC1hY3Rpb24tcGluY2gtem9vbVxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO2AuXG4vLy8gQGV4YW1wbGUgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4vLy8gQG5hbWUgLmstdG91Y2gtYWN0aW9uLW1hbmlwdWxhdGlvblxuLy8vIEBncm91cCB0b3VjaC1hY3Rpb25cbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbkBtaXhpbiBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tdG91Y2gtYWN0aW9uKCkge1xuXG4gICAgLy8gVG91Y2gtYWN0aW9uIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy10b3VjaC1hY3Rpb246IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcInRvdWNoLWFjdGlvblwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHRvdWNoLWFjdGlvbiwgdG91Y2gtYWN0aW9uLCAka2VuZG8tdXRpbHMtdG91Y2gtYWN0aW9uICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdXNlci1zZWxlY3Quc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9pbnRlcmFjdGl2aXR5L191c2VyLXNlbGVjdC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB1c2VyLXNlbGVjdDogbm9uZTtgLlxuLy8vIEBleGFtcGxlIHVzZXItc2VsZWN0OiBub25lO1xuLy8vIEBuYW1lIC5rLXVzZXItc2VsZWN0LW5vbmVcbi8vLyBAZ3JvdXAgdXNlci1zZWxlY3Rcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHVzZXItc2VsZWN0OiBhdXRvO2AuXG4vLy8gQGV4YW1wbGUgdXNlci1zZWxlY3Q6IGF1dG87XG4vLy8gQG5hbWUgLmstdXNlci1zZWxlY3QtYXV0b1xuLy8vIEBncm91cCB1c2VyLXNlbGVjdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgdXNlci1zZWxlY3Q6IHRleHQ7YC5cbi8vLyBAZXhhbXBsZSB1c2VyLXNlbGVjdDogdGV4dDtcbi8vLyBAbmFtZSAuay11c2VyLXNlbGVjdC10ZXh0XG4vLy8gQGdyb3VwIHVzZXItc2VsZWN0XG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGB1c2VyLXNlbGVjdDogYWxsO2AuXG4vLy8gQGV4YW1wbGUgdXNlci1zZWxlY3Q6IGFsbDtcbi8vLyBAbmFtZSAuay11c2VyLXNlbGVjdC1hbGxcbi8vLyBAZ3JvdXAgdXNlci1zZWxlY3Rcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYHVzZXItc2VsZWN0OiBjb250YWluO2AuXG4vLy8gQGV4YW1wbGUgdXNlci1zZWxlY3Q6IGNvbnRhaW47XG4vLy8gQG5hbWUgLmstdXNlci1zZWxlY3QtY29udGFpblxuLy8vIEBncm91cCB1c2VyLXNlbGVjdFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuQG1peGluIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5LS11c2VyLXNlbGVjdCgpIHtcblxuICAgIC8vIFVzZXIgc2VsZWN0IHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy11c2VyLXNlbGVjdDogay1tYXAtZ2V0KCAka2VuZG8tdXRpbHMsIFwidXNlci1zZWxlY3RcIiApICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxzKCB1c2VyLXNlbGVjdCwgdXNlci1zZWxlY3QsICRrZW5kby11dGlscy11c2VyLXNlbGVjdCApO1xuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3dpbGwtY2hhbmdlLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLXV0aWxzL3Njc3MvaW50ZXJhY3Rpdml0eS9fd2lsbC1jaGFuZ2Uuc2Nzc1xuLy8gVE9ETzogZG9jc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXdpbGwtY2hhbmdlKCkge1xuXG4gICAgLy8gV2lsbCBjaGFuZ2UgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLXdpbGwtY2hhbmdlOiBrLW1hcC1nZXQoICRrZW5kby11dGlscywgXCJ3aWxsLWNoYW5nZVwiICkgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoIHdpbGwtY2hhbmdlLCB3aWxsLWNoYW5nZSwgJGtlbmRvLXV0aWxzLXdpbGwtY2hhbmdlICk7XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tYWNjZW50LWNvbG9yKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLWFwcGVhcmFuY2UoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tY2FyZXQtY29sb3IoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tY3Vyc29yKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXBvaW50ZXItZXZlbnRzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXJlc2l6ZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5LS1zY3JvbGwoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0taW50ZXJhY3Rpdml0eS0tdG91Y2gtYWN0aW9uKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXVzZXItc2VsZWN0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWludGVyYWN0aXZpdHktLXdpbGwtY2hhbmdlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc3ZnL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3N2Zy9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fZmlsbC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS11dGlscy9zY3NzL3N2Zy9fZmlsbC5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmaWxsOiBub25lO2AuXG4vLy8gQGV4YW1wbGUgZmlsbDogbm9uZTtcbi8vLyBAbmFtZSAuay1maWxsLW5vbmVcbi8vLyBAZ3JvdXAgZmlsbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmlsbDogaW5oZXJpdDtgLlxuLy8vIEBleGFtcGxlIGZpbGw6IGluaGVyaXQ7XG4vLy8gQG5hbWUgLmstZmlsbC1pbmhlcml0XG4vLy8gQGdyb3VwIGZpbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZpbGw6IGN1cnJlbnRDb2xvcjtgLlxuLy8vIEBleGFtcGxlIGZpbGw6IGN1cnJlbnRDb2xvcjtcbi8vLyBAbmFtZSAuay1maWxsLWN1cnJlbnRDb2xvclxuLy8vIEBncm91cCBmaWxsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBmaWxsOiB0cmFuc3BhcmVudDtgLlxuLy8vIEBleGFtcGxlIGZpbGw6IHRyYW5zcGFyZW50O1xuLy8vIEBuYW1lIC5rLWZpbGwtdHJhbnNwYXJlbnRcbi8vLyBAZ3JvdXAgZmlsbFxuLy8vIEBjb250ZXh0VHlwZSBjc3NcblxuLy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgZmlsbDogYmxhY2s7YC5cbi8vLyBAZXhhbXBsZSBmaWxsOiBibGFjaztcbi8vLyBAbmFtZSAuay1maWxsLWJsYWNrXG4vLy8gQGdyb3VwIGZpbGxcbi8vLyBAY29udGV4dFR5cGUgY3NzXG5cbi8vLyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGZpbGw6IHdoaXRlO2AuXG4vLy8gQGV4YW1wbGUgZmlsbDogd2hpdGU7XG4vLy8gQG5hbWUgLmstZmlsbC13aGl0ZVxuLy8vIEBncm91cCBmaWxsXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXN2Zy0tZmlsbCgpIHtcblxuICAgIC8vIGZpbGwgdXRpbGl0eSBjbGFzc2VzXG4gICAgJGtlbmRvLXV0aWxzLWZpbGw6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZpbGwtc3Ryb2tlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggZmlsbCwgZmlsbCwgJGtlbmRvLXV0aWxzLWZpbGwgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19zdHJva2Uuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9zdmcvX3N0cm9rZS5zY3NzXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IG5vbmU7YC5cbi8vLyBAZXhhbXBsZSBzdHJva2U6IG5vbmU7XG4vLy8gQG5hbWUgLmstc3Ryb2tlLW5vbmVcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IGluaGVyaXQ7YC5cbi8vLyBAZXhhbXBsZSBzdHJva2U6IGluaGVyaXQ7XG4vLy8gQG5hbWUgLmstc3Ryb2tlLWluaGVyaXRcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IGN1cnJlbnRDb2xvcjtgLlxuLy8vIEBleGFtcGxlIHN0cm9rZTogY3VycmVudENvbG9yO1xuLy8vIEBuYW1lIC5rLXN0cm9rZS1jdXJyZW50Q29sb3Jcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IHRyYW5zcGFyZW50O2AuXG4vLy8gQGV4YW1wbGUgc3Ryb2tlOiB0cmFuc3BhcmVudDtcbi8vLyBAbmFtZSAuay1zdHJva2UtdHJhbnNwYXJlbnRcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IGJsYWNrO2AuXG4vLy8gQGV4YW1wbGUgc3Ryb2tlOiBibGFjaztcbi8vLyBAbmFtZSAuay1zdHJva2UtYmxhY2tcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG4vLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBzdHJva2U6IHdoaXRlO2AuXG4vLy8gQGV4YW1wbGUgc3Ryb2tlOiB3aGl0ZTtcbi8vLyBAbmFtZSAuay1zdHJva2Utd2hpdGVcbi8vLyBAZ3JvdXAgc3Ryb2tlXG4vLy8gQGNvbnRleHRUeXBlIGNzc1xuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXN2Zy0tc3Ryb2tlKCkge1xuXG4gICAgLy8gc3Ryb2tlIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRrZW5kby11dGlscy1zdHJva2U6IGstbWFwLWdldCggJGtlbmRvLXV0aWxzLCBcImZpbGwtc3Ryb2tlXCIgKSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlscyggc3Ryb2tlLCBzdHJva2UsICRrZW5kby11dGlscy1zdHJva2UgKTtcblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby11dGlscy0tc3ZnKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zdmctLWZpbGwoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tc3ZnLS1zdHJva2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2VsZXZhdGlvbi9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtdXRpbHMvc2Nzcy9lbGV2YXRpb24vaW5kZXguaW1wb3J0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvZWxldmF0aW9uL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tdXRpbHMtLWVsZXZhdGlvbiB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbHMoZWxldmF0aW9uLCBib3gtc2hhZG93LCAka2VuZG8tZWxldmF0aW9uKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1peGluIGZvciBhbGwgc3R5bGVzXG5AbWl4aW4ga2VuZG8tdXRpbHMoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWFjY2Vzc2liaWxpdHkoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tbGF5b3V0KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWZsZXgtZ3JpZCgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1zcGFjaW5nKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXNpemluZygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS10eXBvZ3JhcGh5KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWJhY2tncm91bmQoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tYm9yZGVyKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWVmZmVjdHMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tZmlsdGVyKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXRhYmxlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXRyYW5zZm9ybSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzLS1pbnRlcmFjdGl2aXR5KCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLXN2ZygpO1xuXG4gICAgQGluY2x1ZGUga2VuZG8tdXRpbHMtLWVsZXZhdGlvbigpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWNvcmUvc2Nzcy9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1jb3JlL3Njc3MvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdXRpbHMtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInV0aWxzXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXV0aWxzKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidHlwb2dyYXBoeVwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3R5cG9ncmFwaHkvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUeXBvZ3JhcGh5XG5cblxuLy8gSGVhZGluZ3NcbiRrZW5kby1oMS1mb250LXNpemU6ICRoMS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2VuZG8taDItZm9udC1zaXplOiAkaDItZm9udC1zaXplICFkZWZhdWx0O1xuJGtlbmRvLWgzLWZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrZW5kby1oNC1mb250LXNpemU6ICRoNC1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2VuZG8taDUtZm9udC1zaXplOiAkaDUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtlbmRvLWg2LWZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGtlbmRvLWgxLWZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8taDItZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRrZW5kby1oMy1mb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGtlbmRvLWg0LWZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8taDUtZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRrZW5kby1oNi1mb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4ka2VuZG8taDEtbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRrZW5kby1oMi1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWgzLWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8taDQtbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRrZW5kby1oNS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWg2LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRrZW5kby1oMS1mb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWgyLWZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8taDMtZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRrZW5kby1oNC1mb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWg1LWZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8taDYtZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodCAhZGVmYXVsdDtcblxuJGtlbmRvLWgxLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWgyLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWgzLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWg0LWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWg1LWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWg2LWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8taDEtbWFyZ2luOiAwIDAgJGhlYWRpbmdzLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4ka2VuZG8taDItbWFyZ2luOiAwIDAgJGhlYWRpbmdzLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4ka2VuZG8taDMtbWFyZ2luOiAwIDAgJGhlYWRpbmdzLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4ka2VuZG8taDQtbWFyZ2luOiAwIDAgJGhlYWRpbmdzLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4ka2VuZG8taDUtbWFyZ2luOiAwIDAgJGhlYWRpbmdzLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG4ka2VuZG8taDYtbWFyZ2luOiAwIDAgJGhlYWRpbmdzLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cblxuLy8gUGFyYWdyYXBoXG4ka2VuZG8tcGFyYWdyYXBoLW1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcbiRrZW5kby1wYXJhZ3JhcGgtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuJGtlbmRvLXBhcmFncmFwaC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGtlbmRvLXBhcmFncmFwaC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLXBhcmFncmFwaC1mb250LXdlaWdodDogJGtlbmRvLWZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRrZW5kby1wYXJhZ3JhcGgtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuJGtlbmRvLWNvZGUtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGtlbmRvLWNvZGUtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG4ka2VuZG8tY29kZS1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLWNvZGUtZm9udC13ZWlnaHQ6ICRrZW5kby1mb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4ka2VuZG8tY29kZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWNvZGUtcGFkZGluZy14OiA0cHggIWRlZmF1bHQ7XG4ka2VuZG8tY29kZS1wYWRkaW5nLXk6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1wcmUtcGFkZGluZy14OiAyNHB4ICFkZWZhdWx0O1xuJGtlbmRvLXByZS1wYWRkaW5nLXk6IDE2cHggIWRlZmF1bHQ7XG4ka2VuZG8tY29kZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuJGtlbmRvLWNvZGUtYmc6ICRrZW5kby1iYXNlLWJnICFkZWZhdWx0O1xuJGtlbmRvLWNvZGUtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWNvZGUtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBEaXNwbGF5XG4ka2VuZG8tZGlzcGxheTEtZm9udC1zaXplOiBrLW1hcC1nZXQoICRkaXNwbGF5LWZvbnQtc2l6ZXMsIDEpICFkZWZhdWx0O1xuJGtlbmRvLWRpc3BsYXkyLWZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkZGlzcGxheS1mb250LXNpemVzLCAyKSAhZGVmYXVsdDtcbiRrZW5kby1kaXNwbGF5My1mb250LXNpemU6IGstbWFwLWdldCggJGRpc3BsYXktZm9udC1zaXplcywgMykgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzcGxheTQtZm9udC1zaXplOiBrLW1hcC1nZXQoICRkaXNwbGF5LWZvbnQtc2l6ZXMsIDQpICFkZWZhdWx0O1xuXG4ka2VuZG8tZGlzcGxheTEtZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzcGxheTItZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzcGxheTMtZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzcGxheTQtZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1kaXNwbGF5MS1saW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzcGxheTItbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWRpc3BsYXkzLWxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRrZW5kby1kaXNwbGF5NC1saW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRrZW5kby1kaXNwbGF5MS1mb250LXdlaWdodDogJGRpc3BsYXktZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tZGlzcGxheTItZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWRpc3BsYXkzLWZvbnQtd2VpZ2h0OiAkZGlzcGxheS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRrZW5kby1kaXNwbGF5NC1mb250LXdlaWdodDogJGRpc3BsYXktZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbiRrZW5kby1kaXNwbGF5MS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1kaXNwbGF5Mi1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1kaXNwbGF5My1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1kaXNwbGF5NC1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90eXBvZ3JhcGh5L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90eXBvZ3JhcGh5L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3R5cG9ncmFwaHkvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICBAaWYgJGtlbmRvLWVuYWJsZS10eXBvZ3JhcGh5IHtcbiAgICAgICAgYm9keSB7IEBleHRlbmQgLmstYm9keSAhb3B0aW9uYWw7IH1cbiAgICAgICAgaDEgeyBAZXh0ZW5kIC5rLWgxICFvcHRpb25hbDsgfVxuICAgICAgICBoMiB7IEBleHRlbmQgLmstaDIgIW9wdGlvbmFsOyB9XG4gICAgICAgIGgzIHsgQGV4dGVuZCAuay1oMyAhb3B0aW9uYWw7IH1cbiAgICAgICAgaDQgeyBAZXh0ZW5kIC5rLWg0ICFvcHRpb25hbDsgfVxuICAgICAgICBoNSB7IEBleHRlbmQgLmstaDUgIW9wdGlvbmFsOyB9XG4gICAgICAgIGg2IHsgQGV4dGVuZCAuay1oNiAhb3B0aW9uYWw7IH1cbiAgICAgICAgcCB7IEBleHRlbmQgLmstcGFyYWdyYXBoICFvcHRpb25hbDsgfVxuICAgICAgICBwcmUgeyBAZXh0ZW5kIC5rLXByZSAhb3B0aW9uYWw7IH1cbiAgICAgICAgY29kZSB7IEBleHRlbmQgLmstY29kZSAhb3B0aW9uYWw7IH1cbiAgICB9XG5cbiAgICAvLyBUT0RPIGRlbGV0ZSBrLXR5cG9ncmFwaHkgY2xhc3MgZm9yIFIxIDIwMjJcbiAgICAuay1ib2R5LFxuICAgIC5rLXR5cG9ncmFwaHkge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJGtlbmRvLWZvbnQtc2l6ZS1tZCxcbiAgICAgICAgICAgICRrZW5kby1mb250LWZhbWlseSxcbiAgICAgICAgICAgICRrZW5kby1saW5lLWhlaWdodC1tZCxcbiAgICAgICAgICAgICRrZW5kby1mb250LXdlaWdodC1ub3JtYWwsXG4gICAgICAgICAgICAka2VuZG8tbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAka2VuZG8tcGFyYWdyYXBoLW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhlYWRpbmdzXG4gICAgLmstaDEge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJGtlbmRvLWgxLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRrZW5kby1oMS1mb250LWZhbWlseSxcbiAgICAgICAgICAgICRrZW5kby1oMS1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRrZW5kby1oMS1mb250LXdlaWdodCxcbiAgICAgICAgICAgICRrZW5kby1oMS1sZXR0ZXItc3BhY2luZ1xuICAgICAgICApO1xuICAgICAgICBtYXJnaW46ICRrZW5kby1oMS1tYXJnaW47XG4gICAgfVxuICAgIC5rLWgyIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgICRrZW5kby1oMi1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8taDItZm9udC1mYW1pbHksXG4gICAgICAgICAgICAka2VuZG8taDItbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8taDItZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8taDItbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICAgICAgbWFyZ2luOiAka2VuZG8taDItbWFyZ2luO1xuICAgIH1cbiAgICAuay1oMyB7XG4gICAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoXG4gICAgICAgICAgICAka2VuZG8taDMtZm9udC1zaXplLFxuICAgICAgICAgICAgJGtlbmRvLWgzLWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgJGtlbmRvLWgzLWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJGtlbmRvLWgzLWZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgJGtlbmRvLWgzLWxldHRlci1zcGFjaW5nXG4gICAgICAgICk7XG4gICAgICAgIG1hcmdpbjogJGtlbmRvLWgzLW1hcmdpbjtcbiAgICB9XG4gICAgLmstaDQge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJGtlbmRvLWg0LWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRrZW5kby1oNC1mb250LWZhbWlseSxcbiAgICAgICAgICAgICRrZW5kby1oNC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRrZW5kby1oNC1mb250LXdlaWdodCxcbiAgICAgICAgICAgICRrZW5kby1oNC1sZXR0ZXItc3BhY2luZ1xuICAgICAgICApO1xuICAgICAgICBtYXJnaW46ICRrZW5kby1oNC1tYXJnaW47XG4gICAgfVxuICAgIC5rLWg1IHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgICRrZW5kby1oNS1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8taDUtZm9udC1mYW1pbHksXG4gICAgICAgICAgICAka2VuZG8taDUtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8taDUtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8taDUtbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICAgICAgbWFyZ2luOiAka2VuZG8taDUtbWFyZ2luO1xuICAgIH1cbiAgICAuay1oNiB7XG4gICAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoXG4gICAgICAgICAgICAka2VuZG8taDYtZm9udC1zaXplLFxuICAgICAgICAgICAgJGtlbmRvLWg2LWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgJGtlbmRvLWg2LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJGtlbmRvLWg2LWZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgJGtlbmRvLWg2LWxldHRlci1zcGFjaW5nXG4gICAgICAgICk7XG4gICAgICAgIG1hcmdpbjogJGtlbmRvLWg2LW1hcmdpbjtcbiAgICB9XG5cbiAgICAvLyBQYXJhZ3JhcGhcbiAgICAuay1wYXJhZ3JhcGgge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJGtlbmRvLXBhcmFncmFwaC1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8tcGFyYWdyYXBoLWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgJGtlbmRvLXBhcmFncmFwaC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRrZW5kby1wYXJhZ3JhcGgtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tcGFyYWdyYXBoLWxldHRlci1zcGFjaW5nXG4gICAgICAgICk7XG4gICAgICAgIG1hcmdpbjogJGtlbmRvLXBhcmFncmFwaC1tYXJnaW47XG4gICAgfVxuXG4gICAgLy8gQ29kZSBzbmlwcGV0XG4gICAgLmstcHJlLFxuICAgIC5rLWNvZGUge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJGtlbmRvLWNvZGUtZm9udC1zaXplLFxuICAgICAgICAgICAgJGtlbmRvLWNvZGUtZm9udC1mYW1pbHksXG4gICAgICAgICAgICAka2VuZG8tY29kZS1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRrZW5kby1jb2RlLWZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgJGtlbmRvLWNvZGUtbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tY29kZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG4gICAgLmstcHJlIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXByZS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcHJlLXBhZGRpbmcteDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgLmstcHJlID4gLmstY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmstY29kZSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jb2RlLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jb2RlLXBhZGRpbmcteDtcbiAgICB9XG5cbiAgICAvLyBEaXNwbGF5XG4gICAgLmstZGlzcGxheS0xIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgICRrZW5kby1kaXNwbGF5MS1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTEtZm9udC1mYW1pbHksXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTEtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTEtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTEtbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstZGlzcGxheS0yIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgICRrZW5kby1kaXNwbGF5Mi1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTItZm9udC1mYW1pbHksXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTItbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTItZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTItbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstZGlzcGxheS0zIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgICRrZW5kby1kaXNwbGF5My1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTMtZm9udC1mYW1pbHksXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTMtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTMtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTMtbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstZGlzcGxheS00IHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgICRrZW5kby1kaXNwbGF5NC1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTQtZm9udC1mYW1pbHksXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTQtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTQtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tZGlzcGxheTQtbGV0dGVyLXNwYWNpbmdcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXR5cG9ncmFwaHktLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXR5cG9ncmFwaHktLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90eXBvZ3JhcGh5L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3R5cG9ncmFwaHkvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90eXBvZ3JhcGh5L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWJvZHkge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWJvZHktdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1ib2R5LWJnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29kZSBzbmlwcGV0XG4gICAgLmstcHJlLFxuICAgIC5rLWNvZGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNvZGUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb2RlLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvZGUtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXR5cG9ncmFwaHktLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXR5cG9ncmFwaHktLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10eXBvZ3JhcGh5LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10eXBvZ3JhcGh5LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdHlwb2dyYXBoeS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidHlwb2dyYXBoeVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10eXBvZ3JhcGh5LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdHlwb2dyYXBoeS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXR5cG9ncmFwaHktLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gR2VuZXJpYyBjb250ZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiaWNvblwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2ljb25zL192YXJpYWJsZXMuc2Nzc1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pY29ucy9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pY29ucy9fbGF5b3V0LnNjc3NcbiRraS1lbWJlZC1mb250OiBmYWxzZTtcbiRraS1pY29uLXNpemU6ICRrZW5kby1pY29uLXNpemU7XG5cbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby1zdmctaWNvbnMvc2Nzcy9pbmRleC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby1zdmctaWNvbnMvc2Nzcy9pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJfdmFyaWFibGVzLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXN2Zy1pY29ucy9zY3NzL192YXJpYWJsZXMuc2Nzc1xuJGtpLWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuJGtpLWljb24tc2l6ZS14czogY2FsYyggI3ska2ktaWNvbi1zaXplfSAqIC43NSApICFkZWZhdWx0O1xuJGtpLWljb24tc2l6ZS1zbTogY2FsYyggI3ska2ktaWNvbi1zaXplfSAqIC44NzUgKSAhZGVmYXVsdDtcbiRraS1pY29uLXNpemUtbWQ6ICRraS1pY29uLXNpemUgIWRlZmF1bHQ7XG4ka2ktaWNvbi1zaXplLWxnOiBjYWxjKCAjeyRraS1pY29uLXNpemV9ICogMS4yNSApICFkZWZhdWx0O1xuJGtpLWljb24tc2l6ZS14bDogY2FsYyggI3ska2ktaWNvbi1zaXplfSAqIDEuNSApICFkZWZhdWx0O1xuJGtpLWljb24tc2l6ZS14eGw6IGNhbGMoICN7JGtpLWljb24tc2l6ZX0gKiAyICkgIWRlZmF1bHQ7XG4ka2ktaWNvbi1zaXplLXh4eGw6IGNhbGMoICN7JGtpLWljb24tc2l6ZX0gKiAzICkgIWRlZmF1bHQ7XG5cbiRraS1yb3RhdGUtbWFwOiAoXG4gICAgMDogMGRlZyxcbiAgICA0NTogNDVkZWcsXG4gICAgOTA6IDkwZGVnLFxuICAgIDEzNTogMTM1ZGVnLFxuICAgIDE4MDogMTgwZGVnLFxuICAgIDIyNTogMjI1ZGVnLFxuICAgIDI3MDogMjcwZGVnLFxuICAgIDMxNTogMzE1ZGVnXG4pICFkZWZhdWx0O1xuXG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXN2Zy1pY29uLXN0eWxlcygpIHtcblxuICAgIC5rLXN2Zy1pY29uIHtcbiAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJGtpLWljb24tc2l6ZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTVkcgSWNvbiBzaXplc1xuICAgIC5rLXN2Zy1pY29uIHtcbiAgICAgICAgJi5rLWljb24teHMge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUteHM7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUteHM7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24tc20ge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUtc207XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUtc207XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24tbWQge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUtbWQ7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUtbWQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24tbGcge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUtbGc7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUtbGc7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24teGwge1xuICAgICAgICAgICAgd2lkdGg6ICRraS1pY29uLXNpemUteGw7XG4gICAgICAgICAgICBoZWlnaHQ6ICRraS1pY29uLXNpemUteGw7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24teHhsIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2ktaWNvbi1zaXplLXh4bDtcbiAgICAgICAgICAgIGhlaWdodDogJGtpLWljb24tc2l6ZS14eGw7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWljb24teHh4bCB7XG4gICAgICAgICAgICB3aWR0aDogJGtpLWljb24tc2l6ZS14eHhsO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2ktaWNvbi1zaXplLXh4eGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG5cbiAgICAvLyBGbGlwXG4gICAgLmstZmxpcC1oLFxuICAgIC5rLWZsaXAtdixcbiAgICAuay1mbGlwLWguay1mbGlwLXYge1xuICAgICAgICAmLmstc3ZnLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtaCB7XG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCAtMSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtdiB7XG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCAtMSApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWZsaXAtaC5rLWZsaXAtdixcbiAgICAuay1mbGlwLWJvdGgge1xuICAgICAgICA+IHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCAtMSwgLTEgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUm90YXRlXG4gICAgQGVhY2ggJGluZGV4LCAkcm90YXRlIGluICRraS1yb3RhdGUtbWFwIHtcbiAgICAgICAgLmstcm90YXRlLSN7JGluZGV4fSB7XG4gICAgICAgICAgICAmLmstc3ZnLWljb24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAjeyRyb3RhdGV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8taWNvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1zdmctaWNvbi1zdHlsZXMoKTtcblxuICAgIC8vIEljb24gd3JhcFxuICAgIC5rLWljb24td3JhcCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBrZW5kby1pY29uLXdyYXBwZXIgY29tcG9uZW50XG4gICAgLmstaWNvbi13cmFwcGVyLWhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAuay1pY29uLXdpdGgtbW9kaWZpZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogLjI1ZW07XG4gICAgfVxuXG4gICAgLmstaWNvbi5rLWljb24tbW9kaWZpZXIge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXNpemU6IC41ZW07XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCAtLjVlbSAtLjVlbSAwO1xuICAgIH1cblxuICAgIC5rLWktbm9uZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuay1pY29uLWFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8taWNvbi1wYWRkaW5nO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5rLXNwcml0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5rLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuXG5AbWl4aW4ga2VuZG8taWNvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8taWNvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pY29ucy9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ljb25zL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8taWNvbi0tdGhlbWUtYmFzZSgpIHt9XG5cblxuQG1peGluIGtlbmRvLWljb24tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1pY29uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pY29uLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8taWNvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiaWNvblwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1pY29uLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8taWNvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL21lc3NhZ2Vib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZXNzYWdlYm94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIm1lc3NhZ2Vib3hcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL21lc3NhZ2Vib3gvX3ZhcmlhYmxlcy5zY3NzXG4vLyBNZXNzYWdlIGJveFxuJGtlbmRvLW1lc3NhZ2UtYm94LW1hcmdpbjogMCAwIGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAwICFkZWZhdWx0O1xuJGtlbmRvLW1lc3NhZ2UtYm94LXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbiRrZW5kby1tZXNzYWdlLWJveC1wYWRkaW5nLXk6ICRrZW5kby1wYWRkaW5nLW1kLXkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVzc2FnZS1ib3gtYm9yZGVyLXdpZHRoOiAwIDAgMCA0cHggIWRlZmF1bHQ7XG5cbiRrZW5kby1tZXNzYWdlLWJveC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tbWVzc2FnZS1ib3gtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuJGtlbmRvLW1lc3NhZ2UtYm94LWJnLWxldmVsOiAtMTAgIWRlZmF1bHQ7XG4ka2VuZG8tbWVzc2FnZS1ib3gtdGV4dC1sZXZlbDogNiAhZGVmYXVsdDtcbiRrZW5kby1tZXNzYWdlLWJveC1ib3JkZXItbGV2ZWw6IC05ICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVzc2FnZS1ib3gtbGluay1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVzc2FnZS1ib3gtbGluay10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9tZXNzYWdlYm94L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZXNzYWdlYm94L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lc3NhZ2Vib3gvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstbWVzc2FnZWJveCB7XG4gICAgICAgIG1hcmdpbjogJGtlbmRvLW1lc3NhZ2UtYm94LW1hcmdpbjtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lc3NhZ2UtYm94LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tZXNzYWdlLWJveC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLW1lc3NhZ2UtYm94LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWVzc2FnZS1ib3gtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lc3NhZ2UtYm94LWxpbmUtaGVpZ2h0O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXN0eWxlOiAka2VuZG8tbWVzc2FnZS1ib3gtbGluay1mb250LXN0eWxlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAka2VuZG8tbWVzc2FnZS1ib3gtbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lc3NhZ2Vib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lc3NhZ2Vib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9tZXNzYWdlYm94L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lc3NhZ2Vib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZXNzYWdlYm94L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIEBlYWNoICRjb2xvci1uYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLW1lc3NhZ2Vib3gtI3skY29sb3ItbmFtZX0ge1xuICAgICAgICAgICAgQGlmICRjb2xvci1uYW1lID09IFwiaW52ZXJzZVwiIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggZGFyay1vbi1zdWJ0bGUgKSwgay1jb2xvci1sZXZlbCggJGNvbG9yLCAka2VuZG8tbWVzc2FnZS1ib3gtdGV4dC1sZXZlbCApKSxcbiAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGRhcmstc3VidGxlICksIGstY29sb3ItbGV2ZWwoICRjb2xvciwgJGtlbmRvLW1lc3NhZ2UtYm94LWJnLWxldmVsICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggZGFyay1ob3ZlciApLCBrLWNvbG9yLWxldmVsKCAkY29sb3IsICRrZW5kby1tZXNzYWdlLWJveC1ib3JkZXItbGV2ZWwgKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JGNvbG9yLW5hbWV9LW9uLXN1YnRsZSApLCBrLWNvbG9yLWxldmVsKCAkY29sb3IsICRrZW5kby1tZXNzYWdlLWJveC10ZXh0LWxldmVsICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skY29sb3ItbmFtZX0tc3VidGxlICksIGstY29sb3ItbGV2ZWwoICRjb2xvciwgJGtlbmRvLW1lc3NhZ2UtYm94LWJnLWxldmVsICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skY29sb3ItbmFtZX0tZW1waGFzaXMgKSwgay1jb2xvci1sZXZlbCggJGNvbG9yLCAka2VuZG8tbWVzc2FnZS1ib3gtYm9yZGVyLWxldmVsICkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tZXNzYWdlYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZXNzYWdlYm94LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWVzc2FnZWJveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVzc2FnZWJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW1lc3NhZ2Vib3gtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIm1lc3NhZ2Vib3hcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbWVzc2FnZWJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1lc3NhZ2Vib3gtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZXNzYWdlYm94LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFByaW1pdGl2ZSBjb21wb25lbnRzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RyYWdnYWJsZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RyYWdnYWJsZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkcmFnZ2FibGVcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kcmFnZ2FibGUvX3ZhcmlhYmxlcy5zY3NzXG4vLyBEcmFnIGhpbnRcbiRrZW5kby1kcmFnLWhpbnQtcGFkZGluZy14OiAkYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1kcmFnLWhpbnQtcGFkZGluZy15OiAkYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1kcmFnLWhpbnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LWJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICFkZWZhdWx0O1xuJGtlbmRvLWRyYWctaGludC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbiRrZW5kby1kcmFnLWhpbnQtYmc6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbiRrZW5kby1kcmFnLWhpbnQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LWJvcmRlcjogJGtlbmRvLXNlbGVjdGVkLWJvcmRlciAhZGVmYXVsdDtcbiRrZW5kby1kcmFnLWhpbnQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhZy1oaW50LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWRyYWctaGludC1vcGFjaXR5OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIERyb3AgSGludFxuJGtlbmRvLWRyb3AtaGludC1hcnJvdy1zaXplOiA4cHggIWRlZmF1bHQ7XG4ka2VuZG8tZHJvcC1oaW50LWFycm93LXNwYWNpbmc6IGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApICFkZWZhdWx0O1xuJGtlbmRvLWRyb3AtaGludC1saW5lLWgtd2lkdGg6IDIwcHggIWRlZmF1bHQ7XG4ka2VuZG8tZHJvcC1oaW50LWxpbmUtaC1oZWlnaHQ6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1kcm9wLWhpbnQtbGluZS12LXdpZHRoOiAka2VuZG8tZHJvcC1oaW50LWxpbmUtaC1oZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tZHJvcC1oaW50LWxpbmUtdi1oZWlnaHQ6ICRrZW5kby1kcm9wLWhpbnQtbGluZS1oLXdpZHRoICFkZWZhdWx0O1xuXG4ka2VuZG8tZHJvcC1oaW50LWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kcmFnZ2FibGUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYWdnYWJsZS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcmFnZ2FibGUvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZHJhZ2dhYmxlLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIExheW91dFxuICAgIC5rLWRyYWctY2x1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1kcmFnLWhpbnQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZHJhZy1oaW50LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kcmFnLWhpbnQtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1kcmFnLWhpbnQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IGlmKCAka2VuZG8tZHJhZy1oaW50LWJvcmRlci13aWR0aCA9PSBudWxsLCBudWxsLCBzb2xpZCApO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1kcmFnLWhpbnQtZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWRyYWctaGludC1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1kcmFnLWhpbnQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWRyYWctaGludC1vcGFjaXR5O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDIwMDAwO1xuICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgfVxuICAgIC5rLWRyYWctc3RhdHVzLFxuICAgIC5rLWRyYWctY2x1ZSAuay1kcmFnLXN0YXR1cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNGV4O1xuICAgIH1cblxuXG4gICAgLy8gRHJvcCBoaW50XG4gICAgLmstZHJvcC1oaW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAka2VuZG8tZHJvcC1oaW50LWFycm93LXNwYWNpbmc7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG5cbiAgICAuay1kcm9wLWhpbnQtc3RhcnQsXG4gICAgLmstZHJvcC1oaW50LWVuZCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5rLWRyb3AtaGludC1saW5lIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZHJvcC1oaW50LWJnO1xuICAgIH1cblxuICAgIC5rLWRyb3AtaGludC1oIHtcbiAgICAgICAgLmstZHJvcC1oaW50LXN0YXJ0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAoIGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApICogJGVxdWlsYXRlcmFsLWluZGV4ICk7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGtlbmRvLWRyb3AtaGludC1iZztcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3AtaGludC1saW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZHJvcC1oaW50LWxpbmUtaC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWRyb3AtaGludC1saW5lLWgtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJvcC1oaW50LWVuZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICggay1tYXRoLWRpdiggJGtlbmRvLWRyb3AtaGludC1hcnJvdy1zaXplLCAyICkgKiAkZXF1aWxhdGVyYWwtaW5kZXggKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGtlbmRvLWRyb3AtaGludC1iZztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZHJvcC1oaW50LXYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5rLWRyb3AtaGludC1zdGFydCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAoIGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApICogJGVxdWlsYXRlcmFsLWluZGV4ICk7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZHJvcC1oaW50LWJnO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3AtaGludC1saW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZHJvcC1oaW50LWxpbmUtdi13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWRyb3AtaGludC1saW5lLXYtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJvcC1oaW50LWVuZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoIGstbWF0aC1kaXYoICRrZW5kby1kcm9wLWhpbnQtYXJyb3ctc2l6ZSwgMiApICogJGVxdWlsYXRlcmFsLWluZGV4ICk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAka2VuZG8tZHJvcC1oaW50LWJnO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmVvcmRlciBjdWVcbiAgICAuay1yZW9yZGVyLWN1ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kcmFnZ2FibGUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJhZ2dhYmxlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhZ2dhYmxlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZHJhZ2dhYmxlL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYWdnYWJsZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYWdnYWJsZS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRyYWdnYWJsZS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERyYWcgaGludFxuICAgIC5rLWRyYWctY2x1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZHJhZy1oaW50LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZHJhZy1oaW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWRyYWctaGludC1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tZHJhZy1oaW50LWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1kcmFnLWhpbnQtc2hhZG93ICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyYWdnYWJsZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhZ2dhYmxlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJhZ2dhYmxlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1kcmFnZ2FibGUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRyYWdnYWJsZVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmFnZ2FibGUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImxpc3RcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjaGVja2JveFwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NoZWNrYm94L192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9saXN0L192YXJpYWJsZXMuc2Nzc1xuLy8gTGlzdFxuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBMaXN0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBMaXN0IGNvbXBvbmVudCwgaWYgbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LW1kLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgTGlzdCBjb21wb25lbnQsIGlmIG5vIHNpemUgaXMgc2V0LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAyMCwgMTQgKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LW1kLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1sZy1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiBMaXN0IGhlYWRlciwgaWYgbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWhlYWRlci1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1zbS1oZWFkZXItcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1oZWFkZXItcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1sZy1oZWFkZXItcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgTGlzdCBoZWFkZXIsIGlmIG5vIHNpemUgaXMgc2V0LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1oZWFkZXItcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20taGVhZGVyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtaGVhZGVyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctaGVhZGVyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgTGlzdCBoZWFkZXIuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWhlYWRlci1ib3JkZXItd2lkdGg6IDAgMCAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBMaXN0IGhlYWRlciwgaWYgbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWhlYWRlci1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1zbS1oZWFkZXItZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtaGVhZGVyLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWhlYWRlci1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIExpc3QgaGVhZGVyLCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20taGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBMaXN0IGhlYWRlci5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaGVhZGVyLWZvbnQtd2VpZ2h0OiAka2VuZG8tZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIExpc3QgaXRlbXMsIHdoZW4gbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20taXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1sZy1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIExpc3QgaXRlbXMsIHdoZW4gbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20taXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1sZy1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgTGlzdCBpdGVtcywgaWYgbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20taXRlbS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1pdGVtLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBMaXN0IGl0ZW1zLCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaXRlbS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWl0ZW0tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1pdGVtLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctaXRlbS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIExpc3QgZ3JvdXAgaXRlbXMsIHdoZW4gbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20tZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LW1kLWdyb3VwLWl0ZW0tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1sZy1ncm91cC1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIExpc3QgZ3JvdXAgaXRlbXMsIHdoZW4gbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20tZ3JvdXAtaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDAuNSApICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbWQtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWdyb3VwLWl0ZW0tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxLjUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIExpc3QgZ3JvdXAgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggMCAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgTGlzdCBncm91cCBpdGVtcywgaWYgbm8gc2l6ZSBpcyBzZXQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Qtc20tZ3JvdXAtaXRlbS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1ncm91cC1pdGVtLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LWxnLWdyb3VwLWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBMaXN0IGdyb3VwIGl0ZW1zLCBpZiBubyBzaXplIGlzIHNldC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1saXN0LXNtLWdyb3VwLWl0ZW0tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdC1tZC1ncm91cC1pdGVtLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWxpc3QtbGctZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHdlaWdodCBvZiBhIExpc3QgZ3JvdXAgaXRlbS5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1mb250LXdlaWdodDogJGtlbmRvLWZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBtYXAgd2l0aCB0aGUgc2l6ZXMgb2YgdGhlIExpc3QuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdC1zbS1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdC1zbS1saW5lLWhlaWdodCxcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWxpc3Qtc20taGVhZGVyLXBhZGRpbmcteCxcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWxpc3Qtc20taGVhZGVyLXBhZGRpbmcteSxcbiAgICAgICAgaGVhZGVyLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsLFxuICAgICAgICBpdGVtLXBhZGRpbmcteDogJGtlbmRvLWxpc3Qtc20taXRlbS1wYWRkaW5nLXgsXG4gICAgICAgIGl0ZW0tcGFkZGluZy15OiAka2VuZG8tbGlzdC1zbS1pdGVtLXBhZGRpbmcteSxcbiAgICAgICAgaXRlbS1mb250LXNpemU6IG51bGwsXG4gICAgICAgIGl0ZW0tbGluZS1oZWlnaHQ6IG51bGwsXG4gICAgICAgIGdyb3VwLWl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1zbS1ncm91cC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LXNtLWdyb3VwLWl0ZW0tcGFkZGluZy15LFxuICAgICAgICBncm91cC1pdGVtLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogbnVsbFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdC1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdC1tZC1saW5lLWhlaWdodCxcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWxpc3QtbWQtaGVhZGVyLXBhZGRpbmcteCxcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtaGVhZGVyLXBhZGRpbmcteSxcbiAgICAgICAgaGVhZGVyLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsLFxuICAgICAgICBpdGVtLXBhZGRpbmcteDogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXgsXG4gICAgICAgIGl0ZW0tcGFkZGluZy15OiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteSxcbiAgICAgICAgaXRlbS1mb250LXNpemU6IG51bGwsXG4gICAgICAgIGl0ZW0tbGluZS1oZWlnaHQ6IG51bGwsXG4gICAgICAgIGdyb3VwLWl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1tZC1ncm91cC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LW1kLWdyb3VwLWl0ZW0tcGFkZGluZy15LFxuICAgICAgICBncm91cC1pdGVtLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogbnVsbFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdC1sZy1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdC1sZy1saW5lLWhlaWdodCxcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWxpc3QtbGctaGVhZGVyLXBhZGRpbmcteCxcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbGctaGVhZGVyLXBhZGRpbmcteSxcbiAgICAgICAgaGVhZGVyLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgaGVhZGVyLWxpbmUtaGVpZ2h0OiBudWxsLFxuICAgICAgICBpdGVtLXBhZGRpbmcteDogJGtlbmRvLWxpc3QtbGctaXRlbS1wYWRkaW5nLXgsXG4gICAgICAgIGl0ZW0tcGFkZGluZy15OiAka2VuZG8tbGlzdC1sZy1pdGVtLXBhZGRpbmcteSxcbiAgICAgICAgaXRlbS1mb250LXNpemU6IG51bGwsXG4gICAgICAgIGl0ZW0tbGluZS1oZWlnaHQ6IG51bGwsXG4gICAgICAgIGdyb3VwLWl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1sZy1ncm91cC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LWxnLWdyb3VwLWl0ZW0tcGFkZGluZy15LFxuICAgICAgICBncm91cC1pdGVtLWZvbnQtc2l6ZTogbnVsbCxcbiAgICAgICAgZ3JvdXAtaXRlbS1saW5lLWhlaWdodDogbnVsbFxuICAgIClcbikgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0IGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIExpc3QgY29tcG9uZW50LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgTGlzdCBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0IGhlYWRlci5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaGVhZGVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBMaXN0IGhlYWRlclxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1oZWFkZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBMaXN0IGhlYWRlci5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaGVhZGVyLWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgTGlzdCBoZWFkZXIuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWhlYWRlci1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBMaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBMaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnOiAka2VuZG8taG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgTGlzdCBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci10ZXh0OiAka2VuZG8taG92ZXItdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIExpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgTGlzdCBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIExpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDE1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tbGlzdC10ZXh0LCAuMTUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgTGlzdCBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC1iZzogJGtlbmRvLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBMaXN0IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1zZWxlY3RlZC10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIExpc3QgZ3JvdXAgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIExpc3QgZ3JvdXAgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LWdyb3VwLWl0ZW0tdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBMaXN0IGdyb3VwIGl0ZW1zLi5cbi8vLyBAZ3JvdXAgbGlzdFxuJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1ib3JkZXI6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBMaXN0IGdyb3VwIGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1ncm91cC1pdGVtLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgJ05vIERhdGEnIHRleHQuXG4vLy8gQGdyb3VwIGxpc3RcbiRrZW5kby1saXN0LW5vLWRhdGEtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSAnT3B0aW9uIExhYmVsJyB0ZXh0LlxuLy8vIEBncm91cCBsaXN0XG4ka2VuZG8tbGlzdC1vcHRpb24tbGFiZWwtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ2hlY2tCb3hcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgYSBzbWFsbCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1zbS1zaXplOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgYSBtZWRpdW0gQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtbWQtc2l6ZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIGEgbGFyZ2UgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtbGctc2l6ZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGdseXBoIHNpemUgb2YgYSBzbWFsbCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1zbS1nbHlwaC1zaXplOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyLjUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2x5cGggc2l6ZSBvZiBhIG1lZGl1bSBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1tZC1nbHlwaC1zaXplOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzLjUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2x5cGggc2l6ZSBvZiBhIGxhcmdlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxnLWdseXBoLXNpemU6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHJpcHBsZSBzaXplIG9mIGEgc21hbGwgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtc20tcmlwcGxlLXNpemU6IDMwMCUgIWRlZmF1bHQ7XG4vLy8gVGhlIHJpcHBsZSBzaXplIG9mIGEgbWVkaXVtIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LW1kLXJpcHBsZS1zaXplOiAzMDAlICFkZWZhdWx0O1xuLy8vIFRoZSByaXBwbGUgc2l6ZSBvZiBhIGxhcmdlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxnLXJpcHBsZS1zaXplOiAzMDAlICFkZWZhdWx0O1xuXG4vLyBBIG1hcCB3aXRoIHRoZSBkaWZmZXJlbnQgQ2hlY2tCb3ggc2l6ZXNcbiRrZW5kby1jaGVja2JveC1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIHNpemU6ICRrZW5kby1jaGVja2JveC1zbS1zaXplLFxuICAgICAgICBnbHlwaC1zaXplOiAka2VuZG8tY2hlY2tib3gtc20tZ2x5cGgtc2l6ZSxcbiAgICAgICAgcmlwcGxlLXNpemU6ICRrZW5kby1jaGVja2JveC1zbS1yaXBwbGUtc2l6ZVxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgc2l6ZTogJGtlbmRvLWNoZWNrYm94LW1kLXNpemUsXG4gICAgICAgIGdseXBoLXNpemU6ICRrZW5kby1jaGVja2JveC1tZC1nbHlwaC1zaXplLFxuICAgICAgICByaXBwbGUtc2l6ZTogJGtlbmRvLWNoZWNrYm94LW1kLXJpcHBsZS1zaXplXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBzaXplOiAka2VuZG8tY2hlY2tib3gtbGctc2l6ZSxcbiAgICAgICAgZ2x5cGgtc2l6ZTogJGtlbmRvLWNoZWNrYm94LWxnLWdseXBoLXNpemUsXG4gICAgICAgIHJpcHBsZS1zaXplOiAka2VuZG8tY2hlY2tib3gtbGctcmlwcGxlLXNpemVcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlci1hbHQgKSwgaWYoIGstaXMtbGlnaHQoICRrZW5kby1jaGVja2JveC1iZyApLCAkZ3JheS00MDAsICRncmF5LTYwMCApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1jaGVja2VkLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGNoZWNrZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtY2hlY2tlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tcHJpbWFyeSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICRrZW5kby1jaGVja2JveC1jaGVja2VkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdGV4dDogJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWZvY3VzLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktZW1waGFzaXMgKSwgay10cnktdGludCggJGtlbmRvLWNvbG9yLXByaW1hcnksIDUwJSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1mb2N1cy1zaGFkb3c6IDAgMCAwIC4yNXJlbSBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLXByaW1hcnksIC4yNSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIGFuZCBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWZvY3VzLWNoZWNrZWQtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgYW5kIGNoZWNrZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZm9jdXMtY2hlY2tlZC1zaGFkb3c6ICRrZW5kby1jaGVja2JveC1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZGlzYWJsZWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGFuZCBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGFuZCBjaGVja2VkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBhbmQgY2hlY2tlZCBDaGVja0JveC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBpbnZhbGlkIENoZWNrQm94LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWludmFsaWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGludmFsaWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaW52YWxpZC10ZXh0OiAka2VuZG8taW52YWxpZC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGludmFsaWQgQ2hlY2tCb3guXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaW52YWxpZC1ib3JkZXI6ICRrZW5kby1pbnZhbGlkLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBDaGVja0JveCBpbmRpY2F0b3JcblxuLy8vIFRoZSB0eXBlIG9mIHRoZSBDaGVja0JveCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaW5kaWNhdG9yLXR5cGU6IGltYWdlICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDaGVja0JveCBpbmRpY2F0b3IgZ2x5cGguXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtZ2x5cGgtZm9udC1mYW1pbHk6IFwiV2ViQ29tcG9uZW50c0ljb25zXCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vLyBUaGUgZ2x5cGggb2YgdGhlIENoZWNrQm94IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1jaGVja2VkLWdseXBoOiBcIlxcZTExOFwiICFkZWZhdWx0O1xuLy8vIFRoZSBnbHlwaCBvZiB0aGUgaW5kZXRlcm1pbmF0ZSBDaGVja0JveCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1nbHlwaDogXCJcXGUxMjFcIiAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbWFnZSBmb3IgYSBjaGVja2VkIENoZWNrQm94IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1jaGVja2VkLWltYWdlOiBrLWVzY2FwZS1zdmcoIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtdGV4dH0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGwzIDNsNi02Jy8+PC9zdmc+XCIpICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGltYWdlIGZvciBhIGluZGV0ZXJtaW5hdGUgQ2hlY2tCb3ggaW5kaWNhdG9yLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3ska2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS10ZXh0fScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLz48L3N2Zz5cIikgKSAhZGVmYXVsdDtcblxuXG4vLyBDaGVja0JveCBsYWJlbFxuXG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBDaGVja0JveCBpbnNpZGUgYSBsYWJlbC5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1sYWJlbC1tYXJnaW4teDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuXG5cbi8vIENoZWNrQm94IGxpc3RcblxuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIGluIGEgaG9yaXpvbnRhbCBDaGVja0JveCBsaXN0LlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LWxpc3Qtc3BhY2luZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoZWNrQm94IGxpc3QgaXRlbXMuXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtbGlzdC1pdGVtLXBhZGRpbmcteDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDaGVja0JveCBsaXN0IGl0ZW1zXG4vLy8gQGdyb3VwIGNoZWNrYm94XG4ka2VuZG8tY2hlY2tib3gtbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cblxuLy8gQ2hlY2tCb3ggcmlwcGxlXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hlY2tCb3gnIHJpcHBsZS5cbi8vLyBAZ3JvdXAgY2hlY2tib3hcbiRrZW5kby1jaGVja2JveC1yaXBwbGUtYmc6ICRrZW5kby1jaGVja2JveC1jaGVja2VkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBDaGVja0JveCcgcmlwcGxlLlxuLy8vIEBncm91cCBjaGVja2JveFxuJGtlbmRvLWNoZWNrYm94LXJpcHBsZS1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY2hlY2tib3gvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoZWNrYm94L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoZWNrYm94L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNoZWNrYm94LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENoZWNrYm94XG4gICAgLmstY2hlY2tib3gge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jaGVja2JveC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBDaGVja2JveCBpbmRpY2F0b3JcbiAgICAuay1jaGVja2JveDo6YmVmb3JlIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImdseXBoXCIge1xuICAgICAgICAgICAgY29udGVudDogJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtZ2x5cGg7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWNoZWNrYm94LWdseXBoLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgIC5rLWNoZWNrYm94OmNoZWNrZWQsXG4gICAgLmstY2hlY2tib3guay1jaGVja2VkIHtcbiAgICAgICAgQGlmICRrZW5kby1jaGVja2JveC1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtaW1hZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwiZ2x5cGhcIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbmRldGVybWluYXRlIHN0YXRlXG4gICAgLmstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbiAgICAuay1jaGVja2JveC5rLWluZGV0ZXJtaW5hdGUge1xuICAgICAgICBAaWYgJGtlbmRvLWNoZWNrYm94LWluZGljYXRvci10eXBlID09IFwiaW1hZ2VcIiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAka2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAka2VuZG8tY2hlY2tib3gtaW5kaWNhdG9yLXR5cGUgPT0gXCJnbHlwaFwiIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtZ2x5cGg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgLmstY2hlY2tib3g6ZGlzYWJsZWQsXG4gICAgLmstY2hlY2tib3guay1kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKCAka2VuZG8tZGlzYWJsZWQtc3R5bGluZyApO1xuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tib3ggd3JhcFxuICAgIC5rLWNoZWNrYm94LXdyYXAge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENoZWNrYm94IGxhYmVsXG4gICAgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAka2VuZG8tY2hlY2tib3gtbGFiZWwtbWFyZ2luLXg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5rLXJpcHBsZSB7XG4gICAgICAgICAgICAvLyBIaWRlIHJpcHBsZSB0ZW1wb3JhcmlseVxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY2hlY2tib3ggKyAuay1sYWJlbCxcbiAgICAuay1jaGVja2JveC13cmFwICsgLmstbGFiZWwsXG4gICAgLmstY2hlY2tib3ggKyAuay1jaGVja2JveC1sYWJlbCxcbiAgICAuay1jaGVja2JveC13cmFwICsgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1jaGVja2JveC1sYWJlbC1tYXJnaW4teDtcbiAgICB9XG5cblxuICAgIC8vIEVtcHR5IGxhYmVsXG4gICAgLmstY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuICAgIC5rLWNoZWNrYm94LWxhYmVsLmstbm8tdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tib3ggbGlzdFxuICAgIC5rLWNoZWNrYm94LWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgICAuay1jaGVja2JveC1pdGVtLFxuICAgIC5rLWNoZWNrYm94LWxpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jaGVja2JveC1saXN0LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNoZWNrYm94LWxpc3QtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKTtcblxuICAgICAgICAuay1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY2hlY2tib3gtbGlzdC1ob3Jpem9udGFsLFxuICAgIC5rLWNoZWNrYm94LWxpc3Quay1saXN0LWhvcml6b250YWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby1jaGVja2JveC1saXN0LXNwYWNpbmc7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstY2hlY2tib3g6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBsaW5lYXIsIHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNoZWNrYm94OmZvY3VzLFxuICAgICAgICAuay1jaGVja2JveC5rLWZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNoZWNrYm94OmRpc2FibGVkOjphZnRlcixcbiAgICAgICAgLmstY2hlY2tib3guay1kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tib3ggc2l6ZVxuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tY2hlY2tib3gtc2l6ZXMge1xuICAgICAgICAkX3NpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHNpemUgKTtcbiAgICAgICAgJF9nbHlwaC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBnbHlwaC1zaXplICk7XG4gICAgICAgICRfcmlwcGxlLXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHJpcHBsZS1zaXplICk7XG5cbiAgICAgICAgLmstY2hlY2tib3gtI3skc2l6ZX0ge1xuICAgICAgICAgICAgd2lkdGg6ICRfc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF9zaXplO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9nbHlwaC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLXJpcHBsZS1jb250YWluZXIge1xuICAgICAgICAgICAgLmstY2hlY2tib3gtI3skc2l6ZX06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJF9yaXBwbGUtc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfcmlwcGxlLXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY2hlY2tib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGVja2JveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jaGVja2JveC0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tY2hlY2tib3gtLWxheW91dC1iYXNlKCk7XG5cbiAgICAvLyBPdmVycmlkZSBpbmhlcml0ZWQgYm9vdHN0cmFwIGJvcmRlciByYWRpdXNcbiAgICAuay1jaGVja2JveC5rLXJvdW5kZWQtc20ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBrLW1hdGgtZGl2KCAka2VuZG8tYm9yZGVyLXJhZGl1cy1zbSwgMiApO1xuICAgIH1cbiAgICAuay1jaGVja2JveC5rLXJvdW5kZWQtbWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1zbTtcbiAgICB9XG4gICAgLmstY2hlY2tib3guay1yb3VuZGVkLWxnIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQ7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jaGVja2JveC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoZWNrYm94L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tY2hlY2tib3gtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBDaGVja2JveFxuICAgIC5rLWNoZWNrYm94IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICAuay1jaGVja2JveDpob3ZlcixcbiAgICAuay1jaGVja2JveC5rLWhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWhvdmVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWhvdmVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gRm9jdXMgc3RhdGVcbiAgICAuay1jaGVja2JveDpmb2N1cyxcbiAgICAuay1jaGVja2JveC5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWZvY3VzLWJvcmRlciApO1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jaGVja2JveC1mb2N1cy1zaGFkb3cgKTtcbiAgICB9XG5cblxuICAgIC8vIEluZGV0ZXJtaW5hdGVcbiAgICAuay1jaGVja2JveDppbmRldGVybWluYXRlLFxuICAgIC5rLWNoZWNrYm94LmstaW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsXG4gICAgICAgICAgICAka2VuZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIENoZWNrZWRcbiAgICAuay1jaGVja2JveDpjaGVja2VkLFxuICAgIC5rLWNoZWNrYm94LmstY2hlY2tlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtYmcsXG4gICAgICAgICAgICAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgICAuay1jaGVja2JveC5rLWNoZWNrZWQuay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1jaGVja2JveC1mb2N1cy1jaGVja2VkLWJvcmRlciApO1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jaGVja2JveC1mb2N1cy1jaGVja2VkLXNoYWRvdyApO1xuICAgIH1cblxuXG4gICAgLy8gRGlzYWJsZWRcbiAgICAuay1jaGVja2JveDpkaXNhYmxlZCxcbiAgICAuay1jaGVja2JveC5rLWRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cbiAgICAuay1jaGVja2JveDpjaGVja2VkOmRpc2FibGVkLFxuICAgIC5rLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6ZGlzYWJsZWQsXG4gICAgLmstY2hlY2tib3guay1jaGVja2VkLmstZGlzYWJsZWQsXG4gICAgLmstY2hlY2tib3guay1pbmRldGVybWluYXRlLmstZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1jaGVja2VkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBJbnZhbGlkXG4gICAgLmstY2hlY2tib3guay1pbnZhbGlkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWludmFsaWQtYm9yZGVyICk7XG4gICAgfVxuICAgIC5rLWNoZWNrYm94LmstaW52YWxpZCArIC5rLWNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tY2hlY2tib3gtaW52YWxpZC10ZXh0ICk7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1jaGVja2JveC13cmFwIC5rLXJpcHBsZS1ibG9iIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jaGVja2JveC1yaXBwbGUtYmc7XG4gICAgICAgIG9wYWNpdHk6ICRrZW5kby1jaGVja2JveC1yaXBwbGUtb3BhY2l0eTtcbiAgICB9XG4gICAgLmstcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgICAgIC5rLWNoZWNrYm94OjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tY2hlY2tib3gtcmlwcGxlLWJnO1xuICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLWNoZWNrYm94LXJpcHBsZS1vcGFjaXR5O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNoZWNrYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGVja2JveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNoZWNrYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGVja2JveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNoZWNrYm94LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjaGVja2JveFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jaGVja2JveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNoZWNrYm94LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hlY2tib3gtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9saXN0L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3QvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tbGlzdC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBMaXN0IGNvbnRhaW5lclxuICAgIC5rLWxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgID4gLmstbGlzdCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGlzdFxuICAgIC5rLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tbGlzdC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdC1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IGluIHBvcHVwXG4gICAgLmstcG9wdXAgPiAuay1saXN0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IGhlYWRlclxuICAgIC8vIC5rLWxpc3QtaGVhZGVyLFxuICAgIC5rLWxpc3QtZ3JvdXAtc3RpY2t5LWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1saXN0LWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdC1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWxpc3QtaGVhZGVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdC1oZWFkZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpc3QtaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWxpc3QtaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IGNvbnRlbnRcbiAgICAuay1saXN0LWNvbnRlbnQge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IFVMXG4gICAgLmstbGlzdC11bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIExpc3QgaXRlbVxuICAgIC5rLWxpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1saXN0LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3QtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdC1pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgb3V0bGluZS1jb2xvciwgYm94LXNoYWRvdztcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuXG4gICAgICAgICYuay1maXJzdDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxpc3QtaXRlbS10ZXh0LFxuICAgIC5rLWxpc3QtaGVhZGVyLXRleHQsXG4gICAgLmstbGlzdC1vcHRpb25sYWJlbCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdC1vcHRpb25sYWJlbCB7XG4gICAgICAgIEBleHRlbmQgLmstbGlzdC1pdGVtICFvcHRpb25hbDtcbiAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICB9XG5cblxuICAgIC8vIExpc3QgZ3JvdXAgaXRlbVxuICAgIC5rLWxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tbGlzdC1ncm91cC1pdGVtLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdC1ncm91cC1pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LWdyb3VwLWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8tbGlzdC1ncm91cC1pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIExpc3QgaXRlbSBncm91cCBsYWJlbFxuICAgIC5rLWxpc3QtaXRlbS1ncm91cC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAuNWVtO1xuICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICB9XG5cblxuICAgIC8vIFZpcnR1YWxpemF0aW9uXG4gICAgLmstdmlydHVhbC1saXN0IHt9XG4gICAgLmstdmlydHVhbC1jb250ZW50LFxuICAgIC5rLXZpcnR1YWwtbGlzdCAuay1saXN0LWNvbnRlbnQge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICAgIC5rLXZpcnR1YWwtbGlzdCAuay1saXN0LWl0ZW0sXG4gICAgLmstdmlydHVhbC1saXN0IC5rLWxpc3QtZ3JvdXAtaXRlbSxcbiAgICAuay12aXJ0dWFsLWNvbnRlbnQgLmstbGlzdC1pdGVtLFxuICAgIC5rLXZpcnR1YWwtY29udGVudCAuay1saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuay12aXJ0dWFsLWxpc3QgLmstbGlzdC1pdGVtLXRleHQsXG4gICAgLmstdmlydHVhbC1saXN0IC5rLWxpc3QtaGVhZGVyLXRleHQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gICAgLmstdmlydHVhbC1saXN0IC5rLWxpc3Qtb3B0aW9ubGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBGaWx0ZXJcbiAgICAuay1saXN0LWZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWxpc3Qtc2l6ZXMge1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9oZWFkZXItcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBoZWFkZXItcGFkZGluZy14ICk7XG4gICAgICAgICRfaGVhZGVyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgaGVhZGVyLXBhZGRpbmcteSApO1xuICAgICAgICAkX2hlYWRlci1mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGhlYWRlci1mb250LXNpemUgKTtcbiAgICAgICAgJF9oZWFkZXItbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGhlYWRlci1saW5lLWhlaWdodCApO1xuICAgICAgICAkX2l0ZW0tcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBpdGVtLXBhZGRpbmcteCApO1xuICAgICAgICAkX2l0ZW0tcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBpdGVtLXBhZGRpbmcteSApO1xuICAgICAgICAkX2l0ZW0tZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBpdGVtLWZvbnQtc2l6ZSApO1xuICAgICAgICAkX2l0ZW0tbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGl0ZW0tbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9ncm91cC1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtaXRlbS1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9ncm91cC1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtaXRlbS1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9ncm91cC1pdGVtLWZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtaXRlbS1mb250LXNpemUgKTtcbiAgICAgICAgJF9ncm91cC1pdGVtLWxpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBncm91cC1pdGVtLWxpbmUtaGVpZ2h0ICk7XG5cbiAgICAgICAgLmstbGlzdC0jeyRzaXplfSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRfZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgICAgIC8vIC5rLWxpc3QtaGVhZGVyLFxuICAgICAgICAgICAgLmstbGlzdC1ncm91cC1zdGlja3ktaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2hlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRfaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJF9oZWFkZXItbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRfaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfaXRlbS1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstbGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2dyb3VwLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2dyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9ncm91cC1pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJF9ncm91cC1pdGVtLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBObyBkYXRhXG4gICAgLmstbm8tZGF0YSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cblxuICAgIC8vIEFsaWFzXG4gICAgLmstbm9kYXRhIHtcbiAgICAgICAgQGV4dGVuZCAuay1uby1kYXRhICFvcHRpb25hbDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbGlzdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3QtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3QtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9saXN0L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3QvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9saXN0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbGlzdC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIExpc3RcbiAgICAuay1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1saXN0LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbGlzdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1saXN0LWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBoZWFkZXJcbiAgICAvLyAuay1saXN0LWhlYWRlcixcbiAgICAuay1saXN0LWdyb3VwLXN0aWNreS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbGlzdC1oZWFkZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tbGlzdC1oZWFkZXItYm9yZGVyLFxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tbGlzdC1oZWFkZXItc2hhZG93ICk7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0IGl0ZW1cbiAgICAuay1saXN0LWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1iZ1xuICAgICAgICApO1xuXG4gICAgICAgIC8vIEhvdmVyXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tZm9jdXMtYmdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZFxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1zZWxlY3RlZC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAmLmstc2VsZWN0ZWQ6aG92ZXIsXG4gICAgICAgICYuay1zZWxlY3RlZC5rLWhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLXRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1ob3ZlciApLCBrLWNvbG9yLXNoYWRlKCAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWJnICkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3B0aW9uIExhYmVsXG4gICAgLmstbGlzdC1vcHRpb25sYWJlbCxcbiAgICAuay1saXN0LW9wdGlvbmxhYmVsLmstaG92ZXIsXG4gICAgLmstbGlzdC1vcHRpb25sYWJlbDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tbGlzdC1vcHRpb24tbGFiZWwtdGV4dDtcbiAgICB9XG5cbiAgICAvLyBMaXN0IGdyb3VwIGl0ZW1cbiAgICAuay1saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtZ3JvdXAtaXRlbS1iZyxcbiAgICAgICAgICAgICRrZW5kby1saXN0LWdyb3VwLWl0ZW0tYm9yZGVyLFxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tbGlzdC1ncm91cC1pdGVtLXNoYWRvdyApO1xuICAgIH1cblxuXG4gICAgLy8gTGlzdCBpdGVtIGdyb3VwIGxhYmVsXG4gICAgLmstbGlzdC1pdGVtLWdyb3VwLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1saXN0LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWxpc3QtdGV4dFxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gTm8gZGF0YVxuICAgIC5rLW5vLWRhdGEge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWxpc3Qtbm8tZGF0YS10ZXh0O1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1saXN0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWxpc3QtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImxpc3RcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbGlzdC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3QtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9saXN0Z3JvdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0Z3JvdXAvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwibGlzdGdyb3VwXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9saXN0Z3JvdXAvX3ZhcmlhYmxlcy5zY3NzXG4vLyBMaXN0Z3JvdXBcbiRrZW5kby1saXN0Z3JvdXAtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdGdyb3VwLWJvcmRlci1yYWRpdXM6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcblxuJGtlbmRvLWxpc3Rncm91cC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdGdyb3VwLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbiRrZW5kby1saXN0Z3JvdXAtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tbGlzdGdyb3VwLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1saXN0Z3JvdXAtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLWxpc3Rncm91cC1pdGVtLWJvcmRlci13aWR0aDogJGtlbmRvLWxpc3Rncm91cC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbGlzdGdyb3VwL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9saXN0Z3JvdXAvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbGlzdGdyb3VwL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWxpc3Rncm91cC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1saXN0Z3JvdXAge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tbGlzdGdyb3VwLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1saXN0Z3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1saXN0Z3JvdXAtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpc3Rncm91cC1saW5lLWhlaWdodDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgID4gdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJvcmRlcnMgb2YgaXRlbXNcbiAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0gKyAuay1saXN0Z3JvdXAtaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxpc3Rncm91cC1mbHVzaCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIDAgKTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICB9XG5cblxuICAgIC5rLWxpc3Rncm91cC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiAuay1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogKC0ka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15KTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICgtJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgPiAuay1zZWxlY3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1saXN0Z3JvdXAtaXRlbS1zZWdtZW50ZWQge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1zZWxlY3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAoLSRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXkpICgtJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteCkgKC0ka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15KSAwO1xuICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRm9ybXMgaW4gbGlzdGdyb3VwXG4gICAgLmstbGlzdGdyb3VwLWZvcm0tcm93IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAoLSRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXkpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAoLSRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLWxpc3Rncm91cC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdGdyb3VwLWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNGVtO1xuICAgICAgICAgICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdGdyb3VwLWl0ZW0uay1saXN0Z3JvdXAtZm9ybS1yb3cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG5cbiAgICBbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAuay1saXN0Z3JvdXAtaXRlbSB7XG5cbiAgICAgICAgICAgID4gLmstbGluayB7XG5cbiAgICAgICAgICAgICAgICA+IC5rLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1saXN0Z3JvdXAtaXRlbS1zZWdtZW50ZWQge1xuXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRrZW5kby1saXN0Z3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBObyBmbGV4Ym94IGZpeFxuICAgIC5rLW5vZmxleGJveCB7XG4gICAgICAgIC5rLWxpc3Rncm91cCxcbiAgICAgICAgLmstbGlzdGdyb3VwID4gdWxcbiAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0sXG4gICAgICAgIC5rLWxpc3Rncm91cC1pdGVtID4gLmstbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1saXN0Z3JvdXAtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Z3JvdXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGdyb3VwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdGdyb3VwLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvbGlzdGdyb3VwL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rncm91cC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rncm91cC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWxpc3Rncm91cC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIExpc3Rncm91cFxuICAgIC5rLWxpc3Rncm91cCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbGlzdGdyb3VwLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbGlzdGdyb3VwLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWxpc3Rncm91cC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGdyb3VwLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Z3JvdXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1saXN0Z3JvdXAtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWxpc3Rncm91cC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibGlzdGdyb3VwXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vb3ZlcmxheS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL292ZXJsYXkvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwib3ZlcmxheVwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL292ZXJsYXkvX3ZhcmlhYmxlcy5zY3NzXG4ka2VuZG8tb3ZlcmxheS10aGVtZS1jb2xvcnM6ICRrZW5kby10aGVtZS1jb2xvcnMgIWRlZmF1bHQ7XG5cbiRrZW5kby1vdmVybGF5LWJnOiAka2VuZG8tY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4ka2VuZG8tb3ZlcmxheS1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9vdmVybGF5L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9vdmVybGF5L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL292ZXJsYXkvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tb3ZlcmxheS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBPdmVybGF5XG4gICAgLmstb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6ICRrZW5kby1vdmVybGF5LW9wYWNpdHk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDAwMTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tb3ZlcmxheS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW92ZXJsYXktLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tb3ZlcmxheS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW92ZXJsYXktLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9vdmVybGF5L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL292ZXJsYXkvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9vdmVybGF5L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tb3ZlcmxheS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIE92ZXJsYXlcbiAgICAuay1vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLW92ZXJsYXktYmc7XG4gICAgfVxuXG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1vdmVybGF5LXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLW92ZXJsYXktI3skbmFtZX0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW92ZXJsYXktLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW92ZXJsYXktLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1vdmVybGF5LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vdmVybGF5LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tb3ZlcmxheS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwib3ZlcmxheVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1vdmVybGF5LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tb3ZlcmxheS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLW92ZXJsYXktLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicG9wdXBcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9fdmFyaWFibGVzLnNjc3Ncbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBWZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gV2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gTGluZSBoZWlnaHQgb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHBvcHVwIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHBvcHVwXG4ka2VuZG8tcG9wdXAtY29udGVudC1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBWZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwb3B1cCBjb250ZW50LlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLWNvbnRlbnQtcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRoZSBwb3B1cC5cbi8vLyBAZ3JvdXAgcG9wdXBcbiRrZW5kby1wb3B1cC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIEJveCBzaGFkb3cgb2YgdGhlIHBvcHVwLlxuLy8vIEBncm91cCBwb3B1cFxuJGtlbmRvLXBvcHVwLXNoYWRvdzogay1lbGV2YXRpb24oNCkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BvcHVwL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BvcHVwL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXBvcHVwLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXBvcHVwIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXBvcHVwLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAvLyBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcG9wdXAtcGFkZGluZy15O1xuICAgICAgICAvLyBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBvcHVwLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcG9wdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1wb3B1cC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tcG9wdXAtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMtb25seSggJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgKTtcbiAgICB9XG5cbiAgICAuay1hbmltYXRpb24tY29udGFpbmVyLXNob3duIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmstcG9wdXAgPiAuay1jb2xvcnBhbGV0dGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcG9wdXAtY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcG9wdXAtY29udGVudC1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgLy8gVHJhbnNwYXJlbnQgcG9wdXBcbiAgICAuay1wb3B1cC5rLXBvcHVwLXRyYW5zcGFyZW50IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBGbHVzaCBwb3B1cFxuICAgIC5rLXBvcHVwLmstcG9wdXAtZmx1c2gge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIENoaWxkIGNvbXBvbmVudHNcbiAgICAuay1wb3B1cCA+IC5rLXdpZGdldCxcbiAgICAuay1wb3B1cCA+IC5rLWNvbG9yZWRpdG9yIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuXG4gICAgLy8gTGVnYWN5IHNoYWRvd1xuICAgIC5rLXNoYWRvdyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRrZW5kby1wb3B1cC1zaGFkb3c7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBvcHVwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wdXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXBvcHVwLS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1wb3B1cC0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC5rLXBvcHVwLmstY29sdW1uLW1lbnUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wb3B1cC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BvcHVwL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcG9wdXAtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1wb3B1cCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcG9wdXAtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wb3B1cC1iZyxcbiAgICAgICAgICAgICRrZW5kby1wb3B1cC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBvcHVwLXNoYWRvdyApO1xuICAgIH1cblxuICAgIC5rLWFuaW1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cy1vbmx5KCAka2VuZG8tYm9yZGVyLXJhZGl1cyApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wb3B1cC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wdXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1wb3B1cC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wdXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1wb3B1cC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwicG9wdXBcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcG9wdXAtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wb3B1cC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBvcHVwLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9yaXBwbGUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9yaXBwbGUvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicmlwcGxlXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcmlwcGxlL192YXJpYWJsZXMuc2Nzc1xuLy8gUmlwcGxlXG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcmlwcGxlL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yaXBwbGUvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmlwcGxlL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXJpcHBsZS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1yaXBwbGUtdGFyZ2V0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLXJpcHBsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuay1yaXBwbGUtYmxvYiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgbGluZWFyLCB0cmFuc2Zvcm0gNTAwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG4gICAgICAgIG9wYWNpdHk6IC4xO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICAgICAgLmstcHJpbWFyeSAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmlwcGxlLWZvY3VzOjphZnRlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGFuaW1hdGlvbjogcmlwcGxlIDYwMG1zIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcmlwcGxlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMjAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXJpcHBsZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1yaXBwbGUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yaXBwbGUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9yaXBwbGUvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmlwcGxlL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmlwcGxlL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcmlwcGxlLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLmstcmlwcGxlIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcmlwcGxlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yaXBwbGUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1yaXBwbGUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXJpcHBsZS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwicmlwcGxlXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdGFibGUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90YWJsZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0YWJsZVwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RhYmxlL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9saXN0L192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBUYWJsZVxuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHZlcnRpY2FsIGJvcmRlciBvZiB0YWJsZSBjZWxscy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiBob3Jpem9udGFsIGJvcmRlciBvZiB0YWJsZSBjZWxscy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSB0YWJsZSBpZiBubyBzaXplIGlzIHNwZWNpZmllZC5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIHRhYmxlIGlmIG5vIHNpemUgaXMgc3BlY2lmaWVkLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY2VsbHMgaW4gdGhlIHRhYmxlIGlmIG5vIHNpemUgaXMgc3BlY2lmaWVkLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWNlbGwtcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNlbGxzIGluIHRoZSB0YWJsZSBpZiBubyBzaXplIGlzIHNwZWNpZmllZC5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1jZWxsLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYmxlLXNtLWNlbGwtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tdGFibGUtc20tY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy14OiAkdGFibGUtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tdGFibGUtbWQtY2VsbC1wYWRkaW5nLXk6ICR0YWJsZS1jZWxsLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYmxlLWxnLWNlbGwtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tdGFibGUtbGctY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIG9mIHRoZSB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXg6ICRrZW5kby10YWJsZS1zbS1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXk6ICRrZW5kby10YWJsZS1zbS1jZWxsLXBhZGRpbmcteVxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kLFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy15XG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQsXG4gICAgICAgIGNlbGwtcGFkZGluZy14OiAka2VuZG8tdGFibGUtbGctY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGNlbGwtcGFkZGluZy15OiAka2VuZG8tdGFibGUtbGctY2VsbC1wYWRkaW5nLXlcbiAgICApXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYmxlcy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRhYmxlcy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRhYmxlcy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaGVhZGVyLWJnOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaGVhZGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaGVhZGVyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuLy8vIEdyYWRpZW50IG9mIHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaGVhZGVyLWdyYWRpZW50OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ncmFkaWVudCAhZGVmYXVsdDtcblxuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0YWJsZSBmb290ZXJzLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWZvb3Rlci1iZzogJGtlbmRvLXRhYmxlLWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRhYmxlIGZvb3RlcnMuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZm9vdGVyLXRleHQ6ICRrZW5kby10YWJsZS1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgdGFibGUgZm9vdGVycy5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb290ZXItYm9yZGVyOiAka2VuZG8tdGFibGUtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBncm91cCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWdyb3VwLXJvdy1iZzogJGtlbmRvLXRhYmxlLWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIGdyb3VwIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZ3JvdXAtcm93LXRleHQ6ICRrZW5kby10YWJsZS1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgZ3JvdXAgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ncm91cC1yb3ctYm9yZGVyOiAka2VuZG8tdGFibGUtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbHRlcm5hdGluZyByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWFsdC1yb3ctYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tdGFibGUtYmcgKSwgLjA0ICkpICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgYWx0ZXJuYXRpbmcgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1hbHQtcm93LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIGFsdGVybmF0aW5nIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtYWx0LXJvdy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgaG92ZXJlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgOSUsIHRyYW5zcGFyZW50KSwgcmdiYSggay1jb250cmFzdC1jb2xvciggJGtlbmRvLXRhYmxlLWJnICksIC4wOCApKSAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIGhvdmVyZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBob3ZlcmVkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIGZvY3VzZWQgcm93cyBpbiB0YWJsZS5cbi8vLyBAZ3JvdXAgdGFibGVcbiRrZW5kby10YWJsZS1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBmb2N1c2VkIHJvd3MgaW4gdGFibGUuXG4vLy8gQGdyb3VwIHRhYmxlXG4ka2VuZG8tdGFibGUtZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIEJveCBzaGFkb3cgb2YgZm9jdXNlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLWZvY3VzLXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHJnYmEoICRrZW5kby1jb2xvci1ibGFjaywgLjA4KSAhZGVmYXVsdDtcblxuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBzZWxlY3RlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLXNlbGVjdGVkLWJnLCAuMjUgKSkgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiBzZWxlY3RlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLXNlbGVjdGVkLXRleHQ6ICRrZW5kby10YWJsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBzZWxlY3RlZCByb3dzIGluIHRhYmxlLlxuLy8vIEBncm91cCB0YWJsZVxuJGtlbmRvLXRhYmxlLXNlbGVjdGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90YWJsZS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFibGUvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFibGUvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdGFibGUtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gVGFibGVcbiAgICAuay10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXRhYmxlLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGFibGUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRhYmxlLWxpbmUtaGVpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGVtcHR5LWNlbGxzOiBzaG93O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gRGF0YSB0YWJsZVxuICAgIC5rLWRhdGEtdGFibGUge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFibGUgbmF0aXZlIHBhcnRzXG4gICAgLmstdGFibGUtdGhlYWQsXG4gICAgLmstdGFibGUtdGJvZHksXG4gICAgLmstdGFibGUtdGZvb3QsXG4gICAgLmstdGFibGUtcm93LFxuICAgIC5rLXRhYmxlLWFsdC1yb3cge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLXRhYmxlLXRoLFxuICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhYmxlLWNlbGwtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAka2VuZG8tdGFibGUtY2VsbC1ob3Jpem9udGFsLWJvcmRlci13aWR0aCAka2VuZG8tdGFibGUtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIH1cblxuXG4gICAgLy8gVGFibGUgaGVhZGVyXG4gICAgLmstdGFibGUtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1rZW5kby1zY3JvbGxiYXItd2lkdGgpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhYmxlLWhlYWRlci13cmFwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICRrZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmstdGFibGUtaGVhZGVyLFxuICAgIC5rLXRhYmxlLWhlYWRlci13cmFwIHtcbiAgICAgICAgPiAuay10YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhYmxlLWdyb3VwLXN0aWNreS1oZWFkZXIge1xuICAgICAgICBmbGV4OiBub25lO1xuXG4gICAgICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYWJsZSBsaXN0XG4gICAgLmstdGFibGUtbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgIGVtcHR5LWNlbGxzOiBzaG93O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgIC5rLXRhYmxlLXJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1yb3csXG4gICAgICAgIC5rLXRhYmxlLWdyb3VwLXJvdyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgIH1cbiAgICAgICAgLmstdGFibGUtcm93LmstZmlyc3Qge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXRoLFxuICAgICAgICAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtZ3JvdXAtcm93IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgLmstdGFibGUtc3BhY2VyLXRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstdGFibGUtZ3JvdXAtdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuXG4gICAgLy8gVmlydHVhbGl6YXRpb25cbiAgICAuay12aXJ0dWFsLXRhYmxlIC5rLXRhYmxlLXJvdyxcbiAgICAuay12aXJ0dWFsLXRhYmxlIC5rLXRhYmxlLWdyb3VwLXJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG5cbiAgICAvLyBUYWJsZSBzY3JvbGxlclxuICAgIC5rLXRhYmxlLXNjcm9sbGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICA+IC5rLXRhYmxlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFibGUgZm9vdGVyXG4gICAgLmstdGFibGUtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1rZW5kby1zY3JvbGxiYXItd2lkdGgpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhYmxlLWZvb3Rlci13cmFwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICRrZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby10YWJsZS1zaXplcyB7XG4gICAgICAgICRfZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUpO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCk7XG4gICAgICAgICRfY2VsbC1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNlbGwtcGFkZGluZy14KTtcbiAgICAgICAgJF9jZWxsLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgY2VsbC1wYWRkaW5nLXkpO1xuXG4gICAgICAgIC5rLXRhYmxlLSN7JHNpemV9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLSN7JHNpemV9IC5rLXRhYmxlLXRoLFxuICAgICAgICAuay10YWJsZS0jeyRzaXplfSAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2NlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfY2VsbC1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS0jeyRzaXplfSAuay10YWJsZS1saXN0IC5rLXRhYmxlLWdyb3VwLXRkID4gc3BhbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IGstbWF0aC1kaXYoICRfY2VsbC1wYWRkaW5nLXgsIDIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLSN7JHNpemV9IC5rLXRhYmxlLWxpc3QgLmstdGFibGUtZ3JvdXAtcm93OjpiZWZvcmUge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwsXG4gICAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgICYuay10YWJsZSxcbiAgICAgICAgLmstdGFibGUge1xuXG4gICAgICAgICAgICAuay10YWJsZS10aCxcbiAgICAgICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICRrZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10YWJsZS1oZWFkZXItd3JhcCxcbiAgICAgICAgICAgIC5rLXRhYmxlLWZvb3Rlci13cmFwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRrZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1saXN0IHtcbiAgICAgICAgICAgIC5rLXRhYmxlLWdyb3VwLXRkID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10YWJsZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhYmxlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRhYmxlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFibGUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90YWJsZS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90YWJsZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RhYmxlL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdGFibGUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUYWJsZVxuICAgIC5rLXRhYmxlLFxuICAgIC5rLWRhdGEtdGFibGUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby10YWJsZS1ib3JkZXI7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tdGFibGUtdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWJnO1xuICAgIH1cblxuXG4gICAgLy8gVGFibGUgaGVhZGVyXG4gICAgLmstdGFibGUtdGhlYWQsXG4gICAgLmstdGFibGUtaGVhZGVyLFxuICAgIC5rLXRhYmxlLWdyb3VwLXN0aWNreS1oZWFkZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyO1xuICAgICAgICBjb2xvcjogJGtlbmRvLXRhYmxlLWhlYWRlci10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdGFibGUtaGVhZGVyLWJnO1xuICAgIH1cblxuXG4gICAgLy8gVGFibGUgZm9vdGVyXG4gICAgLmstdGFibGUtdGZvb3QsXG4gICAgLmstdGFibGUtZm9vdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tdGFibGUtZm9vdGVyLWJvcmRlcjtcbiAgICAgICAgY29sb3I6ICRrZW5kby10YWJsZS1mb290ZXItdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWZvb3Rlci1iZztcbiAgICB9XG5cblxuICAgIC8vIEdyb3VwIHJvd1xuICAgIC5rLXRhYmxlLWdyb3VwLXJvdyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRhYmxlLWdyb3VwLXJvdy1ib3JkZXI7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tdGFibGUtZ3JvdXAtcm93LXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10YWJsZS1ncm91cC1yb3ctYmc7XG4gICAgfVxuICAgIC5rLXRhYmxlLWdyb3VwLXRkID4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tdGFibGUtYmc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10YWJsZS10ZXh0O1xuICAgIH1cblxuXG4gICAgLy8gQWx0ZXJuYXRpbmcgcm93XG4gICAgLmstdGFibGUtYWx0LXJvdyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRhYmxlLWFsdC1yb3ctYm9yZGVyO1xuICAgICAgICBjb2xvcjogJGtlbmRvLXRhYmxlLWFsdC1yb3ctdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWFsdC1yb3ctYmc7XG4gICAgfVxuXG5cbiAgICAvLyBIb3ZlciBzdGF0ZVxuICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXJvdzpob3ZlcixcbiAgICAuay10YWJsZS1saXN0IC5rLXRhYmxlLXJvdzpob3ZlcixcbiAgICAuay10YWJsZS10Ym9keSAuay10YWJsZS1yb3cuay1ob3ZlcixcbiAgICAuay10YWJsZS1saXN0IC5rLXRhYmxlLXJvdy5rLWhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tdGFibGUtaG92ZXItYm9yZGVyO1xuICAgICAgICBjb2xvcjogJGtlbmRvLXRhYmxlLWhvdmVyLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10YWJsZS1ob3Zlci1iZztcbiAgICB9XG5cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstdGFibGUtdGJvZHkgLmstdGFibGUtcm93LFxuICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtcm93LFxuICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXRkLFxuICAgIC5rLXRhYmxlLWxpc3QgLmstdGFibGUtdGQge1xuICAgICAgICAmLmstZm9jdXMsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tdGFibGUtZm9jdXMtYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby10YWJsZS1mb2N1cy10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRhYmxlLWZvY3VzLWJnO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tdGFibGUtZm9jdXMtc2hhZG93LCBpbnNldCApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgIC5rLXRhYmxlLXRib2R5IC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gLmstdGFibGUtdGQsXG4gICAgLmstdGFibGUtbGlzdCAuay10YWJsZS1yb3cuay1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRhYmxlLXNlbGVjdGVkLWJvcmRlcjtcbiAgICAgICAgY29sb3I6ICRrZW5kby10YWJsZS1zZWxlY3RlZC10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtYmc7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRhYmxlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YWJsZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRhYmxlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YWJsZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRhYmxlLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0YWJsZVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10YWJsZS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRhYmxlLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFibGUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3ZpcnR1YWwtc2Nyb2xsZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy92aXJ0dWFsLXNjcm9sbGVyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInZpcnR1YWwtc2Nyb2xsZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy92aXJ0dWFsLXNjcm9sbGVyL192YXJpYWJsZXMuc2Nzc1xuLy8gVmlydHVhbC1zY3JvbGxlclxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3ZpcnR1YWwtc2Nyb2xsZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3ZpcnR1YWwtc2Nyb2xsZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdmlydHVhbC1zY3JvbGxlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFZpcnR1YWwgc2Nyb2xsZXJcbiAgICAuay12aXJ0dWFsLXNjcm9sbGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBWaXJ0dWFsIHNjcm9sbGVyIHdyYXBcbiAgICAuay12aXJ0dWFsLXNjcm9sbGVyLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG5cbiAgICAvLyBWaXJ0dWFsIHNjcm9sbGVyIGNvbnRlbnRcbiAgICAuay12aXJ0dWFsLXNjcm9sbGVyLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICB9XG5cblxuICAgIC8vIFZpcnR1YWwgc2Nyb2xsZXIgc2l6ZVxuICAgIC5rLXZpcnR1YWwtc2Nyb2xsZXItc2l6ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy92aXJ0dWFsLXNjcm9sbGVyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3ZpcnR1YWwtc2Nyb2xsZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy92aXJ0dWFsLXNjcm9sbGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFZpcnR1YWwgc2Nyb2xsZXJcbiAgICAuay12aXJ0dWFsLXNjcm9sbGVyIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ2aXJ0dWFsLXNjcm9sbGVyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby12aXJ0dWFsLXNjcm9sbGVyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdmlydHVhbC1zY3JvbGxlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBJbmRpY2F0b3JzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2F2YXRhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2F2YXRhci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJhdmF0YXJcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9hdmF0YXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBBdmF0YXJcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEF2YXRhci5cbi8vLyBAZ3JvdXAgYXZhdGFyXG4ka2VuZG8tYXZhdGFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBBdmF0YXIuXG4vLy8gQGdyb3VwIGF2YXRhclxuJGtlbmRvLWF2YXRhci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEF2YXRhci5cbi8vLyBAZ3JvdXAgYXZhdGFyXG4ka2VuZG8tYXZhdGFyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEF2YXRhci5cbi8vLyBAZ3JvdXAgYXZhdGFyXG4ka2VuZG8tYXZhdGFyLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIG9mIHRoZSBBdmF0YXIuXG4vLy8gQGdyb3VwIGF2YXRhclxuJGtlbmRvLWF2YXRhci1zaXplczogKFxuICAgIHNtOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICksXG4gICAgbWQ6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDggKSxcbiAgICBsZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMTYgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0aGVtZSBjb2xvcnMgbWFwIG9mIHRoZSBBdmF0YXIuXG4vLy8gQGdyb3VwIGF2YXRhclxuJGtlbmRvLWF2YXRhci10aGVtZS1jb2xvcnM6ICRrZW5kby10aGVtZS1jb2xvcnMgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvYXZhdGFyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hdmF0YXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYXZhdGFyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWF2YXRhci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBBdmF0YXJcbiAgICAuay1hdmF0YXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEF2YXRhciB0ZXh0XG4gICAgLmstYXZhdGFyLXRleHQsXG4gICAgLmstYXZhdGFyLWluaXRpYWxzIHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYXZhdGFyLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1hdmF0YXItZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYXZhdGFyLWxpbmUtaGVpZ2h0O1xuICAgIH1cblxuXG4gICAgLy8gQXZhdGFyIGljb25cbiAgICAuay1hdmF0YXItaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIEF2YXRhciBpbWFnZVxuICAgIC5rLWF2YXRhci1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGtlbmRvLWF2YXRhci1zaXplcyB7XG4gICAgICAgIC5rLWF2YXRhci0jeyRuYW1lfSB7XG4gICAgICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgZmxleC1iYXNpczogJHNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaGFwZXNcbiAgICAuay1hdmF0YXItc3F1YXJlIHt9XG5cbiAgICAvLyBCb3JkZXJlZFxuICAgIC5rLWF2YXRhci1ib3JkZXJlZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWF2YXRhci1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYXZhdGFyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXZhdGFyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWF2YXRhci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWF2YXRhci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2F2YXRhci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hdmF0YXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hdmF0YXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1hdmF0YXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBTb2xpZCBBdmF0YXJzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tYXZhdGFyLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWF2YXRhci1zb2xpZC0jeyRuYW1lfSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE91dGxpbmUgYXZhdGFyc1xuICAgIC5rLWF2YXRhci1vdXRsaW5lIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tYXZhdGFyLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWF2YXRhci1vdXRsaW5lLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYXZhdGFyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hdmF0YXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1hdmF0YXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWF2YXRhci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWF2YXRhci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiYXZhdGFyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWF2YXRhci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWF2YXRhci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWF2YXRhci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYmFkZ2UvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9iYWRnZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJiYWRnZVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgLy8gXCJ1dGlscy9sYXlvdXQvcG9zaXRpb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19wb3NpdGlvbi5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9iYWRnZS9fdmFyaWFibGVzLnNjc3Ncbi8vIEJhZGdlXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLWJvcmRlci1yYWRpdXM6ICRiYWRnZS1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1wYWRkaW5nLXg6ICRiYWRnZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2Utc20tcGFkZGluZy14OiBrLW1hdGgtZGl2KCAkYmFkZ2UtcGFkZGluZy14LCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLW1kLXBhZGRpbmcteDogJGJhZGdlLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1sZy1wYWRkaW5nLXg6ICggJGJhZGdlLXBhZGRpbmcteCAqIDEuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLXBhZGRpbmcteTogJGJhZGdlLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2Utc20tcGFkZGluZy15OiBrLW1hdGgtZGl2KCAkYmFkZ2UtcGFkZGluZy15LCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBCYWRnZS5cbi8vLyBAZ3JvdXAgYmFkZ2VcbiRrZW5kby1iYWRnZS1tZC1wYWRkaW5nLXk6ICRiYWRnZS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLWxnLXBhZGRpbmcteTogKCAkYmFkZ2UtcGFkZGluZy15ICogMS41ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplcyBvZiB0aGUgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIHNtYWxsIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLXNtLWZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBtZWRpdW0gQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtbWQtZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGxhcmdlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLWxnLWZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodHMgdXNlZCBhbG9uZyB3aXRoIHRoZSAka2VuZG8tZm9udC1zaXplIHZhcmlhYmxlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCB1c2VkIGFsb25nIHdpdGggdGhlICRrZW5kby1mb250LXNpemUgdmFyaWFibGUgb2YgdGhlIHNtYWxsIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLXNtLWxpbmUtaGVpZ2h0OiAka2VuZG8tYmFkZ2UtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IHVzZWQgYWxvbmcgd2l0aCB0aGUgJGtlbmRvLWZvbnQtc2l6ZSB2YXJpYWJsZSBvZiB0aGUgbWVkaXVtIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLW1kLWxpbmUtaGVpZ2h0OiAka2VuZG8tYmFkZ2UtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IHVzZWQgYWxvbmcgd2l0aCB0aGUgJGtlbmRvLWZvbnQtc2l6ZSB2YXJpYWJsZSBvZiB0aGUgbGFyZ2UgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2UtbGctbGluZS1oZWlnaHQ6ICRrZW5kby1iYWRnZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIFRoZSBjYWxjdWxhdGVkIG1pbmltdW0gd2lkdGggb2YgdGhlIGNpcmN1bGFyIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLW1pbi13aWR0aDogY2FsYyggI3ska2VuZG8tYmFkZ2UtbGluZS1oZWlnaHQgKiAxZW19ICsgI3ska2VuZG8tYmFkZ2UtcGFkZGluZy15ICogMn0gKyAjeyRrZW5kby1iYWRnZS1ib3JkZXItd2lkdGggKiAyfSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNhbGN1bGF0ZWQgbWluaW11bSB3aWR0aCBvZiB0aGUgc21hbGwgY2lyY3VsYXIgQmFkZ2UuXG4vLy8gQGdyb3VwIGJhZGdlXG4ka2VuZG8tYmFkZ2Utc20tbWluLXdpZHRoOiBjYWxjKCAjeyRrZW5kby1iYWRnZS1zbS1saW5lLWhlaWdodCAqIDFlbX0gKyAjeyRrZW5kby1iYWRnZS1zbS1wYWRkaW5nLXkgKiAyfSArICN7JGtlbmRvLWJhZGdlLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNhbGN1bGF0ZWQgbWluaW11bSB3aWR0aCBvZiB0aGUgbWVkaXVtIGNpcmN1bGFyIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLW1kLW1pbi13aWR0aDogY2FsYyggI3ska2VuZG8tYmFkZ2UtbWQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3ska2VuZG8tYmFkZ2UtbWQtcGFkZGluZy15ICogMn0gKyAjeyRrZW5kby1iYWRnZS1ib3JkZXItd2lkdGggKiAyfSApICFkZWZhdWx0O1xuLy8vIFRoZSBjYWxjdWxhdGVkIG1pbmltdW0gd2lkdGggb2YgdGhlIGxhcmdlIGNpcmN1bGFyIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLWxnLW1pbi13aWR0aDogY2FsYyggI3ska2VuZG8tYmFkZ2UtbGctbGluZS1oZWlnaHQgKiAxZW19ICsgI3ska2VuZG8tYmFkZ2UtbGctcGFkZGluZy15ICogMn0gKyAjeyRrZW5kby1iYWRnZS1ib3JkZXItd2lkdGggKiAyfSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIG1hcCBmb3IgdGhlIEJhZGdlLlxuLy8vIEBncm91cCBiYWRnZVxuJGtlbmRvLWJhZGdlLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tYmFkZ2Utc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1iYWRnZS1zbS1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWJhZGdlLXNtLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1iYWRnZS1zbS1saW5lLWhlaWdodCxcbiAgICAgICAgbWluLXdpZHRoOiAka2VuZG8tYmFkZ2Utc20tbWluLXdpZHRoXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1iYWRnZS1tZC1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWJhZGdlLW1kLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYmFkZ2UtbWQtZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWJhZGdlLW1kLWxpbmUtaGVpZ2h0LFxuICAgICAgICBtaW4td2lkdGg6ICRrZW5kby1iYWRnZS1tZC1taW4td2lkdGhcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWJhZGdlLWxnLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tYmFkZ2UtbGctcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1iYWRnZS1sZy1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYmFkZ2UtbGctbGluZS1oZWlnaHQsXG4gICAgICAgIG1pbi13aWR0aDogJGtlbmRvLWJhZGdlLWxnLW1pbi13aWR0aFxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvYmFkZ2UvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JhZGdlL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JhZGdlL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWJhZGdlLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLWJhZGdlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tYmFkZ2UtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstYmFkZ2UgPiAqIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBMaW5rc1xuICAgIGEuay1iYWRnZSxcbiAgICAuay1iYWRnZSA+IGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIGEuay1iYWRnZTpob3ZlcixcbiAgICAuay1iYWRnZSA+IGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cblxuICAgIC8vIEljb25cbiAgICAuay1iYWRnZS1pY29uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1iYWRnZS1pY29uLmstc3ZnLWljb24gc3ZnIHtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cblxuXG4gICAgLy8gQmFkZ2Ugc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWJhZGdlLXNpemVzIHtcbiAgICAgICAgJF9wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteCApO1xuICAgICAgICAkX3BhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy15ICk7XG4gICAgICAgICRfZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9taW4td2lkdGg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIG1pbi13aWR0aCApO1xuXG4gICAgICAgIC5rLWJhZGdlLSN7JHNpemV9IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfcGFkZGluZy14O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAkX21pbi13aWR0aDtcblxuICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGtlbmRvLWJhZGdlLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvLyBCYWRnZSBwb3NpdGlvblxuICAgIC5rLWJhZGdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICAgIEBlYWNoICRwbGFjZW1lbnQsICR0cmFuc2xhdGUgaW4gKFwiaW5zaWRlXCI6IG51bGwsIFwiZWRnZVwiOiA1MCwgXCJvdXRzaWRlXCI6IDEwMCkge1xuXG4gICAgICAgIC5rLWJhZGdlLSN7JHBsYWNlbWVudH0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogOTk5OTtcblxuICAgICAgICAgICAgJi5rLXRvcC1zdGFydCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTElICogJHRyYW5zbGF0ZSwgLTElICogJHRyYW5zbGF0ZSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay10b3AtZW5kIHtcbiAgICAgICAgICAgICAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAxJSAqICR0cmFuc2xhdGUsIC0xJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstYm90dG9tLXN0YXJ0IHtcbiAgICAgICAgICAgICAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtMSUgKiAkdHJhbnNsYXRlLCAxJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstYm90dG9tLWVuZCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMSUgKiAkdHJhbnNsYXRlLCAxJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1ydGwgLmstYmFkZ2UtI3skcGxhY2VtZW50fSxcbiAgICAgICAgW2Rpcj1cInJ0bFwiXS5rLWJhZGdlLSN7JHBsYWNlbWVudH0sXG4gICAgICAgIFtkaXI9XCJydGxcIl0gLmstYmFkZ2UtI3skcGxhY2VtZW50fSB7XG4gICAgICAgICAgICAmLmstdG9wLXN0YXJ0IHtcbiAgICAgICAgICAgICAgICBAaWYgJHRyYW5zbGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAxJSAqICR0cmFuc2xhdGUsIC0xJSAqICR0cmFuc2xhdGUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstdG9wLWVuZCB7XG4gICAgICAgICAgICAgICAgQGlmICR0cmFuc2xhdGUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTElICogJHRyYW5zbGF0ZSwgLTElICogJHRyYW5zbGF0ZSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay1ib3R0b20tc3RhcnQge1xuICAgICAgICAgICAgICAgIEBpZiAkdHJhbnNsYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDElICogJHRyYW5zbGF0ZSwgMSUgKiAkdHJhbnNsYXRlICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWJvdHRvbS1lbmQge1xuICAgICAgICAgICAgICAgIEBpZiAkdHJhbnNsYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIC0xJSAqICR0cmFuc2xhdGUsIDElICogJHRyYW5zbGF0ZSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQm9yZGVyIGN1dG91dFxuICAgIC5rLWJhZGdlLWJvcmRlci1jdXRvdXQge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJGtlbmRvLWNvbXBvbmVudC1iZztcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYmFkZ2UtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1iYWRnZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1iYWRnZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJhZGdlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvYmFkZ2UvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYmFkZ2UvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9iYWRnZS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWJhZGdlLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU29saWQgYmFkZ2VzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstYmFkZ2Utc29saWQtI3skbmFtZX0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdXRsaW5lIGJhZGdlc1xuICAgIC5rLWJhZGdlLW91dGxpbmUge1xuICAgICAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1iZztcbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1iYWRnZS1vdXRsaW5lLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYmFkZ2UtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJhZGdlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYmFkZ2UtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJhZGdlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYmFkZ2UtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImJhZGdlXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWJhZGdlLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYmFkZ2UtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1iYWRnZS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vY2hpcC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoaXAvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiY2hpcFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImF2YXRhclwiLFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY2hpcC9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXG4vLyBCdXR0b25cblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoOiAkYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tcGFkZGluZy14OiAkYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXg6ICRidG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXg6ICRidG4tcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteDogJGJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tcGFkZGluZy15OiAkYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc20tcGFkZGluZy15OiAkYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteTogJGJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteTogJGJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1mb250LXNpemU6ICRidG4tZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIHNtYWxsIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNtLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBtZWRpdW0gQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tbWQtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGxhcmdlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWxnLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lIGhlaWdodCB1c2VkIGFsb25nIHdpdGggdGhlICRrZW5kby1mb250LXNpemUgdmFyaWFibGUuXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1saW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgdXNlZCBhbG9uZyB3aXRoIHRoZSAka2VuZG8tZm9udC1zaXplIHZhcmlhYmxlIG9mIHRoZSBzbWFsbCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1zbS1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IHVzZWQgYWxvbmcgd2l0aCB0aGUgJGtlbmRvLWZvbnQtc2l6ZSB2YXJpYWJsZSBvZiB0aGUgbWVkaXVtIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLW1kLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IHVzZWQgYWxvbmcgd2l0aCB0aGUgJGtlbmRvLWZvbnQtc2l6ZSB2YXJpYWJsZSBvZiB0aGUgbGFyZ2UgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tbGctbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBjYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tY2FsYy1zaXplOiBjYWxjKCAjeyRrZW5kby1idXR0b24tbGluZS1oZWlnaHQgKiAxZW19ICsgI3ska2VuZG8tYnV0dG9uLXBhZGRpbmcteSAqIDJ9ICsgI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLXNtLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLXNtLWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXkgKiAyfSArICN7JGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGggKiAyfSApICFkZWZhdWx0O1xuJGtlbmRvLWJ1dHRvbi1tZC1jYWxjLXNpemU6IGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1tZC1saW5lLWhlaWdodCAqIDFlbX0gKyAjeyRrZW5kby1idXR0b24tbWQtcGFkZGluZy15ICogMn0gKyAjeyRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoICogMn0gKSAhZGVmYXVsdDtcbiRrZW5kby1idXR0b24tbGctY2FsYy1zaXplOiBjYWxjKCAjeyRrZW5kby1idXR0b24tbGctbGluZS1oZWlnaHQgKiAxZW19ICsgI3ska2VuZG8tYnV0dG9uLWxnLXBhZGRpbmcteSAqIDJ9ICsgI3ska2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY2FsY3VsYXRlZCBpbm5lciBoZWlnaHQgb2YgdGhlIEJ1dHRvbiBleGNsdWRpbmcgdGhlIGJvcmRlciB3aWR0aC5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWlubmVyLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXkgKiAyfSApICFkZWZhdWx0O1xuJGtlbmRvLWJ1dHRvbi1zbS1pbm5lci1jYWxjLXNpemU6IGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1zbS1saW5lLWhlaWdodCAqIDFlbX0gKyAjeyRrZW5kby1idXR0b24tc20tcGFkZGluZy15ICogMn0gKSAhZGVmYXVsdDtcbiRrZW5kby1idXR0b24tbWQtaW5uZXItY2FsYy1zaXplOiBjYWxjKCAjeyRrZW5kby1idXR0b24tbWQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3ska2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteSAqIDJ9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tYnV0dG9uLWxnLWlubmVyLWNhbGMtc2l6ZTogY2FsYyggI3ska2VuZG8tYnV0dG9uLWxnLWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXkgKiAyfSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIG1hcCBmb3IgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tYnV0dG9uLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLXNtLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYnV0dG9uLXNtLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1idXR0b24tc20tbGluZS1oZWlnaHRcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWJ1dHRvbi1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYnV0dG9uLW1kLWxpbmUtaGVpZ2h0XG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1idXR0b24tbGctcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1idXR0b24tbGctcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1idXR0b24tbGctZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWJ1dHRvbi1sZy1saW5lLWhlaWdodFxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXRoZW1lLWNvbG9yczogay1tYXAtbWVyZ2UoXG4gICAgJGtlbmRvLXRoZW1lLWNvbG9ycyxcbiAgICAoIFwiYmFzZVwiOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZSApLCAjZTRlN2ViKSApXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhc2UgYmFja2dyb3VuZCBvZiB0aGUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlICksICNlNGU3ZWIpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHRleHQgY29sb3Igb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1idXR0b24tYmcsICRncmF5LTkwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWJvcmRlcjogJGtlbmRvLWJ1dHRvbi1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBzaGFkb3cgb2YgdGhlIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgb2YgdGhlIGhvdmVyZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24taG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWhvdmVyICksIGstY29sb3ItZGFya2VuKCAka2VuZG8tYnV0dG9uLWJnLCA3LjUlICkpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24taG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24taG92ZXItYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1ob3ZlciApLCBrLWNvbG9yLWRhcmtlbiggJGtlbmRvLWJ1dHRvbi1iZywgMTAlICkpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIGhvdmVyZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24taG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBob3ZlcmVkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWhvdmVyLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGFjdGl2ZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1hY3RpdmUtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBrLWNvbG9yLWRhcmtlbiggJGtlbmRvLWJ1dHRvbi1iZywgMTAlICkpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHRleHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1hY3RpdmUtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIGFjdGl2ZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1hY3RpdmUtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1hY3RpdmUgKSwgay1jb2xvci1kYXJrZW4oICRrZW5kby1idXR0b24tYmcsIDEyLjUlICkpICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIGFjdGl2ZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1hY3RpdmUtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIHRoZSBhY3RpdmUgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tYWN0aXZlLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1hY3RpdmUgKSwgay1jb2xvci1kYXJrZW4oICRrZW5kby1jb2xvci1wcmltYXJ5LCAxMCUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLXNlbGVjdGVkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1wcmltYXJ5ICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1idXR0b24tc2VsZWN0ZWQtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc2VsZWN0ZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1hY3RpdmUgKSwgay1jb2xvci1kYXJrZW4oICRrZW5kby1jb2xvci1wcmltYXJ5LCAxMi41JSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgc2VsZWN0ZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc2VsZWN0ZWQtZ3JhZGllbnQ6ICRrZW5kby1idXR0b24tYWN0aXZlLWdyYWRpZW50ICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHNoYWRvdyBvZiB0aGUgc2VsZWN0ZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tc2VsZWN0ZWQtc2hhZG93OiAka2VuZG8tYnV0dG9uLWFjdGl2ZS1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIG9mIHRoZSBmb2N1c2VkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWZvY3VzLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1hY3RpdmUgKSwgay1jb2xvci1kYXJrZW4oICRrZW5kby1idXR0b24tYmcsIDEwJSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWZvY3VzLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstY29sb3ItZGFya2VuKCAka2VuZG8tYnV0dG9uLWJnLCAxMi41JSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSBmb2N1c2VkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWZvY3VzLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1mb2N1cy1zaGFkb3c6IDAgMCAwIC4yNXJlbSBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGJvcmRlciApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tYnV0dG9uLWJvcmRlciwgLjUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIG9mIHRoZSBkaXNhYmxlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgZGlzYWJsZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZGlzYWJsZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIGRpc2FibGVkIEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tYnV0dG9uLWRpc2FibGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHNoYWRvdyBvZiB0aGUgZGlzYWJsZWQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1idXR0b24tZGlzYWJsZWQtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLyBTb2xpZCBCdXR0b25cbiRrZW5kby1zb2xpZC1idXR0b24tZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLXNoYWRlLWZ1bmN0aW9uOiBcImstY29sb3ItZGFya2VuXCIgIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLXNoYWRlLXRleHQtYW1vdW50OiAwICFkZWZhdWx0O1xuJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkZS1iZy1hbW91bnQ6IDAgIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLXNoYWRlLWJvcmRlci1hbW91bnQ6IDAgIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLWhvdmVyLXNoYWRlLXRleHQtYW1vdW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNvbGlkLWJ1dHRvbi1ob3Zlci1zaGFkZS1iZy1hbW91bnQ6IDcuNSUgIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLWhvdmVyLXNoYWRlLWJvcmRlci1hbW91bnQ6IDEwJSAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tYWN0aXZlLXNoYWRlLXRleHQtYW1vdW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNvbGlkLWJ1dHRvbi1hY3RpdmUtc2hhZGUtYmctYW1vdW50OiAxMCUgIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLWFjdGl2ZS1zaGFkZS1ib3JkZXItYW1vdW50OiAxMi41JSAhZGVmYXVsdDtcbiRrZW5kby1zb2xpZC1idXR0b24tc2hhZG93OiB0cnVlICFkZWZhdWx0O1xuJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkb3ctYmx1cjogMHB4ICFkZWZhdWx0O1xuJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkb3ctc3ByZWFkOiAuMjVyZW0gIWRlZmF1bHQ7XG4ka2VuZG8tc29saWQtYnV0dG9uLXNoYWRvdy1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcblxuLy8gT3V0bGluZSBCdXR0b25cbiRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3c6IHRydWUgIWRlZmF1bHQ7XG4ka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LWJsdXI6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctc3ByZWFkOiAuMjVyZW0gIWRlZmF1bHQ7XG4ka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuXG4vLyBMaW5rIEJ1dHRvblxuJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdzogdHJ1ZSAhZGVmYXVsdDtcbiRrZW5kby1saW5rLWJ1dHRvbi1zaGFkb3ctYmx1cjogMHB4ICFkZWZhdWx0O1xuJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1zcHJlYWQ6IC4yNXJlbSAhZGVmYXVsdDtcbiRrZW5kby1saW5rLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG5cbi8vIENsZWFyIEJ1dHRvblxuJGtlbmRvLWNsZWFyLWJ1dHRvbi1mb2N1cy1vcGFjaXR5OiAuMSAhZGVmYXVsdDtcblxuLy8vIFRoZSBvdmVybGF5IG9wYWNpdHkgb2YgdGhlIGhvdmVyZWQgZmxhdCBCdXR0b24uIFVzZWQgdG8gY3JlYXRlIGEgYmFja2dyb3VuZCBmb3IgdGhlIGZsYXQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1mbGF0LWJ1dHRvbi1ob3Zlci1vcGFjaXR5OiAuMDggIWRlZmF1bHQ7XG4vLy8gVGhlIG92ZXJsYXkgb3BhY2l0eSBvZiB0aGUgZm9jdXNlZCBmbGF0IEJ1dHRvbi4gVXNlZCB0byBjcmVhdGUgYSBiYWNrZ3JvdW5kIGZvciB0aGUgZmxhdCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWZsYXQtYnV0dG9uLWZvY3VzLW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIG92ZXJsYXkgb3BhY2l0eSBvZiB0aGUgYWN0aXZlIGZsYXQgQnV0dG9uLiBVc2VkIHRvIGNyZWF0ZSBhIGJhY2tncm91bmQgZm9yIHRoZSBmbGF0IEJ1dHRvbi5cbi8vLyBAZ3JvdXAgYnV0dG9uXG4ka2VuZG8tZmxhdC1idXR0b24tYWN0aXZlLW9wYWNpdHk6IC4xNiAhZGVmYXVsdDtcbi8vLyBUaGUgb3ZlcmxheSBvcGFjaXR5IG9mIHRoZSBzZWxlY3RlZCBmbGF0IEJ1dHRvbi4gVXNlZCB0byBjcmVhdGUgYSBiYWNrZ3JvdW5kIGZvciB0aGUgZmxhdCBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWZsYXQtYnV0dG9uLXNlbGVjdGVkLW9wYWNpdHk6IC4yICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBmbGF0IEJ1dHRvbiBmb2N1cyByaW5nLiBVc2VkIHRvIGNyZWF0ZSBhIGJvcmRlciBmb3IgdGhlIGZsYXQgQnV0dG9uLlxuLy8vIEBncm91cCBidXR0b25cbiRrZW5kby1mbGF0LWJ1dHRvbi1mb2N1cy1yaW5nLW9wYWNpdHk6IC4xMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciB0cmFuc2l0aW9uIG9mIHRoZSBCdXR0b24uXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGtlbmRvLWJ1dHRvbi10cmFuc2l0aW9uOiAka2VuZG8tdHJhbnNpdGlvbiAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENoaXBcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgdGV4dCBhbmQgdGhlIGljb25zIG9mIHRoZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbWQtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbGctcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMC41ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1tZC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbGctcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxLjUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBzbWFsbCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zbS1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbWVkaXVtIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW1kLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBsYXJnZSBDaGlwLlxuJGtlbmRvLWNoaXAtbGctZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuXG4vLy8gVGhlIENoaXAncyBsaW5lIGhlaWdodCB0aGF0IGlzIHJlbGF0ZWQgdG8gdGhlICRrZW5kby1mb250LXNpemUuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuLy8vIFRoZSBzbWFsbCBDaGlwJ3MgbGluZSBoZWlnaHQgdGhhdCBpcyByZWxhdGVkIHRvIHRoZSAka2VuZG8tZm9udC1zaXplLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zbS1saW5lLWhlaWdodDogJGtlbmRvLWNoaXAtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIG1lZGl1bSBDaGlwJ3MgbGluZSBoZWlnaHQgdGhhdCBpcyByZWxhdGVkIHRvIHRoZSAka2VuZG8tZm9udC1zaXplLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1tZC1saW5lLWhlaWdodDogJGtlbmRvLWNoaXAtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxhcmdlIENoaXAncyBsaW5lIGhlaWdodCB0aGF0IGlzIHJlbGF0ZWQgdG8gdGhlICRrZW5kby1mb250LXNpemUuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWxnLWxpbmUtaGVpZ2h0OiAka2VuZG8tY2hpcC1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIFRoZSBjYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtY2FsYy1zaXplOiBjYWxjKCAjeyRrZW5kby1jaGlwLWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGtlbmRvLWNoaXAtcGFkZGluZy15ICogMn0gKyAjeyRrZW5kby1jaGlwLWJvcmRlci13aWR0aCAqIDJ9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tY2hpcC1zbS1jYWxjLXNpemU6IGNhbGMoICN7JGtlbmRvLWNoaXAtc20tbGluZS1oZWlnaHQgKiAxZW19ICsgI3ska2VuZG8tY2hpcC1zbS1wYWRkaW5nLXkgKiAyfSArICN7JGtlbmRvLWNoaXAtYm9yZGVyLXdpZHRoICogMn0gKSAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIG1hcCB3aXRoIHRoZSBzaXplcyBvZiB0aGUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1jaGlwLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tY2hpcC1zbS1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNoaXAtc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNoaXAtc20tbGluZS1oZWlnaHRcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLWNoaXAtbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1jaGlwLW1kLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hpcC1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2hpcC1tZC1saW5lLWhlaWdodFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tY2hpcC1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWNoaXAtbGctcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGlwLWxnLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGlwLWxnLWxpbmUtaGVpZ2h0XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLWJhc2UtYmc6ICRrZW5kby1idXR0b24tYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXRoZW1lLWNvbG9yczogKFxuICAgIFwiYmFzZVwiOiAka2VuZG8tY2hpcC1iYXNlLWJnLFxuICAgIFwiZXJyb3JcIjogay1tYXAtZ2V0KCAka2VuZG8tdGhlbWUtY29sb3JzLCBcImVycm9yXCIgKSxcbiAgICBcImluZm9cIjogay1tYXAtZ2V0KCAka2VuZG8tdGhlbWUtY29sb3JzLCBcImluZm9cIiApLFxuICAgIFwid2FybmluZ1wiOiBrLW1hcC1nZXQoICRrZW5kby10aGVtZS1jb2xvcnMsIFwid2FybmluZ1wiICksXG4gICAgXCJzdWNjZXNzXCI6IGstbWFwLWdldCggJGtlbmRvLXRoZW1lLWNvbG9ycywgXCJzdWNjZXNzXCIgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNvbGlkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLWJnOiAka2VuZG8tY2hpcC1iYXNlLWJnICFkZWZhdWx0O1xuLy8vIGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgc29saWQgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc29saWQtdGV4dDogJGtlbmRvLWJ1dHRvbi10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgc29saWQgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc29saWQtYm9yZGVyOiAka2VuZG8tYnV0dG9uLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBzaGFkb3cgb2YgdGhlIHNvbGlkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoICRrZW5kby1jaGlwLWJhc2UtYmcsIC4xNiApICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGdyYWRpZW50IG9mIHRoZSBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1ncmFkaWVudDogJGtlbmRvLWJ1dHRvbi1ncmFkaWVudCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgc29saWQgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc29saWQtZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhc2UgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1ob3Zlci1iZzogJGtlbmRvLWJ1dHRvbi1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIHNvbGlkIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLXNvbGlkLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBzb2xpZCBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1zb2xpZC1zZWxlY3RlZC1iZzogJGtlbmRvLWJ1dHRvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgc29saWQgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtc29saWQtc2VsZWN0ZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBvdXRsaW5lIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW91dGxpbmUtdGV4dDogJGtlbmRvLWNoaXAtc29saWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1ib3JkZXI6ICRrZW5kby1jaGlwLW91dGxpbmUtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBzaGFkb3cgb2YgdGhlIG91dGxpbmUgQ2hpcC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtb3V0bGluZS1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCAka2VuZG8tY2hpcC1iYXNlLWJnLCAuMTYgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgb3V0bGluZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1vdXRsaW5lLWhvdmVyLWJnOiAka2VuZG8tY2hpcC1vdXRsaW5lLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBvdXRsaW5lIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW91dGxpbmUtaG92ZXItdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1jaGlwLW91dGxpbmUtaG92ZXItYmcgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBvdXRsaW5lIENoaXAuXG4vLy8gQGdyb3VwIGNoaXBcbiRrZW5kby1jaGlwLW91dGxpbmUtc2VsZWN0ZWQtYmc6ICRrZW5kby1jaGlwLW91dGxpbmUtaG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgb3V0bGluZSBDaGlwLlxuLy8vIEBncm91cCBjaGlwXG4ka2VuZG8tY2hpcC1vdXRsaW5lLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1jaGlwLW91dGxpbmUtaG92ZXItdGV4dCAhZGVmYXVsdDtcblxuLy8gQ2hpcCBMaXN0XG5cbi8vLyBUaGUgc2l6ZXMgb2YgdGhlIENoaXAgbGlzdC5cbi8vLyBAZ3JvdXAgY2hpcFxuJGtlbmRvLWNoaXAtbGlzdC1zaXplczogKFxuICAgIHNtOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICksXG4gICAgbWQ6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSxcbiAgICBsZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2NoaXAvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoaXAvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2hpcC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1jaGlwLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENoaXBcbiAgICAuay1jaGlwIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNoaXAtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNoaXAtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jaGlwLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hpcC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2hpcC1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogJGtlbmRvLWNoaXAtc3BhY2luZztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlbGVjdGVkLWljb24td3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENoaXAgY29udGVudFxuICAgIC5rLWNoaXAtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IC41ZW07XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2s6IC0uNWVtO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgICAgLy8gQWRqdXN0bWVudCBmb3Iga2VuZG8taWNvbi13cmFwcGVyXG4gICAgICAgIC5rLWljb24td3JhcHBlci1ob3N0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY2hpcC1jb250ZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLWNoaXAtc3BhY2luZztcbiAgICB9XG4gICAgLmstY2hpcC1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLWNoaXAtc3BhY2luZztcbiAgICB9XG5cblxuICAgIC8vIENoaXAgdGV4dFxuICAgIC5rLWNoaXAtdGV4dCxcbiAgICAuay1jaGlwLWxhYmVsIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuXG4gICAgLy8gQ2hpcCBhdmF0YXJcbiAgICAuay1jaGlwLWF2YXRhciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gQ2hpcCBpY29uXG4gICAgLmstY2hpcC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zXG4gICAgLmstY2hpcC1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAtNWVtO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG4gICAgLmstY2hpcC1hY3Rpb24ge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBjaGlwIGljb25zXG4gICAgLmstcmVtb3ZlLWljb24ge1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gQ2hpcCBsaXN0XG4gICAgLmstY2hpcC1saXN0IHtcbiAgICAgICAgbWluLXdpZHRoOiAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tY2hpcC1zaXplcyB7XG4gICAgICAgICRfcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXggKTtcbiAgICAgICAgJF9wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteSApO1xuICAgICAgICAkX2ZvbnQtc2l6ZTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZm9udC1zaXplICk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0ICk7XG4gICAgICAgICRfYXZhdGFyLXNpemU6IDFlbTtcblxuICAgICAgICAuay1jaGlwLSN7JHNpemV9IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfcGFkZGluZy14O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAuay1jaGlwLWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1jaGlwLWF2YXRhciB7XG4gICAgICAgICAgICB3aWR0aDogJF9hdmF0YXItc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF9hdmF0YXItc2l6ZTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICRfYXZhdGFyLXNpemU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRrZW5kby1jaGlwLWxpc3Qtc2l6ZXMge1xuICAgICAgICAuay1jaGlwLWxpc3QtI3skbmFtZX0ge1xuICAgICAgICAgICAgZ2FwOiAkc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jaGlwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hpcC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jaGlwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hpcC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NoaXAvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2hpcC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoaXAvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jaGlwLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU29saWRcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1jaGlwLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWNoaXAtc29saWQtI3skbmFtZX0ge1xuXG4gICAgICAgICAgICBAaWYgKCRuYW1lID09IFwiYmFzZVwiKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtc29saWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtc29saWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1jaGlwLXNvbGlkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtc29saWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1jaGlwLXNvbGlkLWZvY3VzLWJnICk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWNoaXAtc29saWQtc2hhZG93ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1jaGlwLXNvbGlkLWhvdmVyLWJnICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tY2hpcC1zb2xpZC1zZWxlY3RlZC1iZyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1vbi1zdWJ0bGUgKSwgay10cnktc2hhZGUoICRjb2xvciwgNjUlICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tc3VidGxlICksIGstdHJ5LXRpbnQoICRjb2xvciwgODAlICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tZW1waGFzaXMgKSwgay10cnktdGludCggJGNvbG9yLCAyNSUgKSksXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1jaGlwLXNvbGlkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAwIDAgMCAycHggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAkbmFtZSApIDE2JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkY29sb3IsIC4xNiApKSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tc3VidGxlLWhvdmVyICksIGstdHJ5LXRpbnQoJGNvbG9yLCA2NSUgKSkgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1zdWJ0bGUtYWN0aXZlICksIGstdHJ5LXRpbnQoICRjb2xvciwgNTAlICkpICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBPdXRsaW5lXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tY2hpcC10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1jaGlwLW91dGxpbmUtI3skbmFtZX0ge1xuICAgICAgICAgICAgQGlmICgkbmFtZSA9PSBcImJhc2VcIikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1jaGlwLW91dGxpbmUtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtb3V0bGluZS1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWNoaXAtb3V0bGluZS1ib3JkZXJcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jaGlwLW91dGxpbmUtc2hhZG93ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tY2hpcC1vdXRsaW5lLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1jaGlwLW91dGxpbmUtaG92ZXItYmdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tY2hpcC1vdXRsaW5lLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1jaGlwLW91dGxpbmUtc2VsZWN0ZWQtYmdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkbmFtZSA9PSBcIndhcm5pbmdcIikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAka2VuZG8tY2hpcC1vdXRsaW5lLXRleHQsIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgay1jb2xvci10aW50KCRjb2xvciwgMjUlKSwgJGtlbmRvLWNoaXAtb3V0bGluZS10ZXh0KSksXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci1ibGFjaywgJGtlbmRvLWNvbG9yLXdoaXRlICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGNvbG9yLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIGstY29sb3ItdGludCgkY29sb3IsIDI1JSksICRjb2xvcikpXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAwIDAgMCAycHggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAkbmFtZSApIDE2JSwgdHJhbnNwYXJlbnQpLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIHJnYmEoIGstY29sb3ItdGludCggJGNvbG9yLCA1MCUgKSwgLjMyICksIHJnYmEoICRjb2xvciwgLjE2ICkpKSApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCA4MCUgKSApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICRjb2xvciwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCBrLWNvbG9yLXRpbnQoJGNvbG9yLCAyNSUpLCAkY29sb3IpKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSwgay10cnktc2hhZGUoICRjb2xvciwgODAlICkgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAkY29sb3IsIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgay1jb2xvci10aW50KCRjb2xvciwgMjUlKSwgJGNvbG9yKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VyZmFjZSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSksXG4gICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci1ibGFjaywgJGtlbmRvLWNvbG9yLXdoaXRlICkpLFxuICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VyZmFjZSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoIDAgMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoICRuYW1lICkgMTYlLCB0cmFuc3BhcmVudCksIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgcmdiYSggay1jb2xvci10aW50KCAkY29sb3IsIDUwJSApLCAuMzIgKSwgcmdiYSggJGNvbG9yLCAuMTYgKSkpICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGstY29udHJhc3QtbGVnYWN5KCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyNSUgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0taG92ZXIgKSwgay10cnktc2hhZGUoICRjb2xvciwgMjUlICkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggay10cnktc2hhZGUoICRjb2xvciwgMjUlICkgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tYWN0aXZlICksIGstdHJ5LXNoYWRlKCAkY29sb3IsIDI1JSApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1hY3RpdmUgKSwgay10cnktc2hhZGUoICRjb2xvciwgMjUlICkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNoaXAtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNoaXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tY2hpcC0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1jaGlwLS10aGVtZS1iYXNlKCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1jaGlwLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWNoaXAtb3V0bGluZS0jeyRuYW1lfSB7XG5cbiAgICAgICAgICAgIEBpZiAoJG5hbWUgPT0gXCJpbmZvXCIpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLWNoaXAtb3V0bGluZS10ZXh0LCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIGstY29sb3ItdGludCgkY29sb3IsIDI1JSksICRrZW5kby1jaGlwLW91dGxpbmUtdGV4dCkpLFxuICAgICAgICAgICAgICAgICAgICAkYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGNvbG9yLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIGstY29sb3ItdGludCgkY29sb3IsIDI1JSksICRjb2xvcikpXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyLFxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLWNoaXAtb3V0bGluZS10ZXh0LCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsIGstY29udHJhc3QtY29sb3IoJGNvbG9yKSwgJGtlbmRvLWNoaXAtb3V0bGluZS10ZXh0KSksXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3JcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNoaXAtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNoaXBcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2hpcC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNoaXAtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGlwLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvci1wcmV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3ItcHJldmlldy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjb2xvci1wcmV2aWV3XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9yZ3JhZGllbnQvaW1hZ2VzL2FscGhhLXNsaWRlci1iZ3Iuc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZ3JhZGllbnQvaW1hZ2VzL2FscGhhLXNsaWRlci1iZ3Iuc2Nzc1xuQGluY2x1ZGUgZXhwb3J0cyhcImFscGhhLXNsaWRlci1iZ3IucG5nXCIpIHtcbiAgICBAaW5jbHVkZSByZWdpc3Rlci1kYXRhLXVyaShcImFscGhhLXNsaWRlci1iZ3IucG5nXCIsIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFLQ0FZQUFBQ05Ncys5QUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUF1U1VSQlZIZ0J4WXl4RFFBd0RNSklMK1lUK0RqdHpGUmxpVWZMY2tscUJDUlQ0ZUNUeGJENmtkTDIvTGdZWHFwdkNiczNrQnYvQUFBQUFFbEZUa1N1UW1DQ1wiKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9jb2xvci1wcmV2aWV3L192YXJpYWJsZXMuc2Nzc1xuLy8gQ29sb3IgUHJldmlld1xuJGtlbmRvLWNvbG9yLXByZXZpZXctYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItcHJldmlldy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1wcmV2aWV3LWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWNvbG9yLXByZXZpZXctdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1jb2xvci1wcmV2aWV3LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItcHJldmlldy1ob3Zlci1ib3JkZXI6ICRrZW5kby1ob3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLWJnOiAka2VuZG8tY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItcHJldmlldy1uby1jb2xvci10ZXh0OiAka2VuZG8tY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItcHJldmlldy1uby1jb2xvci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLWltYWdlOiBrLWVzY2FwZS1zdmcoIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2ZXJzaW9uPScxLjEnPjxsaW5lIHgxPScwJyB4Mj0nMjAnIHkxPScwJyB5Mj0nMjAnIHN0cm9rZT0nI3ska2VuZG8tY29sb3ItcHJldmlldy1uby1jb2xvci10ZXh0fScgc3Ryb2tlLXdpZHRoPScxJy8+PC9zdmc+XCIpICkgIWRlZmF1bHQ7XG4ka2VuZG8tY29sb3ItcHJldmlldy10cmFuc3BhcmVudC1jb2xvci1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFLQ0FZQUFBQ05Ncys5QUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUF1U1VSQlZIZ0J4WXl4RFFBd0RNSklMK1lUK0RqdHpGUmxpVWZMY2tscUJDUlQ0ZUNUeGJENmtkTDIvTGdZWHFwdkNiczNrQnYvQUFBQUFFbEZUa1N1UW1DQ1wiKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jb2xvci1wcmV2aWV3L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvci1wcmV2aWV3L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9yLXByZXZpZXcvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY29sb3ItcHJldmlldy0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBDb2xvciBQcmV2aWV3XG4gICAgLmstY29sb3ItcHJldmlldyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNvbG9yLXByZXZpZXctYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tY29sb3ItcHJldmlldy1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDdXJyZW50IENvbG9yXG4gICAgLmstY29sb3JlZGl0b3ItY3VycmVudC1jb2xvciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIEljb24gY29sb3IgcHJldmlld1xuICAgIC5rLWljb24tY29sb3ItcHJldmlldyB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAycHg7XG5cbiAgICAgICAgLmstY29sb3ItcHJldmlldy1tYXNrIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAjeyRrZW5kby1pY29uLXNpemV9IC0gMnB4ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ29sb3IgUHJldmlldyBNYXNrXG4gICAgLmstY29sb3ItcHJldmlldy1tYXNrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuay1jb2xvci1wcmV2aWV3LW1hc2s6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWNvbG9yLXByZXZpZXctdHJhbnNwYXJlbnQtY29sb3ItaW1hZ2U7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIH1cblxuXG4gICAgLy8gTm8gQ29sb3JcbiAgICAuay1uby1jb2xvciAuay1jb2xvci1wcmV2aWV3LW1hc2s6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jb2xvci1wcmV2aWV3LW5vLWNvbG9yLWJnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAka2VuZG8tY29sb3ItcHJldmlldy1uby1jb2xvci1pbWFnZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItcHJldmlldy0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXByZXZpZXctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItcHJldmlldy0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXByZXZpZXctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9jb2xvci1wcmV2aWV3L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9yLXByZXZpZXcvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvci1wcmV2aWV3L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tY29sb3ItcHJldmlldy0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yIFByZXZpZXdcbiAgICAuay1jb2xvci1wcmV2aWV3IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1wcmV2aWV3LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tY29sb3ItcHJldmlldy1iZyxcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1wcmV2aWV3LWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tY29sb3ItcHJldmlldy1ob3Zlci1ib3JkZXIgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1wcmV2aWV3LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wcmV2aWV3LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItcHJldmlldy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcHJldmlldy0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNvbG9yLXByZXZpZXctLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNvbG9yLXByZXZpZXdcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcHJldmlldy0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXByZXZpZXctLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wcmV2aWV3LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9sb2FkZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9sb2FkZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwibG9hZGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwib3ZlcmxheVwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9vdmVybGF5L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvb3ZlcmxheS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbG9hZGVyL192YXJpYWJsZXMuc2Nzc1xuLy8gTG9hZGVyXG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgTG9hZGVyIHNlZ21lbnQuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1zZWdtZW50LWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplIG9mIHRoZSBzbWFsbCBMb2FkZXIgc2VnbWVudC5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBtZWRpdW0gTG9hZGVyIHNlZ21lbnQuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemU6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2l6ZSBvZiB0aGUgbGFyZ2UgTG9hZGVyIHNlZ21lbnQuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemU6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSBzbWFsbCBMb2FkZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1zbS1wYWRkaW5nOiBrLW1hdGgtZGl2KCAka2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZSwgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbWQtcGFkZGluZzogay1tYXRoLWRpdiggJGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemUsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgbGFyZ2UgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbGctcGFkZGluZzogay1tYXRoLWRpdiggJGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemUsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgc21hbGwgc3Bpbm5lci0zIExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItMy13aWR0aDogKCAka2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZSAqIDQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIG1lZGl1bSBzcGlubmVyLTMgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci0zLXdpZHRoOiAoICRrZW5kby1sb2FkZXItbWQtc2VnbWVudC1zaXplICogNCApICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgbGFyZ2Ugc3Bpbm5lci0zIExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItMy13aWR0aDogKCAka2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZSAqIDQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIHNtYWxsIHNwaW5uZXItMyBMb2FkZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1zbS1zcGlubmVyLTMtaGVpZ2h0OiAoICRrZW5kby1sb2FkZXItc20tc3Bpbm5lci0zLXdpZHRoICogJGVxdWlsYXRlcmFsLWhlaWdodCApICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIG1lZGl1bSBzcGlubmVyLTMgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci0zLWhlaWdodDogKCAka2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItMy13aWR0aCAqICRlcXVpbGF0ZXJhbC1oZWlnaHQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBsYXJnZSBzcGlubmVyLTMgTG9hZGVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbGctc3Bpbm5lci0zLWhlaWdodDogKCAka2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItMy13aWR0aCAqICRlcXVpbGF0ZXJhbC1oZWlnaHQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgc21hbGwgc3Bpbm5lci00IExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItNC13aWR0aDogJGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemUgKiA0ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgbWVkaXVtIHNwaW5uZXItNCBMb2FkZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1tZC1zcGlubmVyLTQtd2lkdGg6ICRrZW5kby1sb2FkZXItbWQtc2VnbWVudC1zaXplICogNCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGxhcmdlIHNwaW5uZXItNCBMb2FkZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1sZy1zcGlubmVyLTQtd2lkdGg6ICRrZW5kby1sb2FkZXItbGctc2VnbWVudC1zaXplICogNCAhZGVmYXVsdDtcblxuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIHNtYWxsIHNwaW5uZXItNCBMb2FkZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1zbS1zcGlubmVyLTQtaGVpZ2h0OiAka2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItNC13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBtZWRpdW0gc3Bpbm5lci00IExvYWRlci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLXNwaW5uZXItNC1oZWlnaHQ6ICRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci00LXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIGxhcmdlIHNwaW5uZXItNCBMb2FkZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1sZy1zcGlubmVyLTQtaGVpZ2h0OiAka2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItNC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgTG9hZGVyIGJhc2VkIG9uIHRoZSBzZWNvbmRhcnkgdGhlbWUgY29sb3IuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1zZWNvbmRhcnktYmc6ICMyMTI1MjkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBjb250YWluZXIgcGFuZWwuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1jb250YWluZXItcGFuZWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgY29udGFpbmVyIHBhbmVsLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgY29udGFpbmVyIHBhbmVsLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJvcmRlci1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIGNvbnRhaW5lciBwYW5lbC5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWNvbnRhaW5lci1wYW5lbC1ib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY29udGFpbmVyIHBhbmVsLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJnOiAka2VuZG8tY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgc21hbGwgTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLXNtLWNvbnRhaW5lci1wYWRkaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBMb2FkZXIgY29udGFpbmVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbWQtY29udGFpbmVyLXBhZGRpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgbGFyZ2UgTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWxnLWNvbnRhaW5lci1wYWRkaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA2ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2FwIG9mIHRoZSBzbWFsbCBMb2FkZXIgY29udGFpbmVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItc20tY29udGFpbmVyLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSBnYXAgb2YgdGhlIG1lZGl1bSBMb2FkZXIgY29udGFpbmVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItbWQtY29udGFpbmVyLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBnYXAgb2YgdGhlIGxhcmdlIExvYWRlciBjb250YWluZXIuXG4vLy8gQGdyb3VwIGxvYWRlclxuJGtlbmRvLWxvYWRlci1sZy1jb250YWluZXItZ2FwOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBzbWFsbCBMb2FkZXIgY29udGFpbmVyLlxuLy8vIEBncm91cCBsb2FkZXJcbiRrZW5kby1sb2FkZXItc20tY29udGFpbmVyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBtZWRpdW0gTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbGFyZ2UgTG9hZGVyIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgbG9hZGVyXG4ka2VuZG8tbG9hZGVyLWxnLWNvbnRhaW5lci1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbi8vIExvYWRpbmcgaW5kaWNhdG9yXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIExvYWRpbmcgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBsb2FkaW5nXG4ka2VuZG8tbG9hZGluZy1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgTG9hZGluZyBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGxvYWRpbmdcbiRrZW5kby1sb2FkaW5nLXRleHQ6IGN1cnJlbnRDb2xvciAhZGVmYXVsdDtcbi8vLyBUaGUgb3BhY2l0eSBvZiB0aGUgTG9hZGluZyBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGxvYWRpbmdcbiRrZW5kby1sb2FkaW5nLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2xvYWRlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbG9hZGVyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xvYWRlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1sb2FkZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgLy8gUHJldmVudHMgdGhlIGlubGluZSBlbGVtZW50cyBmcm9tIGJlaW5nIGRpc3BsYWNlZC5cbiAgICAgICAgLy8gQSBnb29kIGV4YW1wbGUgaXMgdGhlICdwdWxzaW5nJyBsb2FkZXIgaW5zaWRlIGEgYnV0dG9uLlxuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIExvYWRlciBzZWdtZW50XG4gICAgLmstbG9hZGVyLXNlZ21lbnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tbG9hZGVyLXNlZ21lbnQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLy8gTG9hZGVyIHNpemVzXG4gICAgLmstbG9hZGVyLXNtIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLWxvYWRlci1zbS1wYWRkaW5nO1xuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbG9hZGVyLW1kIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLWxvYWRlci1tZC1wYWRkaW5nO1xuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbG9hZGVyLWxnIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLWxvYWRlci1sZy1wYWRkaW5nO1xuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBMb2FkZXIgcHVsc2luZyAyXG4gICAgQGtleWZyYW1lcyBwdWxzaW5nLTItc2VnbWVudCB7XG4gICAgICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICB9XG5cblxuICAgIC8vIENvbXBvbmVudFxuICAgIC5rLWxvYWRlci1wdWxzaW5nLTIge1xuXG4gICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSggMS41ICk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2luZy0yLXNlZ21lbnQgMXMgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLS41cztcbiAgICAgICAgfVxuICAgICAgICAuay1sb2FkZXItc2VnbWVudDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2luZy0yLXNlZ21lbnQgMXMgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1sb2FkZXItc20ge1xuICAgICAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICggJGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemUgKiAzICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAoICRrZW5kby1sb2FkZXItc20tc2VnbWVudC1zaXplICogMS41ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbG9hZGVyLW1kIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAoICRrZW5kby1sb2FkZXItbWQtc2VnbWVudC1zaXplICogMyApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogKCAka2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZSAqIDEuNSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWxvYWRlci1sZyB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogKCAka2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZSAqIDMgKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICggJGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemUgKiAxLjUgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIExvYWRlciBzcGlubmVyIDNcbiAgICBAa2V5ZnJhbWVzIHNwaW5uZXItMy1zZWdtZW50IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgMzMuMzMzMyUge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjY2NjYlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ29tcG9uZW50XG4gICAgLmstbG9hZGVyLXNwaW5uZXItMyB7XG5cbiAgICAgICAgLy8gTm90ZTogVW50aWwgd2UgY2FuIHByb3ZpZGUgYSBjc3MgdmFyaWFibGVzIHNvbHV0aW9uLCBvciBzb21ldGhpbmcgYmV0dGVyOlxuICAgICAgICAvLyAqIHRoZSBkb3QgY2VudGVyIGlzIG9uIHRoZSBleGFjdCBwb2ludCBvZiBhbmdsZVxuICAgICAgICAvLyAqIG9mZnNldCBkb3RzIGJ5IGFydGlmaWNhbGx5IHJlZHVjZSBkaW1lbnRpb25zIGJ5IDEgZG90IHNpemVcbiAgICAgICAgLy8gKiBjb21wZW5zYXRlIGJ5IHNldHRpbmcgbWFyZ2luIG9uIGFsbCBzaWRlcyBoYWxmIGEgZG90IHNpemVcblxuICAgICAgICAuay1sb2FkZXItc2VnbWVudCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItMy1zZWdtZW50IDJzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgIH1cbiAgICAgICAgLmstbG9hZGVyLXNlZ21lbnQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItMy1zZWdtZW50IDJzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IGNhbGMoIC0ycyAvIDMgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1sb2FkZXItc2VnbWVudDpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc3Bpbm5lci0zLXNlZ21lbnQgMnMgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogY2FsYyggLTRzIC8gMyApO1xuICAgICAgICB9XG5cblxuICAgICAgICAmLmstbG9hZGVyLXNtIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogay1tYXRoLWRpdiggJGtlbmRvLWxvYWRlci1zbS1zZWdtZW50LXNpemUsIDIgKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggI3ska2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItMy13aWR0aH0gLSAjeyRrZW5kby1sb2FkZXItc20tc2VnbWVudC1zaXplfSApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItMy1oZWlnaHR9IC0gI3ska2VuZG8tbG9hZGVyLXNtLXNlZ21lbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1sb2FkZXItbWQge1xuICAgICAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBrLW1hdGgtZGl2KCAka2VuZG8tbG9hZGVyLW1kLXNlZ21lbnQtc2l6ZSwgMiApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAjeyRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci0zLXdpZHRofSAtICN7JGtlbmRvLWxvYWRlci1tZC1zZWdtZW50LXNpemV9ICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci0zLWhlaWdodH0gLSAjeyRrZW5kby1sb2FkZXItbWQtc2VnbWVudC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWxvYWRlci1sZyB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGstbWF0aC1kaXYoICRrZW5kby1sb2FkZXItbGctc2VnbWVudC1zaXplLCAyICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoICN7JGtlbmRvLWxvYWRlci1sZy1zcGlubmVyLTMtd2lkdGh9IC0gI3ska2VuZG8tbG9hZGVyLWxnLXNlZ21lbnQtc2l6ZX0gKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxvYWRlci1sZy1zcGlubmVyLTMtaGVpZ2h0fSAtICN7JGtlbmRvLWxvYWRlci1sZy1zZWdtZW50LXNpemV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBMb2FkZXIgc3Bpbm5lciA0XG4gICAgQGtleWZyYW1lcyBzcGlubmVyLTQtc2VnbWVudC0xIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzLjMlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjYlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNwaW5uZXItNC1zZWdtZW50LTIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgMzMuMyUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjYlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBzcGlubmVyLTQtc2VnbWVudC0zIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzLjMlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgNjYuNiUge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBzcGlubmVyLTQtc2VnbWVudC00IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDMzLjMlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICA2Ni42JSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc3Bpbm5lci00IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAzMy4zJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDY2LjYlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1sb2FkZXItc3Bpbm5lci00IHtcbiAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNCAxLjgzM3MgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxvYWRlci1zZWdtZW50IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNC1zZWdtZW50LTEgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNC1zZWdtZW50LTIgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNC1zZWdtZW50LTMgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItNC1zZWdtZW50LTQgMS44MzNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbG9hZGVyLXNtIHtcbiAgICAgICAgICAgIC5rLWxvYWRlci1jYW52YXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbG9hZGVyLXNtLXNwaW5uZXItNC13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1sb2FkZXItc20tc3Bpbm5lci00LWhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1sb2FkZXItbWQge1xuICAgICAgICAgICAgLmstbG9hZGVyLWNhbnZhcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1sb2FkZXItbWQtc3Bpbm5lci00LXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxvYWRlci1tZC1zcGlubmVyLTQtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWxvYWRlci1sZyB7XG4gICAgICAgICAgICAuay1sb2FkZXItY2FudmFzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWxvYWRlci1sZy1zcGlubmVyLTQtd2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tbG9hZGVyLWxnLXNwaW5uZXItNC1oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBMb2FkZXIgY29udGFpbmVyXG4gICAgLmstbG9hZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAyMDAxO1xuXG4gICAgICAgIC5rLWxvYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbG9hZGVyLWNvbnRhaW5lcixcbiAgICAuay1sb2FkZXItY29udGFpbmVyLW92ZXJsYXkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiB1c2Ugay1vdmVybGF5IGFzIGEgYmFzZSBjbGFzcyBpbiByZW5kZXJpbmdcbiAgICAuay1sb2FkZXItY29udGFpbmVyLW92ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tb3ZlcmxheS1vcGFjaXR5O1xuICAgIH1cblxuICAgIC5rLWxvYWRlci1jb250YWluZXItaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmstbG9hZGVyLWNvbnRhaW5lci1wYW5lbCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWxvYWRlci1jb250YWluZXItcGFuZWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJvcmRlci1zdHlsZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWxvYWRlci1jb250YWluZXItcGFuZWwtYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBMb2FkZXIgQ29udGFpbmVyIFNpemVzXG4gICAgLmstbG9hZGVyLWNvbnRhaW5lci1zbSB7XG4gICAgICAgIC5rLWxvYWRlci1jb250YWluZXItaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLWxvYWRlci1zbS1jb250YWluZXItcGFkZGluZztcbiAgICAgICAgICAgIGdhcDogJGtlbmRvLWxvYWRlci1zbS1jb250YWluZXItZ2FwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbG9hZGVyLWNvbnRhaW5lci1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1sb2FkZXItc20tY29udGFpbmVyLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1sb2FkZXItY29udGFpbmVyLW1kIHtcbiAgICAgICAgLmstbG9hZGVyLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1wYWRkaW5nO1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tbG9hZGVyLW1kLWNvbnRhaW5lci1nYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxvYWRlci1tZC1jb250YWluZXItZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxvYWRlci1jb250YWluZXItbGcge1xuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRrZW5kby1sb2FkZXItbGctY29udGFpbmVyLXBhZGRpbmc7XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1sb2FkZXItbGctY29udGFpbmVyLWdhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxvYWRlci1jb250YWluZXItbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbG9hZGVyLWxnLWNvbnRhaW5lci1mb250LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMb2FkZXIgUG9zaXRpb25cbiAgICAuay1sb2FkZXItdG9wIHtcbiAgICAgICAgLmstbG9hZGVyLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxvYWRlci1lbmQge1xuICAgICAgICAuay1sb2FkZXItY29udGFpbmVyLWxhYmVsIHtcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIExvYWRpbmcgbWFza1xuICAgIC5rLWxvYWRpbmctbWFzayxcbiAgICAuay1sb2FkaW5nLWltYWdlLFxuICAgIC5rLWxvYWRpbmctY29sb3Ige1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyLFxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1sb2FkaW5nLW1hc2sge1xuICAgICAgICB6LWluZGV4OiAka2VuZG8temluZGV4LWxvYWRpbmc7XG5cbiAgICAgICAgJi5rLW9wYXF1ZSB7XG4gICAgICAgICAgICAuay1sb2FkaW5nLWNvbG9yIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWxvYWRpbmctdGV4dCB7XG4gICAgICAgIHRleHQtaW5kZW50OiAtNDAwMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29sb3I6ICRrZW5kby1sb2FkaW5nLXRleHQ7XG4gICAgfVxuICAgIC5rLWxvYWRpbmctaW1hZ2Uge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBjb2xvcjogJGtlbmRvLWxvYWRpbmctdGV4dDtcbiAgICB9XG4gICAgLmstbG9hZGluZy1jb2xvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1sb2FkaW5nLWJnO1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tbG9hZGluZy1vcGFjaXR5O1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1sb2FkZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1sb2FkZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbG9hZGVyLS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1sb2FkZXItLWxheW91dC1iYXNlKCk7XG5cbiAgICAuay1pLWxvYWRpbmcsXG4gICAgLmstbG9hZGluZy1pbWFnZSB7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbG9hZGluZy1pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICk7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9sb2FkZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbG9hZGVyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbG9hZGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbG9hZGVyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstbG9hZGVyLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpZiAkbmFtZSA9PSBcInNlY29uZGFyeVwiIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWxvYWRlci1zZWNvbmRhcnktYmc7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbG9hZGVyLWNvbnRhaW5lci1wYW5lbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1sb2FkZXItY29udGFpbmVyLXBhbmVsLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAuay1sb2FkZXItY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgLmstdGV4dC1zZWNvbmRhcnksXG4gICAgICAgIC5cXCFrLXRleHQtc2Vjb25kYXJ5IHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1sb2FkZXItc2Vjb25kYXJ5LWJnICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbG9hZGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1sb2FkZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1sb2FkZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxvYWRlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWxvYWRlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibG9hZGVyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxvYWRlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxvYWRlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxvYWRlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuL2xvYWRpbmcvX2luZGV4LnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc2tlbGV0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9za2VsZXRvbi9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3NrZWxldG9uL192YXJpYWJsZXMuc2Nzc1xuLy8gU2tlbGV0b25cblxuLy8vIFRoZSB0cmFuc2Zvcm0gc2NhbGUgb2YgdGhlIFNrZWxldG9uIHRleHQuXG4vLy8gQGdyb3VwIHNrZWxldG9uXG4ka2VuZG8tc2tlbGV0b24tdGV4dC10cmFuc2Zvcm06IHNjYWxlKCAxLCAuNiApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBTa2VsZXRvbiB0ZXh0LlxuLy8vIEBncm91cCBza2VsZXRvblxuJGtlbmRvLXNrZWxldG9uLXRleHQtYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgcmVjdGFuZ3VsYXIgU2tlbGV0b24uXG4vLy8gQGdyb3VwIHNrZWxldG9uXG4ka2VuZG8tc2tlbGV0b24tcmVjdC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIGNpcmN1bGFyIFNrZWxldG9uLlxuLy8vIEBncm91cCBza2VsZXRvblxuJGtlbmRvLXNrZWxldG9uLWNpcmNsZS1ib3JkZXItcmFkaXVzOiA5OTk5cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2tlbGV0b24gaXRlbS5cbi8vLyBAZ3JvdXAgc2tlbGV0b25cbiRrZW5kby1za2VsZXRvbi1pdGVtLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMjAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1jb2xvci1pbnZlcnNlLCAuMiApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2tlbGV0b24gd2F2ZSBhbmltYXRpb24uXG4vLy8gQGdyb3VwIHNrZWxldG9uXG4ka2VuZG8tc2tlbGV0b24td2F2ZS1iZzogcmdiYSggYmxhY2ssIC4wNCApICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3NrZWxldG9uL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9za2VsZXRvbi9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9za2VsZXRvbi9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1za2VsZXRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXRleHQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tc2tlbGV0b24tdGV4dC1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0cmFuc2Zvcm06ICRrZW5kby1za2VsZXRvbi10ZXh0LXRyYW5zZm9ybTtcblxuICAgICAgICAmOmVtcHR5OjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXJlY3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tc2tlbGV0b24tcmVjdC1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLWNpcmNsZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1za2VsZXRvbi1jaXJjbGUtYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc1xuICAgIC5rLXBsYWNlaG9sZGVyLWxpbmUge1xuICAgICAgICBAZXh0ZW5kIC5rLXNrZWxldG9uICFvcHRpb25hbDtcbiAgICAgICAgQGV4dGVuZCAuay1za2VsZXRvbi10ZXh0ICFvcHRpb25hbDtcbiAgICB9XG5cblxuICAgIC8vIFNrZWxldG9uIHdhdmVcbiAgICBAa2V5ZnJhbWVzIGstc2tlbGV0b24td2F2ZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgNjAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXdhdmUge1xuXG4gICAgICAgIC5rLXNrZWxldG9uLFxuICAgICAgICAmLmstc2tlbGV0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogay1za2VsZXRvbi13YXZlIDEuNnMgbGluZWFyIC41cyBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBTa2VsZXRvbiBwdWxzZVxuICAgIEBrZXlmcmFtZXMgay1za2VsZXRvbi1wdWxzZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNrZWxldG9uLXB1bHNlIHtcblxuICAgICAgICAuay1za2VsZXRvbixcbiAgICAgICAgJi5rLXNrZWxldG9uIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogay1za2VsZXRvbi1wdWxzZSAxLjVzIGVhc2UtaW4tb3V0IC41cyBpbmZpbml0ZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNrZWxldG9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2tlbGV0b24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc2tlbGV0b24tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1za2VsZXRvbi0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3NrZWxldG9uL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NrZWxldG9uL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2tlbGV0b24vX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLXNrZWxldG9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tc2tlbGV0b24taXRlbS1iZyApO1xuICAgIH1cblxuXG4gICAgLy8gU2tlbGV0b24gd2F2ZVxuICAgIC5rLXNrZWxldG9uLXdhdmUge1xuXG4gICAgICAgIC5rLXNrZWxldG9uOjphZnRlcixcbiAgICAgICAgJi5rLXNrZWxldG9uOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNrZWxldG9uLXdhdmUtYmcsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2tlbGV0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2tlbGV0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1za2VsZXRvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic2tlbGV0b25cIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2tlbGV0b24tLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1za2VsZXRvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNrZWxldG9uLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIEZvcm0gaGVscGVyc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9mb3Jtcy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImZvcm1cIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJhY3Rpb25zXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llcyAvLyBUT0RPOiBleHRyYWN0IHZhcmlhYmxlc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidG9vbGJhclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImJ1dHRvblwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJhZGdlXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9iYWRnZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2JhZGdlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9idXR0b24vX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYnV0dG9uL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWJ1dHRvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCdXR0b25cbiAgICAuay1idXR0b24ge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWJ1dHRvbi1mb250LWZhbWlseTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogJGtlbmRvLWJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkaXNhYmxlZCggJGtlbmRvLWRpc2FibGVkLXN0eWxpbmcgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEljb24gQnV0dG9uXG4gICAgLmstaWNvbi1idXR0b24ge1xuICAgICAgICBnYXA6IDA7XG5cbiAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWJ1dHRvbi10ZXh0IHt9XG5cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1idXR0b24tc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy14ICk7XG4gICAgICAgICRfcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXkgKTtcbiAgICAgICAgJF9mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuXG4gICAgICAgIC5rLWJ1dHRvbi0jeyRzaXplfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJ1dHRvbi0jeyRzaXplfS5rLWljb24tYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRfcGFkZGluZy15O1xuXG4gICAgICAgICAgICAuay1idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBjYWxjKCAjeyRfZm9udC1zaXplfSAqICN7JF9saW5lLWhlaWdodH0gKTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCAjeyRfZm9udC1zaXplfSAqICN7JF9saW5lLWhlaWdodH0gKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJi5rLXN2Zy1pY29uID4gc3ZnLFxuICAgICAgICAgICAgICAgICYuay1pY29uLW1kID4gc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUtbWQ7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS1tZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstaWNvbi14cyA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taWNvbi1zaXplLXhzO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteHM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWljb24tc20gPiBzdmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWljb24tc2l6ZS1zbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLXNtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1pY29uLWxnID4gc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUtbGc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS1sZztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstaWNvbi14bCA+IHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taWNvbi1zaXplLXhsO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLWljb24teHhsID4gc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteHhsO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteHhsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1pY29uLXh4eGwgPiBzdmcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWljb24tc2l6ZS14eHhsO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteHh4bDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJ1dHRvbiBzaGFwZVxuICAgIC5rLWJ1dHRvbi1zcXVhcmUge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgfVxuXG5cbiAgICAvLyBCdXR0b24gZ3JvdXBcbiAgICAuay1idXR0b24tZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgPiAuay1idXR0b24gKyAuay1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogaWYoICRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoID09IDAsIG51bGwsIC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCApO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1idXR0b246aG92ZXIsXG4gICAgICAgID4gLmstYnV0dG9uLmstaG92ZXIsXG4gICAgICAgID4gLmstYnV0dG9uOmZvY3VzLFxuICAgICAgICA+IC5rLWJ1dHRvbi5rLWZvY3VzLFxuICAgICAgICA+IC5rLWJ1dHRvbjphY3RpdmUsXG4gICAgICAgID4gLmstYnV0dG9uLmstYWN0aXZlLFxuICAgICAgICA+IC5rLWJ1dHRvbi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1idXR0b246bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICA+IC5rLWJ1dHRvbjpmaXJzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgICAgID4gLmstYnV0dG9uOmxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW2Rpc2FibGVkXSxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1idXR0b24tZ3JvdXAtc3RyZXRjaGVkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEZsYXQgYnV0dG9uXG4gICAgLmstYnV0dG9uLWZsYXQge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAvLyBPdmVybGF5IGJhY2tncm91bmRcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyByaW5nXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1czo6YWZ0ZXIsXG4gICAgICAgICYuay1mb2N1czo6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLWZsYXQtYnV0dG9uLWZvY3VzLXJpbmctb3BhY2l0eTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gT3V0bGluZSBidXR0b25cbiAgICAuay1idXR0b24tb3V0bGluZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIExpbmsgYnV0dG9uXG4gICAgLmstYnV0dG9uLWxpbmsge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2xlYXIgYnV0dG9uXG4gICAgLmstYnV0dG9uLWNsZWFyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG5cblxuXG4gICAgLy8gQnV0dG9uIG92ZXJsYXlcbiAgICAuay1idXR0b24tb3ZlcmxheSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIGluaGVyaXQgKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgIHJpZ2h0OiAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgIHRvcDogLSRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3R0b206IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG5cbiAgICAuay1idXR0b24geyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstYnV0dG9uLW92ZXJsYXkgIW9wdGlvbmFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXJlZCBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tZmxhdC1idXR0b24taG92ZXItb3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzZWQgc3RhdGVcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLWZsYXQtYnV0dG9uLWZvY3VzLW9wYWNpdHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5rLW5vLWZvY3VzOm5vdCg6aG92ZXIpLFxuICAgICAgICAmLmstbm8tZm9jdXM6bm90KC5rLWhvdmVyKSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tZmxhdC1idXR0b24tYWN0aXZlLW9wYWNpdHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tZmxhdC1idXR0b24tc2VsZWN0ZWQtb3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cblxuXG4gICAgLy8gQnV0dG9uIGZvY3VzIHJpbmdcbiAgICAuay1idXR0b24geyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggaW5oZXJpdCApO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICByaWdodDogLSRrZW5kby1idXR0b24tYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgdG9wOiAtJGtlbmRvLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3R0b206IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1idXR0b24tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYnV0dG9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYnV0dG9uLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2J1dHRvbi9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2J1dHRvbi9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWJ1dHRvbi0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFNvbGlkIGJ1dHRvblxuICAgIC5rLWJ1dHRvbi1zb2xpZC1iYXNlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tYmcsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1idXR0b24tZ3JhZGllbnRcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJ1dHRvbi1zaGFkb3cgKTtcblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJ1dHRvbi1ob3Zlci1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1idXR0b24tZm9jdXMtc2hhZG93LCB0cnVlLCB0cnVlICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWFjdGl2ZS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYWN0aXZlLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYWN0aXZlLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWFjdGl2ZS1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1idXR0b24tYWN0aXZlLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tc2VsZWN0ZWQtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1zZWxlY3RlZC1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1idXR0b24tc2VsZWN0ZWQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRfc2hhZGUtZm46IGstbWV0YS1nZXQtZnVuY3Rpb24oICRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtZnVuY3Rpb24gKTtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMge1xuICAgICAgICBAaWYgKCRuYW1lICE9IFwiYmFzZVwiKSB7XG4gICAgICAgICAgICAkX2J1dHRvbi10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKTtcbiAgICAgICAgICAgICRfYnV0dG9uLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggJG5hbWUgKSwgaWYoICRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtYmctYW1vdW50LCBrLW1ldGEtY2FsbCggJF9zaGFkZS1mbiwgJGNvbG9yLCAka2VuZG8tc29saWQtYnV0dG9uLXNoYWRlLWJnLWFtb3VudCApLCBudWxsICkpO1xuICAgICAgICAgICAgJF9idXR0b24tYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggJG5hbWUgKSwgaWYoICRrZW5kby1zb2xpZC1idXR0b24tc2hhZGUtYm9yZGVyLWFtb3VudCwgay1tZXRhLWNhbGwoICRfc2hhZGUtZm4sICRjb2xvciwgJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkZS1ib3JkZXItYW1vdW50ICksIG51bGwgKSk7XG5cbiAgICAgICAgICAgICRfYnV0dG9uLWhvdmVyLXRleHQ6IG51bGw7XG4gICAgICAgICAgICAkX2J1dHRvbi1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIGlmKCAka2VuZG8tc29saWQtYnV0dG9uLWhvdmVyLXNoYWRlLWJnLWFtb3VudCwgay1tZXRhLWNhbGwoICRfc2hhZGUtZm4sICRjb2xvciwgJGtlbmRvLXNvbGlkLWJ1dHRvbi1ob3Zlci1zaGFkZS1iZy1hbW91bnQgKSwgbnVsbCApKTtcbiAgICAgICAgICAgICRfYnV0dG9uLWhvdmVyLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIGlmKCAka2VuZG8tc29saWQtYnV0dG9uLWhvdmVyLXNoYWRlLWJvcmRlci1hbW91bnQsIGstbWV0YS1jYWxsKCAkX3NoYWRlLWZuLCAkY29sb3IsICRrZW5kby1zb2xpZC1idXR0b24taG92ZXItc2hhZGUtYm9yZGVyLWFtb3VudCApLCBudWxsICkpO1xuXG4gICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtdGV4dDogbnVsbDtcbiAgICAgICAgICAgICRfYnV0dG9uLWFjdGl2ZS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBpZiggJGtlbmRvLXNvbGlkLWJ1dHRvbi1hY3RpdmUtc2hhZGUtYmctYW1vdW50LCBrLW1ldGEtY2FsbCggJF9zaGFkZS1mbiwgJGNvbG9yLCAka2VuZG8tc29saWQtYnV0dG9uLWFjdGl2ZS1zaGFkZS1iZy1hbW91bnQgKSwgbnVsbCApKTtcbiAgICAgICAgICAgICRfYnV0dG9uLWFjdGl2ZS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1hY3RpdmUgKSwgaWYoICRrZW5kby1zb2xpZC1idXR0b24tYWN0aXZlLXNoYWRlLWJvcmRlci1hbW91bnQsIGstbWV0YS1jYWxsKCAkX3NoYWRlLWZuLCAkY29sb3IsICRrZW5kby1zb2xpZC1idXR0b24tYWN0aXZlLXNoYWRlLWJvcmRlci1hbW91bnQgKSwgbnVsbCApKTtcblxuICAgICAgICAgICAgLmstYnV0dG9uLXNvbGlkLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1iZyxcbiAgICAgICAgICAgICAgICAgICAgJF9idXR0b24tYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc29saWQtYnV0dG9uLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9idXR0b24taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICRfYnV0dG9uLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9idXR0b24taG92ZXItYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gRm9jdXMgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoICRrZW5kby1zb2xpZC1idXR0b24tc2hhZG93ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAwIDAgJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkb3ctYmx1ciAka2VuZG8tc29saWQtYnV0dG9uLXNoYWRvdy1zcHJlYWQgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAkbmFtZSApICggJGtlbmRvLXNvbGlkLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eSAqIDEwMCUgKSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkX2J1dHRvbi1ib3JkZXIsICRrZW5kby1zb2xpZC1idXR0b24tc2hhZG93LW9wYWNpdHkgKSksIHRydWUsIHRydWUgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9idXR0b24tYWN0aXZlLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9idXR0b24tYWN0aXZlLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2J1dHRvbi1hY3RpdmUtYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1kaXNhYmxlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1idXR0b24tZGlzYWJsZWQtc2hhZG93ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBPdXRsaW5lIGJ1dHRvblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gay1tYXAtbWVyZ2UoICRrZW5kby1idXR0b24tdGhlbWUtY29sb3JzLCAoIFwiYmFzZVwiOiAka2VuZG8tYmFzZS10ZXh0ICkgKSB7XG4gICAgICAgIC5rLWJ1dHRvbi1vdXRsaW5lLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1vbi1zdXJmYWNlICksICRjb2xvcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpZiAkbmFtZSA9PSBcImJhc2VcIiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLWJhc2UtYmcsIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3JcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGlmICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3cge1xuICAgICAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJiYXNlXCIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAwIDAgJGtlbmRvLW91dGxpbmUtYnV0dG9uLXNoYWRvdy1ibHVyICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctc3ByZWFkIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAoICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eSAqIDEwMCUgKSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkY29sb3IsICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eSApKSwgdHJ1ZSwgdHJ1ZSApO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggMCAwICRrZW5kby1vdXRsaW5lLWJ1dHRvbi1zaGFkb3ctYmx1ciAka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LXNwcmVhZCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoICRuYW1lICkgKCAka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LW9wYWNpdHkgKiAxMDAlICksIHRyYW5zcGFyZW50KSwgcmdiYSggJGNvbG9yLCAka2VuZG8tb3V0bGluZS1idXR0b24tc2hhZG93LW9wYWNpdHkgKSksIHRydWUsIHRydWUgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpZiAkbmFtZSA9PSBcImJhc2VcIiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLWJhc2UtYmcsIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3JcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZFxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJiYXNlXCIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sICRrZW5kby1iYXNlLWJnLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvclxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEZsYXQgYnV0dG9uXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiBrLW1hcC1tZXJnZSggJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMsICggXCJiYXNlXCI6IGluaGVyaXQgKSApIHtcbiAgICAgICAgLmstYnV0dG9uLWZsYXQtI3skbmFtZX0ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExpbmsgYnV0dG9uXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiBrLW1hcC1tZXJnZSggJGtlbmRvLWJ1dHRvbi10aGVtZS1jb2xvcnMsICggXCJiYXNlXCI6ICRrZW5kby1iYXNlLXRleHQgKSApIHtcbiAgICAgICAgLmstYnV0dG9uLWxpbmstI3skbmFtZX0ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpZiAkbmFtZSA9PSBcImJhc2VcIiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgJGtlbmRvLWJhc2UtdGV4dCwgay10cnktc2hhZGUoICRjb2xvciwgMiApKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyICkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpZiAoICRrZW5kby1saW5rLWJ1dHRvbi1zaGFkb3cgKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAkbmFtZSA9PSBcImJhc2VcIiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoIDAgMCAka2VuZG8tbGluay1idXR0b24tc2hhZG93LWJsdXIgJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1zcHJlYWQgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApICggJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1vcGFjaXR5ICogMTAwJSApLCB0cmFuc3BhcmVudCksIHJnYmEoICRjb2xvciwgJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1vcGFjaXR5ICkpLCB0cnVlLCB0cnVlICk7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAwIDAgJGtlbmRvLWxpbmstYnV0dG9uLXNoYWRvdy1ibHVyICRrZW5kby1saW5rLWJ1dHRvbi1zaGFkb3ctc3ByZWFkIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggJG5hbWUgKSAoICRrZW5kby1saW5rLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eSAqIDEwMCUgKSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkY29sb3IsICRrZW5kby1saW5rLWJ1dHRvbi1zaGFkb3ctb3BhY2l0eSApKSwgdHJ1ZSwgdHJ1ZSApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY3RpdmVcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgQGlmICRuYW1lID09IFwiYmFzZVwiIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAka2VuZG8tYmFzZS10ZXh0LCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyICkpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyICkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWRcbiAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgQGlmICRuYW1lID09IFwiYmFzZVwiIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAka2VuZG8tYmFzZS10ZXh0LCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyICkpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAyICkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENsZWFyIGJ1dHRvblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gay1tYXAtbWVyZ2UoICRrZW5kby1idXR0b24tdGhlbWUtY29sb3JzLCAoIFwiYmFzZVwiOiAka2VuZG8tYmFzZS10ZXh0ICkgKSB7XG4gICAgICAgIC5rLWJ1dHRvbi1jbGVhci0jeyRuYW1lfSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tY2xlYXItYnV0dG9uLWZvY3VzLW9wYWNpdHk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYnV0dG9uLWRpc2FibGVkLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJ1dHRvbiBncm91cFxuICAgIC5rLWJ1dHRvbi1ncm91cCB7fVxuXG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYnV0dG9uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLXRoZW1lLWJhc2UoKTtcbn1cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYnV0dG9uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1idXR0b24tLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImJ1dHRvblwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbWVudS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL21lbnUvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwibWVudVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbWVudS9fdmFyaWFibGVzLnNjc3Ncbi8vIE1lbnVcbiRrZW5kby1tZW51LWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbiRrZW5kby1tZW51LWJnOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1iZyAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWl0ZW0tc3BhY2luZzogMCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LWl0ZW0taWNvbi1zcGFjaW5nOiAka2VuZG8taWNvbi1zcGFjaW5nICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1pdGVtLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNTAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1tZW51LXRleHQsIC41ICkpICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1pdGVtLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1pdGVtLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNzAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1tZW51LXRleHQsIC43ICkpICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1pdGVtLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1pdGVtLWV4cGFuZGVkLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1leHBhbmRlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgOTAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1tZW51LXRleHQsIC45ICkpICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtaXRlbS1leHBhbmRlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1pdGVtLWV4cGFuZGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1pdGVtLWZvY3VzLXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAxNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLW1lbnUtdGV4dCwgLjE1ICkpICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1zZXBhcmF0b3Itc3BhY2luZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWJnOiAka2VuZG8tbWVudS1iZyAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXNjcm9sbC1idXR0b24tdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tbWVudS10ZXh0LCAuNSApKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXNjcm9sbC1idXR0b24tYm9yZGVyOiAka2VuZG8tbWVudS1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtc2Nyb2xsLWJ1dHRvbi1ob3Zlci10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNzAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1tZW51LXRleHQsIC43ICkpICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtc2Nyb2xsLWJ1dHRvbi1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIE1lbnUgcG9wdXBcblxuLy8vIEhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVudSBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVudSBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIG1lbnUgcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWJvcmRlci13aWR0aDogJGtlbmRvLXBvcHVwLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZXMgb2YgdGhlIG1lbnUgcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLXNtLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLW1kLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLWxnLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0cyB1c2VkIGFsb25nIHdpdGggJGtlbmRvLWZvbnQtc2l6ZS5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLXNtLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1tZC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbGctbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBtZW51IHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1iZzogJGtlbmRvLXBvcHVwLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBtZW51IHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC10ZXh0OiAka2VuZG8tcG9wdXAtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBtZW51IHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1ib3JkZXI6ICRrZW5kby1wb3B1cC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIG1lbnUgcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIE1lbnUgcG9wdXAgaXRlbVxuXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG5cbi8vLyBWZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMC41ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGVuZCBwYWRkaW5nIG9mIHRoZSBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy1lbmQ6IGNhbGMoICN7JGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLXggKiAyfSArICN7JGtlbmRvLWljb24tc2l6ZX0gKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLXNtLWl0ZW0tcGFkZGluZy1lbmQ6IGNhbGMoICN7JGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1wYWRkaW5nLXggKiAyfSArICN7JGtlbmRvLWljb24tc2l6ZX0gKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0tcGFkZGluZy1lbmQ6IGNhbGMoICN7JGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXggKiAyfSArICN7JGtlbmRvLWljb24tc2l6ZX0gKSAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0tcGFkZGluZy1lbmQ6IGNhbGMoICN7JGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLXggKiAyfSArICN7JGtlbmRvLWljb24tc2l6ZX0gKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzdGFydCBtYXJnaW4gb2YgdGhlIG1lbnUgaXRlbSBleHBhbmQgaWNvbi5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1pY29uLW1hcmdpbi1zdGFydDogJGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLWljb24tbWFyZ2luLXN0YXJ0OiAka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0taWNvbi1tYXJnaW4tc3RhcnQ6ICRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGVuZCBtYXJnaW4gb2YgdGhlIG1lbnUgaXRlbSBleHBhbmQgaWNvbi5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1pY29uLW1hcmdpbi1lbmQ6IGNhbGMoIC0xICogKCN7JGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1wYWRkaW5nLWVuZH0gLSAje2stbWF0aC1kaXYoICRrZW5kby1tZW51LXBvcHVwLXNtLWl0ZW0tcGFkZGluZy14LCAyICl9KSApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1pY29uLW1hcmdpbi1lbmQ6IGNhbGMoIC0xICogKCN7JGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLWVuZH0gLSAje2stbWF0aC1kaXYoICRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0tcGFkZGluZy14LCAyICl9KSApICFkZWZhdWx0O1xuJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1pY29uLW1hcmdpbi1lbmQ6IGNhbGMoIC0xICogKCN7JGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLWVuZH0gLSAje2stbWF0aC1kaXYoICRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0tcGFkZGluZy14LCAyICl9KSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpdGVtcyBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1zcGFjaW5nOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgbWVudSBpdGVtIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiBob3ZlcmVkIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci1iZzogJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiBob3ZlcmVkIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci10ZXh0OiAka2VuZG8tbGlzdC1pdGVtLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiBob3ZlcmVkIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgaG92ZXJlZCBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiBleHBhbmRlZCBtZW51IGl0ZW0gaW4gcG9wdXAuXG4vLy8gQGdyb3VwIG1lbnVcbiRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtYmc6ICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgZXhwYW5kZWQgbWVudSBpdGVtIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLWV4cGFuZGVkLXRleHQ6ICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIGV4cGFuZGVkIG1lbnUgaXRlbSBpbiBwb3B1cC5cbi8vLyBAZ3JvdXAgbWVudVxuJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1leHBhbmRlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgZXhwYW5kZWQgbWVudSBpdGVtIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLWV4cGFuZGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhc2Ugc2hhZG93IG9mIGZvY3VzZWQgbWVudSBpdGVtIGluIHBvcHVwLlxuLy8vIEBncm91cCBtZW51XG4ka2VuZG8tbWVudS1wb3B1cC1pdGVtLWZvY3VzLXNoYWRvdzogJGtlbmRvLW1lbnUtaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbWVudS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVudS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZW51L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW1lbnUtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gTWVudSBiYXJcbiAgICAuay1tZW51LWJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLW1lbnUtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLW1lbnUtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW1lbnUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lbnUtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbWVudSB7IEBleHRlbmQgLmstbWVudS1iYXIgIW9wdGlvbmFsOyB9XG5cblxuICAgIC8vIE1lbnUgaXRlbVxuICAgIC5rLW1lbnUtaXRlbSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbiAgICAuay1tZW51LWl0ZW0tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTWVudSBsaW5rXG4gICAgLmstbWVudS1saW5rIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lbnUtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVudS1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGdhcDogJGtlbmRvLW1lbnUtaXRlbS1pY29uLXNwYWNpbmc7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuXG4gICAgLy8gTWVudSBpdGVtIHRleHRcbiAgICAuay1tZW51LWxpbmstdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuXG4gICAgLy8gRXhwYW5kIGFycm93XG4gICAgLmstbWVudS1leHBhbmQtYXJyb3cge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLSRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBPcmllbnRhdGlvbiAtLSBob3Jpem9udGFsXG4gICAgLmstbWVudS1ob3Jpem9udGFsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICA+IC5rLW1lbnUtaXRlbSArIC5rLW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tbWVudS1pdGVtLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8tbWVudS1zZXBhcmF0b3Itc3BhY2luZztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBPcmllbnRhdGlvbiAtLSB2ZXJ0aWNhbFxuICAgIC5rLW1lbnUtdmVydGljYWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgID4gLmstbWVudS1pdGVtICsgLmstbWVudS1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1tZW51LWl0ZW0tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstbWVudS1pdGVtID4gLmstbWVudS1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmctZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1tZW51LWl0ZW0gPiAuay1tZW51LWxpbmsgPiAuay1tZW51LWV4cGFuZC1hcnJvdyB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLWljb24tbWFyZ2luLXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0taWNvbi1tYXJnaW4tZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8tbWVudS1zZXBhcmF0b3Itc3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tY29tcG9uZW50LWJvcmRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBNZW51IHBvcHVwXG4gICAgLmstbWVudS1wb3B1cCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tbWVudS1wb3B1cC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3ViIG1lbnVcbiAgICAuay1tZW51LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAuay1tZW51LWl0ZW0gKyAuay1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLW1lbnUtc2VwYXJhdG9yLXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1tZW51LXBvcHVwIC5rLW1lbnUtZ3JvdXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBTaXplc1xuICAgIC5rLW1lbnUtZ3JvdXAtc20ge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1tZW51LXBvcHVwLXNtLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1tZW51LXBvcHVwLXNtLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAgIC8vIGpxdWVyeSBwb3B1cCBvdmVycmlkZXMgdGhvc2VcbiAgICAgICAgLmstbWVudS1pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW1lbnUtcG9wdXAtc20tZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1tZW51LXBvcHVwLXNtLWxpbmUtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWVudS1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1tZW51LXBvcHVwLXNtLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tZW51LXBvcHVwLXNtLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLXBhZGRpbmctZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWVudS1leHBhbmQtYXJyb3cge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLW1lbnUtcG9wdXAtc20taXRlbS1pY29uLW1hcmdpbi1zdGFydDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8tbWVudS1wb3B1cC1zbS1pdGVtLWljb24tbWFyZ2luLWVuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1tZW51LWdyb3VwLW1kIHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWVudS1wb3B1cC1tZC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbWVudS1wb3B1cC1tZC1saW5lLWhlaWdodDtcblxuICAgICAgICAvLyBqcXVlcnkgcG9wdXAgb3ZlcnJpZGVzIHRob3NlXG4gICAgICAgIC5rLW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1tZW51LXBvcHVwLW1kLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbWVudS1wb3B1cC1tZC1saW5lLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1lbnUtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1lbnUtZXhwYW5kLWFycm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1tZW51LXBvcHVwLW1kLWl0ZW0taWNvbi1tYXJnaW4tc3RhcnQ7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1pY29uLW1hcmdpbi1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbWVudS1ncm91cC1sZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW1lbnUtcG9wdXAtbGctZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lbnUtcG9wdXAtbGctbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgLy8ganF1ZXJ5IHBvcHVwIG92ZXJyaWRlcyB0aG9zZVxuICAgICAgICAuay1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbWVudS1wb3B1cC1sZy1mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lbnUtcG9wdXAtbGctbGluZS1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tZW51LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLW1lbnUtcG9wdXAtbGctaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6ICRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0tcGFkZGluZy1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tZW51LWV4cGFuZC1hcnJvdyB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tbWVudS1wb3B1cC1sZy1pdGVtLWljb24tbWFyZ2luLXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby1tZW51LXBvcHVwLWxnLWl0ZW0taWNvbi1tYXJnaW4tZW5kO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDb250ZXh0IG1lbnVcbiAgICAuay1wb3B1cHMtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5rLWNvbnRleHQtbWVudSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLW1lbnUtcG9wdXAtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1tZW51LXBvcHVwLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuICAgICAgICAmLmstbWVudS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1tZW51LXBvcHVwLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVudS1wb3B1cC1wYWRkaW5nLXk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstYW5pbWF0aW9uLWNvbnRhaW5lciAuay1jb250ZXh0LW1lbnUuay1tZW51LWhvcml6b250YWwge1xuICAgICAgICAvLyBrZW5kby1qcXVlcnkgYWRkcyBgZGlzcGxheTogYmxvY2tgIHZpYSBqcyBhbmQgd2UgbmVlZCB0byBvdmVycmlkZSBpdC5cbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG4gICAgLmstY29udGV4dC1tZW51LXBvcHVwIHtcbiAgICAgICAgei1pbmRleDogMTIwMDA7XG5cbiAgICAgICAgLmstY29udGV4dC1tZW51IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1wb3B1cCAuay1jb250ZXh0LW1lbnUsXG4gICAgLmstY29udGV4dC1tZW51LXBvcHVwIC5rLWNvbnRleHQtbWVudSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG5cblxuICAgIC8vIFNjcm9sbGluZ1xuICAgIC5rLW1lbnUtc2Nyb2xsLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLW1lbnUge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWVudS1zY3JvbGwtYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIDAgKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICYuay1zY3JvbGwtbGVmdCB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstc2Nyb2xsLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay1zY3JvbGwtdXAge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay1zY3JvbGwtZG93biB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1lbnUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby1tZW51LS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLmstbWVudS5rLW1lbnUtaG9yaXpvbnRhbDpub3QoLmstY29udGV4dC1tZW51KSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRuYXZiYXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJG5hdmJhci1wYWRkaW5nLXg7XG4gICAgfVxuICAgIC5rLW1lbnUuay1tZW51LXZlcnRpY2FsOm5vdCguay1jb250ZXh0LW1lbnUpIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJG5hdmJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgIH1cblxuICAgIC5rLW1lbnUtZ3JvdXAsXG4gICAgLmstbWVudS12ZXJ0aWNhbCB7XG5cbiAgICAgICAgLmstbWVudS1wb3B1cCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jb250ZXh0LW1lbnUtcG9wdXAge1xuICAgICAgICA+IC5rLXBvcHVwOm5vdCguay1tZW51LXBvcHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY29udGV4dC1tZW51IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL21lbnUvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVudS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lbnUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1tZW51LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbWVudS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtYmcsXG4gICAgICAgICAgICAka2VuZG8tbWVudS1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tbWVudS1ncmFkaWVudFxuICAgICAgICApO1xuXG4gICAgICAgID4gLmstaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1pdGVtLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtaXRlbS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtaXRlbS1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tZXhwYW5kZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtaXRlbS1leHBhbmRlZC1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtaXRlbS1leHBhbmRlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LWl0ZW0tZXhwYW5kZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1tZW51LWl0ZW0tZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1tZW51LWdyb3VwLFxuICAgIC5rLW1lbnUuay1jb250ZXh0LW1lbnUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWJnLFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtYm9yZGVyLFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtZ3JhZGllbnRcbiAgICAgICAgKTtcblxuICAgICAgICAuay1pdGVtID4gLmstbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUsXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1leHBhbmRlZC1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1leHBhbmRlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstaXRlbTpmb2N1cyxcbiAgICAgICAgLmstaXRlbS5rLWZvY3VzIHtcbiAgICAgICAgICAgID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTY3JvbGxpbmdcbiAgICAuay1tZW51LXNjcm9sbC13cmFwcGVyIC5rLW1lbnUtc2Nyb2xsLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLW1lbnUtc2Nyb2xsLWJ1dHRvbi1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWdyYWRpZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXNjcm9sbC1idXR0b24taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbWVudS1zY3JvbGwtYnV0dG9uLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXNjcm9sbC1idXR0b24taG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1tZW51LXNjcm9sbC1idXR0b24taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWl4aW4ga2VuZG8tbWVudS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW1lbnUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lbnUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1tZW51LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJtZW51XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1lbnUtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1tZW51LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUb29sYmFyXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgc21hbGwgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc20tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWxnLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMi41ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1zbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1sZy1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgVG9vbGJhciB0b29scy5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSB0b29scyBvZiB0aGUgc21hbGwgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc20tc3BhY2luZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMS41ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgdG9vbHMgb2YgdGhlIG1lZGl1bSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1tZC1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgdG9vbHMgb2YgdGhlIGxhcmdlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWxnLXNwYWNpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBUb29sYmFyLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWJnOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgc2VwYXJhdG9yIGJvcmRlciBvZiB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc2VwYXJhdG9yLWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgaW5wdXQgaW4gdGhlIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWlucHV0LXdpZHRoOiAxMGVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgVG9vbGJhciBpdGVtLlxuLy8vIEBncm91cCB0b29sYmFyXG4ka2VuZG8tdG9vbGJhci1pdGVtLXNoYWRvdzogMCAwIDAgLjI1cmVtIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tY29sb3ItcHJpbWFyeSwgLjI1ICkpICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIG9mIHRoZSBmbGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRvb2xiYXJcbiRrZW5kby10b29sYmFyLWZsYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZXMgbWFwIGZvciB0aGUgVG9vbGJhci5cbi8vLyBAZ3JvdXAgdG9vbGJhclxuJGtlbmRvLXRvb2xiYXItc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby10b29sYmFyLXNtLXBhZGRpbmcteCxcbiAgICAgICAgcGFkZGluZy15OiAka2VuZG8tdG9vbGJhci1zbS1wYWRkaW5nLXksXG4gICAgICAgIHNwYWNpbmc6ICRrZW5kby10b29sYmFyLXNtLXNwYWNpbmdcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIHBhZGRpbmcteDogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteSxcbiAgICAgICAgc3BhY2luZzogJGtlbmRvLXRvb2xiYXItbWQtc3BhY2luZ1xuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tdG9vbGJhci1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLXRvb2xiYXItbGctcGFkZGluZy15LFxuICAgICAgICBzcGFjaW5nOiAka2VuZG8tdG9vbGJhci1sZy1zcGFjaW5nXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90b29sYmFyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rvb2xiYXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstdG9vbGJhciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRvb2xiYXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRvb2xiYXItcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby10b29sYmFyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby10b29sYmFyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10b29sYmFyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby10b29sYmFyLXNwYWNpbmc7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy8gUmVtb3ZlIG9uY2Ugd2UgZGVjaWRlIHRvIG5vdCBzaXplIGVtcHR5IGNvbnRhaW5lcnNcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1idXR0b24tY2FsYy1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRvb2xiYXItcmVzaXphYmxlIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLXRvb2xiYXItc3BhY2luZztcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEJ1dHRvblxuICAgICAgICAuay1idXR0b24ge31cblxuXG4gICAgICAgIC8vIFRvZ2dsZSBidXR0b25cbiAgICAgICAgLmstdG9nZ2xlLWJ1dHRvbiB7fVxuXG5cbiAgICAgICAgLy8gQnV0dG9uIGdyb3VwXG4gICAgICAgIC5rLWJ1dHRvbi1ncm91cCB7fVxuXG5cbiAgICAgICAgLy8gU3BsaXQgYnV0dG9uXG4gICAgICAgIC5rLXNwbGl0LWJ1dHRvbiB7fVxuXG5cbiAgICAgICAgLy8gSW5wdXRcbiAgICAgICAgLmstaW5wdXQsXG4gICAgICAgIC5rLXBpY2tlciB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXRvb2xiYXItaW5wdXQtd2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLmstY29sb3ItcGlja2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE92ZXJmbG93IGFuY2hvclxuICAgICAgICAuay10b29sYmFyLW92ZXJmbG93LWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTZXBhcmF0b3JcbiAgICAgICAgLmstc2VwYXJhdG9yLFxuICAgICAgICAuay10b29sYmFyLXNlcGFyYXRvciB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LWVtO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTcGFjZXJcbiAgICAgICAgLmstdG9vbGJhci1zcGFjZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtZW07XG4gICAgICAgICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFRlbXBsYXRlIGl0ZW1cbiAgICAgICAgLmstdG9vbGJhci1pdGVtOmZvY3VzLFxuICAgICAgICAuay10b29sYmFyLWl0ZW0uay1mb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFRvb2xiYXIgZ3JvdXBcbiAgICAuay10b29sYmFyLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBnYXA6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBBbmd1bGFyIHNwZWNpZmljXG4gICAgLmstdG9vbGJhci1yZW5kZXJlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIFRvb2xiYXIgc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXRvb2xiYXItc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy14ICk7XG4gICAgICAgICRfcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXkgKTtcbiAgICAgICAgJF9zcGFjaW5nOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBzcGFjaW5nICk7XG5cbiAgICAgICAgLmstdG9vbGJhci0jeyRzaXplfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgICAgIGdhcDogJF9zcGFjaW5nO1xuXG4gICAgICAgICAgICAvLyBSZW1vdmUgb25jZSB3ZSBkZWNpZGUgdG8gbm90IHNpemUgZW1wdHkgY29udGFpbmVyc1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtJF9zcGFjaW5nO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+ICogPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRfc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBSZW1vdmUgb25jZSB3ZSBkZWNpZGUgdG8gbm90IHNpemUgZW1wdHkgY29udGFpbmVyc1xuICAgIC5rLXRvb2xiYXItc206OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWJ1dHRvbi1zbS1jYWxjLXNpemU7XG4gICAgfVxuICAgIC5rLXRvb2xiYXItbWQ6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWJ1dHRvbi1tZC1jYWxjLXNpemU7XG4gICAgfVxuICAgIC5rLXRvb2xiYXItbGc6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWJ1dHRvbi1sZy1jYWxjLXNpemU7XG4gICAgfVxuXG4gICAgLmstZmxvYXRpbmctdG9vbGJhcixcbiAgICAuZWRpdG9yVG9vbGJhcldpbmRvdy5rLXdpbmRvdy1jb250ZW50IHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby10b29sYmFyLW1kLXNwYWNpbmc7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstdG9vbGJhciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstZWRpdG9ydG9vbGJhci1kcmFnSGFuZGxlIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuXG5cbiAgICAvLyBSZW1vdmUgb25jZSB0aGUgT3ZlcmZsb3cgUG9wdXAgdXNlc1xuICAgIC8vIHRoZSBwcm9wZXIgTWVudSByZW5kZXJpbmcgaW4gYWxsIHN1aXRlcy5cblxuICAgIC8vIE92ZXJmbG93IGNvbnRhaW5lclxuICAgIC5rLW92ZXJmbG93LWNvbnRhaW5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW1lbnUtcG9wdXAtbWQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgPiAuay1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW46IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR3JvdXBcbiAgICAgICAgLmstb3ZlcmZsb3ctdG9vbC1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1dHRvblxuICAgICAgICAuay1vdmVyZmxvdy1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1dHRvbiBncm91cFxuICAgICAgICAuay1idXR0b24tZ3JvdXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgICAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGlmKCAka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCA9PSAwLCBudWxsLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNwbGl0IGJ1dHRvblxuICAgICAgICAuay1zcGxpdC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIaWRkZW4gaXRlbXNcbiAgICAgICAgLmstb3ZlcmZsb3ctaGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGbGF0IFRvb2xiYXJcbiAgICAuay10b29sYmFyLmstdG9vbGJhci1mbGF0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdG9vbGJhci1mbGF0LWJvcmRlci13aWR0aCAwO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyAgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rvb2xiYXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90b29sYmFyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFRoZW1lXG4gICAgLmstdG9vbGJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdG9vbGJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRvb2xiYXItYmcsXG4gICAgICAgICAgICAka2VuZG8tdG9vbGJhci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tdG9vbGJhci1ncmFkaWVudFxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tdG9vbGJhci1zaGFkb3cgKTtcblxuXG4gICAgICAgIC8vIFNlcGFyYXRvclxuICAgICAgICAuay1zZXBhcmF0b3IsXG4gICAgICAgIC5rLXRvb2xiYXItc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRvb2xiYXItc2VwYXJhdG9yLWJvcmRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gVGVtcGxhdGUgaXRlbVxuICAgICAgICAuay10b29sYmFyLWl0ZW06Zm9jdXMsXG4gICAgICAgIC5rLXRvb2xiYXItaXRlbS5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXRvb2xiYXItaXRlbS1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQnV0dG9uIGdyb3VwXG4gICAgICAgIC5rLWJ1dHRvbi1ncm91cCB7fVxuXG4gICAgfVxuXG4gICAgLmstZmxvYXRpbmctdG9vbGJhcixcbiAgICAuZWRpdG9yVG9vbGJhcldpbmRvdy5rLXdpbmRvdy1jb250ZW50IHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXRvb2xiYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby10b29sYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRvb2xiYXItYm9yZGVyLFxuICAgICAgICAgICAgJGtlbmRvLXRvb2xiYXItZ3JhZGllbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBPdmVyZmxvdyBjb250YWluZXJcbiAgICAuay1vdmVyZmxvdy1jb250YWluZXIge1xuXG4gICAgICAgIC5rLWJ1dHRvbiB7XG5cbiAgICAgICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEJ1dHRvbiBmb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0taG92ZXItdGV4dDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZFxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1leHBhbmRlZC10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1tZW51LXBvcHVwLWl0ZW0tZXhwYW5kZWQtYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRvb2xiYXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10b29sYmFyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10b29sYmFyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdG9vbGJhci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidG9vbGJhclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10b29sYmFyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdG9vbGJhci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImFjdGlvbnNcIixcbiAgICBkZXBlbmRlbmNpZXM6ICgpXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9fdmFyaWFibGVzLnNjc3Ncbi8vIEFjdGlvbnNcbiRrZW5kby1hY3Rpb25zLW1hcmdpbi10b3A6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnMtcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9ucy1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zLWJ1dHRvbi1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1hY3Rpb25zLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hY3Rpb24tYnV0dG9ucy9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hY3Rpb24tYnV0dG9ucy9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1hY3Rpb25zLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEFjdGlvbnNcbiAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy14O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1hY3Rpb25zLWJvcmRlci13aWR0aCAwIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1hY3Rpb25zLWJ1dHRvbi1zcGFjaW5nO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAvLyBUT0RPOiByZW1vdmVcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zIGluIHBvcHVwXG4gICAgLmstcG9wdXAgLmstYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1hY3Rpb25zLW1hcmdpbi10b3A7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9ucyBhbGlnblxuICAgIC5rLWFjdGlvbnMtc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtZW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gICAgLmstYWN0aW9ucy1zdHJldGNoZWQgPiAqIHtcbiAgICAgICAgZmxleDogMSAwIDAlO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9ucyBvcmllbnRhdGlvblxuICAgIC5rLWFjdGlvbnMtaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuICAgIC5rLWFjdGlvbnMtdmVydGljYWwge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgfVxuXG5cbiAgICAvLyBBbGlhc2VzXG4gICAgLmstZWRpdC1idXR0b25zLFxuICAgIC5rLWFjdGlvbi1idXR0b25zLFxuICAgIC5rLWNvbHVtbm1lbnUtYWN0aW9ucyB7XG4gICAgICAgIEBleHRlbmQgLmstYWN0aW9ucyAhb3B0aW9uYWw7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWFjdGlvbnMtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb25zLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBtaXhpbiBrZW5kby1hY3Rpb25zLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWN0aW9ucy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FjdGlvbi1idXR0b25zL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYWN0aW9uLWJ1dHRvbnMvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1hY3Rpb25zLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQWN0aW9uc1xuICAgIC5rLWFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnMtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnMtYm9yZGVyLFxuICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnMtZ3JhZGllbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYWN0aW9ucy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWN0aW9ucy0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWFjdGlvbnMtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbnMtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1hY3Rpb25zLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJhY3Rpb25zXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbnMtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb25zLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWN0aW9ucy0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZm9ybXMvX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9fdmFyaWFibGVzLnNjc3Ncbi8vIElucHV0XG5cbi8vLyBUaGUgZGVmYXVsdCB3aWR0aCBvZiB0aGUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1kZWZhdWx0LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4ka2VuZG8taW5wdXQtYm9yZGVyLWhlaWdodDogKCAka2VuZG8taW5wdXQtYm9yZGVyLXdpZHRoICogMiApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXBhZGRpbmcteDogJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNtLXBhZGRpbmcteDogJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXg6ICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXg6ICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiBpbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXBhZGRpbmcteTogJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXk6ICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteTogJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXk6ICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgaW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiBpbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBzbWFsbCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNtLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBtZWRpdW0gSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1tZC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgaW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1saW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgc21hbGwgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zbS1saW5lLWhlaWdodDogay1tYXRoLWRpdiggMjAsIDE0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBtZWRpdW0gSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1tZC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1sZy1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIG1hcCBmb3IgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1pbnB1dC1zbS1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWlucHV0LXNtLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taW5wdXQtc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWlucHV0LXNtLWxpbmUtaGVpZ2h0LFxuICAgICAgICBidXR0b24tcGFkZGluZy14OiAka2VuZG8taW5wdXQtc20tcGFkZGluZy15LFxuICAgICAgICBidXR0b24tcGFkZGluZy15OiAka2VuZG8taW5wdXQtc20tcGFkZGluZy15XG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWlucHV0LW1kLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taW5wdXQtbWQtZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWlucHV0LW1kLWxpbmUtaGVpZ2h0LFxuICAgICAgICBidXR0b24tcGFkZGluZy14OiAka2VuZG8taW5wdXQtbWQtcGFkZGluZy15LFxuICAgICAgICBidXR0b24tcGFkZGluZy15OiAka2VuZG8taW5wdXQtbWQtcGFkZGluZy15XG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1pbnB1dC1sZy1wYWRkaW5nLXgsXG4gICAgICAgIHBhZGRpbmcteTogJGtlbmRvLWlucHV0LWxnLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taW5wdXQtbGctZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWlucHV0LWxnLWxpbmUtaGVpZ2h0LFxuICAgICAgICBidXR0b24tcGFkZGluZy14OiAka2VuZG8taW5wdXQtbGctcGFkZGluZy15LFxuICAgICAgICBidXR0b24tcGFkZGluZy15OiAka2VuZG8taW5wdXQtbGctcGFkZGluZy15XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWJnOiAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtdGV4dDogJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaG92ZXJlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBob3ZlcmVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtaG92ZXItc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mb2N1cy1iZzogJGlucHV0LWZvY3VzLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZm9jdXMtdGV4dDogJGlucHV0LWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mb2N1cy1ib3JkZXI6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZvY3VzLXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zZWxlY3RlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zZWxlY3RlZC10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZGlzYWJsZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWRpc2FibGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGRpc2FibGVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZGlzYWJsZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZGlzYWJsZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1kaXNhYmxlZC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG91dGxpbmUgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLXRleHQ6ICRrZW5kby1iYXNlLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgb3V0bGluZSBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNTAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1iYXNlLXRleHQsIC41ICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIG91dGxpbmUgaG92ZXJlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG91dGxpbmUgaG92ZXJlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGhvdmVyZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGZvY3VzZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBvdXRsaW5lIGZvY3VzZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1vdXRsaW5lLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgb3V0bGluZSBmb2N1c2VkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1ib3JkZXI6ICRrZW5kby1pbnB1dC1mb2N1cy1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgb3V0bGluZSBmb2N1c2VkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1zaGFkb3c6ICRrZW5kby1pbnB1dC1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZmxhdCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LXRleHQ6ICRrZW5kby1pbnB1dC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZsYXQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWJvcmRlcjogJGtlbmRvLWlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmbGF0IGhvdmVyZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IGhvdmVyZWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZmxhdCBob3ZlcmVkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1ob3Zlci1ib3JkZXI6ICRrZW5kby1pbnB1dC1ob3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZmxhdCBmb2N1c2VkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZmxhdCBmb2N1c2VkIElucHV0IGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtZmxhdC1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZsYXQgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtYm9yZGVyOiAka2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZsYXQgZm9jdXNlZCBJbnB1dCBjb21wb25lbnRzLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtc2hhZG93OiAka2VuZG8taW5wdXQtZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIElucHV0IHBsYWNlaG9sZGVyLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXBsYWNlaG9sZGVyLXRleHQ6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvciAhZGVmYXVsdDtcbi8vLyBUaGUgb3BhY2l0eSBvZiB0aGUgSW5wdXQgcGxhY2Vob2xkZXIuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtcGxhY2Vob2xkZXItb3BhY2l0eTogMSAhZGVmYXVsdDtcblxuLy8vIFRoZSBjb2xvciBvZiB0aGUgSW5wdXQgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1jbGVhci12YWx1ZS10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBJbnB1dCBjbGVhciB2YWx1ZSBpY29uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgaG92ZXJlZCBJbnB1dCBjbGVhciB2YWx1ZSBpY29uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIGhvdmVyZWQgSW5wdXQgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1jbGVhci12YWx1ZS1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIG1hcmdpbiBvZiB0aGUgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC12YWx1ZXMtbWFyZ2luLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDAuNSApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgY2xlYXIgdmFsdWUgaWNvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC12YWx1ZXMtbWFyZ2luLXg6ICRrZW5kby1pbnB1dC12YWx1ZXMtbWFyZ2luLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIElucHV0IGJ1dHRvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1idXR0b24td2lkdGg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgSW5wdXQgYnV0dG9uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIElucHV0IHNwaW5uZXIgYnV0dG9uLlxuLy8vIEBncm91cCBpbnB1dFxuJGtlbmRvLWlucHV0LXNwaW5uZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGljb24gb2Zmc2V0IG9mIHRoZSBJbnB1dCBzcGlubmVyIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1zcGlubmVyLWljb24tb2Zmc2V0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBJbnB1dCBzZXBhcmF0b3IuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc2VwYXJhdG9yLXRleHQ6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBJbnB1dCBzZXBhcmF0b3IuXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc2VwYXJhdG9yLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIElucHV0IHByZWZpeC5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1wcmVmaXgtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBJbnB1dCBzdWZmaXguXG4vLy8gQGdyb3VwIGlucHV0XG4ka2VuZG8taW5wdXQtc3VmZml4LXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGludmFsaWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1pbnZhbGlkLWJvcmRlcjogJGtlbmRvLWludmFsaWQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGludmFsaWQgSW5wdXQgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgaW5wdXRcbiRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdzogJGtlbmRvLWludmFsaWQtc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItYmc6ICRrZW5kby1idXR0b24tYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItdGV4dDogJGtlbmRvLWJ1dHRvbi10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItYm9yZGVyOiAka2VuZG8tYnV0dG9uLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZ3JhZGllbnQ6ICRrZW5kby1idXR0b24tZ3JhZGllbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1zaGFkb3c6ICRrZW5kby1idXR0b24tc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1ob3Zlci1iZzogJGtlbmRvLWJ1dHRvbi1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWhvdmVyLXRleHQ6ICRrZW5kby1idXR0b24taG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItaG92ZXItYm9yZGVyOiAka2VuZG8tYnV0dG9uLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGhvdmVyZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1ob3Zlci1ncmFkaWVudDogJGtlbmRvLWJ1dHRvbi1ob3Zlci1ncmFkaWVudCAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItaG92ZXItc2hhZG93OiAka2VuZG8tYnV0dG9uLWhvdmVyLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZm9jdXMtYmc6ICRrZW5kby1idXR0b24tYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZm9jdXMtdGV4dDogJGtlbmRvLWJ1dHRvbi1mb2N1cy10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mb2N1cy1ib3JkZXI6ICRrZW5kby1idXR0b24tZm9jdXMtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBncmFkaWVudCBvZiB0aGUgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZvY3VzLWdyYWRpZW50OiAka2VuZG8tYnV0dG9uLWZvY3VzLWdyYWRpZW50ICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mb2N1cy1zaGFkb3c6ICRrZW5kby1idXR0b24tZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZGlzYWJsZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWRpc2FibGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGRpc2FibGVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZGlzYWJsZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZGlzYWJsZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1kaXNhYmxlZC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3V0bGluZSBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLW91dGxpbmUtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG91dGxpbmUgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLXRleHQ6ICRrZW5kby1idXR0b24tdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBvdXRsaW5lIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLXBpY2tlci1vdXRsaW5lLXRleHQsIC41ICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIG91dGxpbmUgaG92ZXJlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItYmc6ICRrZW5kby1waWNrZXItb3V0bGluZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBvdXRsaW5lIGhvdmVyZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgb3V0bGluZSBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1ib3JkZXI6ICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBvdXRsaW5lIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgb3V0bGluZSBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgb3V0bGluZSBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1zaGFkb3c6ICRrZW5kby1waWNrZXItZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIG91dGxpbmUgaG92ZXJlZCBhbmQgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIG91dGxpbmUgaG92ZXJlZCBhbmQgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGhvdmVyZWQgYW5kIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmbGF0IFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZmxhdC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZmxhdCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZsYXQtdGV4dDogJGtlbmRvLWJ1dHRvbi10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZsYXQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWJvcmRlcjogJGtlbmRvLWJ1dHRvbi1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZmxhdCBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDglLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1idXR0b24tdGV4dCwgLjA4ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IGhvdmVyZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZmxhdCBob3ZlcmVkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZmxhdCBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZmxhdC1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZmxhdCBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZmxhdC1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZsYXQgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZsYXQgZm9jdXNlZCBQaWNrZXIgY29tcG9uZW50cy5cbi8vLyBAZ3JvdXAgcGlja2VyXG4ka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtc2hhZG93OiAka2VuZG8tcGlja2VyLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmbGF0IGhvdmVyZWQgYW5kIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IGhvdmVyZWQgYW5kIGZvY3VzZWQgUGlja2VyIGNvbXBvbmVudHMuXG4vLy8gQGdyb3VwIHBpY2tlclxuJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZmxhdCBob3ZlcmVkIGFuZCBmb2N1c2VkIFBpY2tlciBjb21wb25lbnRzLlxuLy8vIEBncm91cCBwaWNrZXJcbiRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbHRpcC9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL192YXJpYWJsZXMuc2Nzc1xuLy8gVG9vbHRpcFxuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXBhZGRpbmcteTogJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXBhZGRpbmcteDogJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFRvb2x0aXAgdGl0bGUuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXRpdGxlLWZvbnQtc2l6ZTogKCRrZW5kby10b29sdGlwLWZvbnQtc2l6ZSAqIDEuMjUpICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVG9vbHRpcCB0aXRsZS5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtdGl0bGUtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgVG9vbHRpcCBjYWxsb3V0LlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemU6ICR0b29sdGlwLWFycm93LWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IGJhY2tncm91bmQgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApKSAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYXBwLXN1cmZhY2UgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLXRvb2x0aXAtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGRlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC1ib3JkZXI6ICRrZW5kby10b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJveC1zaGFkb3cgb2YgdGhlIFRvb2x0aXAuXG4vLy8gQGdyb3VwIHRvb2x0aXBcbiRrZW5kby10b29sdGlwLXNoYWRvdzogay1lbGV2YXRpb24oMikgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiB0b29sdGlwLXRoZW1lKCAkY29sb3JzICkge1xuICAgICRfdGhlbWU6ICgpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkY29sb3JzIHtcbiAgICAgICAgJF90aGVtZTogay1tYXAtbWVyZ2UoKCAkbmFtZTogKFxuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLFxuICAgICAgICAgICAgYm9yZGVyOiAkY29sb3IsXG4gICAgICAgICkpLCAkX3RoZW1lICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkX3RoZW1lO1xufVxuXG4vLy8gVGhlIHRoZW1lIGNvbG9ycyBtYXAgZm9yIHRoZSBUb29sdGlwLlxuLy8vIEBncm91cCB0b29sdGlwXG4ka2VuZG8tdG9vbHRpcC10aGVtZS1jb2xvcnM6ICRrZW5kby10aGVtZS1jb2xvcnMgIWRlZmF1bHQ7XG4vLy8gVGhlIGdlbmVyYXRlZCB0aGVtZSBjb2xvcnMgbWFwIGZvciB0aGUgVG9vbHRpcC5cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJGtlbmRvLXRvb2x0aXAtdGhlbWU6IHRvb2x0aXAtdGhlbWUoICRrZW5kby10b29sdGlwLXRoZW1lLWNvbG9ycyApICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90eXBvZ3JhcGh5L192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3R5cG9ncmFwaHkvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vd2luZG93L192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2FjdGlvbi1idXR0b25zL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gV2luZG93XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFdpbmRvdyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBvZiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctdGl0bGViYXItYm9yZGVyLXdpZHRoOiAwIDAgMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzdHlsZSBvZiB0aGUgYm9yZGVyIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgdGl0bGUgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXRpdGxlLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHRpdGxlIG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgYnV0dG9ucyBpbiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctYWN0aW9ucy1nYXA6IC41cmVtICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBidXR0b25zIGluIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1hY3Rpb24tb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIGhvdmVyZWQgYnV0dG9ucyBpbiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctYWN0aW9uLWhvdmVyLW9wYWNpdHk6IC43NSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNvbnRlbnQgb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjb250ZW50IG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFdpbmRvdyBhY3Rpb24gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJ1dHRvbmdyb3VwLXBhZGRpbmcteDogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBXaW5kb3cgYWN0aW9uIGJ1dHRvbnMuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy1idXR0b25ncm91cC1wYWRkaW5nLXk6ICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIHRvcCBib3JkZXIgb2YgdGhlIFdpbmRvdyBhY3Rpb24gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJ1dHRvbmdyb3VwLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgV2luZG93LlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctc2hhZG93OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIFdpbmRvdy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LWZvY3VzLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgV2luZG93IHRpdGxlYmFyLlxuLy8vIEBncm91cCB3aW5kb3dcbiRrZW5kby13aW5kb3ctdGl0bGViYXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSBXaW5kb3cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aXRsZWJhci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXAgb2YgdGhlIHdpZHRoIGZvciB0aGUgZGlmZmVyZW50IFdpbmRvdyBzaXplcy5cbi8vLyBAZ3JvdXAgd2luZG93XG4ka2VuZG8td2luZG93LXNpemVzOiAoXG4gICAgc206IDMwMHB4LFxuICAgIG1kOiA4MDBweCxcbiAgICBsZzogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRoZW1lIGNvbG9ycyBtYXAgZm9yIHRoZSBXaW5kb3cuXG4vLy8gQGdyb3VwIHdpbmRvd1xuJGtlbmRvLXdpbmRvdy10aGVtZS1jb2xvcnM6IChcbiAgICBcInByaW1hcnlcIjogay1tYXAtZ2V0KCRrZW5kby10aGVtZS1jb2xvcnMsIFwicHJpbWFyeVwiKSxcbiAgICBcImxpZ2h0XCI6IGstbWFwLWdldCgka2VuZG8tdGhlbWUtY29sb3JzLCBcImxpZ2h0XCIpLFxuICAgIFwiZGFya1wiOiBrLW1hcC1nZXQoJGtlbmRvLXRoZW1lLWNvbG9ycywgXCJkYXJrXCIpXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gRm9ybXNcblxuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSBpbmxpbmUgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tc3BhY2VyOiAka2VuZG8tcGFkZGluZy1tZC14ICogMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxpbmUtaGVpZ2h0OiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgRm9ybSBpbiBlbSB1bml0cy5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGluZS1oZWlnaHQtZW06IGNhbGMoICN7JGtlbmRvLWZvcm0tbGluZS1oZWlnaHR9ICogMWVtICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBzbWFsbCBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1zbS1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tbGctbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIEZvcm0gZmllbGRzZXQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWZpZWxkc2V0LW1hcmdpbjogMnJlbSAwIDAgIWRlZmF1bHQ7XG4vLy8gVGhlIHBhZGRpbmcgb2YgdGhlIEZvcm0gZmllbGRzZXQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWZpZWxkc2V0LXBhZGRpbmc6IDBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXJnaW4gb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtbWFyZ2luOiAwIDAgMXJlbSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1wYWRkaW5nOiAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItd2lkdGg6IDAgMCAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtYm9yZGVyLWNvbG9yOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxlZ2VuZC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY2FwaXRhbGl6YXRpb24gb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sZWdlbmQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBGb3JtIGxhYmVsLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIEZvcm0gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZvcm0tYnV0dG9uLW1hcmdpbi14OiA4cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGb3JtIGhpbnQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWhpbnQtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXhzICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHN0eWxlIG9mIHRoZSBGb3JtIGhpbnQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWhpbnQtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuLy8vIFRoZSB0b3AgbWFyZ2luIG9mIHRoZSBGb3JtIGhpbnQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWhpbnQtbWFyZ2luLXRvcDogNHB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHJvdyBzcGFjaW5nIG9mIHRoZSBzbWFsbCBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1zbS1yb3dzLXNwYWNpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgcm93IHNwYWNpbmcgb2YgdGhlIG1lZGl1bSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZm9ybS1tZC1yb3dzLXNwYWNpbmc6ICRrZW5kby1mb3JtLXNtLXJvd3Mtc3BhY2luZyAhZGVmYXVsdDtcbi8vLyBUaGUgcm93IHNwYWNpbmcgb2YgdGhlIGxhcmdlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLWxnLXJvd3Mtc3BhY2luZzogJGtlbmRvLWZvcm0tc20tcm93cy1zcGFjaW5nICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgRm9ybSBzZXBhcmF0b3IuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLXNlcGFyYXRvci1tYXJnaW46ICRrZW5kby1mb3JtLW1kLXJvd3Mtc3BhY2luZyAwIDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRm9ybSBzZXBhcmF0b3IuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLXNlcGFyYXRvci1ib3JkZXItY29sb3I6ICRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdG9wIHBhZGRpbmcgb2YgdGhlIGxhYmVsIGluIHRoZSBob3Jpem9udGFsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtcGFkZGluZy10b3A6IDVweCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIGxhYmVsIGluIHRoZSBob3Jpem9udGFsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtbWFyZ2luLXg6IDEwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBsYWJlbCBpbiB0aGUgaG9yaXpvbnRhbCBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLXdpZHRoOiAyNSUgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgYWxpZ25tZW50IG9mIHRoZSBsYWJlbCBpbiB0aGUgaG9yaXpvbnRhbCBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8taG9yaXpvbnRhbC1mb3JtLWxhYmVsLWFsaWduOiBmbGV4LWVuZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBmaWVsZCB3cmFwIGluIHRoZSBob3Jpem9udGFsIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1ob3Jpem9udGFsLWZvcm0tZmllbGQtd3JhcC1tYXgtd2lkdGg6IGNhbGMoICggMTAwJSAtICN7JGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC13aWR0aH0gKSAtICN7JGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1tYXJnaW4teH0gKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgaW5saW5lIEZvcm0gZWxlbWVudC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWlubGluZS1mb3JtLWVsZW1lbnQtd2lkdGg6IDI1JSAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbnZhbGlkIHRleHQgY29sb3Igb2YgdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3Jtcy1pbnZhbGlkLWNvbG9yOiAka2VuZG8tY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgb3B0aW9uYWwgbGFiZWwgaW4gdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1sYWJlbC1vcHRpb25hbC1tYXJnaW4teDogNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG9wdGlvbmFsIGxhYmVsIGluIHRoZSBGb3JtLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tbGFiZWwtb3B0aW9uYWwtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXhzICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHN0eWxlIG9mIHRoZSBvcHRpb25hbCBsYWJlbCBpbiB0aGUgRm9ybS5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWxhYmVsLW9wdGlvbmFsLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgRm9ybSBmaWVsZHNldC5cbi8vLyBAZ3JvdXAgZm9ybVxuJGtlbmRvLWZpZWxkc2V0LW1hcmdpbjogMzBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGb3JtIGZpZWxkc2V0LlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZmllbGRzZXQtZm9udC1zaXplOiAka2VuZG8taDQtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGb3JtIGZpZWxkc2V0LlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZmllbGRzZXQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZvcm0gZmllbGRzZXQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1maWVsZHNldC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZvcm0gZmllbGRzZXQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1maWVsZHNldC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1maWVsZHNldC1sZWdlbmQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZvcm0gbGVnZW5kLlxuLy8vIEBncm91cCBmb3JtXG4ka2VuZG8tZmllbGRzZXQtbGVnZW5kLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRm9ybSBsZWdlbmQuXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1maWVsZHNldC1sZWdlbmQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemVzIG1hcCBmb3IgdGhlIEZvcm0uXG4vLy8gQGdyb3VwIGZvcm1cbiRrZW5kby1mb3JtLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgZm9ybS1yb3dzLXNwYWNpbmc6ICRrZW5kby1mb3JtLXNtLXJvd3Mtc3BhY2luZ1xuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgZm9ybS1yb3dzLXNwYWNpbmc6ICRrZW5kby1mb3JtLW1kLXJvd3Mtc3BhY2luZ1xuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgZm9ybS1yb3dzLXNwYWNpbmc6ICRrZW5kby1mb3JtLWxnLXJvd3Mtc3BhY2luZ1xuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZm9ybXMvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Zvcm1zL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Zvcm1zL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWZvcm0tLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQ29tbW9uXG4gICAgLmstZm9ybSxcbiAgICAuay1mb3JtLWlubGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZvcm0tZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWZvcm0tbGluZS1oZWlnaHQ7XG4gICAgfVxuXG5cbiAgICAvLyBGaWVsZHNldFxuICAgIC5rLWZpZWxkc2V0IHtcbiAgICAgICAgbWFyZ2luOiAka2VuZG8tZmllbGRzZXQtbWFyZ2luO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMCAwO1xuXG4gICAgICAgID4gbGVnZW5kIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAka2VuZG8tcGFkZGluZy1tZC14IDAgMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExhYmVsXG4gICAga2VuZG8tbGFiZWwgPiAuay1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuay1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tbGFiZWwtb3B0aW9uYWwtbWFyZ2luLXg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxhYmVsLW9wdGlvbmFsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1zdHlsZTogJGtlbmRvLWxhYmVsLW9wdGlvbmFsLWZvbnQtc3R5bGU7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay1sYWJlbC1lbXB0eSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstaW5wdXQtbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtbWFyZ2luLXg7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJjpkaXIocnRsKSxcbiAgICAgICAgLmstcnRsICYsXG4gICAgICAgICYuay1ydGwsXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJixcbiAgICAgICAgJltkaXI9XCJydGxcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1ob3Jpem9udGFsLWZvcm0tbGFiZWwtbWFyZ2luLXg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFZlcnRpY2FsIEZvcm1cbiAgICAuay1mb3JtIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIC5rLWZvcm0tZmllbGQgPiAuay1sYWJlbCxcbiAgICAgICAgLmstZm9ybS1maWVsZCA+IGtlbmRvLWxhYmVsLFxuICAgICAgICAuay1mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1mb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGFiZWwgKyAuay1yYWRpbyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZvcm0tZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luOiAka2VuZG8tZm9ybS1maWVsZHNldC1tYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8tZm9ybS1maWVsZHNldC1wYWRkaW5nO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICY6bm90KC5rLWhpZGRlbik6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAgICAgJi5rLWhpZGRlbiArIDpub3QoLmstaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZm9ybS1sZWdlbmQge1xuICAgICAgICAgICAgbWFyZ2luOiAka2VuZG8tZm9ybS1sZWdlbmQtbWFyZ2luO1xuICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLWZvcm0tbGVnZW5kLXBhZGRpbmc7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1mb3JtLWxlZ2VuZC1ib3JkZXItc3R5bGU7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWZvcm0tbGVnZW5kLXdpZHRoO1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZm9ybS1sZWdlbmQtZm9udC1zaXplO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRrZW5kby1mb3JtLWxlZ2VuZC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gRm9ybSBncm91cFxuICAgICAgICAuay1mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgJjpub3QoLmstaGlkZGVuKTpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICYuay1oaWRkZW4gKyA6bm90KC5rLWhpZGRlbikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEZvcm0gZmllbGRcbiAgICAgICAgLmstZm9ybS1maWVsZCxcbiAgICAgICAgLmstZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZm9ybS1maWVsZC1kaXNhYmxlZCB7XG4gICAgICAgICAgICAuay1sYWJlbCxcbiAgICAgICAgICAgIC5rLWZvcm0tbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKCAka2VuZG8tZGlzYWJsZWQtc3R5bGluZyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstYWxlcnQtZXJyb3Ige1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLXBhZGRpbmctbWQteSAqIDI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWVsZC1pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS14cztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLXBhZGRpbmctbWQteDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmstbXVsdGlzZWxlY3QsXG4gICAgICAgIC5rLWZsb2F0aW5nLWxhYmVsLWNvbnRhaW5lcixcbiAgICAgICAgLmstZGF0ZXJhbmdlcGlja2VyIC5rLWRhdGVpbnB1dCxcbiAgICAgICAgLmstc2lnbmF0dXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIEJ1dHRvbnMgQ29udGFpbmVyXG4gICAgLmstZm9ybS1idXR0b25zIHtcbiAgICAgICAgQGV4dGVuZCAuay1hY3Rpb25zICFvcHRpb25hbDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLy8gRm9ybSBIaW50L0Vycm9yIE1lc3NhZ2VzXG4gICAgLmstZm9ybS1oaW50LFxuICAgIC5rLWZvcm0tZXJyb3Ige1xuICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tZm9ybS1oaW50LW1hcmdpbi10b3A7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZvcm0taGludC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRrZW5kby1mb3JtLWhpbnQtZm9udC1zdHlsZTtcbiAgICB9XG5cbiAgICAuay10ZXh0LXN0YXJ0LFxuICAgIC5rLWJ1dHRvbnMtc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmstdGV4dC1lbmQsXG4gICAgLmstYnV0dG9ucy1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC8vIEZvcm0gU2VwYXJhdG9yXG4gICAgLmstZm9ybS1zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46ICRrZW5kby1mb3JtLXNlcGFyYXRvci1tYXJnaW47XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgRm9ybVxuICAgIC5rLWZvcm0taG9yaXpvbnRhbCB7XG4gICAgICAgIC5rLWZvcm0tZmllbGQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgPiAuay1sYWJlbCxcbiAgICAgICAgICAgID4ga2VuZG8tbGFiZWwsXG4gICAgICAgICAgICA+IC5rLWZvcm0tbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1tYXJnaW4teDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1wYWRkaW5nLXRvcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC13aWR0aDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogJGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1hbGlnbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8taG9yaXpvbnRhbC1mb3JtLWZpZWxkLXdyYXAtbWF4LXdpZHRoO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSVEwgQWRqdXN0bWVudHNcbiAgICAuay1mb3JtIHtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSxcbiAgICAgICAgLmstcnRsICYge1xuICAgICAgICAgICAgLmstbGFiZWwtb3B0aW9uYWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWxhYmVsLW9wdGlvbmFsLW1hcmdpbi14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZm9ybS1ob3Jpem9udGFsIHtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSxcbiAgICAgICAgLmstcnRsICYge1xuICAgICAgICAgICAgJi5rLWZvcm0tZmllbGQsXG4gICAgICAgICAgICAuay1mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgICAgICA+IC5rLWxhYmVsLFxuICAgICAgICAgICAgICAgID4ga2VuZG8tbGFiZWwsXG4gICAgICAgICAgICAgICAgPiAuay1mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLWhvcml6b250YWwtZm9ybS1sYWJlbC1tYXJnaW4teDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tZm9ybS1zaXplcyB7XG4gICAgICAgICRfZm9ybS1yb3dzLXNwYWNpbmc6IGstbWFwLWdldCgkc2l6ZS1wcm9wcywgZm9ybS1yb3dzLXNwYWNpbmcpO1xuXG4gICAgICAgIC5rLWZvcm0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgLmstZm9ybS1maWVsZCxcbiAgICAgICAgICAgIC5rLWZvcm0tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJF9mb3JtLXJvd3Mtc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2NoZWR1bGVyXG4gICAgLmstZm9ybS1pbmxpbmUge1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8tZm9ybS1zcGFjZXI7XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIG1hcmdpbjogKCRrZW5kby1mb3JtLXNwYWNlciAqIDIpIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZWdlbmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tcGFkZGluZy1sZy15ICogMjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRrZW5kby1wYWRkaW5nLW1kLXggMCAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLXBhZGRpbmctbGcteSAqIDI7XG5cbiAgICAgICAgICAgID4gc3Bhbjpub3QoLmstd2lkZ2V0KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pbmxpbmUtZm9ybS1lbGVtZW50LXdpZHRoO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kO1xuICAgICAgICAgICAgICAgIC8vIFRPRE86IGRvIHdlIG5lZWQgdGhlIGlucHV0IHZhcmlhYmxlP1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoICN7JGtlbmRvLXBhZGRpbmctbWQteX0gKyAjeyRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGh9ICkgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tcGFkZGluZy1sZy14O1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGlucHV0Om5vdCguay1jaGVja2JveCk6bm90KC5rLXJhZGlvKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWFsZXJ0LWVycm9yIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1mb250LXNpemUtc207XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLXBhZGRpbmctbWQteSAqIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpZWxkLWluZm8ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS14cztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIEVkaXQgZm9ybVxuICAgIC5rLWVkaXQtZm9ybS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNDAwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uIGJ1dHRvbnNcbiAgICAuay1wb3B1cC1lZGl0LWZvcm0gPiAuay1hY3Rpb25zLFxuICAgIC5rLWVkaXQtZm9ybS1jb250YWluZXIgLmstYWN0aW9ucyB7XG4gICAgICAgIC8vIFRPRE86IHJlZmFjdG9yXG4gICAgICAgIG1hcmdpbjogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICgtJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXgpICgtJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXkpO1xuICAgIH1cblxuXG4gICAgLmstZWRpdC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMCAwIGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAwO1xuICAgICAgICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRoZSBpbnB1dCB2YXJpYWJsZT9cbiAgICAgICAgcGFkZGluZzogY2FsYyggI3ska2VuZG8taW5wdXQtcGFkZGluZy15fSArICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKSAwO1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWZvcm0tbGluZS1oZWlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICAuay1lZGl0LWZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApIDA7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5rLW5vLWVkaXRvciB7XG4gICAgICAgICAgICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRoZSBpbnB1dCB2YXJpYWJsZT9cbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoICN7JGtlbmRvLWlucHV0LXBhZGRpbmcteX0gKyAjeyRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGh9ICkgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWVkaXQtZmllbGQge1xuXG4gICAgICAgID4gLmstd2lkZ2V0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoLmstcmFkaW8pLFxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KC5rLWNoZWNrYm94KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC40ZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYWRpby1sYWJlbCxcbiAgICAgICAgLmstY2hlY2tib3gtbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXJlc2V0ID4gbGkgKyBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNldCAuay13aWRnZXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIC40ZXggMCAxZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZm9ybS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZvcm0tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLWZvcm0tLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLWZvcm0tLWxheW91dC1iYXNlKCk7XG5cbiAgICAvLyBGb3Jtc1xuICAgIC5rLWZvcm0sXG4gICAgLmstZm9ybS1pbmxpbmUge1xuICAgICAgICBsZWdlbmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICogMS41O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpZWxkLWluZm8ge1xuICAgICAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1mb3JtIHtcbiAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1wYWRkaW5nLW1kLXk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWVsZC1pbmZvIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGstbWF0aC1kaXYoICRrZW5kby1wYWRkaW5nLW1kLXgsIDIgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZvcm0taW5saW5lIHtcbiAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgID4gc3Bhbjpub3QoLmstd2lkZ2V0KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogY2FsYyggI3ska2VuZG8tcGFkZGluZy1tZC15fSAtICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKSAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1lZGl0LWxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogY2FsYyggI3ska2VuZG8tcGFkZGluZy1tZC15fSAtICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKSAwO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZm9ybXMvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZm9ybXMvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9mb3Jtcy9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWZvcm0tLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1mb3JtLFxuICAgIC5rLWZvcm0taW5saW5lIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tYm9keS10ZXh0ICk7XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1maWVsZHNldC1sZWdlbmQtdGV4dCApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZm9ybS1sZWdlbmQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWZvcm0tbGVnZW5kLWJvcmRlci1jb2xvciApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmllbGQtaW5mbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1zdWJ0bGUtdGV4dCApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYWxlcnQtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tY29sb3ItZXJyb3IgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZvcm0tZXJyb3IsXG4gICAgLmstdGV4dC1lcnJvcixcbiAgICAuay1mb3JtLWZpZWxkLWVycm9yIC5rLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tY29sb3ItZXJyb3IgKTtcbiAgICB9XG5cbiAgICAuay1mb3JtLXNlcGFyYXRvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1mb3JtLXNlcGFyYXRvci1ib3JkZXItY29sb3IgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZm9ybS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZm9ybS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWZvcm0tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZvcm0tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1mb3JtLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJmb3JtXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWZvcm0tLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1mb3JtLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tZm9ybS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdmFsaWRhdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdmFsaWRhdG9yL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInZhbGlkYXRvclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJ0b29sdGlwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2x0aXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInRvb2x0aXBcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3Rvb2x0aXAvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90b29sdGlwL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rvb2x0aXAvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay10b29sdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10b29sdGlwLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10b29sdGlwLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdG9vbHRpcC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby10b29sdGlwLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby10b29sdGlwLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEyMDAwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdG9vbHRpcC1pY29uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5rLXRvb2x0aXAtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdG9vbHRpcC10aXRsZS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdG9vbHRpcC10aXRsZS1saW5lLWhlaWdodDtcbiAgICB9XG5cbiAgICAuay10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgLmstdG9vbHRpcC1idXR0b24ge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FsbG91dFxuICAgIC5rLWNhbGxvdXQge1xuICAgICAgICB3aWR0aDogKCRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZSAqIDIpO1xuICAgICAgICBoZWlnaHQ6ICgka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemUgKiAyKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemU7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gVE9ETzpcbiAgICAvLyBTb21lIGltcGxlbWVudGF0aW9ucyByZWx5IG9uIG1hcmdpbiArIHRyYW5zZm9ybS1yb3RhdGUgdG8gcG9zaXRpb24gY2FsbG91dFxuICAgIC8vIFJlbW92ZSBtYXJnaW4gdHdlYWtpbmcgYW5kIHVuY29tbWVudCB3aGVuIHRoZWlyIGltcGxlbWVudGF0aW9uIGlzIGZpeGVkLlxuXG4gICAgLmstY2FsbG91dC1uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemU7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgLy8gdG9wOiAwO1xuICAgICAgICB0b3A6ICgtJGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplICogMik7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgLmstY2FsbG91dC1lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLSRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC8vIHJpZ2h0OiAwO1xuICAgICAgICByaWdodDogKC0ka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemUgKiAyKTtcbiAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTUwJSk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAuay1jYWxsb3V0LXMge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRrZW5kby10b29sdGlwLWNhbGxvdXQtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAvLyBib3R0b206IDA7XG4gICAgICAgIGJvdHRvbTogKC0ka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemUgKiAyKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMDAlKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIC5rLWNhbGxvdXQtdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemU7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgLy8gbGVmdDogMDtcbiAgICAgICAgbGVmdDogKC0ka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemUgKiAyKTtcbiAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC01MCUpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2x0aXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2x0aXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rvb2x0aXAvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90b29sdGlwL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tdGhlbWUtYmFzZSgpIHtcbiAgICAvLyBEZWZhdWx0IHRvb2x0aXBcbiAgICAuay10b29sdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10b29sdGlwLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdG9vbHRpcC1iZyxcbiAgICAgICAgICAgICRrZW5kby10b29sdGlwLWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXRvb2x0aXAtc2hhZG93ICk7XG5cbiAgICAgICAgLmstY2FsbG91dCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXRvb2x0aXAtYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUb29sdGlwIHZhcmlhbnRzXG4gICAgQGVhY2ggJG5hbWUsICRwcm9wcyBpbiAka2VuZG8tdG9vbHRpcC10aGVtZSB7XG4gICAgICAgIC5rLXRvb2x0aXAtI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICBrLW1hcC1nZXQoICRwcm9wcywgY29sb3IgKSxcbiAgICAgICAgICAgICAgICBrLW1hcC1nZXQoICRwcm9wcywgYmFja2dyb3VuZC1jb2xvciApLFxuICAgICAgICAgICAgICAgIGstbWFwLWdldCggJHByb3BzLCBib3JkZXIgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmstY2FsbG91dCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGstbWFwLWdldCggJHByb3BzLCBiYWNrZ3JvdW5kLWNvbG9yICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdG9vbHRpcC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdG9vbHRpcC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRvb2x0aXAtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2x0aXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10b29sdGlwLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0b29sdGlwXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRvb2x0aXAtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10b29sdGlwLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdG9vbHRpcC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3ZhbGlkYXRvci9fdmFyaWFibGVzLnNjc3NcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy92YWxpZGF0b3IvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3ZhbGlkYXRvci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy92YWxpZGF0b3IvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdmFsaWRhdG9yLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFZhbGlkYXRvclxuICAgIC5rLXZhbGlkYXRvciB7fVxuXG5cbiAgICAvLyBWYWxpZGF0b3IgdG9vbHRpcFxuICAgIC5rLXZhbGlkYXRvci10b29sdGlwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyggI3ska2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemV9ICsgI3ska2VuZG8tdG9vbHRpcC1ib3JkZXItd2lkdGh9ICk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvLyBOT1RFOiBUaGlzIHdvcmtzIGFyb3VuZCBwb3B1cCAvIHRvb2x0aXAgc3RhY2tpbmcgaXNzdWVcbiAgICAgICAgei1pbmRleDogOTk5OTtcblxuICAgICAgICAvLyAuay1jYWxsb3V0LW4geyBpbnNldC1pbmxpbmUtc3RhcnQ6IDE2cHg7IH1cbiAgICB9XG4gICAgLmstZ3JpZCAuay12YWxpZGF0b3ItdG9vbHRpcCB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXZhbGlkYXRvci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby12YWxpZGF0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby12YWxpZGF0b3ItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy92YWxpZGF0b3IvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdmFsaWRhdG9yL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdmFsaWRhdG9yL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdmFsaWRhdG9yLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVmFsaWRhdG9yXG4gICAgLmstdmFsaWRhdG9yIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdmFsaWRhdG9yLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby12YWxpZGF0b3ItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby12YWxpZGF0b3ItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXZhbGlkYXRvci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidmFsaWRhdG9yXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJmbG9hdGluZy1sYWJlbFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImlucHV0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiaW5wdXRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW5wdXQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW5wdXQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8taW5wdXQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gR2VuZXJpYyBpbnB1dFxuICAgIC5rLWlucHV0LFxuICAgIC5rLXBpY2tlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1pbnB1dC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1pbnB1dC1kZWZhdWx0LXdpZHRoO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWlucHV0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1pbnB1dC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taW5wdXQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWlucHV0LWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWlucHV0LFxuICAgICAgICA+IC5rLXBpY2tlciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZpeCBmb3IgU2FmYXJpXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtcGxhY2Vob2xkZXItdGV4dDtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci1vcGFjaXR5O1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBhbmQgVGV4dGFyZWFcbiAgICAuay1pbnB1dCB7fVxuICAgIGlucHV0LmstaW5wdXQsXG4gICAgdGV4dGFyZWEuay10ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1pbnB1dC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8taW5wdXQtcGFkZGluZy14O1xuXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRpc2FibGVkKCAka2VuZG8tZGlzYWJsZWQtc3R5bGluZyApO1xuXG4gICAgICAgICAgICBbZGlzYWJsZWRdICYsXG4gICAgICAgICAgICAuay1kaXNhYmxlZCAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhLmstdGV4dGFyZWEge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cblxuICAgIC8vIFBpY2tlclxuICAgIC5rLXBpY2tlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgc2VsZWN0LmstcGlja2VyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWlucHV0LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1pbnB1dC1wYWRkaW5nLXg7XG4gICAgICAgIGFwcGVhcmFuY2U6IGF1dG87XG5cbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQoICRrZW5kby1kaXNhYmxlZC1zdHlsaW5nICk7XG5cbiAgICAgICAgICAgIFtkaXNhYmxlZF0gJixcbiAgICAgICAgICAgIC5rLWRpc2FibGVkICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIElucHV0IGlubmVyXG4gICAgLmstaW5wdXQtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8taW5wdXQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWlucHV0LXBhZGRpbmcteDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtcGxhY2Vob2xkZXItdGV4dDtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci1vcGFjaXR5O1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkXG4gICAgICAgICY6aW52YWxpZCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNwYW4uay1pbnB1dC1pbm5lciB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgdGV4dGFyZWEuay1pbnB1dC1pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cblxuICAgIC8vIElucHV0IHZhbHVlXG4gICAgLmstaW5wdXQtdmFsdWUtaWNvbiB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuICAgIC5rLWlucHV0LXZhbHVlLXRleHQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gICAgLmstaW5wdXQtdmFsdWUtdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuXG4gICAgLy8gSW5wdXQgbXVsdGlwbGUgdmFsdWVzXG4gICAgLmstaW5wdXQtdmFsdWVzIHtcbiAgICAgICAgbWluLXdpZHRoOiAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgfVxuICAgIC5rLWlucHV0LXZhbHVlcyAuay1jaGlwLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cblxuICAgIC8vIEljb24gcGlja2VyXG4gICAgLmstaWNvbi1waWNrZXIge1xuICAgICAgICAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8taW5wdXQtcGFkZGluZy15O1xuICAgICAgICAgICAgLy8gVE9ETyB3ZSBuZWVkIGJldHRlciB3YXlcbiAgICAgICAgICAgIC8vIHdpZHRoOiAka2VuZG8taW5wdXQtaW5uZXItY2FsYy1oZWlnaHQ7XG4gICAgICAgICAgICAvLyBoZWlnaHQ6ICRrZW5kby1pbnB1dC1pbm5lci1jYWxjLWhlaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbnB1dCBwcmVmaXggYW5kIHN1ZmZpeFxuICAgIC5rLWlucHV0LXByZWZpeCxcbiAgICAuay1pbnB1dC1zdWZmaXgge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIElucHV0IHNlcGFyYXRvclxuICAgIC5rLWlucHV0LXNlcGFyYXRvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAgICAgJi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6ICRrZW5kby1pbnB1dC1tZC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIElucHV0IHdpdGggaWNvbiBzdHlsZXNcbiAgICAuay1pbnB1dC1pY29uLFxuICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbixcbiAgICAuay1pbnB1dC1sb2FkaW5nLWljb24ge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG5cbiAgICAuay1pbnB1dC1sb2FkaW5nLWljb24ge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taWNvbi1zaXplO1xuICAgIH1cblxuICAgIC8vIElucHV0IHdpdGggU1ZHIGljb25cbiAgICAuay1pbnB1dC1pY29uLFxuICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbixcbiAgICAuay1pbnB1dC1sb2FkaW5nLWljb24ge1xuICAgICAgICAmLmstc3ZnLWljb24gPiBzdmcsXG4gICAgICAgICYuay1pY29uLW1kID4gc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taWNvbi1zaXplLW1kO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLW1kO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWljb24teHMgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteHM7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteHM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstaWNvbi1zbSA+IHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWljb24tc2l6ZS1zbTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS1zbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pY29uLWxnID4gc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taWNvbi1zaXplLWxnO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLWxnO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWljb24teGwgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteGw7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteGw7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstaWNvbi14eGwgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteHhsO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLXh4bDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1pY29uLXh4eGwgPiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1pY29uLXNpemUteHh4bDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWljb24tc2l6ZS14eHhsO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDbGVhciB2YWx1ZVxuICAgIC5rLWNsZWFyLXZhbHVlIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgY29sb3I6ICRrZW5kby1pbnB1dC1jbGVhci12YWx1ZS10ZXh0O1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8taW5wdXQtY2xlYXItdmFsdWUtb3BhY2l0eTtcbiAgICB9XG4gICAgLmstY2xlYXItdmFsdWU6aG92ZXIsXG4gICAgLmstY2xlYXItdmFsdWUuay1ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtY2xlYXItdmFsdWUtaG92ZXItdGV4dDtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWlucHV0LWNsZWFyLXZhbHVlLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuICAgIC5rLWNsZWFyLXZhbHVlOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICB9XG5cblxuICAgIC8vIElucHV0IGJ1dHRvblxuICAgIC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBpZiggJGtlbmRvLXVzZS1pbnB1dC1idXR0b24td2lkdGgsICRrZW5kby1pbnB1dC1idXR0b24td2lkdGgsIGF1dG8gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAka2VuZG8taW5wdXQtYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgID4gLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcGlja2VyIC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuXG4gICAgLy8gSW5wdXQgc3Bpbm5lclxuICAgIC5rLWlucHV0LXNwaW5uZXIge1xuICAgICAgICB3aWR0aDogaWYoICRrZW5kby11c2UtaW5wdXQtc3Bpbm5lci13aWR0aCwgJGtlbmRvLWlucHV0LXNwaW5uZXItd2lkdGgsIGF1dG8gKTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgIC5rLXNwaW5uZXItaW5jcmVhc2UsXG4gICAgICAgIC5rLXNwaW5uZXItZGVjcmVhc2Uge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogJGtlbmRvLWlucHV0LWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcblxuICAgICAgICAgICAgLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogLTFlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1zcGlubmVyLWluY3JlYXNlIC5rLWljb24ge1xuICAgICAgICAgICAgYm90dG9tOiBpZiggJGtlbmRvLXVzZS1pbnB1dC1zcGlubmVyLWljb24tb2Zmc2V0LCBjYWxjKCAtMSAqICN7JGtlbmRvLWlucHV0LXNwaW5uZXItaWNvbi1vZmZzZXR9KSwgYXV0byApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNwaW5uZXItZGVjcmVhc2UgLmstaWNvbiB7XG4gICAgICAgICAgICB0b3A6IGlmKCAka2VuZG8tdXNlLWlucHV0LXNwaW5uZXItaWNvbi1vZmZzZXQsIGNhbGMoIC0xICogI3ska2VuZG8taW5wdXQtc3Bpbm5lci1pY29uLW9mZnNldH0pLCBhdXRvICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNlYXJjaGJhclxuICAgIC5rLXNlYXJjaGJhciB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuXG5cbiAgICAvLyBMZWdhY3kgd3JhcHBlcnNcbiAgICAuay1waWNrZXItd3JhcCxcbiAgICAuay1kcm9wZG93bi13cmFwLFxuICAgIC5rLWRhdGVpbnB1dC13cmFwLFxuICAgIC5rLW11bHRpc2VsZWN0LXdyYXAsXG4gICAgLmstbnVtZXJpYy13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxsIG1vZGVcbiAgICAuay1pbnB1dC1mbGF0LFxuICAgIC5rLXBpY2tlci1mbGF0IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoIDAgIWltcG9ydGFudCApOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1pbnB1dC1ib3JkZXItd2lkdGggMDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIH1cblxuICAgIC5rLWlucHV0LW91dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG5cbiAgICAvLyBTaXppbmdcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLWlucHV0LXNpemVzIHtcbiAgICAgICAgJF9wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHBhZGRpbmcteCApO1xuICAgICAgICAkX3BhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy15ICk7XG4gICAgICAgICRfZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9idXR0b24tcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBidXR0b24tcGFkZGluZy14ICk7XG4gICAgICAgICRfYnV0dG9uLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgYnV0dG9uLXBhZGRpbmcteSApO1xuXG4gICAgICAgIC5rLWlucHV0LSN7JHNpemV9LFxuICAgICAgICAuay1waWNrZXItI3skc2l6ZX0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG4gICAgICAgICAgICAuay1pbnB1dC12YWx1ZXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGstbWF0aC1kaXYoICRfcGFkZGluZy15LCAyICk7XG4gICAgICAgICAgICAgICAgZ2FwOiBrLW1hdGgtZGl2KCAkX3BhZGRpbmcteSwgMiApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaW5wdXQtdmFsdWVzID4gLmstc2VhcmNoYmFyLFxuICAgICAgICAgICAgLmstaW5wdXQtdmFsdWVzID4gLmstaW5wdXQtaW5uZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLSBrLW1hdGgtZGl2KCAkX3BhZGRpbmcteSwgMiApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pbnB1dC1idXR0b24sXG4gICAgICAgICAgICAuay1zcGlubmVyLWluY3JlYXNlLFxuICAgICAgICAgICAgLmstc3Bpbm5lci1kZWNyZWFzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9idXR0b24tcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2J1dHRvbi1wYWRkaW5nLXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWlucHV0LWljb24sXG4gICAgICAgICAgICAuay1pbnB1dC12YWxpZGF0aW9uLWljb24sXG4gICAgICAgICAgICAuay1pbnB1dC1sb2FkaW5nLWljb24sXG4gICAgICAgICAgICAuay1jbGVhci12YWx1ZSxcbiAgICAgICAgICAgIC5rLWlucHV0LXByZWZpeCA+IC5rLWljb24sXG4gICAgICAgICAgICAuay1pbnB1dC1wcmVmaXggPiAuay1pbnB1dC1wcmVmaXgtdGV4dCxcbiAgICAgICAgICAgIC5rLWlucHV0LXN1ZmZpeCA+IC5rLWljb24sXG4gICAgICAgICAgICAuay1pbnB1dC1zdWZmaXggPiAuay1pbnB1dC1zdWZmaXgtdGV4dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pbnB1dC1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgICAgICYtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtdmVydGljYWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWljb24tcGlja2VyIC5rLWlucHV0LWlubmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggI3sgJF9saW5lLWhlaWdodCAqIDFlbSB9ICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyAkX2xpbmUtaGVpZ2h0ICogMWVtIH0gKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1kcm9wZG93bi1vcGVyYXRvci5rLXBpY2tlci0jeyRzaXplfSB7XG4gICAgICAgICAgICAuay1pbnB1dC1idXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNlbGVjdC5rLXBpY2tlci0jeyRzaXplfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX3BhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQW5ndWxhciBzcGVjaWZpY1xuICAgIC5rLWlucHV0ID4ga2VuZG8tcG9wdXAsXG4gICAgLmstcGlja2VyID4ga2VuZG8tcG9wdXAge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIHRoZSB0ZXh0Ym94IGNvbnRhaW5lciB0byBjYXB0dXJlIGJyb3dzZXIgYXV0b2ZpbGxcbiAgICBAa2V5ZnJhbWVzIGF1dG9GaWxsU3RhcnQgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIGZyb20ge31cbiAgICAgICAgdG8ge31cbiAgICB9XG4gICAgQGtleWZyYW1lcyBhdXRvRmlsbEVuZCB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgZnJvbSB7fVxuICAgICAgICB0byB7fVxuICAgIH1cblxuICAgIC8vIEdlbmVyaWMgY2xhc3MgZm9yIGF1dG9maWxsIGFuaW1hdGlvbnNcbiAgICAuay1hdXRvZmlsbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGF1dG9GaWxsU3RhcnQ7XG4gICAgfVxuICAgIC5rLWF1dG9maWxsOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCkge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogYXV0b0ZpbGxFbmQ7XG4gICAgfVxuXG5cbiAgICAuay1pbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGF1dG9GaWxsU3RhcnQ7XG4gICAgfVxuICAgIC5rLWlucHV0Om5vdCg6LXdlYmtpdC1hdXRvZmlsbCkge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogYXV0b0ZpbGxFbmQ7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWlucHV0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8taW5wdXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLWlucHV0LS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIElucHV0LCBUZXh0Ym94XG4gICAgLmstdGV4dGJveCB7XG4gICAgICAgIHRyYW5zaXRpb246ICRrZW5kby10cmFuc2l0aW9uO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW5wdXQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pbnB1dC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWlucHV0LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU29saWQgaW5wdXRcbiAgICAuay1pbnB1dC1zb2xpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8taW5wdXQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1iZyxcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWhvdmVyLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1pbnB1dC1ob3Zlci1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZFxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW2Rpc2FibGVkXSxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1kaXNhYmxlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWlucHV0LWRpc2FibGVkLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIgKTtcblxuICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWludmFsaWQtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJlZml4ICYgU3VmZml4XG4gICAgICAgIC5rLWlucHV0LXByZWZpeCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWlucHV0LXByZWZpeC10ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaW5wdXQtc3VmZml4IHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtc3VmZml4LXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8taW5wdXQtc2VwYXJhdG9yLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNvbGlkIHBpY2tlclxuICAgIC5rLXBpY2tlci1zb2xpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLWdyYWRpZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1waWNrZXItaG92ZXItc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXBpY2tlci1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZvY3VzLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcGlja2VyLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcGlja2VyLWRpc2FibGVkLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIgKTtcblxuICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWludmFsaWQtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBPdXRsaW5lIGlucHV0XG4gICAgLmstaW5wdXQtb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1vdXRsaW5lLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJiA+IC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gLmstaW5wdXQtc3Bpbm5lciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICYgPiAuay1zcGlubmVyLWluY3JlYXNlLFxuICAgICAgICAgICAgJiA+IC5rLXNwaW5uZXItZGVjcmVhc2Uge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1vdXRsaW5lLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1vdXRsaW5lLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LW91dGxpbmUtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtb3V0bGluZS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8taW5wdXQtZGlzYWJsZWQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkXG4gICAgICAgICYuay1pbnZhbGlkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctdG91Y2hlZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLWRpcnR5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1pbnB1dC1pbnZhbGlkLWJvcmRlciApO1xuXG4gICAgICAgICAgICAuay1pbnB1dC12YWxpZGF0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW52YWxpZC10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWludmFsaWQtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmVmaXggJiBTdWZmaXhcbiAgICAgICAgLmstaW5wdXQtcHJlZml4IHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8taW5wdXQtcHJlZml4LXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1zdWZmaXgge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1pbnB1dC1zdWZmaXgtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LXNlcGFyYXRvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1pbnB1dC1zZXBhcmF0b3ItdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gT3V0bGluZSBwaWNrZXJcbiAgICAuay1waWNrZXItb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1vdXRsaW5lLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcGlja2VyLW91dGxpbmUtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1vdXRsaW5lLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1waWNrZXItb3V0bGluZS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXM6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMuay1ob3ZlcixcbiAgICAgICAgJi5rLWZvY3VzOmhvdmVyLFxuICAgICAgICAmLmstZm9jdXMuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLW91dGxpbmUtaG92ZXItZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1vdXRsaW5lLWhvdmVyLWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbZGlzYWJsZWRdLFxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBpY2tlci1kaXNhYmxlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWRcbiAgICAgICAgJi5rLWludmFsaWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWlucHV0LWludmFsaWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1pbnZhbGlkLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWludmFsaWQtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmxhdCBpbnB1dFxuICAgIC5rLWlucHV0LWZsYXQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LXRleHQsXG4gICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEhvdmVyXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWhvdmVyLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWlucHV0LWZsYXQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZmxhdC1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1mbGF0LWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1kaXNhYmxlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taW5wdXQtZGlzYWJsZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1pbnB1dC1kaXNhYmxlZC1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1pbnB1dC1kaXNhYmxlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWRcbiAgICAgICAgJi5rLWludmFsaWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWlucHV0LWludmFsaWQtYm9yZGVyICk7XG5cbiAgICAgICAgICAgIC5rLWlucHV0LXZhbGlkYXRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1pbnZhbGlkLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWlucHV0LWludmFsaWQtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZWZpeCAmIFN1ZmZpeFxuICAgICAgICAuay1pbnB1dC1wcmVmaXgge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1pbnB1dC1wcmVmaXgtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWlucHV0LXN1ZmZpeCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWlucHV0LXN1ZmZpeC10ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaW5wdXQtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWlucHV0LXNlcGFyYXRvci10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBGbGF0IHBpY2tlclxuICAgIC5rLXBpY2tlci1mbGF0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tcGlja2VyLWZsYXQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1waWNrZXItZmxhdC1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZsYXQtZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXBpY2tlci1mbGF0LWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1czpob3ZlcixcbiAgICAgICAgJjpmb2N1cy5rLWhvdmVyLFxuICAgICAgICAmLmstZm9jdXM6aG92ZXIsXG4gICAgICAgICYuay1mb2N1cy5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZmxhdC1ob3Zlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWZsYXQtaG92ZXItZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGlja2VyLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1waWNrZXItZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcGlja2VyLWRpc2FibGVkLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8taW5wdXQtaW52YWxpZC1ib3JkZXIgKTtcblxuICAgICAgICAgICAgLmstaW5wdXQtdmFsaWRhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWludmFsaWQtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8taW5wdXQtaW52YWxpZC1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1pbnB1dC1pbnZhbGlkLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWlucHV0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWlucHV0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWlucHV0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJpbnB1dFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1pbnB1dC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWlucHV0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8taW5wdXQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL192YXJpYWJsZXMuc2Nzc1xuLy8gRmxvYXRpbmcgbGFiZWxcblxuLy8vIFRoZSB0cmFuc2Zvcm1hdGlvbiBzY2FsZSBvZiB0aGUgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtc2NhbGU6IDEgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9udC1zaXplOiAka2VuZG8taW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC1tYXgtd2lkdGg6IDkwJSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEZsb2F0aW5nIExhYmVsLlxuLy8vIEBncm91cCBmbG9hdGluZy1sYWJlbFxuJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWxpbmUtaGVpZ2h0OiAka2VuZG8taW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1saW5lLWhlaWdodH0gKiAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb250LXNpemV9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgb2Zmc2V0IG9mIHRoZSBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteDogY2FsYyggI3ska2VuZG8taW5wdXQtcGFkZGluZy14fSArICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgb2Zmc2V0IG9mIHRoZSBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteTogY2FsYyggI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtaGVpZ2h0fSArICN7JGtlbmRvLWlucHV0LWJvcmRlci13aWR0aH0gKyAjeyRrZW5kby1pbnB1dC1wYWRkaW5nLXl9ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdHJhbnNmb3JtYXRpb24gc2NhbGUgb2YgdGhlIGZvY3VzZWQgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtc2NhbGU6IDEgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgb2Zmc2V0IG9mIHRoZSBmb2N1c2VkIEZsb2F0aW5nIExhYmVsLlxuLy8vIEBncm91cCBmbG9hdGluZy1sYWJlbFxuJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC14OiAwICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBvZmZzZXQgb2YgdGhlIGZvY3VzZWQgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXk6IDAgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdHJhbnNpdGlvbiBvZiB0aGUgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbjogLjJzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZsb2F0aW5nIExhYmVsLlxuLy8vIEBncm91cCBmbG9hdGluZy1sYWJlbFxuJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGbG9hdGluZyBMYWJlbC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctbGFiZWxcbiRrZW5kby1mbG9hdGluZy1sYWJlbC10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgRmxvYXRpbmcgTGFiZWwuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWxhYmVsXG4ka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmxvYXRpbmctbGFiZWwvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmxvYXRpbmctbGFiZWwvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZmxvYXRpbmctbGFiZWwtLWxheW91dC1iYXNlKCkge1xuXG5cbiAgICAvLyBGbG9hdGluZyBsYWJlbFxuICAgIC5rLWZsb2F0aW5nLWxhYmVsLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAka2VuZG8tZmxvYXRpbmctbGFiZWwtaGVpZ2h0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1sYWJlbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby1mbG9hdGluZy1sYWJlbC1tYXgtd2lkdGg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1mbG9hdGluZy1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteSwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXl9KTtcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC14LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteH0pO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLCBjb2xvciAka2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbiwgdG9wICRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLCBsZWZ0ICRrZW5kby1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay13aWRnZXQge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1lbXB0eSB7XG4gICAgICAgICAgICA+IC5rLWxhYmVsIHtcbiAgICAgICAgICAgICAgICB0b3A6IHZhcigtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC15LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteX0pO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHZhcigtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLW9mZnNldC14LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteH0pO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoICRrZW5kby1mbG9hdGluZy1sYWJlbC1zY2FsZSApO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1sYWJlbCxcbiAgICAgICAgJi5rLWZvY3VzID4gLmstbGFiZWwge1xuICAgICAgICAgICAgdG9wOiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteSwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXl9KTtcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC14LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteH0pO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSggJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLXNjYWxlICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cy13aXRoaW4gPiAuay1sYWJlbCB7XG4gICAgICAgICAgICB0b3A6IHZhcigtLWtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC15LCAjeyRrZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteX0pO1xuICAgICAgICAgICAgbGVmdDogdmFyKC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXgsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC14fSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCAka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtc2NhbGUgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1lbXB0eTpub3QoLmstZm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSA6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJixcbiAgICAgICAgLmstcnRsICYsXG4gICAgICAgICZbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAgICAgPiAuay1sYWJlbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAka2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbiwgY29sb3IgJGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb24sIHRvcCAka2VuZG8tZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbiwgcmlnaHQgJGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRyYW5zaXRpb247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1lbXB0eSB7XG4gICAgICAgICAgICAgICAgPiAuay1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1vZmZzZXQteCwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtb2Zmc2V0LXh9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstbGFiZWwsXG4gICAgICAgICAgICAmLmstZm9jdXMgPiAuay1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogdmFyKC0ta2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXgsICN7JGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLW9mZnNldC14fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiA+IC5rLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiB2YXIoLS1rZW5kby1mbG9hdGluZy1sYWJlbC1mb2N1cy1vZmZzZXQteCwgI3ska2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtb2Zmc2V0LXh9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1mbG9hdGluZy1sYWJlbC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZsb2F0aW5nLWxhYmVsLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWZsb2F0aW5nLWxhYmVsLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmxvYXRpbmctbGFiZWwtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9mbG9hdGluZy1sYWJlbC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Zsb2F0aW5nLWxhYmVsL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZmxvYXRpbmctbGFiZWwtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBGbG9hdGluZyBsYWJlbFxuICAgIC5rLWZsb2F0aW5nLWxhYmVsLWNvbnRhaW5lciB7XG5cbiAgICAgICAgPiAuay1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGtlbmRvLWZsb2F0aW5nLWxhYmVsLXRleHQsXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZmxvYXRpbmctbGFiZWwtYmdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZm9jdXMgPiAuay1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGtlbmRvLWZsb2F0aW5nLWxhYmVsLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZmxvYXRpbmctbGFiZWwtZm9jdXMtYmdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstaW52YWxpZCA+IC5rLWxhYmVsLFxuICAgICAgICAmLm5nLWludmFsaWQubmctdG91Y2hlZCA+IC5rLWxhYmVsLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkgPiAuay1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsICggJGNvbG9yOiAka2VuZG8taW52YWxpZC10ZXh0ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZmxvYXRpbmctbGFiZWwtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZsb2F0aW5nLWxhYmVsLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZmxvYXRpbmctbGFiZWwtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZsb2F0aW5nLWxhYmVsLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZmxvYXRpbmctbGFiZWwtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImZsb2F0aW5nLWxhYmVsXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWZsb2F0aW5nLWxhYmVsLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZmxvYXRpbmctbGFiZWwtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1mbG9hdGluZy1sYWJlbC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBOYXRpdmUgZm9ybXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zcGxpdC1idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zcGxpdC1idXR0b24vX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwic3BsaXQtYnV0dG9uXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcIm1lbnVcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbWVudS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL21lbnUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3NwbGl0LWJ1dHRvbi9fdmFyaWFibGVzLnNjc3Ncbi8vIFNwbGl0LWJ1dHRvblxuXG4vLy8gVGhlIGZvY3VzIHNoYWRvdyBvZiB0aGUgU3BsaXRCdXR0b24uXG4vLy8gQGdyb3VwIHNwbGl0LWJ1dHRvblxuJGtlbmRvLXNwbGl0LWJ1dHRvbi1mb2N1cy1zaGFkb3c6ICRrZW5kby1idXR0b24tZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgYXJyb3cgQnV0dG9uLlxuLy8vIEBncm91cCBzcGxpdC1idXR0b25cbiRrZW5kby1zcGxpdC1idXR0b24tYXJyb3ctcGFkZGluZy14OiAka2VuZG8tYnV0dG9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBhcnJvdyBCdXR0b24uXG4vLy8gQGdyb3VwIHNwbGl0LWJ1dHRvblxuJGtlbmRvLXNwbGl0LWJ1dHRvbi1zbS1hcnJvdy1wYWRkaW5nLXg6ICRrZW5kby1idXR0b24tc20tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBhcnJvdyBCdXR0b24uXG4vLy8gQGdyb3VwIHNwbGl0LWJ1dHRvblxuJGtlbmRvLXNwbGl0LWJ1dHRvbi1tZC1hcnJvdy1wYWRkaW5nLXg6ICRrZW5kby1idXR0b24tbWQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIGFycm93IEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3BsaXQtYnV0dG9uXG4ka2VuZG8tc3BsaXQtYnV0dG9uLWxnLWFycm93LXBhZGRpbmcteDogJGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgYXJyb3cgQnV0dG9uLlxuLy8vIEBncm91cCBzcGxpdC1idXR0b25cbiRrZW5kby1zcGxpdC1idXR0b24tYXJyb3ctcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgc21hbGwgYXJyb3cgQnV0dG9uLlxuLy8vIEBncm91cCBzcGxpdC1idXR0b25cbiRrZW5kby1zcGxpdC1idXR0b24tc20tYXJyb3ctcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLXNtLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIGFycm93IEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3BsaXQtYnV0dG9uXG4ka2VuZG8tc3BsaXQtYnV0dG9uLW1kLWFycm93LXBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1tZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIGFycm93IEJ1dHRvbi5cbi8vLyBAZ3JvdXAgc3BsaXQtYnV0dG9uXG4ka2VuZG8tc3BsaXQtYnV0dG9uLWxnLWFycm93LXBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1sZy1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc3BsaXQtYnV0dG9uL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zcGxpdC1idXR0b24vX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3BsaXQtYnV0dG9uL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXNwbGl0LWJ1dHRvbi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBTcGxpdCBidXR0b25cbiAgICAuay1zcGxpdC1idXR0b24ge31cblxuICAgIC8vIFNwbGl0IGJ1dHRvbiBhcnJvd1xuICAgIC5rLXNwbGl0LWJ1dHRvbiAuay1zcGxpdC1idXR0b24tYXJyb3cge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3BsaXQtYnV0dG9uLWFycm93LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zcGxpdC1idXR0b24tYXJyb3ctcGFkZGluZy14O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICBmbGV4OiBub25lO1xuXG4gICAgICAgICYuay1idXR0b24tc20ge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXNwbGl0LWJ1dHRvbi1zbS1hcnJvdy1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNwbGl0LWJ1dHRvbi1zbS1hcnJvdy1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstYnV0dG9uLW1kIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zcGxpdC1idXR0b24tbWQtYXJyb3ctcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zcGxpdC1idXR0b24tbWQtYXJyb3ctcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWJ1dHRvbi1sZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3BsaXQtYnV0dG9uLWxnLWFycm93LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc3BsaXQtYnV0dG9uLWxnLWFycm93LXBhZGRpbmcteDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zcGxpdC1idXR0b24tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdC1idXR0b24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc3BsaXQtYnV0dG9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3BsaXQtYnV0dG9uLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvc3BsaXQtYnV0dG9uL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwbGl0LWJ1dHRvbi9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwbGl0LWJ1dHRvbi9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXNwbGl0LWJ1dHRvbi0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFNwbGl0IGJ1dHRvblxuICAgIC5rLXNwbGl0LWJ1dHRvbjpmb2N1cyxcbiAgICAuay1zcGxpdC1idXR0b24uay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXNwbGl0LWJ1dHRvbi1mb2N1cy1zaGFkb3cgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc3BsaXQtYnV0dG9uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdC1idXR0b24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zcGxpdC1idXR0b24tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNwbGl0LWJ1dHRvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic3BsaXQtYnV0dG9uXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbWVudS1idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51LWJ1dHRvbi9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJtZW51LWJ1dHRvblwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL21lbnUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9tZW51LWJ1dHRvbi9fdmFyaWFibGVzLnNjc3Ncbi8vIE1lbnUtYnV0dG9uXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBidXR0b24gYXJyb3cgaW4gdGhlIE1lbnUgQnV0dG9uLlxuLy8vIEBncm91cCBtZW51LWJ1dHRvblxuJGtlbmRvLW1lbnUtYnV0dG9uLWFycm93LXBhZGRpbmcteDogJGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbWVudS1idXR0b24vX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lbnUtYnV0dG9uL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lbnUtYnV0dG9uL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW1lbnUtYnV0dG9uLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIE1lbnUgYnV0dG9uXG4gICAgLmstbWVudS1idXR0b24sXG4gICAgLmstZHJvcGRvd24tYnV0dG9uIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgID4gLmstYnV0dG9uLWFycm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0ka2VuZG8tbWVudS1idXR0b24tYXJyb3ctcGFkZGluZy14O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0ka2VuZG8tYnV0dG9uLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGtlbmRvLW1lbnUtYnV0dG9uLWFycm93LXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRrZW5kby1tZW51LWJ1dHRvbi1hcnJvdy1wYWRkaW5nLXg7XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstaWNvbi1idXR0b24gPiAuay1idXR0b24tYXJyb3cge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtJGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbWVudS1idXR0b24tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LWJ1dHRvbi0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1tZW51LWJ1dHRvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lbnUtYnV0dG9uLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvbWVudS1idXR0b24vX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVudS1idXR0b24vX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZW51LWJ1dHRvbi9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLW1lbnUtYnV0dG9uLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gTWVudSBidXR0b25cbiAgICAuay1tZW51LWJ1dHRvbiB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1lbnUtYnV0dG9uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LWJ1dHRvbi0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW1lbnUtYnV0dG9uLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZW51LWJ1dHRvbi0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW1lbnUtYnV0dG9uLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJtZW51LWJ1dHRvblwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1tZW51LWJ1dHRvbi0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1lbnUtYnV0dG9uLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS1idXR0b24tLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90ZXh0Ym94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInRleHRib3hcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RleHRib3gvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUZXh0Ym94XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvdGV4dGJveC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGV4dGJveC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90ZXh0Ym94L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXRleHRib3gtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gVGV4dGJveFxuICAgIC5rLXRleHRib3gge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby10ZXh0Ym94LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGJveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10ZXh0Ym94LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGJveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3RleHRib3gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGV4dGJveC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RleHRib3gvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby10ZXh0Ym94LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVGV4dGJveFxuICAgIC5rLXRleHRib3gge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby10ZXh0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10ZXh0Ym94LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGV4dGJveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRleHRib3gtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInRleHRib3hcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGV4dGJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRleHRib3gtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby10ZXh0Ym94LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90ZXh0YXJlYS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RleHRhcmVhL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInRleHRhcmVhXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90ZXh0YXJlYS9fdmFyaWFibGVzLnNjc3Ncbi8vIFRleHRhcmVhXG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvdGV4dGFyZWEvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RleHRhcmVhL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RleHRhcmVhL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXRleHRhcmVhLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFRleHRhcmVhXG4gICAgLmstdGV4dGFyZWE6aGFzKC5rLWlucHV0LWlubmVyW3N0eWxlKj1cIndpZHRoXCJdKSB7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGV4dGFyZWEtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10ZXh0YXJlYS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10ZXh0YXJlYS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRleHRhcmVhLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdGV4dGFyZWEvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGV4dGFyZWEvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90ZXh0YXJlYS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRleHRhcmVhLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVGV4dGFyZWFcbiAgICAuay10ZXh0YXJlYSB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRleHRhcmVhLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10ZXh0YXJlYS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRleHRhcmVhLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10ZXh0YXJlYS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRleHRhcmVhLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0ZXh0YXJlYVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10ZXh0YXJlYS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRleHRhcmVhLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGV4dGFyZWEtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NoZWNrYm94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2hlY2tib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2xpc3Rib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0Ym94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImxpc3Rib3hcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2xpc3Rib3gvX3ZhcmlhYmxlcy5zY3NzXG4vLyBMaXN0Qm94XG5cbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBMaXN0Qm94IGVsZW1lbnRzLlxuLy8vIEBncm91cCBsaXN0Ym94XG4ka2VuZG8tbGlzdGJveC1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgTGlzdEJveCBidXR0b25zLlxuLy8vIEBncm91cCBsaXN0Ym94XG4ka2VuZG8tbGlzdGJveC1idXR0b24tc3BhY2luZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtd2lkdGg6IDEwZW0gIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtZGVmYXVsdC1oZWlnaHQ6IDIwMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBMaXN0Qm94LlxuLy8vIEBncm91cCBsaXN0Ym94XG4ka2VuZG8tbGlzdGJveC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIExpc3RCb3guXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIExpc3RCb3h4LlxuLy8vIEBncm91cCBsaXN0Ym94XG4ka2VuZG8tbGlzdGJveC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIExpc3RCb3guXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgTGlzdEJveC5cbi8vLyBAZ3JvdXAgbGlzdGJveFxuJGtlbmRvLWxpc3Rib3gtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbmxpbmUgcGFkZGluZyBvZiB0aGUgTGlzdEJveCBpdGVtLlxuLy8vIEBncm91cCBsaXN0Ym94XG4ka2VuZG8tbGlzdGJveC1pdGVtLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmxvY2sgcGFkZGluZyBvZiB0aGUgTGlzdEJveCBpdGVtLlxuLy8vIEBncm91cCBsaXN0Ym94XG4ka2VuZG8tbGlzdGJveC1pdGVtLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgTGlzdEJveCBkcm9wIGhpbnQuXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LWRyb3AtaGludC13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgTGlzdEJveCBkcm9wIGhpbnQuXG4vLy8gQGdyb3VwIGxpc3Rib3hcbiRrZW5kby1saXN0Ym94LWRyb3AtaGludC1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2xpc3Rib3gvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rib3gvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbGlzdGJveC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1saXN0Ym94LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLWxpc3Rib3gge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWxpc3Rib3gtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWxpc3Rib3gtZGVmYXVsdC1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1saXN0Ym94LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1saXN0Ym94LWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0Ym94LWxpbmUtaGVpZ2h0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGdhcDogJGtlbmRvLWxpc3Rib3gtc3BhY2luZztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLWxpc3Rib3gtYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tbGlzdGJveC1idXR0b24tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1saXN0Ym94LWFjdGlvbnMtbGVmdCxcbiAgICAgICAgJi5rLWxpc3Rib3gtYWN0aW9ucy1yaWdodCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAuay1saXN0Ym94LWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1saXN0Ym94LWFjdGlvbnMtdG9wLFxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAuay1saXN0Ym94LWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstbGlzdGJveC1hY3Rpb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuay1saXN0LXNjcm9sbGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWxpc3Rib3gtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgICAgICAuay1saXN0LXNjcm9sbGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3Qge1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3AtaGludCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tbGlzdGJveC1kcm9wLWhpbnQtd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdob3N0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstaXRlbSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9saXN0Ym94L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3Rib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9saXN0Ym94L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbGlzdGJveC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIExpc3Rib3hcbiAgICAuay1saXN0Ym94IHtcbiAgICAgICAgLmstbGlzdC1zY3JvbGxlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0Ym94LXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3Rib3gtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3Rib3gtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWRyb3AtaGludCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1saXN0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Ym94LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdGJveC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWxpc3Rib3gtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImxpc3Rib3hcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbGlzdGJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rib3gtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0Ym94LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9wcm9ncmVzc2Jhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Byb2dyZXNzYmFyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInByb2dyZXNzYmFyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcHJvZ3Jlc3NiYXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBQcm9ncmVzc0JhclxuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHdpZHRoIG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1ob3Jpem9udGFsLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuLy8vIFRoZSBhbmltYXRpb24gdGltaW5nIG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1hbmltYXRpb24tdGltaW5nOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItZm9udC1zaXplOiAkcHJvZ3Jlc3MtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItYmc6ICRncmF5LTIwMCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItdGV4dDogay1jb250cmFzdC1jb2xvciggJGdyYXktMjAwICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBwcm9ncmVzcyBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1iZzogJGtlbmRvLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBwcm9ncmVzcyB0ZXh0IGNvbG9yIG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci12YWx1ZS10ZXh0OiAka2VuZG8tc2VsZWN0ZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgcHJvZ3Jlc3MgYm9yZGVyIGNvbG9yIG9mIHRoZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHByb2dyZXNzIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGluZGV0ZXJtaW5hdGUgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1iZzogJGtlbmRvLXByb2dyZXNzYmFyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBpbmRldGVybWluYXRlIFByb2dyZXNzQmFyLlxuLy8vIEBncm91cCBwcm9ncmVzc2JhclxuJGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtdGV4dDogJGtlbmRvLXByb2dyZXNzYmFyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaW5kZXRlcm1pbmF0ZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWJvcmRlcjogJGtlbmRvLXByb2dyZXNzYmFyLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgaW5kZXRlcm1pbmF0ZSBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgY2h1bmsgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tcHJvZ3Jlc3NiYXItY2h1bmstYm9yZGVyOiAka2VuZG8tYm9keS1iZyAhZGVmYXVsdDtcblxuLy8gQ2lyY3VsYXIgUHJvZ3Jlc3NiYXJcbi8vLyBUaGUgYXJjIHN0cm9rZSBjb2xvciBvZiB0aGUgY2lyY3VsYXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHByb2dyZXNzYmFyXG4ka2VuZG8tY2lyY3VsYXItcHJvZ3Jlc3NiYXItYXJjLXN0cm9rZTogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNjYWxlIHN0cm9rZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjaXJjdWxhciBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3NiYXJcbiRrZW5kby1jaXJjdWxhci1wcm9ncmVzc2Jhci1zY2FsZS1zdHJva2U6ICRrZW5kby1wcm9ncmVzc2Jhci1iZyAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9wcm9ncmVzc2Jhci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcHJvZ3Jlc3NiYXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcHJvZ3Jlc3NiYXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZTogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcHJvZ3Jlc3NiYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXByb2dyZXNzYmFyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1wcm9ncmVzc2Jhci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tcHJvZ3Jlc3NiYXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFNlbGVjdGlvblxuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIC0xO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBDaHVua3NcbiAgICAgICAgPiAuay1wcm9ncmVzc2Jhci1jaHVua3Mge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBnYXA6IDFweDtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIC0xO1xuICAgICAgICB9XG4gICAgICAgIC5rLXByb2dyZXNzYmFyLWNodW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBTdGF0dXNcbiAgICAuay1wcm9ncmVzcy1zdGF0dXMtd3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMSAvIC0xO1xuXG4gICAgICAgICYuay1wcm9ncmVzcy1zdGFydCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAmLmstcHJvZ3Jlc3MtY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgJi5rLXByb2dyZXNzLWVuZCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICB9XG4gICAgLmstcHJvZ3Jlc3Mtc3RhdHVzIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcbiAgICAgICAgbWluLXdpZHRoOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cblxuICAgIC8vIEhvcml6b250YWxcbiAgICAuay1wcm9ncmVzc2Jhci1ob3Jpem9udGFsIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1wcm9ncmVzc2Jhci1ob3Jpem9udGFsLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1oZWlnaHQsICN7JGtlbmRvLXByb2dyZXNzYmFyLWhlaWdodH0gKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTAwJTtcblxuXG4gICAgICAgIC5rLXByb2dyZXNzLXN0YXR1cy13cmFwIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCB2YXIoIC0ta2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUsIDAgKSAqIDElICk7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICA+IC5rLXByb2dyZXNzLXN0YXR1cy13cmFwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAqICggMTAwIC8gdmFyKCAtLWtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLCAxICkgKSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBDaHVua3NcbiAgICAgICAgPiAuay1wcm9ncmVzc2Jhci1jaHVua3Mge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvcml6b250YWwgcmV2ZXJzZVxuICAgICAgICAmLmstcHJvZ3Jlc3NiYXItcmV2ZXJzZSB7XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3NiYXItdmFsdWUge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5rLXByb2dyZXNzYmFyLWNodW5rcyB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBWZXJ0aWNhbFxuICAgIC5rLXByb2dyZXNzYmFyLXZlcnRpY2FsIHtcbiAgICAgICAgd2lkdGg6IHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci1oZWlnaHQsICN7JGtlbmRvLXByb2dyZXNzYmFyLWhlaWdodH0gKTtcbiAgICAgICAgaGVpZ2h0OiAyN2VtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXG5cbiAgICAgICAgLmstcHJvZ3Jlc3Mtc3RhdHVzLXdyYXAge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICAgIC5rLXByb2dyZXNzLXN0YXR1cyB7XG4gICAgICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1wcm9ncmVzc2Jhci12YWx1ZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZSwgMCApICogMSUgKTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICA+IC5rLXByb2dyZXNzLXN0YXR1cy13cmFwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMCUgKiAoIDEwMCAvIHZhciggLS1rZW5kby1wcm9ncmVzc2Jhci12YWx1ZSwgMSApICkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQ2h1bmtcbiAgICAgICAgPiAuay1wcm9ncmVzc2Jhci1jaHVua3Mge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmVydGljYWwgcmV2ZXJzZVxuICAgICAgICAmLmstcHJvZ3Jlc3NiYXItcmV2ZXJzZSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICA+IC5rLXByb2dyZXNzYmFyLXZhbHVlIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstcHJvZ3Jlc3NiYXItY2h1bmtzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbmRldGVybWluYXRlXG4gICAgLmstcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIC5rLXByb2dyZXNzLXN0YXR1cy13cmFwLFxuICAgICAgICAuay1wcm9ncmVzc2Jhci12YWx1ZSxcbiAgICAgICAgLmstcHJvZ3Jlc3NiYXItY2h1bmsge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQmxhem9yIHNwZWNpZmljXG4gICAgLnRlbGVyaWstYmxhem9yLmstcHJvZ3Jlc3NiYXItaG9yaXpvbnRhbCB7XG5cbiAgICAgICAgPiAuay1wcm9ncmVzc2Jhci12YWx1ZSxcbiAgICAgICAgPiAuay1wcm9ncmVzc2Jhci12YWx1ZSA+IC5rLXByb2dyZXNzLXN0YXR1cy13cmFwIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4xcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUlRMXG4gICAgLmstcnRsIC5rLXByb2dyZXNzYmFyLFxuICAgIC5rLXByb2dyZXNzYmFyW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgIH1cblxuXG4gICAgLy8gQ2lyY3VsYXIgcHJvZ3Jlc3NiYXJcbiAgICAuay1jaXJjdWxhci1wcm9ncmVzc2JhciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuay1jaXJjdWxhci1wcm9ncmVzc2Jhci1zdXJmYWNlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jaXJjdWxhci1wcm9ncmVzc2Jhci1zY2FsZSB7XG4gICAgICAgIGZpbGw6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstY2lyY3VsYXItcHJvZ3Jlc3NiYXItYXJjIHtcbiAgICAgICAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICAgICAgZmlsbDogbm9uZTtcbiAgICB9XG5cbiAgICAuay1jaXJjdWxhci1wcm9ncmVzc2Jhci1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXByb2dyZXNzYmFyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcHJvZ3Jlc3NiYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wcm9ncmVzc2Jhci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3Byb2dyZXNzYmFyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Byb2dyZXNzYmFyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcHJvZ3Jlc3NiYXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1wcm9ncmVzc2Jhci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIEBrZXlmcmFtZXMga2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb24ge1xuICAgICAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJGtlbmRvLXByb2dyZXNzYmFyLWhlaWdodCAwOyB9XG4gICAgfVxuXG4gICAgLmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAka2VuZG8tcHJvZ3Jlc3NiYXItdGV4dCwgJGtlbmRvLXByb2dyZXNzYmFyLWJnLCAka2VuZG8tcHJvZ3Jlc3NiYXItYm9yZGVyLCAka2VuZG8tcHJvZ3Jlc3NiYXItZ3JhZGllbnQgKTtcblxuICAgICAgICAuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAka2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtdGV4dCwgJGtlbmRvLXByb2dyZXNzYmFyLXZhbHVlLWJnLCAka2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtYm9yZGVyLCAka2VuZG8tcHJvZ3Jlc3NiYXItdmFsdWUtZ3JhZGllbnQgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENodW5rIHByb2dyZXNzYmFyXG4gICAgLmstY2h1bmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICAvLyBUT0RPIHVuY29tbWVudCBmb3IgMjAyMyBSMVxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBrLWlmLXZhciggJHByb2dyZXNzYmFyLWNodW5rLWJvcmRlciwgdHJhbnNwYXJlbnQgKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC5rLXByb2dyZXNzYmFyLWNodW5rIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXByb2dyZXNzYmFyLWJnO1xuXG4gICAgICAgIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1wcm9ncmVzc2Jhci12YWx1ZS1iZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAka2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS10ZXh0LCAka2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1iZywgJGtlbmRvLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtYm9yZGVyICk7XG4gICAgICAgIEBpbmNsdWRlIHN0cmlwZWQtZ3JhZGllbnQoIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggYmFzZS1lbXBoYXNpcyApIDU1JSwgdHJhbnNwYXJlbnQpLCBrLWNvbG9yLXNoYWRlKCRrZW5kby1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWJnKSkgKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAka2VuZG8tcHJvZ3Jlc3NiYXItaGVpZ2h0ICRrZW5kby1wcm9ncmVzc2Jhci1oZWlnaHQ7XG4gICAgICAgIGFuaW1hdGlvbjoga2VuZG8tcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb24gJGtlbmRvLXByb2dyZXNzYmFyLWFuaW1hdGlvbi10aW1pbmc7XG4gICAgfVxuXG5cbiAgICAvLyBDaXJjdWxhciBwcm9ncmVzc2JhclxuICAgIC5rLWNpcmN1bGFyLXByb2dyZXNzYmFyLXNjYWxlIHtcbiAgICAgICAgc3Ryb2tlOiAka2VuZG8tY2lyY3VsYXItcHJvZ3Jlc3NiYXItc2NhbGUtc3Ryb2tlO1xuICAgIH1cblxuICAgIC5rLWNpcmN1bGFyLXByb2dyZXNzYmFyLWFyYyB7XG4gICAgICAgIHN0cm9rZTogJGtlbmRvLWNpcmN1bGFyLXByb2dyZXNzYmFyLWFyYy1zdHJva2U7XG4gICAgICAgIHRyYW5zaXRpb246IHN0cm9rZSAuNXMgZWFzZTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb2dyZXNzYmFyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb2dyZXNzYmFyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcHJvZ3Jlc3NiYXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInByb2dyZXNzYmFyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXByb2dyZXNzYmFyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcHJvZ3Jlc3NiYXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wcm9ncmVzc2Jhci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vcmFkaW8vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9yYWRpby9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJyYWRpb1wiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3JhZGlvL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9saXN0L192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NoZWNrYm94L192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NoZWNrYm94L192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSYWRpbyBidXR0b25cblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplIG9mIGEgc21hbGwgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tc20tc2l6ZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIGEgbWVkaXVtIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLW1kLXNpemU6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2l6ZSBvZiBhIGxhcmdlIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWxnLXNpemU6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBnbHlwaCBzaXplIG9mIGEgc21hbGwgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tc20tZ2x5cGgtc2l6ZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMi41ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdseXBoIHNpemUgb2YgYSBtZWRpdW0gUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbWQtZ2x5cGgtc2l6ZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMy41ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdseXBoIHNpemUgb2YgYSBsYXJnZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1sZy1nbHlwaC1zaXplOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0LjUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSByaXBwbGUgc2l6ZSBvZiBhIHNtYWxsIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLXNtLXJpcHBsZS1zaXplOiAzMDAlICFkZWZhdWx0O1xuLy8vIFRoZSByaXBwbGUgc2l6ZSBvZiBhIG1lZGl1bSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1tZC1yaXBwbGUtc2l6ZTogMzAwJSAhZGVmYXVsdDtcbi8vLyBUaGUgcmlwcGxlIHNpemUgb2YgYSBsYXJnZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1sZy1yaXBwbGUtc2l6ZTogMzAwJSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXAgd2l0aCB0aGUgZGlmZmVyZW50IFJhZGlvQnV0dG9uIHNpemVzLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgc2l6ZTogJGtlbmRvLXJhZGlvLXNtLXNpemUsXG4gICAgICAgIGdseXBoLXNpemU6ICRrZW5kby1yYWRpby1zbS1nbHlwaC1zaXplLFxuICAgICAgICByaXBwbGUtc2l6ZTogJGtlbmRvLXJhZGlvLXNtLXJpcHBsZS1zaXplXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBzaXplOiAka2VuZG8tcmFkaW8tbWQtc2l6ZSxcbiAgICAgICAgZ2x5cGgtc2l6ZTogJGtlbmRvLXJhZGlvLW1kLWdseXBoLXNpemUsXG4gICAgICAgIHJpcHBsZS1zaXplOiAka2VuZG8tcmFkaW8tbWQtcmlwcGxlLXNpemVcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIHNpemU6ICRrZW5kby1yYWRpby1sZy1zaXplLFxuICAgICAgICBnbHlwaC1zaXplOiAka2VuZG8tcmFkaW8tbGctZ2x5cGgtc2l6ZSxcbiAgICAgICAgcmlwcGxlLXNpemU6ICRrZW5kby1yYWRpby1sZy1yaXBwbGUtc2l6ZVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tYmc6ICRrZW5kby1jaGVja2JveC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiByYWRpbyBidXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tdGV4dDogJGtlbmRvLWNoZWNrYm94LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8taG92ZXItYmc6ICRrZW5kby1jaGVja2JveC1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1ob3Zlci10ZXh0OiAka2VuZG8tY2hlY2tib3gtaG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWhvdmVyLWJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtYmc6ICRrZW5kby1jaGVja2JveC1jaGVja2VkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtdGV4dDogJGtlbmRvLWNoZWNrYm94LWNoZWNrZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtY2hlY2tlZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWZvY3VzLWJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWZvY3VzLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1mb2N1cy1zaGFkb3c6ICRrZW5kby1jaGVja2JveC1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBhbmQgY2hlY2tlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1mb2N1cy1jaGVja2VkLWJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWZvY3VzLWNoZWNrZWQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIGFuZCBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWZvY3VzLWNoZWNrZWQtc2hhZG93OiAka2VuZG8tY2hlY2tib3gtZm9jdXMtY2hlY2tlZC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tZGlzYWJsZWQtYmc6ICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGRpc2FibGVkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLXRleHQ6ICRrZW5kby1jaGVja2JveC1kaXNhYmxlZC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLWJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBhbmQgY2hlY2tlZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWJnOiAka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGRpc2FibGVkIGFuZCBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtdGV4dDogJGtlbmRvLWNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIGRpc2FibGVkIGFuZCBjaGVja2VkIFJhZGlvQnV0dG9uLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtYm9yZGVyOiAka2VuZG8tY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaW52YWxpZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1pbnZhbGlkLWJnOiAka2VuZG8tY2hlY2tib3gtaW52YWxpZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaW52YWxpZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1pbnZhbGlkLXRleHQ6ICRrZW5kby1jaGVja2JveC1pbnZhbGlkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgaW52YWxpZCBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1pbnZhbGlkLWJvcmRlcjogJGtlbmRvLWNoZWNrYm94LWludmFsaWQtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIFJhZGlvIGluZGljYXRvclxuXG4vLy8gVGhlIHR5cGUgb2YgdGhlIFJhZGlvQnV0dG9uIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1pbmRpY2F0b3ItdHlwZTogaW1hZ2UgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFJhZGlvQnV0dG9uIGluZGljYXRvciBnbHlwaC5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1nbHlwaC1mb250LWZhbWlseTogXCJXZWJDb21wb25lbnRzSWNvbnNcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8vIFRoZSBnbHlwaCBvZiB0aGUgUmFkaW9CdXR0b24gaW5kaWNhdG9yLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtZ2x5cGg6IFwiXFxlMzA4XCIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaW1hZ2Ugb2YgdGhlIGNoZWNrZWQgUmFkaW9CdXR0b24gaW5kaWNhdG9yLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWNoZWNrZWQtaW1hZ2U6IGstZXNjYXBlLXN2ZyggdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3ska2VuZG8tcmFkaW8tY2hlY2tlZC10ZXh0fScvPjwvc3ZnPlwiKSApICFkZWZhdWx0O1xuLy8vIFRoZSBpbWFnZSBvZiB0aGUgZGlzYWJsZWQgYW5kIGNoZWNrZWQgUmFkaW9CdXR0b24gaW5kaWNhdG9yLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtaW1hZ2U6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gUmFkaW8gbGFiZWxcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgUmFkaW9CdXR0b24gaW5zaWRlIG9mIGEgbGFiZWwuXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGFiZWwtbWFyZ2luLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcblxuXG4vLyBSYWRpbyBsaXN0XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBsaXN0IGl0ZW0gbWFyZ2luIG9mIHRoZSBSYWRpb0J1dHRvbi5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1saXN0LXNwYWNpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBsaXN0IGl0ZW0gcGFkZGluZyBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGlzdC1pdGVtLXBhZGRpbmcteDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBsaXN0IGl0ZW0gcGFkZGluZyBvZiB0aGUgUmFkaW9CdXR0b24uXG4vLy8gQGdyb3VwIHJhZGlvXG4ka2VuZG8tcmFkaW8tbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cblxuLy8gUmFkaW8gcmlwcGxlXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUmFkaW9CdXR0b24gcmlwcGxlLlxuLy8vIEBncm91cCByYWRpb1xuJGtlbmRvLXJhZGlvLXJpcHBsZS1iZzogJGtlbmRvLXJhZGlvLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIFJhZGlvQnV0dG9uIHJpcHBsZS5cbi8vLyBAZ3JvdXAgcmFkaW9cbiRrZW5kby1yYWRpby1yaXBwbGUtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3JhZGlvL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYWRpby9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYWRpby9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1yYWRpby0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBSYWRpb1xuICAgIC5rLXJhZGlvIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXJhZGlvLXJhZGl1cyApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1yYWRpby1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBSYWRpbyBpbmRpY2F0b3JcbiAgICAuay1yYWRpbzo6YmVmb3JlIHtcbiAgICAgICAgQGlmICRrZW5kby1yYWRpby1pbmRpY2F0b3ItdHlwZSA9PSBcImdseXBoXCIge1xuICAgICAgICAgICAgY29udGVudDogJGtlbmRvLXJhZGlvLWNoZWNrZWQtZ2x5cGg7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXJhZGlvLWdseXBoLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgIC5rLXJhZGlvOmNoZWNrZWQsXG4gICAgLmstcmFkaW8uay1jaGVja2VkIHtcbiAgICAgICAgQGlmICRrZW5kby1yYWRpby1pbmRpY2F0b3ItdHlwZSA9PSBcImltYWdlXCIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGtlbmRvLXJhZGlvLWNoZWNrZWQtaW1hZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlbmRvLXJhZGlvLWluZGljYXRvci10eXBlID09IFwiZ2x5cGhcIiB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgIC5rLXJhZGlvOmRpc2FibGVkLFxuICAgIC5rLXJhZGlvLmstZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBkaXNhYmxlZCggJGtlbmRvLWRpc2FibGVkLXN0eWxpbmcgKTtcbiAgICB9XG4gICAgLmstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCxcbiAgICAuay1yYWRpby5rLWRpc2FibGVkLmstY2hlY2tlZCB7XG4gICAgICAgIEBpZiAka2VuZG8tcmFkaW8taW5kaWNhdG9yLXR5cGUgPT0gXCJpbWFnZVwiIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWltYWdlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSYWRpbyB3cmFwXG4gICAgLmstcmFkaW8td3JhcCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFJhZGlvIGxhYmVsXG4gICAgLmstcmFkaW8tbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAka2VuZG8tcmFkaW8tbGFiZWwtbWFyZ2luLXg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5rLXJpcHBsZSB7XG4gICAgICAgICAgICAvLyBIaWRlIHJpcHBsZSB0ZW1wb3JhcmlseVxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcmFkaW8gKyAuay1sYWJlbCxcbiAgICAuay1yYWRpby13cmFwICsgLmstbGFiZWwsXG4gICAgLmstcmFkaW8gKyAuay1yYWRpby1sYWJlbCxcbiAgICAuay1yYWRpby13cmFwICsgLmstcmFkaW8tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1yYWRpby1sYWJlbC1tYXJnaW4teDtcbiAgICB9XG5cblxuICAgIC8vIEVtcHR5IGxhYmVsXG4gICAgLmstcmFkaW8tbGFiZWw6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuICAgIC5rLXJhZGlvLWxhYmVsLmstbm8tdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxuXG4gICAgLy8gUmFkaW8gbGlzdFxuICAgIC5rLXJhZGlvLWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgICAuay1yYWRpby1pdGVtLFxuICAgIC5rLXJhZGlvLWxpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1yYWRpby1saXN0LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXJhZGlvLWxpc3QtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKTtcblxuICAgICAgICAuay1yYWRpby1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcmFkaW8tbGlzdC1ob3Jpem9udGFsLFxuICAgIC5rLXJhZGlvLWxpc3Quay1saXN0LWhvcml6b250YWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby1yYWRpby1saXN0LXNwYWNpbmc7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstcmFkaW86OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBsaW5lYXIsIHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhZGlvOmZvY3VzLFxuICAgICAgICAuay1yYWRpby5rLWZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhZGlvOmRpc2FibGVkOjphZnRlcixcbiAgICAgICAgLmstcmFkaW8uay1kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhZGlvOmRpc2FibGVkOjphZnRlcixcbiAgICAgICAgLmstcmFkaW8uay1kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmFkaW8gc2l6ZVxuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tcmFkaW8tc2l6ZXMge1xuICAgICAgICAkX3NpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHNpemUgKTtcbiAgICAgICAgJF9nbHlwaC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBnbHlwaC1zaXplICk7XG4gICAgICAgICRfcmlwcGxlLXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHJpcHBsZS1zaXplICk7XG5cbiAgICAgICAgLmstcmFkaW8tI3skc2l6ZX0ge1xuICAgICAgICAgICAgd2lkdGg6ICRfc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF9zaXplO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9nbHlwaC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLXJpcHBsZS1jb250YWluZXIge1xuICAgICAgICAgICAgLmstcmFkaW8tI3skc2l6ZX06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJF9yaXBwbGUtc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfcmlwcGxlLXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcmFkaW8tLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yYWRpby0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1yYWRpby0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJhZGlvLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvcmFkaW8vX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmFkaW8vX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYWRpby9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXJhZGlvLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gUmFkaW9cbiAgICAuay1yYWRpbyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1iZyxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgLmstcmFkaW86aG92ZXIsXG4gICAgLmstcmFkaW8uay1ob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8taG92ZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1ob3Zlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1ob3Zlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstcmFkaW86Zm9jdXMsXG4gICAgLmstcmFkaW8uay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1yYWRpby1mb2N1cy1ib3JkZXIgKTtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcmFkaW8tZm9jdXMtc2hhZG93ICk7XG4gICAgfVxuXG5cbiAgICAvLyBJbnZhbGlkIHN0YXRlXG4gICAgLmstcmFkaW8uay1pbnZhbGlkLFxuICAgIC5rLXJhZGlvLm5nLWludmFsaWQubmctdG91Y2hlZCxcbiAgICAuay1yYWRpby5uZy1pbnZhbGlkLm5nLWRpcnR5IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXJhZGlvLWludmFsaWQtYm9yZGVyICk7XG4gICAgfVxuICAgIC5rLXJhZGlvLmstaW52YWxpZCArIC5rLXJhZGlvLWxhYmVsLFxuICAgIC5rLXJhZGlvLm5nLWludmFsaWQubmctdG91Y2hlZCArIC5rLXJhZGlvLWxhYmVsLFxuICAgIC5rLXJhZGlvLm5nLWludmFsaWQubmctZGlydHkgKyAuay1yYWRpby1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXJhZGlvLWludmFsaWQtdGV4dCApO1xuICAgIH1cblxuXG4gICAgLy8gQ2hlY2tlZFxuICAgIC5rLXJhZGlvOmNoZWNrZWQsXG4gICAgLmstcmFkaW8uay1jaGVja2VkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1jaGVja2VkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8tY2hlY2tlZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1jaGVja2VkLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cbiAgICAuay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgIC5rLXJhZGlvLmstY2hlY2tlZC5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXJhZGlvLWZvY3VzLWNoZWNrZWQtYm9yZGVyICk7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXJhZGlvLWZvY3VzLWNoZWNrZWQtc2hhZG93ICk7XG4gICAgfVxuXG5cbiAgICAvLyBEaXNhYmxlZFxuICAgIC5rLXJhZGlvOmRpc2FibGVkLFxuICAgIC5rLXJhZGlvLmstZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXJhZGlvLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8tZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAka2VuZG8tcmFkaW8tZGlzYWJsZWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLXJhZGlvOmNoZWNrZWQ6ZGlzYWJsZWQsXG4gICAgLmstcmFkaW8uay1jaGVja2VkLmstZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1yYWRpby1kaXNhYmxlZC1jaGVja2VkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXJhZGlvLWRpc2FibGVkLWNoZWNrZWQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBSaXBwbGVcbiAgICAuay1yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgLmstcmFkaW86OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1yYWRpby1yaXBwbGUtYmc7XG4gICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tcmFkaW8tcmlwcGxlLW9wYWNpdHk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcmFkaW8tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJhZGlvLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcmFkaW8tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJhZGlvLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcmFkaW8tLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInJhZGlvXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXJhZGlvLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcmFkaW8tLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yYWRpby0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc2xpZGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInNsaWRlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJ0b29sdGlwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2x0aXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9pbWFnZXMvc2xpZGVyLWguc2Nzc1wiOyAtPiBzY3NzL3NsaWRlci9pbWFnZXMvc2xpZGVyLWguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zbGlkZXIvaW1hZ2VzL3NsaWRlci1oLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zbGlkZXIvaW1hZ2VzL3NsaWRlci1oLnNjc3NcbkBpbmNsdWRlIGV4cG9ydHMoXCJzbGlkZXItaC5naWZcIikge1xuICAgIEBpbmNsdWRlIHJlZ2lzdGVyLWRhdGEtdXJpKFwic2xpZGVyLWguZ2lmXCIsIFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFDMEFJQUJBTGk0dUFBQUFDSDVCQUVBQUFFQUxBQUFBQUFCQUxRQUFBSVdqSUdKeHF6YXpsdXgyb3Zsek5EMnJBSGdTSVpXQVFBN1wiKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ltYWdlcy9zbGlkZXItdi5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL2ltYWdlcy9zbGlkZXItdi5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NsaWRlci9pbWFnZXMvc2xpZGVyLXYuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NsaWRlci9pbWFnZXMvc2xpZGVyLXYuc2Nzc1xuQGluY2x1ZGUgZXhwb3J0cyhcInNsaWRlci12LmdpZlwiKSB7XG4gICAgQGluY2x1ZGUgcmVnaXN0ZXItZGF0YS11cmkoXCJzbGlkZXItdi5naWZcIiwgXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGh0QUFCQUlBQkFMaTR1QUFBQUNINUJBRUFBQUVBTEFBQUFBQzBBQUVBQUFJV2pJR0p4cXphemx1eDJvdmx6TkQyckFIZ1NJWldBUUE3XCIpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBTbGlkZXJcbi8vLyBUaGUgZGVmYXVsdCBzaXplIG9mIHRoZSBTbGlkZXIuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1zaXplOiAyMDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCBzaXplIG9mIHRoZSBTbGlkZXIgdGljay5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLXRpY2stc2l6ZTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZGVmYXVsdCBzaXplIG9mIHRoZSBTbGlkZXIncyB0cmFjayB3cmFwLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItYWx0LXNpemU6IDMwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFNsaWRlci5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgU2xpZGVyLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgU2xpZGVyLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBvZmZzZXQgb2YgdGhlIFNsaWRlciBCdXR0b25zLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItYnV0dG9uLW9mZnNldDogMTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgc2l6ZSBvZiB0aGUgU2xpZGVyIEJ1dHRvbnMuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1idXR0b24tc2l6ZTogKCRrZW5kby1zbGlkZXItYWx0LXNpemUgLSAyKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgU2xpZGVyIEJ1dHRvbnMuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1idXR0b24tc3BhY2luZzogKCRrZW5kby1zbGlkZXItYnV0dG9uLXNpemUgKyAka2VuZG8tc2xpZGVyLWJ1dHRvbi1vZmZzZXQpICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgU2xpZGVyIEJ1dHRvbnMuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1idXR0b24tZm9jdXMtc2hhZG93OiAka2VuZG8tYnV0dG9uLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSB0aGlja25lc3Mgb2YgdGhlIFNsaWRlciB0cmFjay5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLXRyYWNrLXRoaWNrbmVzczogNHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXNpemU6IDE0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgdHJhbnNpdGlvbiBzY2FsZSBvZiB0aGUgYWN0aXZlIFNsaWRlciBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYWN0aXZlLXNjYWxlOiAxICFkZWZhdWx0O1xuLy8vIFRoZSBzaXplIG9mIHRoZSBhY3RpdmUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1hY3RpdmUtc2l6ZTogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tcHJpbWFyeSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY29sb3ItcHJpbWFyeSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWJvcmRlcjogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktaG92ZXIgKSwgay10cnktZGFya2VuKCAka2VuZG8tY29sb3ItcHJpbWFyeSwgNy41JSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1wcmltYXJ5ICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1jb2xvci1wcmltYXJ5ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LWhvdmVyICksIGstdHJ5LWRhcmtlbiggJGtlbmRvLWNvbG9yLXByaW1hcnksIDEwJSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIGhvdmVyZWQgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBhY3RpdmUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1wcmVzc2VkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1hY3RpdmUgKSwgay10cnktZGFya2VuKCAka2VuZG8tY29sb3ItcHJpbWFyeSwgMTAlICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBhY3RpdmUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1wcmVzc2VkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1wcmltYXJ5ICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1jb2xvci1wcmltYXJ5ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGFjdGl2ZSBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXByZXNzZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1hY3RpdmUgKSwgay10cnktZGFya2VuKCAka2VuZG8tY29sb3ItcHJpbWFyeSwgMTIuNSUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBhY3RpdmUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1wcmVzc2VkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBTbGlkZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWZvY3VzLXNoYWRvdzogMCAwIDAgM3B4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tY29sb3ItcHJpbWFyeSwgLjUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdHJhbnNpdGlvbiBzcGVlZCBvZiB0aGUgU2xpZGVyLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZDogLjNzICFkZWZhdWx0O1xuLy8vIFRoZSB0cmFuc2l0aW9uIGZ1bmN0aW9uIG9mIHRoZSBTbGlkZXIuXG4vLy8gQGdyb3VwIHNsaWRlclxuJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLWZ1bmN0aW9uOiBlYXNlLW91dCAhZGVmYXVsdDtcbi8vLyBUaGUgdHJhbnNpdGlvbiBzcGVlZCBvZiB0aGUgU2xpZGVyIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS10cmFuc2l0aW9uLXNwZWVkOiAuNHMgIWRlZmF1bHQ7XG4vLy8gVGhlIHRyYW5zaXRpb24gZnVuY3Rpb24gb2YgdGhlIFNsaWRlciBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc2xpZGVyXG4ka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtdHJhbnNpdGlvbi1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yNSwgLjgsIC4yNSwgMSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2xpZGVyIHRyYWNrLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItdHJhY2stYmc6ICRncmF5LTIwMCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2xpZGVyJ3MgdHJhY2sgc2VsZWN0aW9uLlxuLy8vIEBncm91cCBzbGlkZXJcbiRrZW5kby1zbGlkZXItc2VsZWN0aW9uLWJnOiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBTbGlkZXIuXG4ka2VuZG8tc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zbGlkZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2xpZGVyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXNsaWRlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBTbGlkZXJcbiAgICAuay1zbGlkZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tc2xpZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1zbGlkZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXNsaWRlci1saW5lLWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOTJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpY2ssXG4gICAgICAgIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cblxuICAgICAgICAmLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgLmstdGljayxcbiAgICAgICAgICAgIC5rLXNsaWRlci10cmFjayxcbiAgICAgICAgICAgIC5rLWRyYWdoYW5kbGUge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5ldyByZW5kZXJpbmdcbiAgICAuay1zbGlkZXIge1xuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgICAgIGdhcDogY2FsYyggI3ska2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtc2l6ZX0gLyAyICk7XG5cbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2xpZGVyLXRyYWNrLXdyYXAge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBpbmhlcml0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAuay1zbGlkZXItaXRlbXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uLCBTYWZhcmkgZG9lcyBub3QgdW5kZXJzdGFuZCBgZmxleC1iYXNpczogMTAwJWBcbiAgICAgICAgICAgICAgICAvLyBTZWUgdGVsZXJpay9rZW5kby10aGVtZXMjMjE5N1xuICAgICAgICAgICAgICAgIC8vIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstdGljayB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGljay1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpY2stdmVydGljYWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIC5rLXNsaWRlci10cmFjay13cmFwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG5cbiAgICAgICAgICAgICAgICAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlOmZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLWRyYWdoYW5kbGU6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWFjdGl2ZS1zY2FsZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAodmFyKC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgLSB2YXIoLS1rZW5kby1zbGlkZXItc3RhcnQsIDApKSAqIDElICk7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKC0ta2VuZG8tc2xpZGVyLXN0YXJ0LCAwKSAqIDElICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5rLWRyYWdoYW5kbGUtc3RhcnQge1xuICAgICAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoIHZhcigtLWtlbmRvLXNsaWRlci1zdGFydCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlLWVuZCB7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyggdmFyKC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdmVydGljYWwge1xuICAgICAgICAgICAgLmstc2xpZGVyLXRyYWNrLXdyYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuXG4gICAgICAgICAgICAgICAgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlOmZvY3VzLFxuICAgICAgICAgICAgICAgIC5rLWRyYWdoYW5kbGU6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSBzY2FsZSgka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYWN0aXZlLXNjYWxlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKCB2YXIoLS1rZW5kby1zbGlkZXItc3RhcnQsIDApICogMSUgKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAodmFyKC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgLSB2YXIoLS1rZW5kby1zbGlkZXItc3RhcnQsIDApKSAqIDElICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5rLWRyYWdoYW5kbGUtc3RhcnQge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoIHZhcigtLWtlbmRvLXNsaWRlci1zdGFydCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuay1kcmFnaGFuZGxlLWVuZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYyggdmFyKC0ta2VuZG8tc2xpZGVyLWVuZCwgMCkgKiAxJSApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBTbGlkZXIgdmVydGljYWxcbiAgICAuay1zbGlkZXItdmVydGljYWwge1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1zbGlkZXItc2l6ZTtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZSBub3dyYXA7XG5cbiAgICAgICAgLmstdGljayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpY2tzXG5cbiAgICAgICAgLmstdGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NHB4IGNlbnRlcjsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay10aWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyNHB4IGNlbnRlcjsgfVxuICAgICAgICAuay1zbGlkZXItYm90dG9tcmlnaHQgLmstdGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNTRweCBjZW50ZXI7IH1cblxuICAgICAgICAuay10aWNrLWxhcmdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTRweCBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay10aWNrLWxhcmdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM0cHggY2VudGVyOyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay10aWNrLWxhcmdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggY2VudGVyOyB9XG5cbiAgICAgICAgLmstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAxMDAlOyB9XG4gICAgICAgIC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00cHggMTAwJTsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjRweCAxMDAlOyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zNHB4IDEwMCU7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IDEwMCU7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IDEwMCU7IH1cblxuICAgICAgICAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk0cHggMDsgfVxuICAgICAgICAuay10aWNrLWxhcmdlLmstbGFzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00cHggMDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyNHB4IDA7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljay1sYXJnZS5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzRweCAwOyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IDA7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2Uuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfVxuXG4gICAgICAgIC8vIGxhYmVsc1xuXG4gICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMjAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmlyc3QgLmstbGFiZWwgeyB0b3A6IDEwMCU7IH1cbiAgICAgICAgLmstbGFzdCAuay1sYWJlbCB7IHRvcDogMDsgfVxuXG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLWxhYmVsIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDEyMCU7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gU2xpZGVyIGhvcml6b250YWxcbiAgICAuay1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tc2xpZGVyLXNpemU7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICAuay10aWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC05MnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLXRpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTEyMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay10aWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xNTJweDsgfVxuXG4gICAgICAgIC5rLXRpY2stbGFyZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTJweDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay10aWNrLWxhcmdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0zMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay10aWNrLWxhcmdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC02MnB4OyB9XG5cbiAgICAgICAgLmstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05MnB4OyB9XG4gICAgICAgIC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTJweDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTUycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2Uuay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYycHg7IH1cblxuICAgICAgICAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtOTJweDsgfVxuICAgICAgICAuay10aWNrLWxhcmdlLmstbGFzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgLTJweDsgfVxuICAgICAgICAuay1zbGlkZXItdG9wbGVmdCAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMTIycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLXRvcGxlZnQgLmstdGljay1sYXJnZS5rLWxhc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0zMnB4OyB9XG4gICAgICAgIC5rLXNsaWRlci1ib3R0b21yaWdodCAuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMTUycHg7IH1cbiAgICAgICAgLmstc2xpZGVyLWJvdHRvbXJpZ2h0IC5rLXRpY2stbGFyZ2Uuay1sYXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtNjJweDsgfVxuXG4gICAgICAgIC8vIGxhYmVsc1xuXG4gICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAtMS4yZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmlyc3QgLmstbGFiZWwgeyBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7IH1cbiAgICAgICAgLmstbGFzdCAuay1sYWJlbCB7IGluc2V0LWlubGluZS1zdGFydDogMTAwJTsgfVxuXG4gICAgICAgIC5rLXNsaWRlci10b3BsZWZ0IC5rLWxhYmVsIHtcbiAgICAgICAgICAgIHRvcDogLTEuMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2xpZGVyLXRyYWNrLFxuICAgIC5rLXNsaWRlci1zZWxlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAuay1zbGlkZXItaG9yaXpvbnRhbCAmIHtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXNsaWRlci10cmFjay10aGlja25lc3M7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSBrLW1hdGgtZGl2KCAka2VuZG8tc2xpZGVyLXRyYWNrLXRoaWNrbmVzcywgMiApO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItdmVydGljYWwgJiB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSBrLW1hdGgtZGl2KCAka2VuZG8tc2xpZGVyLXRyYWNrLXRoaWNrbmVzcywgMiApO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1zbGlkZXItdHJhY2stdGhpY2tuZXNzO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWJvcmRlci13aWR0aDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1zaXplO1xuXG4gICAgICAgIC5rLXNsaWRlci10cmFuc2l0aW9ucy5rLXNsaWRlci1ob3Jpem9udGFsICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaW5zZXQtaW5saW5lLXN0YXJ0ICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb24sIGJhY2tncm91bmQtY29sb3IgJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLXNwZWVkICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1mdW5jdGlvbiwgdHJhbnNmb3JtICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS10cmFuc2l0aW9uLXNwZWVkICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS10cmFuc2l0aW9uLWZ1bmN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXRyYW5zaXRpb25zLmstc2xpZGVyLXZlcnRpY2FsICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tICAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tc3BlZWQgJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb24sIHRyYW5zZm9ybSAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtdHJhbnNpdGlvbi1mdW5jdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1wcmVzc2VkIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgLmstc2xpZGVyLXRyYW5zaXRpb25zLmstc2xpZGVyLWhvcml6b250YWwgJiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tc3BlZWQgJGtlbmRvLXNsaWRlci10cmFuc2l0aW9uLWZ1bmN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2xpZGVyLXRyYW5zaXRpb25zLmstc2xpZGVyLXZlcnRpY2FsICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICRrZW5kby1zbGlkZXItdHJhbnNpdGlvbi1zcGVlZCAka2VuZG8tc2xpZGVyLXRyYW5zaXRpb24tZnVuY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcHJlc3NlZCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTbGlkZXIgcmVhZG9ubHlcbiAgICAuay1zbGlkZXIuay1yZWFkb25seSB7XG4gICAgICAgIC5rLWJ1dHRvbixcbiAgICAgICAgLmstc2xpZGVyLXRyYWNrLFxuICAgICAgICAuay10aWNrLFxuICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTbGlkZXIgdG9vbHRpcFxuICAgIC5rLXNsaWRlci10b29sdGlwIHtcbiAgICAgICAgLmstY2FsbG91dC1uLFxuICAgICAgICAuay1jYWxsb3V0LXMge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLSBrLW1hdGgtZGl2KCAka2VuZG8tdG9vbHRpcC1jYWxsb3V0LXNpemUsIDIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhbGxvdXQtdyxcbiAgICAgICAgLmstY2FsbG91dC1lIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0gay1tYXRoLWRpdiggJGtlbmRvLXRvb2x0aXAtY2FsbG91dC1zaXplLCAyICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSVExcbiAgICAuay1zbGlkZXItcnRsIHtcbiAgICAgICAgJi5rLXNsaWRlci1ob3Jpem9udGFsIHtcblxuICAgICAgICAgICAgLmstZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZHJhZ2hhbmRsZTpmb2N1cyxcbiAgICAgICAgICAgIC5rLWRyYWdoYW5kbGU6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGlmKCAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYWN0aXZlLXNjYWxlLCB0cmFuc2xhdGUoNTAlLCAtNTAlKSBzY2FsZSgka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYWN0aXZlLXNjYWxlKSwgbnVsbCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1sYWJlbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZXJbZGlyPVwicnRsXCJdLFxuICAgIFtkaXI9XCJydGxcIl0gLmstc2xpZGVyLFxuICAgIC5rLXNsaWRlci5rLXJ0bCxcbiAgICAuay1ydGwgLmstc2xpZGVyIHtcbiAgICAgICAgQGV4dGVuZCAuay1zbGlkZXItcnRsICFvcHRpb25hbDtcbiAgICB9XG5cblxuICAgIC8vIEFuZ3VsYXIgc3BlY2lmaWNcbiAgICAuay1zbGlkZXIga2VuZG8tcmVzaXplLXNlbnNvciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQWxpYXNlc1xuICAgIC5rLWRyYWdoYW5kbGUgeyBAZXh0ZW5kIC5rLXNsaWRlci10aHVtYiAhb3B0aW9uYWw7IH1cbiAgICAuay1kcmFnaGFuZGxlLXN0YXJ0IHsgQGV4dGVuZCAuay1zbGlkZXItdGh1bWItc3RhcnQgIW9wdGlvbmFsOyB9XG4gICAgLmstZHJhZ2hhbmRsZS1lbmQgeyBAZXh0ZW5kIC5rLXNsaWRlci10aHVtYi1lbmQgIW9wdGlvbmFsOyB9XG59XG5cblxuQG1peGluIGtlbmRvLXNsaWRlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNsaWRlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zbGlkZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zbGlkZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zbGlkZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2xpZGVyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2xpZGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc2xpZGVyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVE9ETzogbW92ZSB0byB2YXJpYWJsZXNcbiAgICAka2VuZG8tc2xpZGVyLXRpY2staG9yaXpvbnRhbC1pbWFnZTogay1tYXAtZ2V0KCRfa2VuZG8tZGF0YS11cmlzLCBcInNsaWRlci1oLmdpZlwiKSAhZGVmYXVsdDtcbiAgICAka2VuZG8tc2xpZGVyLXRpY2stdmVydGljYWwtaW1hZ2U6IGstbWFwLWdldCgkX2tlbmRvLWRhdGEtdXJpcywgXCJzbGlkZXItdi5naWZcIikgIWRlZmF1bHQ7XG5cblxuICAgIC8vIFNsaWRlclxuICAgIC5rLXNsaWRlciB7XG4gICAgICAgIC8vIFRPRE86IGV4dHJhY3QgdmFyaWFibGVzXG4gICAgICAgIGNvbG9yOiAka2VuZG8tY29tcG9uZW50LXRleHQ7XG5cbiAgICAgICAgLmstc2xpZGVyLXRyYWNrLFxuICAgICAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tc2xpZGVyLXRyYWNrLWJnICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXNsaWRlci1zZWxlY3Rpb24tYmcgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyYWdoYW5kbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tc2xpZGVyLWRyYWdoYW5kbGUtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCA1MCUgKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmLmstcHJlc3NlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXByZXNzZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXByZXNzZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1wcmVzc2VkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXNsaWRlci1kcmFnaGFuZGxlLXByZXNzZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1zbGlkZXItZHJhZ2hhbmRsZS1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zbGlkZXItaG9yaXpvbnRhbCAuay10aWNrIHtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSggJGtlbmRvLXNsaWRlci10aWNrLWhvcml6b250YWwtaW1hZ2UgKTtcbiAgICB9XG5cbiAgICAuay1zbGlkZXItdmVydGljYWwgLmstdGljayB7XG4gICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoICRrZW5kby1zbGlkZXItdGljay12ZXJ0aWNhbC1pbWFnZSApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zbGlkZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNsaWRlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNsaWRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2xpZGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc2xpZGVyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzbGlkZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2xpZGVyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2xpZGVyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2xpZGVyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIEZvcm0gcmVxdWlyZW1lbnRzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NhbGVuZGFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FsZW5kYXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiY2FsZW5kYXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NhbGVuZGFyL192YXJpYWJsZXMuc2Nzc1xuLy8gQ2FsZW5kYXJcblxuJGtlbmRvLWNhbGVuZGFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1jZWxsLXNpemU6IDM4cHggIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWJnOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1iZyAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWdyYWRpZW50OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ncmFkaWVudCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItbmF2LWdhcDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWNhbGVuZGFyLWZvb3Rlci1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1mb290ZXItcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItY2VsbC1saW5lLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXdpZHRoOiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtbGluZS1oZWlnaHQ6IDIgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1jYXB0aW9uLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1oZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1jYXB0aW9uLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItdmlldy13aWR0aDogKCRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA4KSAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci12aWV3LWhlaWdodDogKCRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA3KSAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci12aWV3LWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItd2Vla2VuZC1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci13ZWVrZW5kLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci10b2RheS1zdHlsZTogYm94ICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLXRvZGF5LWNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuJGtlbmRvLWNhbGVuZGFyLXdlZWstbnVtYmVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLXdlZWstbnVtYmVyLXRleHQ6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC10ZXh0ICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItb3RoZXItbW9udGgtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItb3RoZXItbW9udGgtdGV4dDogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXRleHQgIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1jZWxsLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWNlbGwtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1jZWxsLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1jZWxsLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci1iZzogJGtlbmRvLWhvdmVyLWJnICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWNlbGwtaG92ZXItdGV4dDogJGtlbmRvLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci1ib3JkZXI6ICRrZW5kby1ob3Zlci1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYmc6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1zZWxlY3RlZC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtYm9yZGVyOiAka2VuZG8tc2VsZWN0ZWQtYm9yZGVyICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLWJnOiAka2VuZG8tc2VsZWN0ZWQtaG92ZXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ob3Zlci10ZXh0OiAka2VuZG8tc2VsZWN0ZWQtaG92ZXItdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLWJvcmRlcjogJGtlbmRvLXNlbGVjdGVkLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItY2VsbC1mb2N1cy1zaGFkb3c6IGluc2V0ICRrZW5kby1idXR0b24tZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtZm9jdXMtc2hhZG93OiBpbnNldCAwIDAgMCAycHggaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5LWFjdGl2ZSApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBrLWNvbG9yLWRhcmtlbiggJGtlbmRvLWNvbG9yLXByaW1hcnksIDEyLjUlICksIC41ICkpICFkZWZhdWx0O1xuXG5cbi8vIENhbGVuZGFyIG5hdmlnYXRpb25cbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXdpZHRoOiA1ZW0gIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1pdGVtLWhlaWdodDogMmVtICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi1iZzogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1iZyAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXRleHQ6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJvcmRlcjogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWhvdmVyLXRleHQ6ICRrZW5kby1saW5rLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG5cblxuLy8gSW5maW5pdGUgY2FsZW5kYXJcbiRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci1oZWFkZXItcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4ka2VuZG8taW5maW5pdGUtY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuXG4ka2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci12aWV3LXBhZGRpbmcteTogMHB4ICFkZWZhdWx0O1xuJGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctaGVpZ2h0OiAoICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA5ICkgIWRlZmF1bHQ7XG5cblxuLy8gTXVsdGl2aWV3IGNhbGVuZGFyXG5cblxuLy8gQ2FsZW5kYXIgc2l6ZXNcbiRrZW5kby1jYWxlbmRhci1zbS1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItc20tbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1zbS1jZWxsLXNpemU6IDM0cHggIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItc20tY2VsbC1wYWRkaW5nLXg6IC4xMjVyZW0gIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItc20tY2VsbC1wYWRkaW5nLXk6IC4xMjVyZW0gIWRlZmF1bHQ7XG5cbiRrZW5kby1jYWxlbmRhci1tZC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItbWQtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1tZC1jZWxsLXNpemU6IDM4cHggIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItbWQtY2VsbC1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbiRrZW5kby1jYWxlbmRhci1tZC1jZWxsLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuXG4ka2VuZG8tY2FsZW5kYXItbGctZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWxnLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItbGctY2VsbC1zaXplOiA0MnB4ICFkZWZhdWx0O1xuJGtlbmRvLWNhbGVuZGFyLWxnLWNlbGwtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tY2FsZW5kYXItbGctY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcblxuJGtlbmRvLWNhbGVuZGFyLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2FsZW5kYXItc20tZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLXNtLWxpbmUtaGVpZ2h0LFxuICAgICAgICBjZWxsLXNpemU6ICRrZW5kby1jYWxlbmRhci1zbS1jZWxsLXNpemUsXG4gICAgICAgIGNlbGwtcGFkZGluZy14OiAka2VuZG8tY2FsZW5kYXItc20tY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGNlbGwtcGFkZGluZy15OiAka2VuZG8tY2FsZW5kYXItc20tY2VsbC1wYWRkaW5nLXhcbiAgICApLFxuICAgIG1kOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLW1kLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1tZC1saW5lLWhlaWdodCxcbiAgICAgICAgY2VsbC1zaXplOiAka2VuZG8tY2FsZW5kYXItbWQtY2VsbC1zaXplLFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLWNhbGVuZGFyLW1kLWNlbGwtcGFkZGluZy14XG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jYWxlbmRhci1sZy1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItbGctbGluZS1oZWlnaHQsXG4gICAgICAgIGNlbGwtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLWxnLWNlbGwtc2l6ZSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1jYWxlbmRhci1sZy1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1jYWxlbmRhci1sZy1jZWxsLXBhZGRpbmcteFxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY2FsZW5kYXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhbGVuZGFyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhbGVuZGFyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNhbGVuZGFyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1jYWxlbmRhciB7XG4gICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLXdpZHRoLCBtaW4tY29udGVudCApO1xuICAgICAgICBibG9jay1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWhlaWdodCwgbWluLWNvbnRlbnQgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tY2FsZW5kYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWNhbGVuZGFyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jYWxlbmRhci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItbGluZS1oZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuXG4gICAgICAgIC8vIE5lc3RlZCBjYWxlbmRhclxuICAgICAgICA+IC5rLWNhbGVuZGFyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgdGFibGVcbiAgICAuay1jYWxlbmRhci10YWJsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIC5rLWNhbGVuZGFyLWNhcHRpb24sXG4gICAgLmstY2FsZW5kYXItY2FwdGlvbi5rLWNhbGVuZGFyLXRoLFxuICAgIC5rLWNhbGVuZGFyIC5rLW1ldGEtaGVhZGVyLFxuICAgIC5rLWNhbGVuZGFyIC5rLW1vbnRoLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jYWxlbmRhci1jYXB0aW9uLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jYWxlbmRhci1jYXB0aW9uLXBhZGRpbmcteDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItY2FwdGlvbi1oZWlnaHQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNhbGVuZGFyLWNhcHRpb24tbGluZS1oZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1jYXB0aW9uLWZvbnQtd2VpZ2h0O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG5cbiAgICAvLyBDYWxlbmRhciBjZWxsXG4gICAgLmstY2FsZW5kYXItdGgsXG4gICAgLmstY2FsZW5kYXItdGQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICAgIC5rLWNhbGVuZGFyLXRoIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1wYWRkaW5nLXg7XG4gICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLXdpZHRoICk7XG4gICAgICAgIGJsb2NrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAka2VuZG8tY2FsZW5kYXItaGVhZGVyLWNlbGwtaGVpZ2h0ICk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC1saW5lLWhlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1jZWxsLW9wYWNpdHk7XG4gICAgfVxuICAgIC5rLWNhbGVuZGFyLXRkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsIG1pbi1jb250ZW50ICk7XG4gICAgICAgIGJsb2NrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCBtaW4tY29udGVudCApO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgY2VsbCBpbm5lclxuICAgIC8vIFJlbW92ZSAuay1jYWxlbmRhciBvbmNlIHdlIHJlbW92ZSBrLWxpbmtcbiAgICAuay1jYWxlbmRhciAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNhbGVuZGFyLWNlbGwtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXBhZGRpbmcteCwgI3ska2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXh9ICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXksICN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy15fSApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgaGVhZGVyXG4gICAgLmstY2FsZW5kYXIgLmstaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGdhcDogJGtlbmRvLWNhbGVuZGFyLW5hdi1nYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cblxuICAgIC8vIENhbGVuZGFyIGhlYWRlclxuICAgIC5rLWNhbGVuZGFyLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgIG1pbi13aWR0aDogKCRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA4KTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAuay10aXRsZSxcbiAgICAgICAgLmstY2FsZW5kYXItdGl0bGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhci1uYXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1jYWxlbmRhci1uYXYtZ2FwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDYWxlbmRhciBmb290ZXJcbiAgICAuay1jYWxlbmRhci1mb290ZXIsXG4gICAgLmstY2FsZW5kYXIgLmstZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhbGVuZGFyLWZvb3Rlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FsZW5kYXItZm9vdGVyLXBhZGRpbmcteDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cblxuICAgIC8vIENhbGVuZGFyIHZpZXcgd3JhcHBlclxuICAgIC5rLWNhbGVuZGFyLXZpZXcge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgLy8gc2V0dGluZyB3aWR0aCAvIGhlaWdodCBwcmV2ZW50cyBsYXlvdXQgY2hhbmdlcyBpbiBtZXRhIHZpZXdzXG4gICAgICAgIHdpZHRoOiAka2VuZG8tY2FsZW5kYXItdmlldy13aWR0aDtcbiAgICAgICAgaW5saW5lLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItdmlldy13aWR0aCwgI3ska2VuZG8tY2FsZW5kYXItdmlldy13aWR0aH0pO1xuICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8tY2FsZW5kYXItdmlldy1oZWlnaHQ7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBnYXA6ICRrZW5kby1jYWxlbmRhci12aWV3LWdhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLy8gTW9udGggdmlld1xuICAgIC5rLW1vbnRoLWNhbGVuZGFyLFxuICAgIC5rLWNhbGVuZGFyLW1vbnRodmlldyB7XG4gICAgICAgICRfbW9udGgtY2VsbC1zaXplOiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkIHtcbiAgICAgICAgICAgIHdpZHRoOiAkX21vbnRoLWNlbGwtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF9tb250aC1jZWxsLXNpemU7XG4gICAgICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF9tb250aC1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBibG9jay1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX21vbnRoLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gWWVhciB2aWV3XG4gICAgLmsteWVhci1jYWxlbmRhcixcbiAgICAuay1jYWxlbmRhci15ZWFydmlldyB7XG4gICAgICAgICRfeWVhci1jZWxsLXNpemU6ICggMiAqICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKTtcblxuICAgICAgICAuay1jYWxlbmRhci10ZCB7XG4gICAgICAgICAgICB3aWR0aDogJF95ZWFyLWNlbGwtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJF95ZWFyLWNlbGwtc2l6ZTtcbiAgICAgICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX3llYXItY2VsbC1zaXplfSApO1xuICAgICAgICAgICAgYmxvY2stc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF95ZWFyLWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRGVjYWRlIHZpZXdcbiAgICAuay1kZWNhZGUtY2FsZW5kYXIsXG4gICAgLmstY2FsZW5kYXItZGVjYWRldmlldyB7XG4gICAgICAgICRfZGVjYWRlLWNlbGwtc2l6ZTogKCAyICogJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSApO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkIHtcbiAgICAgICAgICAgIHdpZHRoOiAkX2RlY2FkZS1jZWxsLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRfZGVjYWRlLWNlbGwtc2l6ZTtcbiAgICAgICAgICAgIGlubGluZS1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX2RlY2FkZS1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICBibG9jay1zaXplOiB2YXIoIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZSwgI3skX2RlY2FkZS1jZWxsLXNpemV9ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENlbnR1cnkgdmlld1xuICAgIC5rLWNlbnR1cnktY2FsZW5kYXIsXG4gICAgLmstY2FsZW5kYXItY2VudHVyeXZpZXcge1xuICAgICAgICAkX2NlbnR1cnktY2VsbC1zaXplOiAoIDIgKiAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplICk7XG5cbiAgICAgICAgLmstY2FsZW5kYXItdGQge1xuICAgICAgICAgICAgd2lkdGg6ICRfY2VudHVyeS1jZWxsLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRfY2VudHVyeS1jZWxsLXNpemU7XG4gICAgICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKCAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemUsICN7JF9jZW50dXJ5LWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIGJsb2NrLXNpemU6IHZhciggLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplLCAjeyRfY2VudHVyeS1jZWxsLXNpemV9ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstY2FsZW5kYXItY2VsbC1pbm5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FsZW5kYXIgaW4gcG9wdXBcbiAgICAuay1wb3B1cCAuay1jYWxlbmRhciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgLmstY2FsZW5kYXItY29udGFpbmVyLFxuICAgIC5rLWRhdGV0aW1lLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmstY2FsZW5kYXIge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLmstY2FsZW5kYXIgLmstY29udGVudC5rLXNjcm9sbGFibGUsXG4gICAgLmstY2FsZW5kYXIgLmstY2FsZW5kYXItY29udGVudC5rLXNjcm9sbGFibGUge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBoaWRlLXNjcm9sbGJhcihcInJpZ2h0XCIpO1xuICAgIH1cblxuICAgIC8vIHNjb3BlZCBpbiBjYWxlbmRhciB1bnRpbCBpdCBpcyB1c2VkIGVsc2V3aGVyZVxuICAgIC5rLWNhbGVuZGFyIC5rLXNjcm9sbGFibGUtcGxhY2Vob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuXG5cblxuICAgIC8vIENhbGVuZGFyIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1jYWxlbmRhci1zaXplcyB7XG4gICAgICAgICRfZm9udC1zaXplOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmb250LXNpemUgKTtcbiAgICAgICAgJF9saW5lLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGluZS1oZWlnaHQgKTtcbiAgICAgICAgJF9jZWxsLXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNlbGwtc2l6ZSApO1xuICAgICAgICAkX2NlbGwtcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBjZWxsLXBhZGRpbmcteCApO1xuICAgICAgICAkX2NlbGwtcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBjZWxsLXBhZGRpbmcteSApO1xuXG4gICAgICAgICRfbW9udGgtY2VsbC1zaXplOiAkX2NlbGwtc2l6ZTtcbiAgICAgICAgJF95ZWFyLWNlbGwtc2l6ZTogKCAyICogJF9jZWxsLXNpemUgKTtcbiAgICAgICAgJF9kZWNhZGUtY2VsbC1zaXplOiAoIDIgKiAkX2NlbGwtc2l6ZSApO1xuICAgICAgICAkX2NlbnR1cnktY2VsbC1zaXplOiAoIDIgKiAkX2NlbGwtc2l6ZSApO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLSN7JHNpemV9IHtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLXZpZXctd2lkdGg6ICN7OCAqICRfY2VsbC1zaXplfTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy14OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItI3skc2l6ZX0tY2VsbC1wYWRkaW5nLXgsICN7JF9jZWxsLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtcGFkZGluZy15OiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItI3skc2l6ZX0tY2VsbC1wYWRkaW5nLXksICN7JF9jZWxsLXBhZGRpbmcteX0gKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcblxuICAgICAgICAgICAgJi5rLW1vbnRoLWNhbGVuZGFyLFxuICAgICAgICAgICAgLmstY2FsZW5kYXItbW9udGh2aWV3IHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemU6IHZhciggLS1rZW5kby1jYWxlbmRhci0jeyRzaXplfS1tb250aC1jZWxsLXNpemUsICN7JF9tb250aC1jZWxsLXNpemV9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmsteWVhci1jYWxlbmRhcixcbiAgICAgICAgICAgIC5rLWNhbGVuZGFyLXllYXJ2aWV3IHtcbiAgICAgICAgICAgICAgICAtLUlOVEVSTkFMLS1rZW5kby1jYWxlbmRhci1jZWxsLXNpemU6IHZhciggLS1rZW5kby1jYWxlbmRhci0jeyRzaXplfS15ZWFyLWNlbGwtc2l6ZSwgI3skX3llYXItY2VsbC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWRlY2FkZS1jYWxlbmRhcixcbiAgICAgICAgICAgIC5rLWNhbGVuZGFyLWRlY2FkZXZpZXcge1xuICAgICAgICAgICAgICAgIC0tSU5URVJOQUwtLWtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZTogdmFyKCAtLWtlbmRvLWNhbGVuZGFyLSN7JHNpemV9LWRlY2FkZS1jZWxsLXNpemUsICN7JF9kZWNhZGUtY2VsbC1zaXplfSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWNlbnR1cnktY2FsZW5kYXIsXG4gICAgICAgICAgICAuay1jYWxlbmRhci1jZW50dXJ5dmlldyB7XG4gICAgICAgICAgICAgICAgLS1JTlRFUk5BTC0ta2VuZG8tY2FsZW5kYXItY2VsbC1zaXplOiB2YXIoIC0ta2VuZG8tY2FsZW5kYXItI3skc2l6ZX0tY2VudHVyeS1jZWxsLXNpemUsICN7JF9jZW50dXJ5LWNlbGwtc2l6ZX0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLmstbGluayB7XG4gICAgICAgIEBleHRlbmQgLmstY2FsZW5kYXItY2VsbC1pbm5lciAhb3B0aW9uYWw7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gSW5maW5pdGUgY2FsZW5kYXJcbiAgICAuay1jYWxlbmRhci1pbmZpbml0ZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgIC5rLWNhbGVuZGFyLXZpZXcge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1pbmZpbml0ZS1jYWxlbmRhci12aWV3LXBhZGRpbmcteDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctaGVpZ2h0O1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgLmstY29udGVudC5rLXNjcm9sbGFibGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwMGJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjUlO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAka2VuZG8tY2FsZW5kYXItY2VsbC1zaXplIGstbWF0aC1kaXYoICRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUsIDIgKSAka2VuZG8tY2FsZW5kYXItYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhci1oZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ka2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0ka2VuZG8taW5maW5pdGUtY2FsZW5kYXItdmlldy1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8taW5maW5pdGUtY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8taW5maW5pdGUtY2FsZW5kYXItaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXItd2Vla2RheXMge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENhbGVuZGFyIG5hdmlnYXRpb25cbiAgICAuay1jYWxlbmRhci1uYXZpZ2F0aW9uIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLXdpZHRoO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDIwMCU7XG4gICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICAgICAgJHNoYWRvdy1zaXplOiAzICogJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taXRlbS1oZWlnaHQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgJHNoYWRvdy1zaXplIGstbWF0aC1kaXYoICRzaGFkb3ctc2l6ZSwgMiApICRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHsgdG9wOiAwOyB9XG4gICAgICAgICY6OmFmdGVyIHsgYm90dG9tOiAwOyB9XG5cbiAgICAgICAgLmstY29udGVudCxcbiAgICAgICAgLmstY2FsZW5kYXItY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi13aWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taXRlbS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWl0ZW0taGVpZ2h0O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAxZW07XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhci1uYXZpZ2F0aW9uLW1hcmtlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhbGVuZGFyLW5hdmlnYXRpb24taGlnaGxpZ2h0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWl0ZW0taGVpZ2h0O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAvLyBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gdGhlIGstbGluayBlbGVtZW50IGluc2lkZVxuICAgICAgICAvLyAuay1zZWxlY3RlZCB7XG4gICAgICAgIC8vICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAvLyAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuXG5cblxuICAgIC8vIE11bHRpdmlldyBjYWxlbmRhclxuICAgIC5rLWNhbGVuZGFyLXJhbmdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgLmstY2FsZW5kYXItdmlldyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcmFuZ2Utc3RhcnQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1yYW5nZS1lbmQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmFuZ2UtbWlkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwgLmstY2FsZW5kYXIsXG4gICAgW2Rpcj1cInJ0bFwiXSAuay1jYWxlbmRhcixcbiAgICAuay1jYWxlbmRhci5rLXJ0bCxcbiAgICAuay1jYWxlbmRhcltkaXI9XCJydGxcIl0ge1xuXG4gICAgICAgIC5rLWNvbnRlbnQuay1zY3JvbGxhYmxlLFxuICAgICAgICAuay1jYWxlbmRhci1jb250ZW50Lmstc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoaWRlLXNjcm9sbGJhcihcImxlZnRcIik7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jYWxlbmRhci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhbGVuZGFyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNhbGVuZGFyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FsZW5kYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9jYWxlbmRhci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jYWxlbmRhci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhbGVuZGFyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tY2FsZW5kYXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1jYWxlbmRhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1iZyxcbiAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1ib3JkZXJcbiAgICAgICAgKTtcblxuXG4gICAgICAgIC8vIFRPRE86IGRvIHdlIGV2ZW4gdXNlIHRoaXM/XG4gICAgICAgIC8vIEhlYWRlciAvIGZvb3RlclxuICAgICAgICAuay1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWhlYWRlci1iZyxcbiAgICAgICAgICAgICAgICBpbmhlcml0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1oZWFkZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tY2FsZW5kYXItaGVhZGVyLXNoYWRvdyApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIZWFkZXIgY2VsbHNcbiAgICAgICAgLmstY2FsZW5kYXItdGgsXG4gICAgICAgIC5rLWNhbGVuZGFyLWNhcHRpb24sXG4gICAgICAgIC5rLW1ldGEtaGVhZGVyLFxuICAgICAgICAuay1tb250aC1oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1jYWxlbmRhci1oZWFkZXItY2VsbC10ZXh0O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTcGVjaWFsIGRheXNcbiAgICAgICAgLmstY2FsZW5kYXItdmlldyAuay10b2RheSB7XG4gICAgICAgICAgICBAaWYgJGtlbmRvLWNhbGVuZGFyLXRvZGF5LXN0eWxlID09IGJveCB7XG4gICAgICAgICAgICAgICAgLmstY2FsZW5kYXItY2VsbC1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAka2VuZG8tY2FsZW5kYXItdG9kYXktY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuay1mb2N1cyAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAkaW5kaWNhdG9yOiAoIGluc2V0IDAgMCAwIDFweCAka2VuZG8tY2FsZW5kYXItdG9kYXktY29sb3IsICRrZW5kby1jYWxlbmRhci1jZWxsLWZvY3VzLXNoYWRvdyApLCAkaW5zZXQ6IHRydWUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRrZW5kby1jYWxlbmRhci10b2RheS1zdHlsZSA9PSBjb2xvciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1jYWxlbmRhci10b2RheS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1vdGhlci1tb250aCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1vdGhlci1tb250aC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1vdGhlci1tb250aC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay13ZWVrZW5kIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLXdlZWtlbmQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItd2Vla2VuZC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hbHQge1xuICAgICAgICAgICAgLy8gcmVtb3ZlIGRlZmF1bHQgay1hbHQgYmFja2dyb3VuZCBjb2xvclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci13ZWVrLW51bWJlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci13ZWVrLW51bWJlci1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1vdXQtb2YtcmFuZ2Uge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEludGVyYWN0aXZlIHN0YXRlc1xuICAgICAgICAuay1jYWxlbmRhci10ZDpob3ZlciAuay1jYWxlbmRhci1jZWxsLWlubmVyLFxuICAgICAgICAuay1jYWxlbmRhci10ZC5rLWhvdmVyIC5rLWNhbGVuZGFyLWNlbGwtaW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1jYWxlbmRhci10ZC5rLXNlbGVjdGVkIC5rLWNhbGVuZGFyLWNlbGwtaW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1jYWxlbmRhci10ZC5rLXNlbGVjdGVkOmhvdmVyIC5rLWNhbGVuZGFyLWNlbGwtaW5uZXIsXG4gICAgICAgIC5rLWNhbGVuZGFyLXRkLmstc2VsZWN0ZWQuay1ob3ZlciAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhbGVuZGFyLWNlbGwtc2VsZWN0ZWQtaG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstY2FsZW5kYXItdGQ6Zm9jdXMgLmstY2FsZW5kYXItY2VsbC1pbm5lcixcbiAgICAgICAgLmstY2FsZW5kYXItdGQuay1mb2N1cyAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWNhbGVuZGFyLWNlbGwtZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstY2FsZW5kYXItdGQuay1zZWxlY3RlZDpmb2N1cyAuay1jYWxlbmRhci1jZWxsLWlubmVyLFxuICAgICAgICAuay1jYWxlbmRhci10ZC5rLXNlbGVjdGVkLmstZm9jdXMgLmstY2FsZW5kYXItY2VsbC1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBDYWxlbmRhciBuYXZpZ2F0aW9uXG4gICAgICAgIC5rLWNhbGVuZGFyLW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItbmF2aWdhdGlvbi10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwICRrZW5kby1jYWxlbmRhci1uYXZpZ2F0aW9uLWJvcmRlcjtcblxuICAgICAgICAgICAgbGk6aG92ZXIsXG4gICAgICAgICAgICBsaS5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24taG92ZXItdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1jYWxlbmRhci1uYXZpZ2F0aW9uLWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jYWxlbmRhci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cblxuICAgICAgICAmW2Rpcj1cInJ0bFwiXSxcbiAgICAgICAgLmstcnRsICYge1xuICAgICAgICAgICAgLmstY2FsZW5kYXItbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgJGtlbmRvLWNhbGVuZGFyLW5hdmlnYXRpb24tYm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5rLWludmFsaWQ6aG92ZXIsXG4gICAgICAgICYubmctaW52YWxpZC5uZy10b3VjaGVkLFxuICAgICAgICAmLm5nLWludmFsaWQubmctZGlydHkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8taW52YWxpZC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNjaGVkdWxlciBpbnRlZ3JhdGlvblxuICAgIC5rLXNjaGVkdWxlciAuay1jYWxlbmRhciAuay1vdGhlci1tb250aCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY2FsZW5kYXItb3RoZXItbW9udGgtdGV4dCxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50XG4gICAgICAgICk7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gTXVsdGl2aWV3IGNhbGVuZGFyXG4gICAgLmstY2FsZW5kYXIgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG5cbiAgICAgICAgJGtlbmRvLWNhbGVuZGFyLXJhbmdlLWdhcDogMXB4ICFkZWZhdWx0O1xuICAgICAgICAka2VuZG8tY2FsZW5kYXItcmFuZ2UtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tY2FsZW5kYXItY2VsbC1zZWxlY3RlZC1iZywgLjI1ICkpO1xuICAgICAgICAka2VuZG8tY2FsZW5kYXItcmFuZ2Utc3BsaXQtc2l6ZTogNXB4ICFkZWZhdWx0O1xuXG4gICAgICAgIC5rLXJhbmdlLXN0YXJ0LFxuICAgICAgICAuay1yYW5nZS1lbmQsXG4gICAgICAgIC5rLXJhbmdlLW1pZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2FsZW5kYXItcmFuZ2UtYmc7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYW5nZS1zdGFydC5rLXJhbmdlLWVuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYW5nZS1zdGFydCxcbiAgICAgICAgLmstcmFuZ2UtZW5kIHtcbiAgICAgICAgICAgIC5rLWNhbGVuZGFyLWNlbGwtaW5uZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jYWxlbmRhci1jZWxsLXNlbGVjdGVkLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcmFuZ2Utc3RhcnQuay1hY3RpdmUsXG4gICAgICAgIC5rLXJhbmdlLWVuZC5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAuay1jYWxlbmRhci1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhbmdlLXNwbGl0LXN0YXJ0LFxuICAgICAgICAuay1yYW5nZS1zcGxpdC1lbmQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWNhbGVuZGFyLXJhbmdlLXNwbGl0LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1yYW5nZS1zcGxpdC1zdGFydDo6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogLSRrZW5kby1jYWxlbmRhci1yYW5nZS1zcGxpdC1zaXplO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGtlbmRvLWNhbGVuZGFyLXJhbmdlLWJnLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJhbmdlLXNwbGl0LWVuZDo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IC0ka2VuZG8tY2FsZW5kYXItcmFuZ2Utc3BsaXQtc2l6ZTtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRrZW5kby1jYWxlbmRhci1yYW5nZS1iZywgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY2FsZW5kYXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhbGVuZGFyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY2FsZW5kYXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhbGVuZGFyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tY2FsZW5kYXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNhbGVuZGFyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNhbGVuZGFyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2FsZW5kYXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jYWxlbmRhci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdGltZXNlbGVjdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGltZXNlbGVjdG9yL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInRpbWUtc2VsZWN0b3JcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJhY3Rpb25zXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90aW1lc2VsZWN0b3IvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUaW1lIHNlbGVjdG9yXG5cbiRrZW5kby10aW1lLXNlbGVjdG9yLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLXNlbGVjdG9yLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLXRpbWUtc2VsZWN0b3ItaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItaGVhZGVyLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tdGltZS1saXN0LXdpZHRoOiA0ZW0gIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1saXN0LWhlaWdodDogMjQwcHggIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLWxpc3QtdGl0bGUtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1oZWlnaHQ6ICggJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1mb250LXNpemUgKiAka2VuZG8tdGltZS1saXN0LXRpdGxlLWxpbmUtaGVpZ2h0KSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLWxpc3QtdGl0bGUtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtbGlzdC10aXRsZS1mb2N1cy10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLWxpc3QtaXRlbS1wYWRkaW5nLXg6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWJvcmRlci13aWR0aDogMXB4IDBweCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWhlaWdodDogY2FsYyggI3ska2VuZG8tdGltZS1zZWxlY3Rvci1mb250LXNpemUgKiAka2VuZG8tdGltZS1zZWxlY3Rvci1saW5lLWhlaWdodH0gKyAjeyAka2VuZG8tdGltZS1saXN0LWl0ZW0tcGFkZGluZy15ICogMn0gKSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLXRpbWUtbGlzdC1mb2N1cy1iZzogcmdiYSggYmxhY2ssIC4wMiApICFkZWZhdWx0O1xuXG5cbi8vIFRpbWUgc2VsZWN0b3Igc2l6ZXNcbiRrZW5kby10aW1lLXNlbGVjdG9yLXNtLWZvbnQtc2l6ZTogJGtlbmRvLWxpc3Qtc20tZm9udC1zaXplICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3Itc20tbGluZS1oZWlnaHQ6ICRrZW5kby1saXN0LXNtLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3Itc20tbGlzdC1pdGVtLXBhZGRpbmcteDogJGtlbmRvLWxpc3Qtc20taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1zZWxlY3Rvci1zbS1saXN0LWl0ZW0tcGFkZGluZy15OiAka2VuZG8tbGlzdC1zbS1pdGVtLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuJGtlbmRvLXRpbWUtc2VsZWN0b3ItbWQtZm9udC1zaXplOiAka2VuZG8tbGlzdC1tZC1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1zZWxlY3Rvci1tZC1saW5lLWhlaWdodDogJGtlbmRvLWxpc3QtbWQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tdGltZS1zZWxlY3Rvci1tZC1saXN0LWl0ZW0tcGFkZGluZy14OiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLW1kLWxpc3QtaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy15ICFkZWZhdWx0O1xuXG4ka2VuZG8tdGltZS1zZWxlY3Rvci1sZy1mb250LXNpemU6ICRrZW5kby1saXN0LWxnLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWxnLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGlzdC1sZy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRrZW5kby10aW1lLXNlbGVjdG9yLWxnLWxpc3QtaXRlbS1wYWRkaW5nLXg6ICRrZW5kby1saXN0LWxnLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLXRpbWUtc2VsZWN0b3ItbGctbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbGctaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbiRrZW5kby10aW1lLXNlbGVjdG9yLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGltZS1zZWxlY3Rvci1zbS1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdGltZS1zZWxlY3Rvci1zbS1saW5lLWhlaWdodCxcbiAgICAgICAgbGlzdC1pdGVtLXBhZGRpbmcteDogJGtlbmRvLXRpbWUtc2VsZWN0b3Itc20tbGlzdC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLXRpbWUtc2VsZWN0b3Itc20tbGlzdC1pdGVtLXBhZGRpbmcteVxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGltZS1zZWxlY3Rvci1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdGltZS1zZWxlY3Rvci1tZC1saW5lLWhlaWdodCxcbiAgICAgICAgbGlzdC1pdGVtLXBhZGRpbmcteDogJGtlbmRvLXRpbWUtc2VsZWN0b3ItbWQtbGlzdC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLXRpbWUtc2VsZWN0b3ItbWQtbGlzdC1pdGVtLXBhZGRpbmcteVxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGltZS1zZWxlY3Rvci1sZy1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdGltZS1zZWxlY3Rvci1sZy1saW5lLWhlaWdodCxcbiAgICAgICAgbGlzdC1pdGVtLXBhZGRpbmcteDogJGtlbmRvLXRpbWUtc2VsZWN0b3ItbGctbGlzdC1pdGVtLXBhZGRpbmcteCxcbiAgICAgICAgbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLXRpbWUtc2VsZWN0b3ItbGctbGlzdC1pdGVtLXBhZGRpbmcteVxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvdGltZXNlbGVjdG9yL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lc2VsZWN0b3IvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGltZXNlbGVjdG9yL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gVGltZSBzZWxlY3RvclxuICAgIC5rLXRpbWVzZWxlY3RvciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXRpbWUtc2VsZWN0b3ItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXRpbWUtc2VsZWN0b3ItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRpbWUtc2VsZWN0b3ItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRpbWUtc2VsZWN0b3ItbGluZS1oZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLXBvcHVwID4gJiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWUgc2VsZWN0b3IgaGVhZGVyXG4gICAgLmstdGltZS1oZWFkZXIsXG4gICAgLmstdGltZS1zZWxlY3Rvci1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGltZS1zZWxlY3Rvci1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRpbWUtc2VsZWN0b3ItaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAuay10aXRsZSxcbiAgICAgICAgLmstdGltZS1zZWxlY3Rvci1oZWFkZXItdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWUtbm93IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmFzdCBzZWxlY3Rpb25cbiAgICAuay1hY3Rpb25zLmstdGltZS1mYXN0LXNlbGVjdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIHNlbGVjdG9yIGZvb3RlclxuICAgIC8vIC5rLXRpbWUtZm9vdGVyIHt9XG4gICAgLy8gLmstdGltZS1zZWxlY3Rvci1mb290ZXIge31cblxuXG4gICAgLy8gVGltZSBsaXN0IGNvbnRhaW5lclxuICAgIC5rLXRpbWUtbGlzdC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLy8gVGltZSBsaXN0IGhpZ2hsaWdodFxuICAgIC5rLXRpbWUtaGlnaGxpZ2h0LFxuICAgIC5rLXRpbWUtbGlzdC1oaWdobGlnaHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYyggNTAlICsgI3trLW1hdGgtZGl2KCAka2VuZG8tdGltZS1saXN0LXRpdGxlLWhlaWdodCwgMiApfSk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIGxpc3Qgd3JhcHBlclxuICAgIC5rLXRpbWUtbGlzdC13cmFwcGVyIHtcbiAgICAgICAgbWluLXdpZHRoOiAka2VuZG8tdGltZS1saXN0LXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby10aW1lLWxpc3QtaGVpZ2h0O1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICAgICAuay10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby10aW1lLWxpc3QtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby10aW1lLWxpc3QtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCA1MCUgLSAje2stbWF0aC1kaXYoICRrZW5kby10aW1lLWxpc3QtaGlnaGxpZ2h0LWhlaWdodCwgMiApfSApO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAka2VuZG8tdGltZS1saXN0LXRpdGxlLWhlaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZSBsaXN0XG4gICAgLmstdGltZS1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAwYlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDIwMCU7XG4gICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHsgdG9wOiAwOyB9XG4gICAgICAgICY6OmFmdGVyIHsgYm90dG9tOiAwOyB9XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIGxpc3QgY29udGVudFxuICAgIC5rLXRpbWUtY29udGFpbmVyLFxuICAgIC5rLXRpbWUtbGlzdC1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAgIEBpbmNsdWRlIGhpZGUtc2Nyb2xsYmFyKFwicmlnaHRcIik7XG5cbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXRpbWUtbGlzdC13aWR0aDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjcm9sbGFibGUtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIGxpc3QgaXRlbVxuICAgIC5rLXRpbWUtbGlzdC1pdGVtLFxuICAgIC5rLXRpbWUtbGlzdCAuay1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRpbWUtbGlzdC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10aW1lLWxpc3QtaXRlbS1wYWRkaW5nLXg7XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIHNlcGFyYXRvclxuICAgIC5rLXRpbWUtc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtaGVpZ2h0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMTtcbiAgICAgICAgdG9wOiBjYWxjKCAje2stbWF0aC1kaXYoICRrZW5kby10aW1lLWxpc3QtdGl0bGUtaGVpZ2h0LCAyICl9ICk7XG4gICAgfVxuXG5cbiAgICAvLyBUaW1lIHNlbGVjdG9yIHNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby10aW1lLXNlbGVjdG9yLXNpemVzIHtcbiAgICAgICAgJF9mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuICAgICAgICAkX2xpc3QtaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpc3QtaXRlbS1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9saXN0LWl0ZW0tcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaXN0LWl0ZW0tcGFkZGluZy15ICk7XG4gICAgICAgICRfaGlnaGxpZ2h0LWhlaWdodDogY2FsYyggI3skX2ZvbnQtc2l6ZSAqICRfbGluZS1oZWlnaHR9ICsgI3sgJF9saXN0LWl0ZW0tcGFkZGluZy15ICogMn0gKTtcblxuXG4gICAgICAgIC5rLXRpbWVzZWxlY3Rvci0jeyRzaXplfSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRfZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgICAgIC5rLXRpbWUtaGlnaGxpZ2h0LFxuICAgICAgICAgICAgLmstdGltZS1saXN0LWhpZ2hsaWdodCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkX2hpZ2hsaWdodC1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWUtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICAkX2hpZ2hsaWdodC1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWUtbGlzdC1pdGVtLFxuICAgICAgICAgICAgLmstdGltZS1saXN0IC5rLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfbGlzdC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9saXN0LWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5rLXJ0bCxcbiAgICBbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAvLyBUaW1lIGxpc3QgY29udGVudFxuICAgICAgICAuay10aW1lLWNvbnRhaW5lcixcbiAgICAgICAgLmstdGltZS1saXN0LWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS1zY3JvbGxiYXIoXCJsZWZ0XCIpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLXNlbGVjdG9yLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLXNlbGVjdG9yLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdGltZXNlbGVjdG9yL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVzZWxlY3Rvci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVzZWxlY3Rvci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUaW1lIHNlbGVjdG9yXG4gICAgLmstdGltZXNlbGVjdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10aW1lLXNlbGVjdG9yLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGltZS1zZWxlY3Rvci1iZyxcbiAgICAgICAgICAgICRrZW5kby10aW1lLXNlbGVjdG9yLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gVGltZSBzZWxlY3RvciBoZWFkZXJcbiAgICAuay10aW1lLWhlYWRlcixcbiAgICAuay10aW1lLXNlbGVjdG9yLWhlYWRlciB7XG5cbiAgICAgICAgLmstdGltZS1ub3cge1xuICAgICAgICAgICAgLy8gVE9ETzogdXNlIGEgdmFyaWFibGVcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tbGluay10ZXh0O1xuICAgICAgICB9XG4gICAgICAgIC5rLXRpbWUtbm93OmhvdmVyIHtcbiAgICAgICAgICAgIC8vIFRPRE86IHVzZSBhIHZhcmlhYmxlXG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWxpbmstaG92ZXItdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZSBsaXN0IHdyYXBwZXJcbiAgICAuay10aW1lLWxpc3Qtd3JhcHBlciB7XG5cbiAgICAgICAgLmstdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby10aW1lLWxpc3QtdGl0bGUtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAuay10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby10aW1lLWxpc3QtdGl0bGUtZm9jdXMtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10aW1lLWxpc3QtZm9jdXMtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWUgbGlzdFxuICAgIC5rLXRpbWUtbGlzdCB7XG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgJHNoYWRvdy1zaXplOiAzZW07XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgJHNoYWRvdy1zaXplIGstbWF0aC1kaXYoICRzaGFkb3ctc2l6ZSwgMiApICRrZW5kby10aW1lLXNlbGVjdG9yLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5rLXRpbWUtaGlnaGxpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLXRpbWUtbGlzdC1oaWdobGlnaHQtYmcsXG4gICAgICAgICAgICAkYm9yZGVyOiAka2VuZG8tdGltZS1saXN0LWhpZ2hsaWdodC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGltZS1zZWxlY3Rvci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1zZWxlY3Rvci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbWUtc2VsZWN0b3ItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtc2VsZWN0b3ItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10aW1lLXNlbGVjdG9yLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0aW1lLXNlbGVjdG9yXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtc2VsZWN0b3ItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aW1lLXNlbGVjdG9yLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1zZWxlY3Rvci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBBdWdtZW50ZWQgZm9ybXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYXV0b2NvbXBsZXRlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYXV0b2NvbXBsZXRlL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImF1dG9jb21wbGV0ZVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2F1dG9jb21wbGV0ZS9fdmFyaWFibGVzLnNjc3Ncbi8vIEF1dG9jb21wbGV0ZVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2F1dG9jb21wbGV0ZS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYXV0b2NvbXBsZXRlL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2F1dG9jb21wbGV0ZS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1hdXRvY29tcGxldGUtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQXV0b2NvbXBsZXRlXG4gICAgLmstYXV0b2NvbXBsZXRlIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYXV0b2NvbXBsZXRlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWF1dG9jb21wbGV0ZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWF1dG9jb21wbGV0ZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2F1dG9jb21wbGV0ZS9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hdXRvY29tcGxldGUvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hdXRvY29tcGxldGUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1hdXRvY29tcGxldGUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBBdXRvY29tcGxldGVcbiAgICAuay1hdXRvY29tcGxldGUge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1hdXRvY29tcGxldGUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWF1dG9jb21wbGV0ZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWF1dG9jb21wbGV0ZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYXV0b2NvbXBsZXRlLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJhdXRvY29tcGxldGVcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXV0b2NvbXBsZXRlLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jYXB0Y2hhL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FwdGNoYS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjYXB0Y2hhXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwic2xpZGVyXCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICAvLyBcInV0aWxzL2xheW91dC9wb3NpdGlvblwiLFxuICAgICAgICAvLyBcInV0aWxzL3R5cG9ncmFwaHkvdGV4dC1jb2xvclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RleHRib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9zbGlkZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zbGlkZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NhcHRjaGEvX3ZhcmlhYmxlcy5zY3NzXG4vLyBDYXB0Y2hhXG5cbi8vLyBUaGUgc3BhY2VyIG9mIHRoZSBDYXB0Y2hhLlxuLy8vIEBncm91cCBjYXB0Y2hhXG4ka2VuZG8tY2FwdGNoYS1zcGFjZXI6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ2FwdGNoYS5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtd2lkdGg6IDMzNXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQ2FwdGNoYS5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDYXB0Y2hhLlxuLy8vIEBncm91cCBjYXB0Y2hhXG4ka2VuZG8tY2FwdGNoYS1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBDYXB0Y2hhLlxuLy8vIEBncm91cCBjYXB0Y2hhXG4ka2VuZG8tY2FwdGNoYS1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuLy8vIFRoZSBnYXAgb2YgdGhlIENhcHRjaGEuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLWdhcDogJGtlbmRvLWNhcHRjaGEtc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDYXB0Y2hhLlxuLy8vIEBncm91cCBjYXB0Y2hhXG4ka2VuZG8tY2FwdGNoYS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2FwdGNoYS5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtdGV4dDogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDYXB0Y2hhLlxuLy8vIEBncm91cCBjYXB0Y2hhXG4ka2VuZG8tY2FwdGNoYS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZ2FwIG9mIHRoZSBDYXB0Y2hhIGltYWdlIHdyYXBwZXIuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLWltYWdlLXdyYXAtZ2FwOiAka2VuZG8tY2FwdGNoYS1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGdhcCBvZiB0aGUgQ2FwdGNoYSBpbWFnZSBjb250cm9scy5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtaW1hZ2UtY29udHJvbHMtZ2FwOiAka2VuZG8tY2FwdGNoYS1zcGFjZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdG9wIG1hcmdpbiBvZiB0aGUgQ2FwdGNoYSB2YWxpZGF0aW9uIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiBrLW1hdGgtZGl2KCAka2VuZG8tY2FwdGNoYS1zcGFjZXIsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDYXB0Y2hhIHZhbGlkYXRpb24gbWVzc2FnZS5cbi8vLyBAZ3JvdXAgY2FwdGNoYVxuJGtlbmRvLWNhcHRjaGEtdmFsaWRhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzdHlsZSBvZiB0aGUgQ2FwdGNoYSB2YWxpZGF0aW9uIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNhcHRjaGFcbiRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY2FwdGNoYS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2FwdGNoYS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jYXB0Y2hhL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNhcHRjaGEtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQ2FwdGNoYVxuICAgIC5rLWNhcHRjaGEge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWNhcHRjaGEtd2lkdGg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNhcHRjaGEtZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWNhcHRjaGEtZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2FwdGNoYS1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBnYXA6ICRrZW5kby1jYXB0Y2hhLWdhcDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbWFnZVxuICAgIC5rLWNhcHRjaGEtaW1hZ2Utd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZ2FwOiAka2VuZG8tY2FwdGNoYS1pbWFnZS13cmFwLWdhcDtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlLWNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBnYXA6ICRrZW5kby1jYXB0Y2hhLWltYWdlLWNvbnRyb2xzLWdhcDtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1jYXB0Y2hhLWltYWdlID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIC8vIExvYWRpbmdcbiAgICAuay1jYXB0Y2hhLWxvYWRpbmcgLmstY2FwdGNoYS1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBWb2x1bWUgQ29udHJvbFxuICAgIC5rLWNhcHRjaGEtdm9sdW1lLWNvbnRyb2wge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2F0aW9uIFN1Y2Nlc3NcbiAgICAuay1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRrZW5kby1jYXB0Y2hhLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXN0eWxlO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jYXB0Y2hhLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FwdGNoYS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jYXB0Y2hhLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FwdGNoYS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NhcHRjaGEvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2FwdGNoYS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhcHRjaGEvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jYXB0Y2hhLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQ2FwdGNoYVxuICAgIC5rLWNhcHRjaGEge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNhcHRjaGEtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jYXB0Y2hhLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNhcHRjaGEtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNhcHRjaGEtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcHRjaGEtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jYXB0Y2hhLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jYXB0Y2hhLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tY2FwdGNoYS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiY2FwdGNoYVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jYXB0Y2hhLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2FwdGNoYS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNhcHRjaGEtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NvbG9ycGFsZXR0ZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGFsZXR0ZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjb2xvci1wYWxldHRlXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIC8vIFwidXRpbHMvZmxleC1ncmlkXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fZmxleC5zY3NzXCI7XG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGFsZXR0ZS9fdmFyaWFibGVzLnNjc3Ncbi8vIENvbG9yUGFsZXR0ZVxuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDb2xvclBhbGV0dGUuXG4vLy8gQGdyb3VwIGNvbG9ycGFsZXR0ZVxuJGtlbmRvLWNvbG9yLXBhbGV0dGUtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDb2xvclBhbGV0dGUuXG4vLy8gQGdyb3VwIGNvbG9ycGFsZXR0ZVxuJGtlbmRvLWNvbG9yLXBhbGV0dGUtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ29sb3JQYWxldHRlLlxuLy8vIEBncm91cCBjb2xvcnBhbGV0dGVcbiRrZW5kby1jb2xvci1wYWxldHRlLWxpbmUtaGVpZ2h0OiAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBDb2xvclBhbGV0dGUgdGlsZS5cbi8vLyBAZ3JvdXAgY29sb3JwYWxldHRlXG4ka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLXdpZHRoOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA2ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgQ29sb3JQYWxldHRlIHRpbGUuXG4vLy8gQGdyb3VwIGNvbG9ycGFsZXR0ZVxuJGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1oZWlnaHQ6ICRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgQ29sb3JQYWxldHRlIGZvY3VzZWQgdGlsZS5cbi8vLyBAZ3JvdXAgY29sb3JwYWxldHRlXG4ka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLWZvY3VzLXNoYWRvdzogMCAwIDNweCAxcHggcmdiYSggYmxhY2ssIC4zICksIGluc2V0IDAgMCAwIDFweCByZ2JhKCB3aGl0ZSwgLjUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBDb2xvclBhbGV0dGUgaG92ZXJlZCB0aWxlLlxuLy8vIEBncm91cCBjb2xvcnBhbGV0dGVcbiRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtaG92ZXItc2hhZG93OiAwIDAgM3B4IDFweCByZ2JhKCBibGFjaywgLjMgKSwgaW5zZXQgMCAwIDAgMXB4IHJnYmEoIHdoaXRlLCAuOCApICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIENvbG9yUGFsZXR0ZSBzZWxlY3RlZCB0aWxlLlxuLy8vIEBncm91cCBjb2xvcnBhbGV0dGVcbiRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtc2VsZWN0ZWQtc2hhZG93OiAwIDFweCAzcHggMXB4IHJnYmEoIGJsYWNrLCAuMyApLCBpbnNldCAwIDAgMCAxcHggcmdiYSggd2hpdGUsIDEgKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcnBhbGV0dGUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9ycGFsZXR0ZS9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcnBhbGV0dGUvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY29sb3ItcGFsZXR0ZS0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBDb2xvclBhbGV0dGVcbiAgICAuay1jb2xvcnBhbGV0dGUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNvbG9yLXBhbGV0dGUtZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWNvbG9yLXBhbGV0dGUtZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY29sb3ItcGFsZXR0ZS1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRhYmxlXG4gICAgLmstY29sb3JwYWxldHRlLXRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vIFRpbGVcbiAgICAuay1jb2xvcnBhbGV0dGUtdGlsZSB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtaGVpZ2h0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyxcbiAgICAgICAgJi5rLXNlbGVjdGVkLFxuICAgICAgICAmLmstc2VsZWN0ZWQ6aG92ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNvbG9yLXBhbGV0dGUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wYWxldHRlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNvbG9yLXBhbGV0dGUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wYWxldHRlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY29sb3JwYWxldHRlL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9ycGFsZXR0ZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9ycGFsZXR0ZS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNvbG9yLXBhbGV0dGUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUaWxlXG4gICAgLmstY29sb3JwYWxldHRlLXRpbGUge1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS1ob3Zlci1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zZWxlY3RlZCxcbiAgICAgICAgJi5rLXNlbGVjdGVkOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jb2xvci1wYWxldHRlLXRpbGUtc2VsZWN0ZWQtc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1wYWxldHRlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wYWxldHRlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItcGFsZXR0ZS0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGFsZXR0ZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNvbG9yLXBhbGV0dGUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNvbG9yLXBhbGV0dGVcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGFsZXR0ZS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXBhbGV0dGUtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1wYWxldHRlLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvcmdyYWRpZW50L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3JncmFkaWVudC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJjb2xvci1ncmFkaWVudFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJudW1lcmljLXRleHRib3hcIixcbiAgICAgICAgXCJzbGlkZXJcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCIsXG4gICAgICAgIFwidXRpbHMvZmxleC1ncmlkXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fZmxleC5zY3NzXCI7XG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX3NwYWNlci5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc2xpZGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc2xpZGVyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RleHRib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL251bWVyaWN0ZXh0Ym94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIm51bWVyaWMtdGV4dGJveFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL251bWVyaWN0ZXh0Ym94L192YXJpYWJsZXMuc2Nzc1xuLy8gTnVtZXJpYyB0ZXh0Ym94XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbnVtZXJpY3RleHRib3gvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL251bWVyaWN0ZXh0Ym94L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL251bWVyaWN0ZXh0Ym94L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBOdW1lcmljIHRleHRib3hcbiAgICAuay1udW1lcmljLXRleHRib3gge31cblxuXG4gICAgLy8gQWxpYXNcbiAgICAuay1udW1lcmljdGV4dGJveCB7IEBleHRlbmQgLmstbnVtZXJpYy10ZXh0Ym94ICFvcHRpb25hbDsgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1udW1lcmljLXRleHRib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1udW1lcmljLXRleHRib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9udW1lcmljdGV4dGJveC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9udW1lcmljdGV4dGJveC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL251bWVyaWN0ZXh0Ym94L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbnVtZXJpYy10ZXh0Ym94LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gTnVtZXJpYyB0ZXh0Ym94XG4gICAgLmstbnVtZXJpYy10ZXh0Ym94IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbnVtZXJpYy10ZXh0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1udW1lcmljLXRleHRib3gtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1udW1lcmljLXRleHRib3gtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibnVtZXJpYy10ZXh0Ym94XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLW51bWVyaWMtdGV4dGJveC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY29sb3JncmFkaWVudC9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vaW1hZ2VzL2FscGhhLXNsaWRlci1iZ3Iuc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZ3JhZGllbnQvaW1hZ2VzL2FscGhhLXNsaWRlci1iZ3Iuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gQ29sb3JHcmFkaWVudFxuXG4vLy8gVGhlIHNwYWNlciBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc3BhY2VyOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXdpZHRoOiAzMjhweCAhZGVmYXVsdDtcbi8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1wYWRkaW5nLXk6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtcGFkZGluZy14OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIHNlY3Rpb25zIG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1nYXA6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZm9jdXMtYm9yZGVyOiAka2VuZG8taG92ZXItYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIENvbG9yR3JhZGllbnQuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvY3VzLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcy5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcy5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGhzdiByZWN0YW5nbGUuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1yZWN0YW5nbGUtaGVpZ2h0OiAxODBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ29sb3JHcmFkaWVudCBzbGlkZXIuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplOiAxMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDb2xvckdyYWRpZW50IHNsaWRlci5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWJvcmRlci1yYWRpdXM6IDEwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBDb2xvckdyYWRpZW50IHNsaWRlciBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWRyYWdoYW5kbGUtYm9yZGVyLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBDb2xvckdyYWRpZW50IHZlcnRpY2FsIHNsaWRlci5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXZlcnRpY2FsLXNpemU6IDE4MHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ29sb3JHcmFkaWVudCBob3Jpem9udGFsIHNsaWRlci5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWhvcml6b250YWwtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtd2lkdGg6IDE0cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtaGVpZ2h0OiAxNHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBvdXRsaW5lIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJvcmRlcjogcmdiYSggJGtlbmRvLWNvbG9yLXdoaXRlLCAuOCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBvdXRsaW5lIGFyb3VuZCB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtc2hhZG93OiByZ2JhKCAka2VuZG8tY29sb3ItYmxhY2ssIC41KSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9jdXMgY29sb3Igb2YgdGhlIG91dGxpbmUgYXJvdW5kIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1mb2N1cy1zaGFkb3c6ICRrZW5kby1jb2xvci1ibGFjayAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSBjb2xvciBvZiB0aGUgb3V0bGluZSBhcm91bmQgdGhlIENvbG9yR3JhZGllbnQgY2FudmFzIGRyYWcgaGFuZGxlLlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWhvdmVyLXNoYWRvdzogJGtlbmRvLWNvbG9yLWJsYWNrICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBDb2xvckdyYWRpZW50IGNhbnZhcyBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1zaGFkb3c6IGstZWxldmF0aW9uKDIpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIG1hcmdpbiBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1kcmFnaGFuZGxlLW1hcmdpbi15OiAtIGstbWF0aC1kaXYoICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWhlaWdodCwgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgQ29sb3JHcmFkaWVudCBjYW52YXMgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1kcmFnaGFuZGxlLW1hcmdpbi14OiAtIGstbWF0aC1kaXYoICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLXdpZHRoLCAyICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIENvbG9yR3JhZGllbnQgaW5wdXQuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LXdpZHRoOiA1NnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIENvbG9yR3JhZGllbnQgaW5wdXRzLlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1nYXA6IGstbWF0aC1kaXYoICRrZW5kby1jb2xvci1ncmFkaWVudC1zcGFjZXIsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBDb2xvckdyYWRpZW50IGlucHV0cyBhbmQgdGhlaXIgbGFiZWxzLlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC1nYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ29sb3JHcmFkaWVudCBpbnB1dCBsYWJlbHMuXG4vLy8gQGdyb3VwIGNvbG9ncmFkaWVudFxuJGtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LWxhYmVsLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHdlaWdodCBvZiB0aGUgQ29sb3JHcmFkaWVudCBjb250cmFzdCByYXRpbyB0ZXh0LlxuLy8vIEBncm91cCBjb2xvZ3JhZGllbnRcbiRrZW5kby1jb2xvci1ncmFkaWVudC1jb250cmFzdC1yYXRpby1mb250LXdlaWdodDogJGtlbmRvLWZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgaW4gdGhlIENvbG9yR3JhZGllbnQgY29udHJhc3QgdG9vbC5cbi8vLyBAZ3JvdXAgY29sb2dyYWRpZW50XG4ka2VuZG8tY29sb3ItZ3JhZGllbnQtY29udHJhc3Qtc3BhY2VyOiBrLW1hdGgtZGl2KCAka2VuZG8tY29sb3ItZ3JhZGllbnQtc3BhY2VyLCAyICkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvY29sb3JncmFkaWVudC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JncmFkaWVudC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcmdyYWRpZW50L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWNvbG9yLWdyYWRpZW50LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yR3JhZGllbnRcbiAgICAuay1jb2xvcmdyYWRpZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1jb2xvci1ncmFkaWVudC13aWR0aDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jb2xvci1ncmFkaWVudC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvbnQtZmFtaWx5O1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZ2FwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FudmFzXG4gICAgLmstY29sb3JncmFkaWVudC1jYW52YXMge1xuICAgICAgICBnYXA6ICRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtZ2FwO1xuXG4gICAgICAgIC5rLWhzdi1yZWN0YW5nbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaHN2LWdyYWRpZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1jb2xvci1ncmFkaWVudC1jYW52YXMtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLXJlY3RhbmdsZS1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1oc3YtZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWRyYWdoYW5kbGUtbWFyZ2luLXk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNhbnZhcy1kcmFnaGFuZGxlLW1hcmdpbi14O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaHN2LWNvbnRyb2xzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtY2FudmFzLWdhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyYWdIYW5kbGVcbiAgICAuay1jb2xvcmdyYWRpZW50IC5rLWRyYWdoYW5kbGUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBvdXRsaW5lLXdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1vdXRsaW5lLXdpZHRoO1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAvLyBTbGlkZXJzXG4gICAgLmstY29sb3JncmFkaWVudC1zbGlkZXIge1xuXG4gICAgICAgICYuay1zbGlkZXItdmVydGljYWwge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci12ZXJ0aWNhbC1zaXplO1xuICAgICAgICAgICAgZmxleDogMCAwICRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICAmLmstc2xpZGVyLXZlcnRpY2FsIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gay1tYXRoLWRpdiggJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplLCAyICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2xpZGVyLWhvcml6b250YWwge1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItaG9yaXpvbnRhbC1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemU7XG4gICAgICAgICAgICBmbGV4OiAwIDAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci10cmFjay1zaXplO1xuICAgICAgICB9XG4gICAgICAgICYuay1zbGlkZXItaG9yaXpvbnRhbCAuay1zbGlkZXItdHJhY2sge1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLXRyYWNrLXNpemU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtc2xpZGVyLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtIGstbWF0aC1kaXYoICRrZW5kby1jb2xvci1ncmFkaWVudC1zbGlkZXItdHJhY2stc2l6ZSwgMiApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWFscGhhLXNsaWRlciAuay1zbGlkZXItdHJhY2s6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNsaWRlci10cmFjay13cmFwIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zbGlkZXItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LXNsaWRlci1kcmFnaGFuZGxlLWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0c1xuICAgIC5rLWNvbG9yZ3JhZGllbnQtaW5wdXRzIHtcbiAgICAgICAgZ2FwOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtaW5wdXQtZ2FwO1xuXG4gICAgICAgIC5rLWNvbG9yZ3JhZGllbnQtaW5wdXQtbGFiZWwge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstdnN0YWNrIHtcbiAgICAgICAgICAgIGdhcDogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWlucHV0LWxhYmVsLWdhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW51bWVyaWN0ZXh0Ym94IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtaW5wdXQtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMnB4O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAycHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29udHJhc3RcbiAgICAuay1jb2xvcmdyYWRpZW50LWNvbG9yLWNvbnRyYXN0IHtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtY29udHJhc3Qtc3BhY2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY29udHJhc3QtcmF0aW8ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWNvbnRyYXN0LXNwYWNlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbnRyYXN0LXJhdGlvLXRleHQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1jb2xvci1ncmFkaWVudC1jb250cmFzdC1yYXRpby1mb250LXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbnRyYXN0LXZhbGlkYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiBrLW1hdGgtZGl2KCAka2VuZG8tY29sb3ItZ3JhZGllbnQtY29udHJhc3Qtc3BhY2VyLCAyICk7XG5cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE5lZWRlZCBmb3IgdGhlIGRvdWJsZSBjaGVjayBpY29uc1xuICAgICAgICAgICAgLmstaWNvbiArIC5rLWljb24sXG4gICAgICAgICAgICAuay1pY29uLXdyYXBwZXItaG9zdCArIC5rLWljb24td3JhcHBlci1ob3N0IC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0xM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWNvbG9yLWNvbnRyYXN0LXN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNvbG9yLWdyYWRpZW50LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItZ3JhZGllbnQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1ncmFkaWVudC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZ3JhZGllbnQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JncmFkaWVudC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NvbG9yZ3JhZGllbnQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jb2xvci1ncmFkaWVudC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yR3JhZGllbnRcbiAgICAuay1jb2xvcmdyYWRpZW50IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1ncmFkaWVudC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWNvbG9yZ3JhZGllbnQ6Zm9jdXMsXG4gICAgLmstY29sb3JncmFkaWVudC5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWZvY3VzLWJvcmRlciApO1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jb2xvci1ncmFkaWVudC1mb2N1cy1zaGFkb3cgKTtcbiAgICB9XG5cbiAgICAvLyBDYW52YXNcbiAgICAuay1jb2xvcmdyYWRpZW50LWNhbnZhcyAuay1oc3YtZ3JhZGllbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIGJvdHRvbSwgJGtlbmRvLWdyYWRpZW50LXRyYW5zcGFyZW50LXRvLWJsYWNrICksIGxpbmVhci1ncmFkaWVudCggdG8gcmlnaHQsICRrZW5kby1ncmFkaWVudC13aGl0ZS10by10cmFuc3BhcmVudCApO1xuICAgIH1cblxuICAgIC8vIERyYWdIYW5kbGVcbiAgICAuay1jb2xvcmdyYWRpZW50IC5rLWRyYWdoYW5kbGUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIG91dGxpbmUtY29sb3I6ICRrZW5kby1jb2xvci1ncmFkaWVudC1kcmFnaGFuZGxlLWZvY3VzLXNoYWRvdztcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtc2hhZG93ICk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogdHJhbnNwYXJlbnQsICRib3JkZXI6ICRrZW5kby1jb2xvci13aGl0ZSApO1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLWNvbG9yLWdyYWRpZW50LWRyYWdoYW5kbGUtZm9jdXMtc2hhZG93O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlcixcbiAgICAgICAgJi5rLWFjdGl2ZSxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiB0cmFuc3BhcmVudCwgJGJvcmRlcjogJGtlbmRvLWNvbG9yLXdoaXRlICk7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8tY29sb3ItZ3JhZGllbnQtZHJhZ2hhbmRsZS1ob3Zlci1zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTbGlkZXJcbiAgICAuay1jb2xvcmdyYWRpZW50LXNsaWRlci5rLWh1ZS1zbGlkZXIge1xuICAgICAgICAmLmstc2xpZGVyLWhvcml6b250YWwgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggdG8gcmlnaHQsICRrZW5kby1ncmFkaWVudC1yYWluYm93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2xpZGVyLXZlcnRpY2FsIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIHRvcCwgJGtlbmRvLWdyYWRpZW50LXJhaW5ib3cgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNvbG9yZ3JhZGllbnQtc2xpZGVyLmstYWxwaGEtc2xpZGVyIC5rLXNsaWRlci10cmFjazo6YmVmb3JlIHtcbiAgICAgICAgLy8gVE9ETzogZXh0cmFjdCB2YXJpYWJsZVxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoI3trLW1hcC1nZXQoJF9rZW5kby1kYXRhLXVyaXMsIFwiYWxwaGEtc2xpZGVyLWJnci5wbmdcIil9KSBjZW50ZXIgcmVwZWF0O1xuICAgIH1cblxuICAgIC8vIElucHV0c1xuICAgIC5rLWNvbG9yZ3JhZGllbnQtaW5wdXQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1jb2xvci1ncmFkaWVudC1pbnB1dC1sYWJlbC10ZXh0ICk7XG4gICAgfVxuXG5cbiAgICAvLyBSVExcbiAgICAuay1ydGwsXG4gICAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIC5rLWNvbG9yZ3JhZGllbnQge1xuXG4gICAgICAgICAgICAuay1odWUtc2xpZGVyLmstc2xpZGVyLWhvcml6b250YWwgLmstc2xpZGVyLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIGxlZnQsICRrZW5kby1ncmFkaWVudC1yYWluYm93ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1ncmFkaWVudC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1ncmFkaWVudC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1jb2xvci1ncmFkaWVudC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiY29sb3ItZ3JhZGllbnRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1ncmFkaWVudC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLWdyYWRpZW50LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb2xvcmVkaXRvci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9yZWRpdG9yL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImNvbG9yLWVkaXRvclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJjb2xvci1ncmFkaWVudFwiLFxuICAgICAgICBcImNvbG9yLXBhbGV0dGVcIixcbiAgICAgICAgXCJjb2xvci1wcmV2aWV3XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb2xvci1wcmV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3ItcHJldmlldy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9ycGFsZXR0ZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGFsZXR0ZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9yZ3JhZGllbnQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcmdyYWRpZW50L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9jb2xvcmVkaXRvci9fdmFyaWFibGVzLnNjc3Ncbi8vIENvbG9yRWRpdG9yL0ZsYXRDb2xvclBpY2tlclxuXG4vLy8gVGhlIHNwYWNlciBvZiB0aGUgQ29sb3JFZGl0b3IuXG4vLy8gQGdyb3VwIGNvbG9yZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLXNwYWNlcjogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1pbmltdW0gd2lkdGggb2YgdGhlIENvbG9yRWRpdG9yLlxuLy8vIEBncm91cCBjb2xvcmVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1taW4td2lkdGg6IDMyOHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgQ29sb3JFZGl0b3IuXG4vLy8gQGdyb3VwIGNvbG9yZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ29sb3JFZGl0b3IuXG4vLy8gQGdyb3VwIGNvbG9yZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENvbG9yRWRpdG9yLlxuLy8vIEBncm91cCBjb2xvcmVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENvbG9yRWRpdG9yLlxuLy8vIEBncm91cCBjb2xvcmVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgQ29sb3JFZGl0b3IuXG4vLy8gQGdyb3VwIGNvbG9yZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWZvY3VzLWJvcmRlcjogJGtlbmRvLWhvdmVyLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBDb2xvckVkaXRvci5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItZm9jdXMtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENvbG9yRWRpdG9yIGhlYWRlci5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWNvbG9yLWVkaXRvci1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ29sb3JFZGl0b3IgaGVhZGVyLlxuLy8vIEBncm91cCBjb2xvcmVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tY29sb3ItZWRpdG9yLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgQ29sb3JFZGl0b3IgaGVhZGVyIGFjdGlvbnMuXG4vLy8gQGdyb3VwIGNvbG9yZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLWhlYWRlci1hY3Rpb25zLWdhcDogay1tYXRoLWRpdiggJGtlbmRvLWNvbG9yLWVkaXRvci1zcGFjZXIsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ29sb3JFZGl0b3IgcHJldmlldy5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItY29sb3ItcHJldmlldy13aWR0aDogMzJweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBDb2xvckVkaXRvciBwcmV2aWV3LlxuLy8vIEBncm91cCBjb2xvcmVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1wcmV2aWV3LWhlaWdodDogMTJweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2xvcnMgaW4gdGhlIENvbG9yRWRpdG9yIHByZXZpZXcuXG4vLy8gQGdyb3VwIGNvbG9yZWRpdG9yXG4ka2VuZG8tY29sb3ItZWRpdG9yLXByZXZpZXctZ2FwOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ29sb3JFZGl0b3Igdmlld3MgY29udGFpbmVyLlxuLy8vIEBncm91cCBjb2xvcmVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci12aWV3cy1wYWRkaW5nLXk6ICRrZW5kby1jb2xvci1lZGl0b3Itc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENvbG9yRWRpdG9yIHZpZXdzIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3Itdmlld3MtcGFkZGluZy14OiAka2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgQ29sb3JFZGl0b3Igdmlld3MgY29udGFpbmVyLlxuLy8vIEBncm91cCBjb2xvcmVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci12aWV3cy1nYXA6ICRrZW5kby1jb2xvci1lZGl0b3Itc3BhY2VyICFkZWZhdWx0O1xuXG4vLy8gVGhlIG91dGxpbmUgY29sb3Igb2YgdGhlIGZvY3VzZWQgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItY29sb3ItZ3JhZGllbnQtZm9jdXMtb3V0bGluZS1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMykgIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgd2lkdGggb2YgdGhlIGZvY3VzZWQgQ29sb3JHcmFkaWVudC5cbi8vLyBAZ3JvdXAgY29sb3JlZGl0b3JcbiRrZW5kby1jb2xvci1lZGl0b3ItY29sb3ItZ3JhZGllbnQtZm9jdXMtb3V0bGluZTogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIG9mZnNldCBvZiB0aGUgZm9jdXNlZCBDb2xvckdyYWRpZW50LlxuLy8vIEBncm91cCBjb2xvcmVkaXRvclxuJGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1ncmFkaWVudC1mb2N1cy1vdXRsaW5lLW9mZnNldDogMnB4ICFkZWZhdWx0O1xuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcmVkaXRvci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JlZGl0b3IvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JlZGl0b3IvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY29sb3ItZWRpdG9yLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yRWRpdG9yL0ZsYXRDb2xvclBpY2tlclxuICAgIC5rLWNvbG9yZWRpdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIG1pbi13aWR0aDogJGtlbmRvLWNvbG9yLWVkaXRvci1taW4td2lkdGg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNvbG9yLWVkaXRvci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNvbG9yLWVkaXRvci1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tY29sb3ItZWRpdG9yLWZvbnQtZmFtaWx5O1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNvbG9yLWVkaXRvci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhlYWRlclxuICAgIC5rLWNvbG9yZWRpdG9yLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1jb2xvci1lZGl0b3ItaGVhZGVyLXBhZGRpbmcteSAka2VuZG8tY29sb3ItZWRpdG9yLWhlYWRlci1wYWRkaW5nLXggMDtcbiAgICB9XG5cbiAgICAuay1jb2xvcmVkaXRvci1oZWFkZXItYWN0aW9ucyB7XG4gICAgICAgIGdhcDogJGtlbmRvLWNvbG9yLWVkaXRvci1oZWFkZXItYWN0aW9ucy1nYXA7XG4gICAgfVxuXG4gICAgLmstY29sb3JlZGl0b3ItcHJldmlldyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1jb2xvci1lZGl0b3ItcHJldmlldy1nYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmstY29sb3JlZGl0b3ItcHJldmlldyAuay1jb2xvci1wcmV2aWV3IHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1jb2xvci1lZGl0b3ItY29sb3ItcHJldmlldy13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLXByZXZpZXctaGVpZ2h0O1xuICAgIH1cblxuICAgIC8vIFZpZXdzXG4gICAgLmstY29sb3JlZGl0b3Itdmlld3Mge1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoIHZhcigtLWtlbmRvLWNvbG9yLXByZXZpZXctd2lkdGgsICN7JGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS13aWR0aH0pICogdmFyKC0ta2VuZG8tY29sb3ItcHJldmlldy1jb2x1bW5zLCAxMCkgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNvbG9yLWVkaXRvci12aWV3cy1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLXBhZGRpbmcteDtcbiAgICAgICAgZ2FwOiAka2VuZG8tY29sb3ItZWRpdG9yLXZpZXdzLWdhcDtcblxuICAgICAgICAuay1jb2xvcmdyYWRpZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1jb2xvcmdyYWRpZW50OmZvY3VzLFxuICAgICAgICAuay1jb2xvcmdyYWRpZW50LmstZm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogJGtlbmRvLWNvbG9yLWVkaXRvci1jb2xvci1ncmFkaWVudC1mb2N1cy1vdXRsaW5lIGRvdHRlZDtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAka2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLWdyYWRpZW50LWZvY3VzLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbG9ycGFsZXR0ZSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2xvcnBhbGV0dGUtdGlsZSB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0ta2VuZG8tY29sb3ItcHJldmlldy13aWR0aCwgJGtlbmRvLWNvbG9yLXBhbGV0dGUtdGlsZS13aWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWtlbmRvLWNvbG9yLXByZXZpZXctaGVpZ2h0LCAka2VuZG8tY29sb3ItcGFsZXR0ZS10aWxlLWhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb290ZXJcbiAgICAuay1jb2xvcmVkaXRvci1mb290ZXIuay1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1lZGl0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItZWRpdG9yLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZWRpdG9yLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY29sb3JlZGl0b3IvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JlZGl0b3IvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcmVkaXRvci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNvbG9yLWVkaXRvci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yRWRpdG9yL0ZsYXRDb2xvclBpY2tlclxuICAgIC5rLWNvbG9yZWRpdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1lZGl0b3ItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb2xvci1lZGl0b3ItYmcsXG4gICAgICAgICAgICAka2VuZG8tY29sb3ItZWRpdG9yLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWNvbG9yZWRpdG9yOmZvY3VzLFxuICAgIC5rLWNvbG9yZWRpdG9yLmstZm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tY29sb3ItZWRpdG9yLWZvY3VzLWJvcmRlciApO1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1jb2xvci1lZGl0b3ItZm9jdXMtc2hhZG93ICk7XG4gICAgfVxuXG4gICAgLmstY29sb3JlZGl0b3IgLmstY29sb3JncmFkaWVudDpmb2N1cyxcbiAgICAuay1jb2xvcmVkaXRvciAuay1jb2xvcmdyYWRpZW50LmstZm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8tY29sb3ItZWRpdG9yLWNvbG9yLWdyYWRpZW50LWZvY3VzLW91dGxpbmUtY29sb3I7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNvbG9yLWVkaXRvci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZWRpdG9yLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItZWRpdG9yLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1jb2xvci1lZGl0b3ItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNvbG9yLWVkaXRvclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1lZGl0b3ItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2NvbG9ycGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3JwaWNrZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiY29sb3ItcGlja2VyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY29sb3ItZWRpdG9yXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9yZWRpdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3JlZGl0b3IvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY29sb3JwaWNrZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBDb2xvciBwaWNrZXJcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jb2xvcnBpY2tlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JwaWNrZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JwaWNrZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY29sb3ItcGlja2VyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yIHBpY2tlclxuICAgIC5rLWNvbG9yLXBpY2tlciB7XG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBBbGlhc1xuICAgIC5rLWNvbG9ycGlja2VyIHtcbiAgICAgICAgQGV4dGVuZCAuay1jb2xvci1waWNrZXIgIW9wdGlvbmFsO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jb2xvci1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb2xvci1waWNrZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY29sb3ItcGlja2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY29sb3JwaWNrZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29sb3JwaWNrZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb2xvcnBpY2tlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNvbG9yLXBpY2tlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIENvbG9yIHBpY2tlclxuICAgIC5rLWNvbG9yLXBpY2tlciB7fVxuXG59XG5cbkBtaXhpbiBrZW5kby1jb2xvci1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLXBpY2tlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNvbG9yLXBpY2tlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tY29sb3ItcGlja2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjb2xvci1waWNrZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jb21ib2JveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbWJvYm94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImNvbWJvYm94XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY29tYm9ib3gvX3ZhcmlhYmxlcy5zY3NzXG4vLyBDb21ib2JveFxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2NvbWJvYm94L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21ib2JveC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21ib2JveC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1jb21ib2JveC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBDb21ib2JveFxuICAgIC5rLWNvbWJvYm94IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tY29tYm9ib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jb21ib2JveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbWJvYm94LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvY29tYm9ib3gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY29tYm9ib3gvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jb21ib2JveC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWNvbWJvYm94LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQ29tYm9ib3hcbiAgICAuay1jb21ib2JveCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLWNvbWJvYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWNvbWJvYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNvbWJvYm94LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJjb21ib2JveFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNvbWJvYm94LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tY29tYm9ib3gtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RhdGVpbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RhdGVpbnB1dC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkYXRlLWlucHV0XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RhdGVpbnB1dC9fdmFyaWFibGVzLnNjc3Ncbi8vIERhdGUgaW5wdXRcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kYXRlaW5wdXQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGVpbnB1dC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRlaW5wdXQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBEYXRlIGlucHV0XG4gICAgLmstZGF0ZWlucHV0IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtaW5wdXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtaW5wdXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9kYXRlaW5wdXQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZWlucHV0L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZWlucHV0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERhdGUgaW5wdXRcbiAgICAuay1kYXRlaW5wdXQge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLWlucHV0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLWlucHV0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1pbnB1dC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1pbnB1dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWRhdGUtaW5wdXQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRhdGUtaW5wdXRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1pbnB1dC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtaW5wdXQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLWlucHV0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9kYXRlcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXBpY2tlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkYXRlLXBpY2tlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNhbGVuZGFyXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jYWxlbmRhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NhbGVuZGFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kYXRlcGlja2VyL192YXJpYWJsZXMuc2Nzc1xuLy8gRGF0ZXBpY2tlclxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2RhdGVwaWNrZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGVwaWNrZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZXBpY2tlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kYXRlLXBpY2tlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBEYXRlIHBpY2tlclxuICAgIC5rLWRhdGVwaWNrZXIge31cblxufVxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXBpY2tlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXBpY2tlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZGF0ZXBpY2tlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRlcGlja2VyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZXBpY2tlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRhdGUtcGlja2VyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gRGF0ZSBwaWNrZXJcbiAgICAuay1kYXRlcGlja2VyIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZGF0ZS1waWNrZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRhdGUtcGlja2VyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcGlja2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1waWNrZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXBpY2tlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdGltZXBpY2tlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidGltZS1waWNrZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICAgICAgXCJ0aW1lLXNlbGVjdG9yXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90aW1lc2VsZWN0b3IvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90aW1lc2VsZWN0b3IvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RpbWVwaWNrZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUaW1lIHBpY2tlclxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RpbWVwaWNrZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVwaWNrZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGltZXBpY2tlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10aW1lLXBpY2tlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBUaW1lIHBpY2tlclxuICAgIC5rLXRpbWUtcGlja2VyIHt9XG5cblxuICAgIC8vIExlZ2FjeSBhbGlhc2VzXG4gICAgLmstdGltZXBpY2tlciB7XG4gICAgICAgIEBleHRlbmQgLmstdGltZS1waWNrZXIgIW9wdGlvbmFsO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10aW1lLXBpY2tlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtcGlja2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbWUtcGlja2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1waWNrZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90aW1lcGlja2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVwaWNrZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lcGlja2VyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdGltZS1waWNrZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUaW1lIHBpY2tlclxuICAgIC5rLXRpbWUtcGlja2VyIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGltZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGltZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdGltZS1waWNrZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInRpbWUtcGlja2VyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtcGlja2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGltZS1waWNrZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLXBpY2tlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kYXRldGltZXBpY2tlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiY2FsZW5kYXJcIixcbiAgICAgICAgXCJkYXRlLWlucHV0XCIsXG4gICAgICAgIFwiZGF0ZS1waWNrZXJcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICAgICAgXCJ0aW1lLXNlbGVjdG9yXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jYWxlbmRhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NhbGVuZGFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGltZXNlbGVjdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGltZXNlbGVjdG9yL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBEYXRlVGltZVxuJGtlbmRvLWRhdGV0aW1lLXdpZHRoOiBjYWxjKCAjeyRrZW5kby1jYWxlbmRhci1jZWxsLXNpemUgKiA4fSArICN7JGtlbmRvLWluZmluaXRlLWNhbGVuZGFyLXZpZXctcGFkZGluZy14ICogMn0pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2RhdGV0aW1lcGlja2VyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRldGltZXBpY2tlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRldGltZXBpY2tlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIERhdGV0aW1lIGNvbnRhaW5lclxuICAgIC5rLWRhdGV0aW1lLWNvbnRhaW5lciB7fVxuXG4gICAgLy8gRGF0ZXRpbWUgc2VsZWN0b3JcbiAgICAuay1kYXRldGltZS1zZWxlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG4gICAgfVxuXG4gICAgLy8gV3JhcFxuICAgIC5rLWRhdGV0aW1lLXdyYXAge1xuICAgICAgICB3aWR0aDogJGtlbmRvLWRhdGV0aW1lLXdpZHRoO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5rLWRhdGV0aW1lLWJ1dHRvbmdyb3VwIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYWN0aW9ucy1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhcixcbiAgICAgICAgLmstdGltZXNlbGVjdG9yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5uZXIgd3JhcFxuICAgIC5rLWRhdGV0aW1lLWNhbGVuZGFyLXdyYXAsXG4gICAgLmstZGF0ZXRpbWUtdGltZS13cmFwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmbGV4OiAwIDAgJGtlbmRvLWRhdGV0aW1lLXdpZHRoO1xuICAgIH1cblxuICAgIC8vIFRhYnNcbiAgICAuay1kYXRlLXRhYiAuay1kYXRldGltZS1zZWxlY3RvciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgLmstdGltZS10YWIgLmstZGF0ZXRpbWUtc2VsZWN0b3Ige1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cblxuICAgIC5rLXRpbWUtdGFiIC5rLWRhdGV0aW1lLXNlbGVjdG9yIHtcbiAgICAgICAgJi5rLXJ0bCxcbiAgICAgICAgJltkaXI9XCJydGxcIl0sXG4gICAgICAgIC5rLXJ0bCAmLFxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS10aW1lLXBpY2tlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS10aW1lLXBpY2tlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2RhdGV0aW1lcGlja2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGV0aW1lcGlja2VyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZXRpbWVwaWNrZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gRGF0ZXRpbWUgcGlja2VyXG4gICAgLmstZGF0ZXRpbWVwaWNrZXIge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS10aW1lLXBpY2tlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS10aW1lLXBpY2tlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRhdGUtdGltZS1waWNrZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0ZS10aW1lLXBpY2tlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtdGltZS1waWNrZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXRpbWUtcGlja2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90aW1lZHVyYXRpb25waWNrZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90aW1lZHVyYXRpb25waWNrZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidGltZS1kdXJhdGlvbi1waWNrZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICAgICAgXCJ0aW1lLXNlbGVjdG9yXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGltZXNlbGVjdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGltZXNlbGVjdG9yL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90aW1lZHVyYXRpb25waWNrZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUaW1lZHVyYXRpb25waWNrZXJcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90aW1lZHVyYXRpb25waWNrZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVkdXJhdGlvbnBpY2tlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lZHVyYXRpb25waWNrZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gVGltZSBkdXJhdGlvbiBwaWNrZXJcbiAgICAuay10aW1lLWR1cmF0aW9uLXBpY2tlciB7fVxuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIC5rLXRpbWVkdXJhdGlvbnBpY2tlciB7XG4gICAgICAgIEBleHRlbmQgLmstdGltZS1kdXJhdGlvbi1waWNrZXI7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbWUtZHVyYXRpb24tcGlja2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3RpbWVkdXJhdGlvbnBpY2tlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lZHVyYXRpb25waWNrZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lZHVyYXRpb25waWNrZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFRpbWUgZHVyYXRpb24gcGlja2VyXG4gICAgLmstdGltZS1kdXJhdGlvbi1waWNrZXIge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidGltZS1kdXJhdGlvbi1waWNrZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGltZS1kdXJhdGlvbi1waWNrZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtZHVyYXRpb24tcGlja2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9kYXRlcmFuZ2VwaWNrZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kYXRlcmFuZ2VwaWNrZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZGF0ZS1yYW5nZS1waWNrZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJjYWxlbmRhclwiLFxuICAgICAgICBcImRhdGUtaW5wdXRcIixcbiAgICAgICAgXCJkYXRlLXBpY2tlclwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RhdGVyYW5nZXBpY2tlci9fdmFyaWFibGVzLnNjc3Ncbi8vIERhdGVyYW5nZXBpY2tlclxuJGtlbmRvLWRhdGVyYW5nZS1waWNrZXItaW5wdXQtd2lkdGg6IDEwZW0gIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXJhbmdlcGlja2VyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRlcmFuZ2VwaWNrZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0ZXJhbmdlcGlja2VyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIERhdGVyYW5nZSBwaWNrZXJcbiAgICAuay1kYXRlcmFuZ2UtcGlja2VyIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1pbnB1dC1kZWZhdWx0LXdpZHRoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF0ZWlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZGF0ZXJhbmdlLXBpY2tlci1pbnB1dC13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQW5ndWxhciBzcGVjaWZpY1xuICAgIGtlbmRvLWRhdGVyYW5nZSB7XG4gICAgICAgIC8vIEBleHRlbmQgLmstZGF0ZXJhbmdlcGlja2VyICFvcHRpb25hbDtcbiAgICB9XG5cblxuICAgIC8vIFJlYWN0IHNwZWNpZmljXG4gICAgLmstZGF0ZXJhbmdlcGlja2VyLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICBmbGV4LWZsb3c6IGluaGVyaXQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBpbmhlcml0O1xuICAgICAgICBnYXA6IGluaGVyaXQ7XG4gICAgfVxuXG5cbiAgICAvLyBBbGlhc1xuICAgIC5rLWRhdGVyYW5nZXBpY2tlciB7XG4gICAgICAgIEBleHRlbmQgLmstZGF0ZXJhbmdlLXBpY2tlciAhb3B0aW9uYWw7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2RhdGVyYW5nZXBpY2tlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRlcmFuZ2VwaWNrZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRlcmFuZ2VwaWNrZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERhdGUgcmFuZ2UgcGlja2VyXG4gICAgLmstZGF0ZXJhbmdlcGlja2VyIHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRhdGUtcmFuZ2UtcGlja2VyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRhdGUtcmFuZ2UtcGlja2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRlLXJhbmdlLXBpY2tlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZHJvcGRvd25ncmlkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25ncmlkL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImRyb3Bkb3duLWdyaWRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgICAgICBcInRhYmxlXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3BvcHVwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90YWJsZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RhYmxlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmdyaWQvX3ZhcmlhYmxlcy5zY3NzXG4vLyBEcm9wZG93biBncmlkXG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25ncmlkL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcm9wZG93bmdyaWQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcGRvd25ncmlkL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWRyb3Bkb3duLWdyaWQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gRHJvcGRvd24gZ3JpZFxuICAgIC5rLWRyb3Bkb3duLWdyaWQge31cblxuXG4gICAgLy8gRHJvcGRvd24gZ3JpZCBwb3B1cFxuICAgIC5rLWRyb3Bkb3duZ3JpZC1wb3B1cCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5rLWRyb3Bkb3duZ3JpZC1wb3B1cCA+IC5rLWRhdGEtdGFibGUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLWdyaWQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1ncmlkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLWdyaWQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1ncmlkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25ncmlkL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3duZ3JpZC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3duZ3JpZC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRyb3Bkb3duLWdyaWQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBEcm9wZG93biBncmlkXG4gICAgLmstZHJvcGRvd24tZ3JpZCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLWdyaWQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWdyaWQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kcm9wZG93bi1ncmlkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1ncmlkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tZ3JpZC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZHJvcGRvd24tZ3JpZFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1ncmlkLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZHJvcGRvd24tZ3JpZC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWdyaWQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2Ryb3Bkb3dubGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3dubGlzdC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJkcm9wZG93bi1saXN0XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX3ZhcmlhYmxlcy5zY3NzXG4vLyBEcm9wZG93bmxpc3RcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dubGlzdC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcm9wZG93bmxpc3QvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tbGlzdC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBEcm9wZG93biBsaXN0XG4gICAgLmstZHJvcGRvd24tbGlzdCB7fVxuXG5cbiAgICAvLyBOYXRpdmUgc2VsZWN0XG4gICAgc2VsZWN0LmstZHJvcGRvd24tbGlzdCB7fVxuXG5cbiAgICAvLyBEcm9wZG93biBvcGVyYXRvclxuICAgIC5rLWRyb3Bkb3duLW9wZXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICBmbGV4OiBub25lO1xuXG4gICAgICAgIC5rLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1idXR0b24gLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1pbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMZWdhY3kgYWxpYXNlc1xuICAgIC5rLWRyb3Bkb3duLFxuICAgIC5rLWRyb3Bkb3dubGlzdCB7XG4gICAgICAgIEBleHRlbmQgLmstZHJvcGRvd24tbGlzdCAhb3B0aW9uYWw7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLWxpc3QtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1saXN0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLWxpc3QtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1saXN0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25saXN0L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dubGlzdC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dubGlzdC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRyb3Bkb3duLWxpc3QtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBEcm9wZG93biBsaXN0XG4gICAgLmstZHJvcGRvd24tbGlzdCB7fVxuXG4gICAgLy8gTmF0aXZlIHNlbGVjdFxuICAgIHNlbGVjdC5rLWRyb3Bkb3duLWxpc3Qge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1kcm9wZG93bi1saXN0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1saXN0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tbGlzdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJvcGRvd24tbGlzdC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWRyb3Bkb3duLWxpc3QtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRyb3Bkb3duLWxpc3RcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZHJvcGRvd24tbGlzdC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWxpc3QtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi1saXN0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9kcm9wZG93bnRyZWUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bnRyZWUvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZHJvcGRvd24tdHJlZVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgICAgIFwidHJlZXZpZXdcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Ryb3Bkb3dubGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3dubGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL211bHRpc2VsZWN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbXVsdGlzZWxlY3QvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwibXVsdGlzZWxlY3RcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJjaGlwXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jaGlwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2hpcC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZmxvYXRpbmctbGFiZWwvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9tdWx0aXNlbGVjdC9fdmFyaWFibGVzLnNjc3Ncbi8vIE11bHRpc2VsZWN0XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbXVsdGlzZWxlY3QvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL211bHRpc2VsZWN0L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL211bHRpc2VsZWN0L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW11bHRpc2VsZWN0LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIE11bHRpc2VsZWN0XG4gICAgLmstbXVsdGlzZWxlY3Qge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tdWx0aXNlbGVjdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW11bHRpc2VsZWN0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW11bHRpc2VsZWN0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbXVsdGlzZWxlY3QtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9tdWx0aXNlbGVjdC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tdWx0aXNlbGVjdC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL211bHRpc2VsZWN0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbXVsdGlzZWxlY3QtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBNdWx0aXNlbGVjdFxuICAgIC5rLW11bHRpc2VsZWN0IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbXVsdGlzZWxlY3QtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW11bHRpc2VsZWN0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbXVsdGlzZWxlY3QtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW11bHRpc2VsZWN0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tbXVsdGlzZWxlY3QtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIm11bHRpc2VsZWN0XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW11bHRpc2VsZWN0LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbXVsdGlzZWxlY3QtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tdWx0aXNlbGVjdC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RyZWV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdHJlZXZpZXcvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidHJlZXZpZXdcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RyZWV2aWV3L192YXJpYWJsZXMuc2Nzc1xuLy8gVHJlZVZpZXdcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc21hbGwgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctc20tZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIG1lZGl1bSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1tZC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbGFyZ2UgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGctZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHNtYWxsIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LXNtLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAyMCwgMTQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIG1lZGl1bSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1tZC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgbGFyZ2UgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGctbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBpbmRlbnRhdGlvbiBvZiBjaGlsZCBncm91cHMgaW4gdGhlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWluZGVudDogMjRweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRyZWVWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWl0ZW0tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgc21hbGwgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctc20taXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbWQtaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDMgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1sZy1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1zbS1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbWQtaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGctaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWJvcmRlci1yYWRpdXM6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGNoZWNrYm94IGluIHRoZSBzbWFsbCBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1zbS1jaGVja2JveC1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBjaGVja2JveCBpbiB0aGUgbWVkaXVtIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LW1kLWNoZWNrYm94LXBhZGRpbmcteDogJGtlbmRvLXRyZWV2aWV3LXNtLWNoZWNrYm94LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBjaGVja2JveCBpbiB0aGUgbGFyZ2UgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbGctY2hlY2tib3gtcGFkZGluZy14OiAka2VuZG8tdHJlZXZpZXctc20tY2hlY2tib3gtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjaGVja2JveCBpbiB0aGUgc21hbGwgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctc20tY2hlY2tib3gtcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAuNSApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBjaGVja2JveCBpbiB0aGUgbWVkaXVtIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LW1kLWNoZWNrYm94LXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgY2hlY2tib3ggaW4gdGhlIGxhcmdlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxnLWNoZWNrYm94LXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIHNpemVzIG1hcCBvZiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby10cmVldmlldy1zbS1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdHJlZXZpZXctc20tbGluZS1oZWlnaHQsXG4gICAgICAgIGl0ZW0tcGFkZGluZy14OiAka2VuZG8tdHJlZXZpZXctc20taXRlbS1wYWRkaW5nLXgsXG4gICAgICAgIGl0ZW0tcGFkZGluZy15OiAka2VuZG8tdHJlZXZpZXctc20taXRlbS1wYWRkaW5nLXksXG4gICAgICAgIGNoZWNrYm94LXBhZGRpbmcteDogJGtlbmRvLXRyZWV2aWV3LXNtLWNoZWNrYm94LXBhZGRpbmcteCxcbiAgICAgICAgY2hlY2tib3gtcGFkZGluZy15OiAka2VuZG8tdHJlZXZpZXctc20tY2hlY2tib3gtcGFkZGluZy15XG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby10cmVldmlldy1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdHJlZXZpZXctbWQtbGluZS1oZWlnaHQsXG4gICAgICAgIGl0ZW0tcGFkZGluZy14OiAka2VuZG8tdHJlZXZpZXctbWQtaXRlbS1wYWRkaW5nLXgsXG4gICAgICAgIGl0ZW0tcGFkZGluZy15OiAka2VuZG8tdHJlZXZpZXctbWQtaXRlbS1wYWRkaW5nLXksXG4gICAgICAgIGNoZWNrYm94LXBhZGRpbmcteDogJGtlbmRvLXRyZWV2aWV3LW1kLWNoZWNrYm94LXBhZGRpbmcteCxcbiAgICAgICAgY2hlY2tib3gtcGFkZGluZy15OiAka2VuZG8tdHJlZXZpZXctbWQtY2hlY2tib3gtcGFkZGluZy15XG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby10cmVldmlldy1sZy1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdHJlZXZpZXctbGctbGluZS1oZWlnaHQsXG4gICAgICAgIGl0ZW0tcGFkZGluZy14OiAka2VuZG8tdHJlZXZpZXctbGctaXRlbS1wYWRkaW5nLXgsXG4gICAgICAgIGl0ZW0tcGFkZGluZy15OiAka2VuZG8tdHJlZXZpZXctbGctaXRlbS1wYWRkaW5nLXksXG4gICAgICAgIGNoZWNrYm94LXBhZGRpbmcteDogJGtlbmRvLXRyZWV2aWV3LWxnLWNoZWNrYm94LXBhZGRpbmcteCxcbiAgICAgICAgY2hlY2tib3gtcGFkZGluZy15OiAka2VuZG8tdHJlZXZpZXctbGctY2hlY2tib3gtcGFkZGluZy15XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgaG92ZXJlZCBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJnOiAka2VuZG8taG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgaG92ZXJlZCBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLXRleHQ6ICRrZW5kby1ob3Zlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgaG92ZXJlZCBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJvcmRlcjogJGtlbmRvLXRyZWV2aWV3LWl0ZW0taG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgaG92ZXJlZCBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2Ygc2VsZWN0ZWQgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC1iZzogJGtlbmRvLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHNlbGVjdGVkIFRyZWVWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiBzZWxlY3RlZCBUcmVlVmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1pdGVtLXNlbGVjdGVkLWJvcmRlcjogJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2Ygc2VsZWN0ZWQgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3ggc2hhZG93IG9mIGZvY3VzZWQgVHJlZVZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctaXRlbS1mb2N1cy1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMTUlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby10cmVldmlldy10ZXh0LCAuMTUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgTG9hZCBNb3JlIGJ1dHRvbiBpbiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBMb2FkIE1vcmUgYnV0dG9uIGluIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1sb2FkbW9yZS10ZXh0OiAka2VuZG8tbGluay10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIExvYWQgTW9yZSBidXR0b24gaW4gdGhlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIExvYWQgTW9yZSBidXR0b24gaW4gdGhlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWhvdmVyLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBMb2FkIE1vcmUgYnV0dG9uIGluIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1sb2FkbW9yZS1ob3Zlci10ZXh0OiAka2VuZG8tbGluay1ob3Zlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgTG9hZCBNb3JlIGJ1dHRvbiBpbiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgTG9hZCBNb3JlIGJ1dHRvbiBpbiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtZm9jdXMtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIExvYWQgTW9yZSBidXR0b24gaW4gdGhlIFRyZWVWaWV3LlxuLy8vIEBncm91cCB0cmVldmlld1xuJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWZvY3VzLXRleHQ6ICRrZW5kby1saW5rLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZm9jdXNlZCBMb2FkIE1vcmUgYnV0dG9uIGluIHRoZSBUcmVlVmlldy5cbi8vLyBAZ3JvdXAgdHJlZXZpZXdcbiRrZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgTG9hZCBNb3JlIGJ1dHRvbiBpbiB0aGUgVHJlZVZpZXcuXG4vLy8gQGdyb3VwIHRyZWV2aWV3XG4ka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtZm9jdXMtc2hhZG93OiAka2VuZG8tdHJlZXZpZXctaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90cmVldmlldy9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZXZpZXcvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZXZpZXcvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdHJlZXZpZXctLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gVHJlZXZpZXdcbiAgICAuay10cmVldmlldyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby10cmVldmlldy1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdHJlZXZpZXctZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRyZWV2aWV3LWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgZmlsdGVyXG4gICAgLmstdHJlZXZpZXctZmlsdGVyIHtcbiAgICAgICAgcGFkZGluZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgZ3JvdXBcbiAgICAuay10cmVldmlldy1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJi5uZy1hbmltYXRpbmcge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgd3JhcHBlcnNcbiAgICAuay10cmVldmlldy10b3AsXG4gICAgLmstdHJlZXZpZXctbWlkLFxuICAgIC5rLXRyZWV2aWV3LWJvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGl0ZW1cbiAgICAuay10cmVldmlldy1pdGVtIHtcbiAgICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAka2VuZG8tdHJlZXZpZXctaW5kZW50O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuXG4gICAgLy8gVHJlZXZpZXcgdG9nZ2xlXG4gICAgLmstdHJlZXZpZXctdG9nZ2xlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLSRrZW5kby10cmVldmlldy1pbmRlbnQ7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLmstdHJlZXZpZXctdG9nZ2xlIC5rLWljb24ge1xuICAgICAgICBwYWRkaW5nOiAka2VuZG8taWNvbi1wYWRkaW5nO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG5cblxuICAgIC8vIExvYWRpbmcgaWNvblxuICAgIC5rLXRyZWV2aWV3LWxvYWRpbmcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgfVxuXG5cbiAgICAvLyBDaGVja2JveFxuICAgIC5rLXRyZWV2aWV3IC5rLWNoZWNrYm94LXdyYXAsXG4gICAgLmstdHJlZXZpZXcgLmstY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGxlYWZcbiAgICAuay10cmVldmlldy1sZWFmIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXRyZWV2aWV3LWl0ZW0tYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdHJlZXZpZXctaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdHJlZXZpZXctaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlcjogJGtlbmRvLXRyZWV2aWV3LWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuay1pY29uLFxuICAgICAgICAuay1pbWFnZSxcbiAgICAgICAgLmstc3ByaXRlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUcmVldmlldyBsb2FkIG1vcmUgYnV0dG9uXG4gICAgLmstdHJlZXZpZXcgLmstdHJlZXZpZXctbG9hZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUlRMXG4gICAgLmstcnRsIC5rLXRyZWV2aWV3LFxuICAgIFtkaXI9XCJydGxcIl0gLmstdHJlZXZpZXcsXG4gICAgLmstdHJlZXZpZXcuay1ydGwsXG4gICAgLmstdHJlZXZpZXdbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAvLyBUcmVldmlldyBpdGVtXG4gICAgICAgIC5rLXRyZWV2aWV3LWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGtlbmRvLXRyZWV2aWV3LWluZGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvYWRpbmdcbiAgICAgICAgLmstdHJlZXZpZXctbG9hZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRyZWV2aWV3IGxlYWZcbiAgICAgICAgLmstdHJlZXZpZXctbGVhZixcbiAgICAgICAgLmstaW4ge1xuICAgICAgICAgICAgLmstaWNvbixcbiAgICAgICAgICAgIC5rLWltYWdlLFxuICAgICAgICAgICAgLmstc3ByaXRlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXRyZWV2aWV3LXNpemVzIHtcbiAgICAgICAgJF9mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSk7XG4gICAgICAgICRfbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmUtaGVpZ2h0KTtcbiAgICAgICAgJF9pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgICAkX2l0ZW0tcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBpdGVtLXBhZGRpbmcteSk7XG4gICAgICAgICRfY2hlY2tib3gtcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBjaGVja2JveC1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9jaGVja2JveC1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNoZWNrYm94LXBhZGRpbmcteSApO1xuXG4gICAgICAgIC5rLXRyZWV2aWV3LSN7JHNpemV9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcblxuICAgICAgICAgICAgLmstdHJlZXZpZXctbGVhZiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY2hlY2tib3gtd3JhcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9jaGVja2JveC1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfY2hlY2tib3gtcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRyZWV2aWV3LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdHJlZXZpZXctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdHJlZXZpZXctLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXRyZWV2aWV3LS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLy8gVHJlZXZpZXdcbiAgICAuay10cmVldmlldyB7fVxuXG5cbiAgICAvLyBUcmVldmlldyBsZWFmXG4gICAgLmstdHJlZXZpZXctbGVhZiB7XG4gICAgICAgIHRyYW5zaXRpb246ICRrZW5kby10cmFuc2l0aW9uO1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdHJlZXZpZXcvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZXZpZXcvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90cmVldmlldy9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRyZWV2aWV3LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVHJlZXZpZXdcbiAgICAuay10cmVldmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctdGV4dCxcbiAgICAgICAgICAgICRrZW5kby10cmVldmlldy1iZyxcbiAgICAgICAgICAgICRrZW5kby10cmVldmlldy1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGl0ZW1cbiAgICAuay10cmVldmlldy1pdGVtIHt9XG5cblxuICAgIC8vIFRyZWV2aWV3IGxlYWZcbiAgICAuay10cmVldmlldy1sZWFmIHtcblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1pdGVtLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby10cmVldmlldy1pdGVtLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctaXRlbS1zZWxlY3RlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWl0ZW0tc2VsZWN0ZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRyZWV2aWV3IGxvYWQgbW9yZSBidXR0b25cbiAgICAuay10cmVldmlldyAuay10cmVldmlldy1sb2FkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10cmVldmlldy1sb2FkbW9yZS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1sb2FkbW9yZS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1sb2FkbW9yZS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tdHJlZXZpZXctbG9hZG1vcmUtaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXMgc3RhdGVcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXRyZWV2aWV3LWxvYWRtb3JlLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby10cmVldmlldy1sb2FkbW9yZS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10cmVldmlldy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdHJlZXZpZXctLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10cmVldmlldy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdHJlZXZpZXctLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10cmVldmlldy0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidHJlZXZpZXdcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdHJlZXZpZXctLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10cmVldmlldy0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRyZWV2aWV3LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bnRyZWUvX3ZhcmlhYmxlcy5zY3NzXG4vLyBEcm9wZG93bnRyZWVcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIERyb3Bkb3duVHJlZSBwb3B1cFxuLy8vIEBncm91cCBkcm9wZG93bnRyZWVcbiRrZW5kby1kcm9wZG93bnRyZWUtcG9wdXAtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIERyb3Bkb3duVHJlZSBwb3B1cFxuLy8vIEBncm91cCBkcm9wZG93bnRyZWVcbiRrZW5kby1kcm9wZG93bnRyZWUtcG9wdXAtcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd250cmVlL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcm9wZG93bnRyZWUvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcGRvd250cmVlL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gRHJvcGRvd24gdHJlZVxuICAgIC5rLWRyb3Bkb3duLXRyZWUge31cblxuICAgIC8vIERyb3Bkb3dudHJlZSBwb3B1cFxuICAgIC5rLXBvcHVwLWRyb3Bkb3dudHJlZSwgLy8gcmVtb3ZlIGxlZ2FjeSBjbGFzcyBvbmNlIHVwZGF0ZWQgaW4gY29tcG9uZW50c1xuICAgIC5rLWRyb3Bkb3dudHJlZS1wb3B1cCxcbiAgICAuay1tdWx0aXNlbGVjdHRyZWUtcG9wdXAge1xuICAgICAgICAuay10cmVldmlldyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBrLW1hdGgtZGl2KCAka2VuZG8tZHJvcGRvd250cmVlLXBvcHVwLXBhZGRpbmcteSwgMiApO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IGstbWF0aC1kaXYoICRrZW5kby1kcm9wZG93bnRyZWUtcG9wdXAtcGFkZGluZy14LCAyICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jaGVjay1hbGwge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWRyb3Bkb3dudHJlZS1wb3B1cC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWRyb3Bkb3dudHJlZS1wb3B1cC1wYWRkaW5nLXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1tdWx0aXNlbGVjdHRyZWUge1xuICAgICAgICAuay1pbnB1dC12YWx1ZXMge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pbnB1dC1pbm5lcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd250cmVlL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dudHJlZS9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3Bkb3dudHJlZS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBEcm9wZG93biB0cmVlXG4gICAgLmstZHJvcGRvd24tdHJlZSB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kcm9wZG93bi10cmVlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZHJvcGRvd24tdHJlZS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZHJvcGRvd24tdHJlZVwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcm9wZG93bi10cmVlLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZHJvcGRvd24tdHJlZS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL21hc2tlZHRleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tYXNrZWR0ZXh0Ym94L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIm1hc2tlZC10ZXh0Ym94XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mbG9hdGluZy1sYWJlbC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zsb2F0aW5nLWxhYmVsL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbWFza2VkdGV4dGJveC9fdmFyaWFibGVzLnNjc3Ncbi8vIE1hc2tlZCB0ZXh0Ym94XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbWFza2VkdGV4dGJveC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWFza2VkdGV4dGJveC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tYXNrZWR0ZXh0Ym94L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIE1hc2tlZCB0ZXh0Ym94XG4gICAgLmstbWFza2VkdGV4dGJveCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWFza2VkLXRleHRib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbWFza2VkLXRleHRib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL21hc2tlZHRleHRib3gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWFza2VkdGV4dGJveC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21hc2tlZHRleHRib3gvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1tYXNrZWQtdGV4dGJveC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIE1hc2tlZCB0ZXh0Ym94XG4gICAgLmstbWFza2VkdGV4dGJveCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJtYXNrZWQtdGV4dGJveFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1tYXNrZWQtdGV4dGJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWFza2VkLXRleHRib3gtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL211bHRpc2VsZWN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbXVsdGlzZWxlY3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL251bWVyaWN0ZXh0Ym94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbnVtZXJpY3RleHRib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3JhdGluZy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3JhdGluZy9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJyYXRpbmdcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3JhdGluZy9fdmFyaWFibGVzLnNjc3Ncbi8vIFJhdGluZ1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBSYXRpbmcuXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFJhdGluZy5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFJhdGluZy5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIFJhdGluZyBjb250YWluZXIuXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1jb250YWluZXItbWFyZ2luLXg6ICRrZW5kby1wYWRkaW5nLXNtLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBSYXRpbmcgaXRlbS5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy14OiAka2VuZG8tcGFkZGluZy1zbS14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBSYXRpbmcgaXRlbS5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy15OiAka2VuZG8tcGFkZGluZy1tZC15ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBSYXRpbmcgbGFiZWwuXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1sYWJlbC1tYXJnaW4teDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgbWFyZ2luIG9mIHRoZSBSYXRpbmcgbGFiZWwuXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1sYWJlbC1tYXJnaW4teTogJGtlbmRvLXBhZGRpbmctbWQteSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFJhdGluZyBsYWJlbC5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWxhYmVsLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUmF0aW5nIGljb24uXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1pY29uLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgUmF0aW5nIGljb24uXG4vLy8gQGdyb3VwIHJhdGluZ1xuJGtlbmRvLXJhdGluZy1pY29uLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBSYXRpbmcgaWNvbi5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWljb24taG92ZXItdGV4dDogJGtlbmRvLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIFJhdGluZyBpY29uLlxuLy8vIEBncm91cCByYXRpbmdcbiRrZW5kby1yYXRpbmctaWNvbi1mb2N1cy10ZXh0OiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIFJhdGluZyBpY29uLlxuLy8vIEBncm91cCByYXRpbmdcbiRrZW5kby1yYXRpbmctaWNvbi1mb2N1cy1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKCBibGFjaywgLjEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIGFuZCBzZWxlY3RlZCBSYXRpbmcgaWNvbi5cbi8vLyBAZ3JvdXAgcmF0aW5nXG4ka2VuZG8tcmF0aW5nLWljb24tZm9jdXMtc2VsZWN0ZWQtc2hhZG93OiAwIDJweCA0cHggcmdiYSggYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9yYXRpbmcvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3JhdGluZy9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yYXRpbmcvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcmF0aW5nLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXJhdGluZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXJhdGluZy1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tcmF0aW5nLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1yYXRpbmctbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXJlYWRvbmx5IHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmF0aW5nLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLXJhdGluZy1jb250YWluZXItbWFyZ2luLXg7XG5cbiAgICAgICAgLmstcmF0aW5nLWl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1yYXRpbmctaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZS1vdXQgMHM7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1yYXRpbmctcHJlY2lzaW9uLXBhcnQsXG4gICAgICAgICAgICAuay1yYXRpbmctcHJlY2lzaW9uLWNvbXBsZW1lbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogJGtlbmRvLXJhdGluZy1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAka2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJhdGluZy1wcmVjaXNpb24tY29tcGxlbWVudCB7XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmF0aW5nLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tcmF0aW5nLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgICAgICBtYXJnaW4tYmxvY2s6ICRrZW5kby1yYXRpbmctbGFiZWwtbWFyZ2luLXk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6ICRrZW5kby1yYXRpbmctbGFiZWwtbWFyZ2luLXg7XG4gICAgfVxuXG4gICAgLmstcnRsLFxuICAgIFtkaXI9XCJydGxcIl0ge1xuICAgICAgICAuay1yYXRpbmctcHJlY2lzaW9uLXBhcnQge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tcmF0aW5nLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmF0aW5nLWl0ZW0gLmstcmF0aW5nLXByZWNpc2lvbi1jb21wbGVtZW50IHtcbiAgICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXJhdGluZy0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJhdGluZy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1yYXRpbmctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yYXRpbmctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9yYXRpbmcvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmF0aW5nL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmF0aW5nL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcmF0aW5nLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLmstcmF0aW5nIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jb21wb25lbnQtdGV4dDtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuXG4gICAgICAgICAgICAuay1yYXRpbmctaXRlbSB7XG4gICAgICAgICAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdyggJGtlbmRvLXJhdGluZy1pY29uLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCA+IC5rLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCAka2VuZG8tcmF0aW5nLWljb24tZm9jdXMtc2VsZWN0ZWQtc2hhZG93ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcmF0aW5nLWl0ZW0ge1xuICAgICAgICBjb2xvcjogJGtlbmRvLXJhdGluZy1pY29uLXRleHQ7XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tcmF0aW5nLWljb24tc2VsZWN0ZWQtdGV4dDtcblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1yYXRpbmctaWNvbi1mb2N1cy10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tcmF0aW5nLWljb24taG92ZXItdGV4dDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1yYXRpbmctLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJhdGluZy0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXJhdGluZy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcmF0aW5nLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcmF0aW5nLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJyYXRpbmdcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcmF0aW5nLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcmF0aW5nLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcmF0aW5nLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zZWFyY2hib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zZWFyY2hib3gvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwic2VhcmNoYm94XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9zZWFyY2hib3gvX3ZhcmlhYmxlcy5zY3NzXG4vLyBTZWFyY2hib3hcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9zZWFyY2hib3gvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NlYXJjaGJveC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zZWFyY2hib3gvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tc2VhcmNoYm94LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFNlYXJjaGJveFxuICAgIC5rLXNlYXJjaGJveCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNlYXJjaGJveC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNlYXJjaGJveC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zZWFyY2hib3gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zZWFyY2hib3gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zZWFyY2hib3gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2VhcmNoYm94L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2VhcmNoYm94L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc2VhcmNoYm94LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU2VhcmNoYm94XG4gICAgLmstc2VhcmNoYm94IHt9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc2VhcmNoYm94LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zZWFyY2hib3gtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zZWFyY2hib3gtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNlYXJjaGJveC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNlYXJjaGJveC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic2VhcmNoYm94XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNlYXJjaGJveC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNlYXJjaGJveC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNlYXJjaGJveC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc3dpdGNoL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc3dpdGNoL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInN3aXRjaFwiLFxuICAgIGRlcGVuZGVuY2llczogKClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2JvcmRlci5zY3NzXCI7XG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3N3aXRjaC9fdmFyaWFibGVzLnNjc3Ncbi8vIFN3aXRjaFxuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTd2l0Y2guXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFN3aXRjaCB0cmFjay5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLXRyYWNrLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3dpdGNoIHRodW1iLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtdGh1bWItYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgdHJhbnNmb3JtIG9mIHRoZSBTd2l0Y2ggbGFiZWwuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkaXNwbGF5IG9mIHRoZSBTd2l0Y2ggbGFiZWwuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1sYWJlbC1kaXNwbGF5OiBub25lICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcCB3aXRoIHRoZSBkaWZmZXJlbnQgU3dpdGNoIHNpemVzLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtc2l6ZXM6IChcbiAgICBzbTogKCBmb250LXNpemU6IG51bGwsIHRyYWNrLXdpZHRoOiA0OHB4LCB0cmFjay1oZWlnaHQ6IDI2cHgsIHRodW1iLXdpZHRoOiAyMHB4LCB0aHVtYi1oZWlnaHQ6IDIwcHgsIHRodW1iLW9mZnNldDogM3B4LCBsYWJlbC1vZmZzZXQ6IG51bGwgKSxcbiAgICBtZDogKCBmb250LXNpemU6IG51bGwsIHRyYWNrLXdpZHRoOiA1NnB4LCB0cmFjay1oZWlnaHQ6IDMwcHgsIHRodW1iLXdpZHRoOiAyNHB4LCB0aHVtYi1oZWlnaHQ6IDI0cHgsIHRodW1iLW9mZnNldDogM3B4LCBsYWJlbC1vZmZzZXQ6IG51bGwgKSxcbiAgICBsZzogKCBmb250LXNpemU6IG51bGwsIHRyYWNrLXdpZHRoOiA2NHB4LCB0cmFjay1oZWlnaHQ6IDM0cHgsIHRodW1iLXdpZHRoOiAyOHB4LCB0aHVtYi1oZWlnaHQ6IDI4cHgsIHRodW1iLW9mZnNldDogM3B4LCBsYWJlbC1vZmZzZXQ6IG51bGwgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ib3JkZXI6ICRncmF5LTUwMCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZm9jdXNlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1lbXBoYXNpcyApLCBrLWNvbG9yLW1peCggJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stYmcsICRrZW5kby1jb2xvci1wcmltYXJ5ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSB0cmFjayB3aGVuIHRoZSBmb2N1c2VkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10cmFjay1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgcmluZyBhcm91bmQgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLXJpbmc6IC4yNXJlbSBzb2xpZCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLXByaW1hcnksIC4yNSApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRncmF5LTgwMCwgJGdyYXktMjAwICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWJnOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRodW1iIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10aHVtYi10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRodW1iIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIHRodW1iIHdoZW4gdGhlIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgbm90IGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBub3QgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIHRodW1iIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIG5vdCBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdHJhY2stdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWJvcmRlcjogJGtlbmRvLXN3aXRjaC1vbi10cmFjay1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBob3ZlcmVkIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdHJhY2staG92ZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBmb2N1c2VkIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdHJhY2stZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgcmluZyBhcm91bmQgdGhlIHRyYWNrIHdoZW4gdGhlIGZvY3VzZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1mb2N1cy1yaW5nOiAuMjVyZW0gc29saWQgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5ICkgMjUlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1zd2l0Y2gtb24tdHJhY2stYm9yZGVyLCAuMjUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIHJnYmEoIGstY29sb3IoIHByaW1hcnkgKSwgLjUgKSwgay10cnktdGludCggJGtlbmRvLXN3aXRjaC1vbi10cmFjay1iZywgNTAlICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSB0cmFjayB3aGVuIHRoZSBkaXNhYmxlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdHJhY2sgd2hlbiB0aGUgZGlzYWJsZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgZ3JhZGllbnQgb2YgdGhlIHRyYWNrIHdoZW4gdGhlIGRpc2FibGVkIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdHJhY2stZGlzYWJsZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLXByaW1hcnkgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLXN3aXRjaC1vbi10cmFjay1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIHRodW1iIHdoZW4gdGhlIFN3aXRjaCBpcyBjaGVja2VkLlxuLy8vIEBncm91cCBzd2l0Y2hcbiRrZW5kby1zd2l0Y2gtb24tdGh1bWItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IG9mIHRoZSB0aHVtYiB3aGVuIHRoZSBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRodW1iLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHRodW1iIHdoZW4gdGhlIGhvdmVyZWQgU3dpdGNoIGlzIGNoZWNrZWQuXG4vLy8gQGdyb3VwIHN3aXRjaFxuJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRodW1iLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRodW1iLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBncmFkaWVudCBvZiB0aGUgdGh1bWIgd2hlbiB0aGUgaG92ZXJlZCBTd2l0Y2ggaXMgY2hlY2tlZC5cbi8vLyBAZ3JvdXAgc3dpdGNoXG4ka2VuZG8tc3dpdGNoLW9uLXRodW1iLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3N3aXRjaC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3dpdGNoL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3N3aXRjaC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1zd2l0Y2gtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstc3dpdGNoIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1zd2l0Y2gtZm9udC1mYW1pbHk7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLXJlYWRvbmx5PVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmVhZG9ubHlcbiAgICAuay1zd2l0Y2guay1yZWFkb25seSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gU3dpdGNoIHRyYWNrXG4gICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc3dpdGNoLXRyYWNrLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpZiggJGtlbmRvLXN3aXRjaC10cmFjay1ib3JkZXItd2lkdGggPT0gbnVsbCwgbnVsbCwgc29saWQgKTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuXG4gICAgLy8gU3dpdGNoIHRodW1iXG4gICAgLmstc3dpdGNoLXRodW1iLXdyYXAge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICB9XG4gICAgLmstc3dpdGNoLXRodW1iIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc3dpdGNoLXRodW1iLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpZiggJGtlbmRvLXN3aXRjaC10aHVtYi1ib3JkZXItd2lkdGggPT0gbnVsbCwgbnVsbCwgc29saWQgKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIC01MCUsIC01MCUgKTtcbiAgICB9XG5cblxuICAgIC8vIFN3aXRjaCBsYWJlbFxuICAgIC5rLXN3aXRjaC1sYWJlbC1vbixcbiAgICAuay1zd2l0Y2gtbGFiZWwtb2ZmIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRrZW5kby1zd2l0Y2gtbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIGRpc3BsYXk6ICRrZW5kby1zd2l0Y2gtbGFiZWwtZGlzcGxheTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAtNTAlICk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBTd2l0Y2ggc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXN3aXRjaC1zaXplcyB7XG5cbiAgICAgICAgJF9mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX3RyYWNrLXdpZHRoOiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCB0cmFjay13aWR0aCApO1xuICAgICAgICAkX3RyYWNrLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgdHJhY2staGVpZ2h0ICk7XG4gICAgICAgICRfdGh1bWItd2lkdGg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHRodW1iLXdpZHRoICk7XG4gICAgICAgICRfdGh1bWItaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCB0aHVtYi1oZWlnaHQgKTtcbiAgICAgICAgJF90aHVtYi1vZmZzZXQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHRodW1iLW9mZnNldCApO1xuICAgICAgICAkX2xhYmVsLW9mZnNldDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgbGFiZWwtb2Zmc2V0ICk7XG5cbiAgICAgICAgLmstc3dpdGNoLSN7JHNpemV9IHtcbiAgICAgICAgICAgIHdpZHRoOiAkX3RyYWNrLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkX3RyYWNrLWhlaWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG5cbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRfdHJhY2std2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkX3RyYWNrLWhlaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc3dpdGNoLWxhYmVsLW9uIHsgbGVmdDogJF9sYWJlbC1vZmZzZXQ7IH1cbiAgICAgICAgICAgIC5rLXN3aXRjaC1sYWJlbC1vZmYgeyByaWdodDogJF9sYWJlbC1vZmZzZXQ7IH1cblxuICAgICAgICAgICAgLmstc3dpdGNoLXRodW1iIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJF90aHVtYi13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfdGh1bWItaGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstc3dpdGNoLW9uIC5rLXN3aXRjaC10aHVtYi13cmFwIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCAxMDAlIC0gI3trLW1hdGgtZGl2KCAkX3RodW1iLXdpZHRoLCAyICl9IC0gI3skX3RodW1iLW9mZnNldH0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuay1zd2l0Y2gtb2ZmIC5rLXN3aXRjaC10aHVtYi13cmFwIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCAje2stbWF0aC1kaXYoICRfdGh1bWItd2lkdGgsIDIgKX0gKyAjeyRfdGh1bWItb2Zmc2V0fSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc3dpdGNoLSN7JHNpemV9W2Rpcj1cInJ0bFwiXSxcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAuay1zd2l0Y2gtI3skc2l6ZX0sXG4gICAgICAgIC5rLXJ0bCAuay1zd2l0Y2gtI3skc2l6ZX0ge1xuXG4gICAgICAgICAgICAuay1zd2l0Y2gtbGFiZWwtb24ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRfbGFiZWwtb2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstc3dpdGNoLWxhYmVsLW9mZiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogJF9sYWJlbC1vZmZzZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1zd2l0Y2gtb24gLmstc3dpdGNoLXRodW1iLXdyYXAge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoICN7ay1tYXRoLWRpdiggJF90aHVtYi13aWR0aCwgMiApfSArICN7JF90aHVtYi1vZmZzZXR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmstc3dpdGNoLW9mZiAuay1zd2l0Y2gtdGh1bWItd3JhcCB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyggMTAwJSAtICN7ay1tYXRoLWRpdiggJF90aHVtYi13aWR0aCwgMiApfSAtICN7JF90aHVtYi1vZmZzZXR9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFJUTFxuICAgIC5rLXN3aXRjaFtkaXI9XCJydGxcIl0sXG4gICAgW2Rpcj1cInJ0bFwiXSAuay1zd2l0Y2gsXG4gICAgLmstc3dpdGNoLmstcnRsLFxuICAgIC5rLXJ0bCAuay1zd2l0Y2gge1xuXG4gICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggNTAlLCAtNTAlICk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zd2l0Y2gtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zd2l0Y2gtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXN3aXRjaC0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tc3dpdGNoLS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLy8gU3dpdGNoXG4gICAgLmstc3dpdGNoLmstZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zd2l0Y2gvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3dpdGNoL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3dpdGNoL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc3dpdGNoLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU3dpdGNoXG4gICAgLmstc3dpdGNoIHt9XG5cblxuICAgIC8vIFN3aXRjaCBPRkZcbiAgICAuay1zd2l0Y2gtb2ZmIHtcblxuICAgICAgICAvLyBOb3JtYWwgc3RhdGVcbiAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10cmFjay1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3dpdGNoLXRodW1iIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10aHVtYi1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlclxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2staG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9mZi10cmFjay1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRodW1iLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdGh1bWItaG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZm9jdXMtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIEBpZiAka2VuZG8tZW5hYmxlLWZvY3VzLWNvbnRyYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggMCAwIDAgMnB4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApLCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICkpICk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6ICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWZvY3VzLXJpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb2ZmLXRyYWNrLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vZmYtdHJhY2stZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc3dpdGNoLWxhYmVsLW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3dpdGNoIE9OXG4gICAgLmstc3dpdGNoLW9uIHtcblxuICAgICAgICAvLyBOb3JtYWwgc3RhdGVcbiAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2stYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zd2l0Y2gtdGh1bWIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRodW1iLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRodW1iLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRodW1iLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXN3aXRjaC10aHVtYiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRodW1iLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRodW1iLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10aHVtYi1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgLmstc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2stZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zd2l0Y2gtb24tdHJhY2stZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBAaWYgJGtlbmRvLWVuYWJsZS1mb2N1cy1jb250cmFzdCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIDAgMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApKSApO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWZvY3VzLXJpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWRcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJi5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIC5rLXN3aXRjaC10cmFjayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3dpdGNoLW9uLXRyYWNrLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN3aXRjaC1vbi10cmFjay1kaXNhYmxlZC1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zd2l0Y2gtbGFiZWwtb2ZmIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zd2l0Y2gtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXN3aXRjaC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXN3aXRjaC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3dpdGNoLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc3dpdGNoLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzd2l0Y2hcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc3dpdGNoLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc3dpdGNoLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3dpdGNoLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi91cGxvYWQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91cGxvYWQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidXBsb2FkXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImRyb3B6b25lXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Ryb3B6b25lL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJvcHpvbmUvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZHJvcC16b25lXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvZHJvcHpvbmUvX3ZhcmlhYmxlcy5zY3NzXG4vLyBEcm9wWm9uZVxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIERyb3Bab25lLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIERyb3Bab25lLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBtaW5pbXVtIGhlaWdodCBvZiB0aGUgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtbWluLWhlaWdodDogMjIwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIERyb3Bab25lLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgRHJvcFpvbmUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBEcm9wWm9uZS5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgaWYoIGstaXMtbGlnaHQoICRrZW5kby1jb21wb25lbnQtYmcgKSwgJGdyYXktMTAwLCAkZ3JheS05MDAgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIERyb3Bab25lLlxuLy8vIEBncm91cCBkcm9wem9uZVxuJGtlbmRvLWRyb3B6b25lLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBEcm9wWm9uZS5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmVsb3cgdGhlIERyb3Bab25lIGljb24uXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtaWNvbi1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA2ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIERyb3Bab25lIGljb24uXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtaWNvbi10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VidGxlICksIGstdHJ5LXRpbnQoICRrZW5kby1kcm9wem9uZS10ZXh0LCA4ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIERyb3Bab25lIGljb24uXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtaWNvbi1ob3Zlci10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIERyb3Bab25lIGhpbnQuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtaGludC1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmVsb3cgdGhlIERyb3Bab25lIGhpbnQuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtaGludC1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIERyb3Bab25lIGhpbnQuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtaGludC10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgRHJvcFpvbmUgbm90ZS5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1ub3RlLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS14cyAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZWxvdyB0aGUgRHJvcFpvbmUgbm90ZS5cbi8vLyBAZ3JvdXAgZHJvcHpvbmVcbiRrZW5kby1kcm9wem9uZS1ub3RlLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIERyb3Bab25lIG5vdGUuXG4vLy8gQGdyb3VwIGRyb3B6b25lXG4ka2VuZG8tZHJvcHpvbmUtbm90ZS10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZHJvcHpvbmUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3B6b25lL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3B6b25lL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWRyb3B6b25lLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIERyb3B6b25lXG4gICAgLmstZXh0ZXJuYWwtZHJvcHpvbmUge1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1kcm9wem9uZS1taW4taGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuXG4gICAgLy8gRHJvcHpvbmUgaW5uZXJcbiAgICAuay1kcm9wem9uZS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1kcm9wem9uZS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZHJvcHpvbmUtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1kcm9wem9uZS1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWRyb3B6b25lLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1kcm9wem9uZS1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1kcm9wem9uZS1saW5lLWhlaWdodDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuay1kcm9wem9uZS1pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1kcm9wem9uZS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wem9uZS1oaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1kcm9wem9uZS1oaW50LXNwYWNpbmc7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1kcm9wem9uZS1oaW50LWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRyb3B6b25lLW5vdGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLWRyb3B6b25lLW5vdGUtc3BhY2luZztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWRyb3B6b25lLW5vdGUtZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyb3B6b25lLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJvcHpvbmUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJvcHpvbmUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wem9uZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2Ryb3B6b25lL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2Ryb3B6b25lL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZHJvcHpvbmUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1kcm9wem9uZS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIERyb3B6b25lXG4gICAgLmstZHJvcHpvbmUtaW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWRyb3B6b25lLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZHJvcHpvbmUtYmcsXG4gICAgICAgICAgICAka2VuZG8tZHJvcHpvbmUtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstaWNvbixcbiAgICAgICAgLmstZHJvcHpvbmUtaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWRyb3B6b25lLWljb24tdGV4dDtcbiAgICAgICAgfVxuICAgICAgICAuay1kcm9wem9uZS1oaW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZHJvcHpvbmUtaGludC10ZXh0O1xuICAgICAgICB9XG4gICAgICAgIC5rLWRyb3B6b25lLW5vdGUge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1kcm9wem9uZS1ub3RlLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEhvdmVyXG4gICAgLmstZXh0ZXJuYWwtZHJvcHpvbmUtaG92ZXIge1xuXG4gICAgICAgIC5rLWljb24sXG4gICAgICAgIC5rLWRyb3B6b25lLWljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1kcm9wem9uZS1pY29uLWhvdmVyLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZHJvcHpvbmUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3B6b25lLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJvcHpvbmUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3B6b25lLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZHJvcHpvbmUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRyb3B6b25lXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRyb3B6b25lLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZHJvcHpvbmUtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcm9wem9uZS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdXBsb2FkL192YXJpYWJsZXMuc2Nzc1xuLy8gVXBsb2FkXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFVwbG9hZC5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgVXBsb2FkLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuLy8vIFRoZSBtYXhpbXVtIGhlaWdodCBvZiB0aGUgbGlzdCB3aXRoIHVwbG9hZGVkIGl0ZW1zLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtbWF4LWhlaWdodDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVXBsb2FkLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVXBsb2FkIGRyb3B6b25lLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZHJvcHpvbmUtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFVwbG9hZCBkcm9wem9uZS5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWRyb3B6b25lLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBVcGxvYWQgZHJvcHpvbmUuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1kcm9wem9uZS10ZXh0OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBVcGxvYWQgZHJvcHpvbmUuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1iZzogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVXBsb2FkIGRyb3B6b25lLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtZHJvcHpvbmUtYm9yZGVyOiAka2VuZG8tdXBsb2FkLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBVcGxvYWQgZHJvcHpvbmUuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlICksIGstdHJ5LXNoYWRlKCAka2VuZG8tdXBsb2FkLWRyb3B6b25lLWJnLCAuMiApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBVcGxvYWQgc3RhdHVzIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBVcGxvYWQgc3RhdHVzIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dC1vcGFjaXR5OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiBhbiB1cGxvYWRlZCBpdGVtLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiBhbiB1cGxvYWRlZCBpdGVtLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBzcGFjaW5nIGJldHdlZW4gdXBsb2FkZWQgYmF0Y2ggaXRlbXMuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1tdWx0aXBsZS1pdGVtcy1zcGFjaW5nOiAxMnB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgVXBsb2FkIHZhbGlkYXRpb24gbWVzc2FnZS5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLXZhbGlkYXRpb24tZm9udC1zaXplOiAxMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHNwYWNpbmcgb2YgdGhlIFVwbG9hZCBzdGF0dXMgaWNvbi5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWljb24tc3BhY2luZzogJGtlbmRvLWljb24tc3BhY2luZyAhZGVmYXVsdDtcbi8vLyBUaGUgY29sb3Igb2YgdGhlIHVwbG9hZGVkIGl0ZW1zIGljb24uXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1pY29uLWNvbG9yOiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhpY2tuZXNzIG9mIHRoZSBVcGxvYWQgcHJvZ3Jlc3MgYmFyLlxuLy8vIEBncm91cCB1cGxvYWRcbiRrZW5kby11cGxvYWQtcHJvZ3Jlc3MtdGhpY2tuZXNzOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1wcm9ncmVzcy1iZzogJGtlbmRvLWNvbG9yLWluZm8gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3VjY2VzcyB0ZXh0IGNvbG9yIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdWNjZXNzLXRleHQ6ICRrZW5kby1jb2xvci1zdWNjZXNzICFkZWZhdWx0O1xuLy8vIFRoZSBzdWNjZXNzIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1zdWNjZXNzLWJnOiAka2VuZG8tY29sb3Itc3VjY2VzcyAhZGVmYXVsdDtcblxuLy8vIFRoZSBlcnJvciB0ZXh0IGNvbG9yIG9mIHRoZSBVcGxvYWQuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1lcnJvci10ZXh0OiAka2VuZG8tY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG4vLy8gVGhlIGVycm9yIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFVwbG9hZCBwcm9ncmVzcyBiYXIuXG4vLy8gQGdyb3VwIHVwbG9hZFxuJGtlbmRvLXVwbG9hZC1lcnJvci1iZzogJGtlbmRvLWNvbG9yLWVycm9yICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBVcGxvYWQgYnV0dG9uLCBhY3Rpb25zIGFuZCB1cGxvYWRlZCBpdGVtcy5cbi8vLyBAZ3JvdXAgdXBsb2FkXG4ka2VuZG8tdXBsb2FkLWZvY3VzLXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgLjEzKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy91cGxvYWQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3VwbG9hZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy91cGxvYWQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdXBsb2FkLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXVwbG9hZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXVwbG9hZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tdXBsb2FkLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby11cGxvYWQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXVwbG9hZC1saW5lLWhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXVwbG9hZC1idXR0b24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA3ZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEcm9wIHpvbmVcbiAgICAgICAgLmstZHJvcHpvbmUsXG4gICAgICAgIC5rLXVwbG9hZC1kcm9wem9uZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdXBsb2FkLWRyb3B6b25lLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdXBsb2FkLWRyb3B6b25lLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIC5rLWRyb3B6b25lLWhpbnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby11cGxvYWQtaWNvbi1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyArIC5rLWRyb3B6b25lLWhpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wem9uZS1hY3RpdmUge1xuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdXBsb2FkLXN0YXR1cyArIC5rLWRyb3B6b25lLWhpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBsb2FkIGZpbGVzIGxpc3RcbiAgICAgICAgLmstdXBsb2FkLWZpbGVzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRrZW5kby11cGxvYWQtbWF4LWhlaWdodDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgIC5rLWZpbGUtbXVsdGlwbGUsXG4gICAgICAgICAgICAuay1maWxlLXNpbmdsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbGUtc2luZ2xlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLW11bHRpcGxlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLXVwbG9hZC1pdGVtLXBhZGRpbmcteSAka2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy14IGNhbGMoI3ska2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy15fSArICN7JGtlbmRvLXVwbG9hZC1wcm9ncmVzcy10aGlja25lc3N9KTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZW5hbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICk7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtcGN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLXVwbG9hZC1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB+IC5rLWNsZWFyLXNlbGVjdGVkLFxuICAgICAgICAgICAgfiAuay11cGxvYWQtc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfiAuay11cGxvYWQtc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLW5hbWUsXG4gICAgICAgICAgICAuay1maWxlLXNpemUsXG4gICAgICAgICAgICAuay1maWxlLXZhbGlkYXRpb24tbWVzc2FnZSxcbiAgICAgICAgICAgIC5rLWZpbGUtc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZpbGUtbmFtZSB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZS1zaXplLFxuICAgICAgICAgICAgLmstZmlsZS1zdW1tYXJ5LFxuICAgICAgICAgICAgLmstZmlsZS12YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXVwbG9hZC12YWxpZGF0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAuay1maWxlLWljb24td3JhcHBlciB7XG5cbiAgICAgICAgICAgICAgICAuay1maWxlLXN0YXRlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsZS1zdGF0ZSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdXBsb2FkLWZpbGVzIC5rLWZpbGUtaW5mbyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8taWNvbi1zaXplLXh4bDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbXVsdGlwbGUtZmlsZXMtd3JhcHBlcixcbiAgICAgICAgLmstZmlsZS1zaW5nbGUgPiAuay1maWxlLWluZm8ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJGtlbmRvLXBhZGRpbmctbWQteDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRrZW5kby1pY29uLXNpemUteHhsO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1tdWx0aXBsZS1maWxlcy13cmFwcGVyIHtcbiAgICAgICAgICAgIC5rLWZpbGUtaW5mbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLXVwbG9hZC1tdWx0aXBsZS1pdGVtcy1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maWxlLXN1bW1hcnkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0gay1tYXRoLWRpdigka2VuZG8tdXBsb2FkLW11bHRpcGxlLWl0ZW1zLXNwYWNpbmcsIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICAgICAgLS1rZW5kby1wcm9ncmVzc2Jhci1oZWlnaHQ6ICN7JGtlbmRvLXVwbG9hZC1wcm9ncmVzcy10aGlja25lc3N9O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogJGtlbmRvLXVwbG9hZC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgYm90dG9tOiBrLW1hdGgtZGl2KCAka2VuZG8tdXBsb2FkLWl0ZW0tcGFkZGluZy15LCAyICk7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFjdGlvbiBidXR0b25zXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay11cGxvYWQtYnV0dG9uLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIC8vIGZvbnQgc2hvdWxkIG5vdCBkZXBlbmQgb24gb3V0c2lkZSBzdHlsZXMsIG90aGVyd2lzZSB1cGxvYWQgbWF5IGJyZWFrXG4gICAgICAgICAgICBmb250OiAxNzBweCBtb25vc3BhY2UgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbZGlzYWJsZWRdLFxuICAgICAgICBpbnB1dC5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby11cGxvYWQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby11cGxvYWQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdXBsb2FkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXBsb2FkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdXBsb2FkL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3VwbG9hZC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3VwbG9hZC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXVwbG9hZC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLXVwbG9hZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdXBsb2FkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdXBsb2FkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXVwbG9hZC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAuay1kcm9wem9uZSxcbiAgICAgICAgLmstdXBsb2FkLWRyb3B6b25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXVwbG9hZC1kcm9wem9uZS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby11cGxvYWQtZHJvcHpvbmUtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1ib3JkZXJcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXVwbG9hZC1kcm9wem9uZS1ob3Zlci1iZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZHJvcHpvbmUtaGludCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby11cGxvYWQtc3RhdHVzLXRleHQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dC1vcGFjaXR5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuay11cGxvYWQtZmlsZXMsXG4gICAgICAgIC5rLWZpbGUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tdXBsb2FkLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpbGUge1xuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRpbmRpY2F0b3I6ICggaW5zZXQgJGtlbmRvLXVwbG9hZC1mb2N1cy1zaGFkb3cgKSwgJGluc2V0OiB0cnVlICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXVwbG9hZC1hY3Rpb24uay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tdXBsb2FkLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuay11cGxvYWQtc3RhdHVzIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tdXBsb2FkLXN0YXR1cy10ZXh0O1xuICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLXVwbG9hZC1zdGF0dXMtdGV4dC1vcGFjaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBsb2FkIHN0YXR1czogdXBsb2FkaW5nXG4gICAgICAgIC5rLWZpbGUtcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgLmstcHJvZ3Jlc3NiYXIgLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby11cGxvYWQtcHJvZ3Jlc3MtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFVwbG9hZCBzdGF0dXM6IHN1Y2Nlc3NcbiAgICAgICAgLmstZmlsZS1zdWNjZXNzIHtcbiAgICAgICAgICAgIC5rLWZpbGUtdmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLXVwbG9hZC1zdWNjZXNzLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXByb2dyZXNzYmFyIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdXBsb2FkLXN1Y2Nlc3MtYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVcGxvYWQgc3RhdHVzOiBlcnJvclxuICAgICAgICAuay1maWxlLWVycm9yIHtcbiAgICAgICAgICAgIC5rLWZpbGUtdmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLXVwbG9hZC1lcnJvci10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstcHJvZ3Jlc3NiYXIgLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby11cGxvYWQtZXJyb3ItYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWxlLWljb24td3JhcHBlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXVwbG9hZC1pY29uLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tdXBsb2FkLWljb24tY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWxlLXNpemUsXG4gICAgICAgIC5rLWZpbGUtdmFsaWRhdGlvbi1tZXNzYWdlLFxuICAgICAgICAuay1maWxlLXN1bW1hcnkge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zdWJ0bGUtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW11bHRpcGxlLWZpbGVzLXdyYXBwZXIgLmstZmlsZS1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tdXBsb2FkLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkLFxuICAgICAgICAmLmstaW52YWxpZCxcbiAgICAgICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgICAgICYubmctaW52YWxpZC5uZy1kaXJ0eSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1pbnZhbGlkLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby11cGxvYWQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXVwbG9hZC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXVwbG9hZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXBsb2FkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdXBsb2FkLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ1cGxvYWRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdXBsb2FkLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdXBsb2FkLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdXBsb2FkLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9kcm9wem9uZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Ryb3B6b25lL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbW1hbmQgaW50ZXJmYWNlc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9hcHBiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hcHBiYXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiYXBwYmFyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvYXBwYmFyL192YXJpYWJsZXMuc2Nzc1xuLy8gQXBwQmFyXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLW1hcmdpbi14OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBtYXJnaW4gb2YgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLW1hcmdpbi15OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBBcHBCYXIuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB6LWluZGV4IG9mIHRoZSBBcHBCYXIuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci16aW5kZXg6IDEwMDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBBcHBCYXIuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIEFwcEJhci5cbi8vLyBAZ3JvdXAgYXBwYmFyXG4ka2VuZG8tYXBwYmFyLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBBcHBCYXIgc2VjdGlvbnMuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1nYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBBcHBCYXIgYmFzZWQgb24gbGlnaHQgdGhlbWUgY29sb3IuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1saWdodC1iZzogJGtlbmRvLWNvbG9yLWxpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBBcHBCYXIgYmFzZWQgb24gbGlnaHQgdGhlbWUgY29sb3IuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1saWdodC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tbGlnaHQgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLWNvbG9yLWxpZ2h0ICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEFwcEJhciBiYXNlZCBvbiBkYXJrIHRoZW1lIGNvbG9yLlxuLy8vIEBncm91cCBhcHBiYXJcbiRrZW5kby1hcHBiYXItZGFyay1iZzogJGtlbmRvLWNvbG9yLWRhcmsgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEFwcEJhciBiYXNlZCBvbiBkYXJrIHRoZW1lIGNvbG9yLlxuLy8vIEBncm91cCBhcHBiYXJcbiRrZW5kby1hcHBiYXItZGFyay10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tZGFyayApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tY29sb3ItZGFyayApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBBcHBCYXIuXG4vLy8gQGdyb3VwIGFwcGJhclxuJGtlbmRvLWFwcGJhci1ib3gtc2hhZG93OiBrLWVsZXZhdGlvbig0KSAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgQXBwQmFyIHdpdGggYm90dG9tIHBvc2l0aW9uLlxuLy8vIEBncm91cCBhcHBiYXJcbiRrZW5kby1hcHBiYXItYm90dG9tLWJveC1zaGFkb3c6IGstZWxldmF0aW9uKDQpICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2FwcGJhci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYXBwYmFyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FwcGJhci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1hcHBiYXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQXBwYmFyXG4gICAgLmstYXBwYmFyIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8tYXBwYmFyLW1hcmdpbi15O1xuICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8tYXBwYmFyLW1hcmdpbi14O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYXBwYmFyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1hcHBiYXItcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1hcHBiYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWFwcGJhci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYXBwYmFyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1hcHBiYXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGtlbmRvLWFwcGJhci1nYXA7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBiYXIgc2VjdGlvblxuICAgICAgICAuay1hcHBiYXItc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQXBwYmFyIFNwYWNlclxuICAgICAgICAuay1hcHBiYXItc3BhY2VyIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5rLWFwcGJhci1zcGFjZXItc2l6ZWQge1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTZXBhcmF0b3JcbiAgICAgICAgLmstYXBwYmFyLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gSW5wdXRcbiAgICAgICAgLmstaW5wdXQsXG4gICAgICAgIC5rLXBpY2tlciB7XG4gICAgICAgICAgICB3aWR0aDogMTBlbTtcbiAgICAgICAgfVxuICAgICAgICAuay1jb2xvci1waWNrZXIge1xuICAgICAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFN0YXRpYyBhcHBiYXJcbiAgICAuay1hcHBiYXItc3RhdGljIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cblxuICAgIC8vIFN0aWNreSBhcHBiYXJcbiAgICAuay1hcHBiYXItc3RpY2t5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogJGtlbmRvLWFwcGJhci16aW5kZXg7XG4gICAgfVxuXG5cbiAgICAvLyBGaXhlZCBhcHBiYXJcbiAgICAuay1hcHBiYXItZml4ZWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuXG4gICAgLy8gQXBwYmFyIHBvc2l0aW9uXG4gICAgLmstYXBwYmFyLXRvcCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cbiAgICAuay1hcHBiYXItYm90dG9tIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgJi5rLWFwcGJhci1maXhlZCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYXBwYmFyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYXBwYmFyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWFwcGJhci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFwcGJhci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2FwcGJhci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hcHBiYXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hcHBiYXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1hcHBiYXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1hcHBiYXIge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYXBwYmFyLWJveC1zaGFkb3cgKTtcbiAgICB9XG4gICAgLmstYXBwYmFyLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1hcHBiYXItYm90dG9tLWJveC1zaGFkb3cgKTtcbiAgICB9XG5cblxuICAgIC8vIEFwcEJhciB0aGVtZSBjb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1hcHBiYXItI3skbmFtZX0ge1xuICAgICAgICAgICAgQGlmICRuYW1lID09IFwibGlnaHRcIiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1hcHBiYXItbGlnaHQtdGV4dDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tYXBwYmFyLWxpZ2h0LWJnO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkbmFtZSA9PSBcImRhcmtcIiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1hcHBiYXItZGFyay10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1hcHBiYXItZGFyay1iZztcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYXBwYmFyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hcHBiYXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1hcHBiYXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFwcGJhci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWFwcGJhci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiYXBwYmFyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWFwcGJhci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWFwcGJhci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFwcGJhci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZmFiL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZmFiL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImZhYlwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJhZGdlXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICAvLyBcInV0aWxzL2xheW91dC9wb3NpdGlvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX3Bvc2l0aW9uLnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9iYWRnZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2JhZGdlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9mYWIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBGbG9hdGluZyBBY3Rpb24gQnV0dG9uXG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWJvcmRlci1yYWRpdXM6IGstbWF0aC1kaXYoICRrZW5kby1ib3JkZXItcmFkaXVzLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgc21hbGwgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLXNtLXBhZGRpbmcteDogay1tYXRoLWRpdiggJGtlbmRvLWZhYi1wYWRkaW5nLXgsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLW1kLXBhZGRpbmcteDogJGtlbmRvLWZhYi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWxnLXBhZGRpbmcteDogKCAka2VuZG8tZmFiLXBhZGRpbmcteCAqIDEuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1wYWRkaW5nLXk6ICRrZW5kby1mYWItcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItc20tcGFkZGluZy15OiBrLW1hdGgtZGl2KCAka2VuZG8tZmFiLXBhZGRpbmcteSwgMiApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLW1kLXBhZGRpbmcteTogJGtlbmRvLWZhYi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1sZy1wYWRkaW5nLXk6ICggJGtlbmRvLWZhYi1wYWRkaW5nLXkgKiAxLjUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEZBQiBpY29uLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWljb24tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEZBQiBpY29uLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWljb24tcGFkZGluZy15OiAka2VuZG8tZmFiLWljb24tcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBGQUIgaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pY29uLXNwYWNpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDAuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRkFCIGl0ZW1zLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW1zLXBhZGRpbmcteDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGQUIgaXRlbXMuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbXMtcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBGQUIgaXRlbSB0ZXh0LlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tdGV4dC1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRkFCIGl0ZW0gdGV4dC5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLXRleHQtcGFkZGluZy15OiAka2VuZG8tZmFiLWl0ZW0tdGV4dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBGQUIgaXRlbSB0ZXh0IGJvcmRlci5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLXRleHQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIEZBQiBpdGVtIHRleHQuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS10ZXh0LWJvcmRlci1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBGQUIgaXRlbSB0ZXh0LlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tdGV4dC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUteHMgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBGQUIgaXRlbSB0ZXh0LlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tdGV4dC1saW5lLWhlaWdodDogMTRweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEZBQiBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1pY29uLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICsgJGtlbmRvLWZhYi1pY29uLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRkFCIGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWljb24tcGFkZGluZy15OiAka2VuZG8tZmFiLWl0ZW0taWNvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBGQUIgaXRlbSBpY29uIGJvcmRlci5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBGQUIgaXRlbSBpY29uLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi10aGVtZS1jb2xvcnM6ICRrZW5kby10aGVtZS1jb2xvcnMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBtYXAgZm9yIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1mYWItc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1mYWItc20tcGFkZGluZy15XG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1mYWItbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1mYWItbWQtcGFkZGluZy15XG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1mYWItbGctcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1mYWItbGctcGFkZGluZy15XG4gICAgKVxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIHNoYWRvdyBvZiB0aGUgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLXNoYWRvdzogay1lbGV2YXRpb24oNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZGlzYWJsZWQgRkFCLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWRpc2FibGVkLXNoYWRvdzogay1lbGV2YXRpb24oNSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgYWN0aXZlIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1hY3RpdmUtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIHN0eWxlIG9mIHRoZSBGQUIuXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItb3V0bGluZS1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgd2lkdGggb2YgdGhlIEZBQi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1vdXRsaW5lLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFzZSB0ZXh0IGNvbG9yIG9mIHRoZSBGQUIgaXRlbS5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGQUIgaXRlbS5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgRkFCIGl0ZW0uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhc2UgdGV4dCBjb2xvciBvZiB0aGUgRkFCIGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWljb24tdGV4dDogJGtlbmRvLWJ1dHRvbi10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZBQiBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1pY29uLWJnOiAka2VuZG8tYnV0dG9uLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIGJvcmRlciBjb2xvciBvZiB0aGUgRkFCIGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyOiAka2VuZG8tYnV0dG9uLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIHNoYWRvdyBvZiB0aGUgRkFCIGl0ZW0uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1zaGFkb3c6ICRrZW5kby1mYWItc2hhZG93ICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIGRpc2FibGVkIEZBQiBpdGVtLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tZGlzYWJsZWQtc2hhZG93OiAka2VuZG8tZmFiLWRpc2FibGVkLXNoYWRvdyAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBhY3RpdmUgRkFCIGl0ZW0uXG4vLy8gQGdyb3VwIGZsb2F0aW5nLWFjdGlvbi1idXR0b25cbiRrZW5kby1mYWItaXRlbS1hY3RpdmUtc2hhZG93OiAka2VuZG8tZmFiLWFjdGl2ZS1zaGFkb3cgIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgc3R5bGUgb2YgdGhlIEZBQiBpdGVtLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tb3V0bGluZS1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgd2lkdGggb2YgdGhlIEZBQiBpdGVtLlxuLy8vIEBncm91cCBmbG9hdGluZy1hY3Rpb24tYnV0dG9uXG4ka2VuZG8tZmFiLWl0ZW0tb3V0bGluZS13aWR0aDogM3B4ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIGNvbG9yIG9mIHRoZSBGQUIgaXRlbS5cbi8vLyBAZ3JvdXAgZmxvYXRpbmctYWN0aW9uLWJ1dHRvblxuJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtY29sb3I6ICRrZW5kby1idXR0b24tYmcgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZmFiL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9mYWIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmFiL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWZhYi0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBGbG9hdGluZyBBY3Rpb24gQnV0dG9uIChGQUIpXG4gICAgLmstZmFiIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZhYi1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZmFiLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWZhYi1mb250LWZhbWlseTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRkFCIEljb25cbiAgICAuay1mYWItaWNvbiB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZmFiLWljb24tcGFkZGluZy14O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZmFiLWljb24tcGFkZGluZy15O1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICAuay1pY29uLXdyYXBwZXItaG9zdDpub3QoOm9ubHktY2hpbGQpICYsXG4gICAgICAgICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLWZhYi1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtJGtlbmRvLWZhYi1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1mYWItc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgcGFkZGluZy14ICk7XG4gICAgICAgICRfcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBwYWRkaW5nLXkgKTtcblxuICAgICAgICAuay1mYWItI3skc2l6ZX0ge1xuICAgICAgICAgICAgcGFkZGluZzogJF9wYWRkaW5nLXkgJF9wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIEl0ZW1zXG4gICAgLmstZmFiLWl0ZW1zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZmFiLWl0ZW1zLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1mYWItaXRlbXMtcGFkZGluZy14O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5rLWZhYi1pdGVtcy1ib3R0b20ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAuay1mYWItaXRlbXMtYm90dG9tIC5rLWZhYi1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgIH1cblxuICAgIC5rLWZhYi1pdGVtcy10b3Age1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxuICAgIC5rLWZhYi1pdGVtcy10b3AgLmstZmFiLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgIH1cblxuICAgIC5rLWZhYi1pdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmLmstdGV4dC1yaWdodCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIGZhYiBpdGVtIHBvc2l0aW9uaW5nIGluIFJUTFxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuay10ZXh0LWxlZnQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIGZhYiBpdGVtIHBvc2l0aW9uaW5nIGluIFJUTFxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWZhYi1pdGVtLXRleHQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWZhYi1pdGVtLXRleHQtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1mYWItaXRlbS10ZXh0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWZhYi1pdGVtLXRleHQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZmFiLWl0ZW0tdGV4dC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZmFiLWl0ZW0tdGV4dC1saW5lLWhlaWdodDtcbiAgICB9XG5cbiAgICAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWZhYi1pdGVtLWljb24tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWZhYi1pdGVtLWljb24tcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1mYWItaXRlbS1pY29uLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG5cblxuICAgIC5rLXJ0bCAuay1mYWItcG9wdXAsXG4gICAgW2Rpcj1cInJ0bFwiXSAuay1mYWItcG9wdXAge1xuICAgICAgICAuay1mYWItaXRlbS5rLXRleHQtbGVmdCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmFiLWl0ZW0uay10ZXh0LXJpZ2h0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWl4aW4ga2VuZG8tZmFiLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmFiLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWZhYi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZhYi0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2ZhYi9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9mYWIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9mYWIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1mYWItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBOb3JtYWwgc3RhdGVcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1mYWItdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstZmFiLXNvbGlkLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGtlbmRvLWZhYi1zaGFkb3cpO1xuICAgICAgICAgICAgb3V0bGluZTogJGtlbmRvLWZhYi1ib3JkZXItd2lkdGggJGtlbmRvLWZhYi1vdXRsaW5lLXN0eWxlICRjb2xvcjtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtJGtlbmRvLWZhYi1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1sZWdhY3koICRjb2xvciApKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tZmFiLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWhvdmVyLmstZmFiLXNvbGlkLSN7JG5hbWV9LFxuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX06aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0taG92ZXIgKSwgay10cnktc2hhZGUoICRjb2xvciwgLjUgKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0taG92ZXIgKSwgay10cnktc2hhZGUoICRjb2xvciwgLjUgKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb2N1cyBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX0uay1mb2N1cyxcbiAgICAgICAgLmstZmFiLXNvbGlkLSN7JG5hbWV9OmZvY3VzIHtcbiAgICAgICAgICAgIEBpZiAka2VuZG8tZW5hYmxlLWZvY3VzLWNvbnRyYXN0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBpbnNldCAwIDAgMCAycHggY3VycmVudENvbG9yICk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAka2VuZG8tZmFiLW91dGxpbmUtc3R5bGUgJGtlbmRvLWZhYi1vdXRsaW5lLXdpZHRoIGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggJG5hbWUgKSAzMCUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGNvbG9yLCAuMyApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1hY3RpdmUuay1mYWItc29saWQtI3skbmFtZX0sXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZmFiLXNvbGlkLSN7JG5hbWV9LFxuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX06YWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGtlbmRvLWZhYi1hY3RpdmUtc2hhZG93KTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBrLXRyeS1zaGFkZSggJGNvbG9yLCAxLjUpKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1hY3RpdmUgKSwgay10cnktc2hhZGUoICRjb2xvciwgMS41KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1kaXNhYmxlZC5rLWZhYi1zb2xpZC0jeyRuYW1lfSxcbiAgICAgICAgLmstZmFiLXNvbGlkLSN7JG5hbWV9OmRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGtlbmRvLWZhYi1kaXNhYmxlZC1zaGFkb3cpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAkbmFtZSApIDYwJSwgdHJhbnNwYXJlbnQpLCBrLXRyeS10aW50KCAkY29sb3IsIDUgKSk7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApIDYwJSwgdHJhbnNwYXJlbnQpLCBrLXRyeS10aW50KCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICksIDUgKSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSXRlbXNcbiAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1mYWItaXRlbS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRrZW5kby1mYWItaXRlbS1zaGFkb3cpO1xuXG4gICAgfVxuICAgIC5rLWZhYi1pdGVtLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWljb24tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1mYWItaXRlbS1pY29uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGtlbmRvLWZhYi1pdGVtLXNoYWRvdyk7XG4gICAgICAgIG91dGxpbmU6ICRrZW5kby1mYWItYm9yZGVyLXdpZHRoICRrZW5kby1mYWItaXRlbS1vdXRsaW5lLXN0eWxlICRrZW5kby1mYWItaXRlbS1vdXRsaW5lLWNvbG9yO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLSRrZW5kby1mYWItYm9yZGVyLXdpZHRoO1xuICAgIH1cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgLmstZmFiLWl0ZW0uay1ob3ZlciAuay1mYWItaXRlbS1pY29uLFxuICAgIC5rLWZhYi1pdGVtOmhvdmVyIC5rLWZhYi1pdGVtLWljb24ge1xuICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXIgKSwgay10cnktc2hhZGUoICRrZW5kby1mYWItaXRlbS1pY29uLWJvcmRlciwgLjUgKSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWhvdmVyICksIGstdHJ5LXNoYWRlKCAka2VuZG8tZmFiLWl0ZW0taWNvbi1iZywgLjUgKSk7XG4gICAgfVxuXG4gICAgLy8gRm9jdXMgc3RhdGVcbiAgICAuay1mYWItaXRlbTpmb2N1cyAuay1mYWItaXRlbS10ZXh0LFxuICAgIC5rLWZhYi1pdGVtOmZvY3VzIC5rLWZhYi1pdGVtLWljb24sXG4gICAgLmstZmFiLWl0ZW0uay1mb2N1cyAuay1mYWItaXRlbS10ZXh0LFxuICAgIC5rLWZhYi1pdGVtLmstZm9jdXMgLmstZmFiLWl0ZW0taWNvbiB7XG4gICAgICAgIEBpZiAka2VuZG8tZW5hYmxlLWZvY3VzLWNvbnRyYXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIGluc2V0IDAgMCAwIDJweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApKSApO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIG91dGxpbmU6ICRrZW5kby1mYWItaXRlbS1vdXRsaW5lLXN0eWxlICRrZW5kby1mYWItaXRlbS1vdXRsaW5lLXdpZHRoICRrZW5kby1mYWItaXRlbS1vdXRsaW5lLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmstZmFiLWl0ZW0uay1hY3RpdmUgLmstZmFiLWl0ZW0taWNvbixcbiAgICAuay1mYWItaXRlbTphY3RpdmUgLmstZmFiLWl0ZW0taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGtlbmRvLWZhYi1pdGVtLWFjdGl2ZS1zaGFkb3cpO1xuICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstdHJ5LXNoYWRlKCAka2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXIsIDEgKSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWZhYi1pdGVtLWljb24tYmcsIDEgKSk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAuay1mYWItaXRlbS5rLWRpc2FibGVkLFxuICAgIC5rLWZhYi1pdGVtOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAuay1mYWItaXRlbS10ZXh0LFxuICAgICAgICAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGtlbmRvLWZhYi1pdGVtLWRpc2FibGVkLXNoYWRvdyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGJhc2UgKSA2MCUsIHRyYW5zcGFyZW50KSwgay10cnktdGludCggJGtlbmRvLWZhYi1pdGVtLWJnLCA1ICkpO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYmFzZSApIDYwJSwgdHJhbnNwYXJlbnQpLCBrLXRyeS10aW50KCAka2VuZG8tZmFiLWl0ZW0tdGV4dCwgNSApKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBvcHVwXG4gICAgLmstZmFiLXBvcHVwIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1mYWItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZhYi0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWZhYi0tdGhlbWUoKSB7XG5cbiAgICAvLyBOb3JtYWwgc3RhdGVcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1mYWItdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstZmFiLXNvbGlkLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1mYWItc2hhZG93ICk7XG4gICAgICAgICAgICBvdXRsaW5lOiAka2VuZG8tZmFiLWJvcmRlci13aWR0aCAka2VuZG8tZmFiLW91dGxpbmUtc3R5bGUgJGNvbG9yO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ka2VuZG8tZmFiLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWNvbG9yKCAkY29sb3IgKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX06aG92ZXIsXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfS5rLWhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIGstY29sb3ItZGFya2VuKCAkY29sb3IsIDEwJSApKTtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tI3skbmFtZX0gKSwgay1jb250cmFzdC1jb2xvciggay1jb2xvci1kYXJrZW4oICRjb2xvciwgNy41JSApICkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWhvdmVyICksIGstY29sb3ItZGFya2VuKCAkY29sb3IsIDcuNSUgKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb2N1cyBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX06Zm9jdXMsXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfS5rLWZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6ICRrZW5kby1mYWItb3V0bGluZS13aWR0aCAka2VuZG8tZmFiLW91dGxpbmUtc3R5bGUgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCAkbmFtZSApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAkY29sb3IsIC41ICkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8tZmFiLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfTphY3RpdmUsXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfS5rLWFjdGl2ZSxcbiAgICAgICAgLmstZmFiLXNvbGlkLSN7JG5hbWV9Lmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWZhYi1hY3RpdmUtc2hhZG93ICk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1hY3RpdmUgKSwgay1jb2xvci1kYXJrZW4oICRjb2xvciwgMTIuNSUgKSk7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGstY29udHJhc3QtY29sb3IoIGstY29sb3ItZGFya2VuKCAkY29sb3IsIDEwJSApICkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWFjdGl2ZSApLCBrLWNvbG9yLWRhcmtlbiggJGNvbG9yLCAxMCUgKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLWZhYi10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1mYWItc29saWQtI3skbmFtZX06ZGlzYWJsZWQsXG4gICAgICAgIC5rLWZhYi1zb2xpZC0jeyRuYW1lfS5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1mYWItZGlzYWJsZWQtc2hhZG93ICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoICRuYW1lICkgNjUlLCB0cmFuc3BhcmVudCksIGstdHJ5LXRpbnQoICRjb2xvciwgNC41ICkpO1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tI3skbmFtZX0gKSA2NSUsIHRyYW5zcGFyZW50KSwgay10cnktdGludCggay1jb250cmFzdC1jb2xvciggJGNvbG9yICksIDUgKSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSXRlbXNcbiAgICAuay1mYWItaXRlbS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1mYWItaXRlbS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tZmFiLWl0ZW0tc2hhZG93ICk7XG4gICAgfVxuICAgIC5rLWZhYi1pdGVtLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWljb24tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1mYWItaXRlbS1pY29uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1mYWItaXRlbS1zaGFkb3cgKTtcbiAgICAgICAgb3V0bGluZTogJGtlbmRvLWZhYi1ib3JkZXItd2lkdGggJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtc3R5bGUgJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtY29sb3I7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtJGtlbmRvLWZhYi1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICAuay1mYWItaXRlbTpob3ZlciAuay1mYWItaXRlbS1pY29uLFxuICAgIC5rLWZhYi1pdGVtLmstaG92ZXIgLmstZmFiLWl0ZW0taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1mYWItaXRlbS1zaGFkb3cgKTtcbiAgICAgICAgb3V0bGluZTogJGtlbmRvLWZhYi1ib3JkZXItd2lkdGggJGtlbmRvLWZhYi1pdGVtLW91dGxpbmUtc3R5bGUgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay10cnktZGFya2VuKCAka2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXIsIDEwJSApKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ka2VuZG8tZmFiLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1ob3ZlciApLCBrLWNvbG9yLWRhcmtlbiggJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLCAxMCUgKSk7XG4gICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYmFzZSApLCBrLWNvbnRyYXN0LWNvbG9yKCBrLWNvbG9yLWRhcmtlbiggJGtlbmRvLWZhYi1pdGVtLWljb24tYmcsIDcuNSUgKSApKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay1jb2xvci1kYXJrZW4oICRrZW5kby1mYWItaXRlbS1pY29uLWJnLCA3LjUlICkpO1xuICAgIH1cblxuICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgLmstZmFiLWl0ZW06Zm9jdXMgLmstZmFiLWl0ZW0tdGV4dCxcbiAgICAuay1mYWItaXRlbS5rLWZvY3VzIC5rLWZhYi1pdGVtLXRleHQsXG4gICAgLmstZmFiLWl0ZW06Zm9jdXMgLmstZmFiLWl0ZW0taWNvbixcbiAgICAuay1mYWItaXRlbS5rLWZvY3VzIC5rLWZhYi1pdGVtLWljb24ge1xuICAgICAgICBvdXRsaW5lOiAka2VuZG8tZmFiLWl0ZW0tb3V0bGluZS13aWR0aCAka2VuZG8tZmFiLWl0ZW0tb3V0bGluZS1zdHlsZSBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIGJhc2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLCAuNSApKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuay1mYWItaXRlbTphY3RpdmUgLmstZmFiLWl0ZW0taWNvbixcbiAgICAuay1mYWItaXRlbS5rLWFjdGl2ZSAuay1mYWItaXRlbS1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWZhYi1pdGVtLWFjdGl2ZS1zaGFkb3cgKTtcbiAgICAgICAgb3V0bGluZTogJGtlbmRvLWZhYi1ib3JkZXItd2lkdGggc29saWQgaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtYWN0aXZlICksIGstY29sb3ItZGFya2VuKCAka2VuZG8tZmFiLWl0ZW0taWNvbi1ib3JkZXIsIDEyLjUlICkpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLSRrZW5kby1mYWItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBrLWNvbG9yLWRhcmtlbiggJGtlbmRvLWZhYi1pdGVtLWljb24tYm9yZGVyLCAxMi41JSApKTtcbiAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksIGstY29udHJhc3QtY29sb3IoIGstY29sb3ItZGFya2VuKCAka2VuZG8tZmFiLWl0ZW0taWNvbi1iZywgMTAlICkgKSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLWFjdGl2ZSApLCBrLWNvbG9yLWRhcmtlbiggJGtlbmRvLWZhYi1pdGVtLWljb24tYmcsIDEwJSApKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgIC5rLWZhYi1pdGVtOmRpc2FibGVkLFxuICAgIC5rLWZhYi1pdGVtLmstZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIC5rLWZhYi1pdGVtLXRleHQsXG4gICAgICAgIC5rLWZhYi1pdGVtLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWZhYi1pdGVtLWRpc2FibGVkLXNoYWRvdyApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBiYXNlICkgNjUlLCB0cmFuc3BhcmVudCksIGstdHJ5LXRpbnQoICRrZW5kby1mYWItaXRlbS1iZywgOCApKTtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWJhc2UgKSA2NSUsIHRyYW5zcGFyZW50KSwgay10cnktdGludCggJGtlbmRvLWZhYi1pdGVtLXRleHQsIDggKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQb3B1cFxuICAgIC5rLWZhYi1wb3B1cCB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1mYWItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImZhYlwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1mYWItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1mYWItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1mYWItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL21lbnUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBQb3B1cHMgYW5kIG1vZGFsc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9hY3Rpb24tc2hlZXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tc2hlZXQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiYWN0aW9uLXNoZWV0XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0Z3JvdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0Z3JvdXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wb3B1cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BvcHVwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tc2hlZXQvX3ZhcmlhYmxlcy5zY3NzXG4vLyBBY3Rpb24gc2hlZXRcbiRrZW5kby1hY3Rpb25zaGVldC1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXdpZHRoOiAzNjBweCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1tYXgtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaGVpZ2h0OiA2MHZoICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LW1heC1oZWlnaHQ6IDYwdmggIWRlZmF1bHQ7XG5cbiRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG5cbiRrZW5kby1hY3Rpb25zaGVldC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtc2hhZG93OiBrLWVsZXZhdGlvbig3KSAhZGVmYXVsdDtcblxuXG4vLyBBY3Rpb25zaGVldCBoZWFkZXJcbiRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LXN1YnRpdGxlLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG5cbi8vIEFjdGlvbnNoZWV0IGl0ZW1cbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLW1pbi1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1zcGFjaW5nOiAxMnB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS10aXRsZS1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kZXNjcmlwdGlvbi1mb250LXNpemU6IC44NzVlbSAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRlc2NyaXB0aW9uLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcblxuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0taG92ZXItYmc6ICRrZW5kby1ob3Zlci1iZyAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCByZ2JhKCBibGFjaywgLjEzICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGlzYWJsZWQtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIEFkYXB0aXZlIEFjdGlvbnNoZWV0XG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LXRpdGxlYmFyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LXRpdGxlYmFyLXBhZGRpbmcteDogJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LXRpdGxlYmFyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC10aXRsZWJhci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtY29udGVudC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1jb250ZW50LXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4ka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtZm9vdGVyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWZvb3Rlci1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tc2hlZXQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FjdGlvbi1zaGVldC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9hY3Rpb24tc2hlZXQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tYWN0aW9uLXNoZWV0LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEFjdGlvbiBzaGVldCBjb250YWluZXJcbiAgICAuay1hY3Rpb25zaGVldC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IGNsYW1wKDEwMHZ3LCAxMDAlLCAxMDAlKTtcbiAgICAgICAgbWF4LWhlaWdodDogY2xhbXAoMTAwdmgsIDEwMCUsIDEwMCUpO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgIC8vIE92ZXJsYXlcbiAgICAgICAgPiAuay1vdmVybGF5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOZXN0ZWQgYW5pbWF0aW9uIGNvbnRhaW5lclxuICAgICAgICA+IC5rLWFuaW1hdGlvbi1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgID4gLmstY2hpbGQtYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm8gYW5pbWF0aW9uIGNvbnRhaW5lclxuICAgICAgICA+IC5rLWFjdGlvbnNoZWV0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbmFibGUgbW91c2UgZXZlbnRzIGZvciBhY3Rpb24gc2hlZXRcbiAgICAgICAgLmstYWN0aW9uc2hlZXQge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXRcbiAgICAuay1hY3Rpb25zaGVldCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1hY3Rpb25zaGVldC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYWN0aW9uc2hlZXQtcGFkZGluZy15O1xuICAgICAgICB3aWR0aDogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LXdpZHRoLCAjeyRrZW5kby1hY3Rpb25zaGVldC13aWR0aH0gKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtaGVpZ2h0LCAjeyRrZW5kby1hY3Rpb25zaGVldC1oZWlnaHR9ICk7XG4gICAgICAgIG1heC13aWR0aDogdmFyKCAtLWtlbmRvLWFjdGlvbnNoZWV0LW1heC13aWR0aCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtbWF4LXdpZHRofSApO1xuICAgICAgICBtYXgtaGVpZ2h0OiB2YXIoIC0ta2VuZG8tYWN0aW9uc2hlZXQtbWF4LWhlaWdodCwgI3ska2VuZG8tYWN0aW9uc2hlZXQtbWF4LWhlaWdodH0gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1hY3Rpb25zaGVldC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tYWN0aW9uc2hlZXQtZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYWN0aW9uc2hlZXQtbGluZS1oZWlnaHQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IHRpdGxlYmFyXG4gICAgLmstYWN0aW9uc2hlZXQtdGl0bGViYXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBpZiggJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWJvcmRlci13aWR0aCwgJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWJvcmRlci13aWR0aCwgbnVsbCApO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItZ2FwO1xuICAgIH1cbiAgICAuay1hY3Rpb25zaGVldC10aXRsZWJhci1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LXRpdGxlIHtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1hY3Rpb25zaGVldC1zdWJ0aXRsZS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LWFjdGlvbnMge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgY29udGVudFxuICAgIC5rLWFjdGlvbnNoZWV0LWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgZm9vdGVyXG4gICAgLmstYWN0aW9uc2hlZXQtZm9vdGVyIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IGl0ZW1zXG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbXMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldCBpdGVtXG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLW1pbi1oZWlnaHQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tc3BhY2luZztcbiAgICB9XG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIH1cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IHNlcGFyYXRvclxuICAgIC5rLWFjdGlvbnNoZWV0IC5rLWhyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uIHNoZWV0IHBvc2l0aW9uXG4gICAgLmstYWN0aW9uc2hlZXQtdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogaWYoICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsIG51bGwgKTtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogaWYoICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsIDAsIG51bGwgKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAtNTAlICk7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBib3JkZXItd2lkdGg6IGlmKCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCBudWxsICk7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGlmKCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCAwLCBudWxsICk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggLTUwJSApO1xuICAgIH1cbiAgICAuay1hY3Rpb25zaGVldC1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cyggJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiBpZiggJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgbnVsbCApO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogaWYoICRrZW5kby1hY3Rpb25zaGVldC1ib3JkZXItd2lkdGgsIDAsIG51bGwgKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSggLTUwJSApO1xuICAgIH1cbiAgICAuay1hY3Rpb25zaGVldC1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyggJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiBpZiggJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgJGtlbmRvLWFjdGlvbnNoZWV0LWJvcmRlci13aWR0aCwgbnVsbCApO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IGlmKCAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyLXdpZHRoLCAwLCBudWxsICk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAtNTAlICk7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LWZ1bGxzY3JlZW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb24gc2hlZXQgaW4gcG9wdXBcbiAgICAuay1hbmltYXRpb24tY29udGFpbmVyID4gLmstYWN0aW9uc2hlZXQge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIEFkYXB0aXZlIGFjdGlvbiBzaGVldFxuICAgIC5rLWFkYXB0aXZlLWFjdGlvbnNoZWV0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtZm9udC1zaXplO1xuXG4gICAgICAgIC8vIFRNUDogdGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gYWN0aW9uIHNoZWV0XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgICAgICAuay1hY3Rpb25zaGVldC10aXRsZWJhciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtdGl0bGViYXItcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC10aXRsZWJhci1wYWRkaW5nLXg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtdGl0bGViYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYWN0aW9uc2hlZXQtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYWRhcHRpdmUtYWN0aW9uc2hlZXQtY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWFkYXB0aXZlLWFjdGlvbnNoZWV0LWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYWN0aW9uc2hlZXQtZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1mb290ZXItcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC1mb290ZXItcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYWN0aW9uc2hlZXQtZmlsdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCBtaW4oMTAwJSwgY2FsYyggMzYwcHggLSAjeyRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC10aXRsZWJhci1wYWRkaW5nLXggKiAyfSkgKSApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LWNvbnRlbnQsXG4gICAgICAgIC5rLWFjdGlvbnNoZWV0LWZvb3RlciB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGstc3RyaW5nLXVucXVvdGUoXCJtaW4oMTAwJSwgMzYwcHgpXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdC1jb250YWluZXIsXG4gICAgICAgIC5rLXRyZWV2aWV3IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuay1saXN0LWZpbHRlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWVudS1ncm91cCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYWxlbmRhciB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVzZWxlY3RvciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAuay10aW1lLXBhcnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10aW1lLWxpc3Qtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF0ZXRpbWUtd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgICAgLmstZGF0ZXRpbWUtc2VsZWN0b3Ige1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1kYXRldGltZS1jYWxlbmRhci13cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZGF0ZXRpbWUtdGltZS13cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay1kYXRhLXRhYmxlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTGVnYWN5IGFjdGlvbiBzaGVldFxuICAgIC8vIFRPRE86IHJlbW92ZSB3aGVuIGtlbmRvLWpxdWVyeSBtaWdyYXRlXG4gICAgLmstYWN0aW9uc2hlZXQtanEge1xuICAgICAgICAmLmstYWN0aW9uc2hlZXQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYWN0aW9uc2hlZXQtaGVhZGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstYWN0aW9uc2hlZXQtdGl0bGViYXIgIW9wdGlvbmFsO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zaGVldC1hY3Rpb24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJUTFxuICAgIC5rLXJ0bCxcbiAgICBbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgLmstYWN0aW9uc2hlZXQtdG9wLFxuICAgICAgICAuay1hY3Rpb25zaGVldC1ib3R0b20ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCA1MCUgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1hY3Rpb24tc2hlZXQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb24tc2hlZXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYWN0aW9uLXNoZWV0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWN0aW9uLXNoZWV0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvYWN0aW9uLXNoZWV0L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FjdGlvbi1zaGVldC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FjdGlvbi1zaGVldC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWFjdGlvbi1zaGVldC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIEFjdGlvbnNoZWV0XG4gICAgLmstYWN0aW9uc2hlZXQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtYmcsXG4gICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1hY3Rpb25zaGVldC1zaGFkb3cgKTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IGhlYWRlclxuICAgIC5rLWFjdGlvbnNoZWV0LXRpdGxlYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LXRpdGxlYmFyLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC10aXRsZWJhci1ncmFkaWVudFxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYWN0aW9uc2hlZXQtdGl0bGViYXItc2hhZG93ICk7XG4gICAgfVxuICAgIC5rLWFjdGlvbnNoZWV0LXN1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tYWN0aW9uc2hlZXQtc3VidGl0bGUtdGV4dCApO1xuICAgIH1cblxuXG4gICAgLy8gQWN0aW9uc2hlZXQgaXRlbXNcbiAgICAuay1hY3Rpb25zaGVldC1pdGVtcyB7fVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldCBpdGVtXG4gICAgLmstYWN0aW9uc2hlZXQtaXRlbSB7XG5cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWhvdmVyLXNoYWRvdyApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGlzYWJsZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1hY3Rpb25zaGVldC1pdGVtLWRpc2FibGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWFjdGlvbnNoZWV0LWl0ZW0tZGlzYWJsZWQtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNoZWV0IGl0ZW0gZGVzY3JpcHRpb25cbiAgICAuay1hY3Rpb25zaGVldC1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tYWN0aW9uc2hlZXQtaXRlbS1kZXNjcmlwdGlvbi10ZXh0ICk7XG4gICAgfVxuXG5cbiAgICAvLyBBY3Rpb25zaGVldCBhY3Rpb25cbiAgICAuay1hY3Rpb25zaGVldC1hY3Rpb24ge31cblxuICAgIC8vIEFjdGlvbnNoZWV0IHNlcGFyYXRvclxuICAgIC5rLWFjdGlvbnNoZWV0IC5rLWhyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tYWN0aW9uc2hlZXQtYm9yZGVyO1xuICAgIH1cblxuXG4gICAgLy8gQWRhcHRpdmUgQWN0aW9uc2hlZXRcbiAgICAuay1hZGFwdGl2ZS1hY3Rpb25zaGVldCAuay1hY3Rpb25zaGVldC10aXRsZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1hZGFwdGl2ZS1hY3Rpb25zaGVldC10aXRsZWJhci1ib3JkZXIgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYWN0aW9uLXNoZWV0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hY3Rpb24tc2hlZXQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1hY3Rpb24tc2hlZXQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbi1zaGVldC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWFjdGlvbi1zaGVldC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiYWN0aW9uLXNoZWV0XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbi1zaGVldC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbi1zaGVldC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbi1zaGVldC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZGlhbG9nL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGlhbG9nL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImRpYWxvZ1wiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJ3aW5kb3dcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vd2luZG93L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvd2luZG93L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIndpbmRvd1wiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImFjdGlvbnNcIixcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJmb3JtXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcIm92ZXJsYXlcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vb3ZlcmxheS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL292ZXJsYXkvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mb3Jtcy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvd2luZG93L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3dpbmRvdy9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby13aW5kb3ctLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstd2luZG93IHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXdpbmRvdy1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8td2luZG93LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby13aW5kb3ctZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXdpbmRvdy1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDI7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBvdmVybGF5IGR1cmluZyBkcmFnZ2luZ1xuICAgICAgICAvLyAuay1vdmVybGF5IHtcbiAgICAgICAgLy8gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyAgICBvcGFjaXR5OiAwO1xuICAgICAgICAvLyB9XG4gICAgfVxuICAgIC5rLXdpbmRvdy5rLXdpbmRvdy1tYXhpbWl6ZWQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIFdpbmRvdyBzaXplc1xuICAgIEBlYWNoICRzaXplLCAkd2lkdGggaW4gJGtlbmRvLXdpbmRvdy1zaXplcyB7XG4gICAgICAgIC5rLXdpbmRvdy0jeyRzaXplfSB7IHdpZHRoOiAkd2lkdGg7IH1cbiAgICB9XG5cblxuICAgIC8vIFRpdGxlIGJhclxuICAgIC5rLXdpbmRvdy10aXRsZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCAka2VuZG8td2luZG93LWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8td2luZG93LXRpdGxlYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8td2luZG93LXRpdGxlYmFyLWJvcmRlci1zdHlsZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstd2luZG93LW1pbmltaXplZCAmIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRpdGxlIGJhciB0aXRsZSB0ZXh0XG4gICAgLmstd2luZG93LXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogLjVlbTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jazogLS41ZW07XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXdpbmRvdy10aXRsZS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8td2luZG93LXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbnNcbiAgICAuay13aW5kb3ctdGl0bGViYXItYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogLTVlbTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoICN7JGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXl9IC0gI3ska2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteH0gKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGtlbmRvLXdpbmRvdy1hY3Rpb25zLWdhcDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gICAgLmstd2luZG93LXRpdGxlYmFyLWFjdGlvbiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8td2luZG93LWFjdGlvbi1vcGFjaXR5O1xuICAgIH1cbiAgICAuay13aW5kb3ctdGl0bGViYXItYWN0aW9uOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLXdpbmRvdy1hY3Rpb24taG92ZXItb3BhY2l0eTtcbiAgICB9XG5cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay13aW5kb3ctY29udGVudCxcbiAgICAuay1wcm9tcHQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLmstd2luZG93LWNvbnRlbnQgKyAuay1wcm9tcHQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLSBrLW1hdGgtZGl2KCAka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteSwgMiApO1xuICAgIH1cbiAgICAuay13aW5kb3ctY29udGVudDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCggI3ska2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteX0sICN7JGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXl9LCAjeyRrZW5kby13aW5kb3ctdGl0bGViYXItcGFkZGluZy15fSApO1xuICAgIH1cbiAgICAuay13aW5kb3ctY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKCAjeyRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15fSwgI3ska2VuZG8td2luZG93LXRpdGxlYmFyLXBhZGRpbmcteX0sICN7JGtlbmRvLXdpbmRvdy10aXRsZWJhci1wYWRkaW5nLXl9ICk7XG4gICAgfVxuXG4gICAgLmstd2luZG93LWlmcmFtZWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAuay1jb250ZW50LWZyYW1lIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbnMgTGF5b3V0XG4gICAgLmstd2luZG93LWFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyggJGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby13aW5kb3ctYnV0dG9uZ3JvdXAtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXdpbmRvdy1idXR0b25ncm91cC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXdpbmRvdy1idXR0b25ncm91cC1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLy8gUHJvbXB0XG4gICAgLmstcHJvbXB0LWNvbnRhaW5lciB7XG5cbiAgICAgICAgPiAuay10ZXh0YXJlYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gUmVzaXplIEhhbmRsZXNcbiAgICAuay13aW5kb3cgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIC5rLXJlc2l6ZS1uIHsgdG9wOiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS1lIHsgcmlnaHQ6IDA7IH1cbiAgICAgICAgLmstcmVzaXplLXMgeyBib3R0b206IDA7IH1cbiAgICAgICAgLmstcmVzaXplLXcgeyBsZWZ0OiAwOyB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXdpbmRvdy0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXdpbmRvdy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby13aW5kb3ctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby13aW5kb3ctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy93aW5kb3cvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvd2luZG93L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvd2luZG93L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8td2luZG93LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gV2luZG93XG4gICAgLmstd2luZG93IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby13aW5kb3ctdGV4dCxcbiAgICAgICAgICAgICRrZW5kby13aW5kb3ctYmcsXG4gICAgICAgICAgICAka2VuZG8td2luZG93LWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8td2luZG93LXNoYWRvdyApO1xuICAgIH1cblxuICAgIC5rLXdpbmRvdzpmb2N1cyxcbiAgICAuay13aW5kb3cuay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXdpbmRvdy1mb2N1cy1zaGFkb3cgKTtcbiAgICB9XG5cblxuICAgIC8vIFRpdGxlYmFyXG4gICAgLmstd2luZG93LXRpdGxlYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby13aW5kb3ctdGl0bGViYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby13aW5kb3ctdGl0bGViYXItYmcsXG4gICAgICAgICAgICAka2VuZG8td2luZG93LXRpdGxlYmFyLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby13aW5kb3ctdGl0bGViYXItZ3JhZGllbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBXaW5kb3cgdGhlbWUgY29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAka2VuZG8td2luZG93LXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLXdpbmRvdy0jeyRuYW1lfSAuay13aW5kb3ctdGl0bGViYXIge1xuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXdpbmRvdy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8td2luZG93LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8td2luZG93LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby13aW5kb3ctLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby13aW5kb3ctLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIndpbmRvd1wiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby13aW5kb3ctLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby13aW5kb3ctLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby13aW5kb3ctLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RpYWxvZy9fdmFyaWFibGVzLnNjc3Ncbi8vIERpYWxvZ1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIERpYWxvZyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgZGlhbG9nXG4ka2VuZG8tZGlhbG9nLXRpdGxlYmFyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBEaWFsb2cgdGl0bGViYXIuXG4vLy8gQGdyb3VwIGRpYWxvZ1xuJGtlbmRvLWRpYWxvZy10aXRsZWJhci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIERpYWxvZyB0aXRsZWJhci5cbi8vLyBAZ3JvdXAgZGlhbG9nXG4ka2VuZG8tZGlhbG9nLXRpdGxlYmFyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIERpYWxvZyBhY3Rpb24gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgZGlhbG9nXG4ka2VuZG8tZGlhbG9nLWJ1dHRvbmdyb3VwLXBhZGRpbmcteDogJGtlbmRvLWFjdGlvbnMtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBEaWFsb2cgYWN0aW9uIGJ1dHRvbnMuXG4vLy8gQGdyb3VwIGRpYWxvZ1xuJGtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1wYWRkaW5nLXk6ICRrZW5kby1hY3Rpb25zLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIHRvcCBib3JkZXIgb2YgdGhlIERpYWxvZyBhY3Rpb24gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgZGlhbG9nXG4ka2VuZG8tZGlhbG9nLWJ1dHRvbmdyb3VwLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIERpYWxvZyBhY3Rpb24gYnV0dG9ucy5cbi8vLyBAZ3JvdXAgZGlhbG9nXG4ka2VuZG8tZGlhbG9nLWJ1dHRvbi1zcGFjaW5nOiAka2VuZG8tYWN0aW9ucy1idXR0b24tc3BhY2luZyAhZGVmYXVsdDtcblxuLy8vIFRoZSB0aGVtZSBjb2xvcnMgbWFwIGZvciB0aGUgRGlhbG9nLlxuLy8vIEBncm91cCBkaWFsb2dcbiRrZW5kby1kaWFsb2ctdGhlbWUtY29sb3JzOiAoXG4gICAgXCJwcmltYXJ5XCI6IGstbWFwLWdldCgka2VuZG8tdGhlbWUtY29sb3JzLCBcInByaW1hcnlcIiksXG4gICAgXCJsaWdodFwiOiBrLW1hcC1nZXQoJGtlbmRvLXRoZW1lLWNvbG9ycywgXCJsaWdodFwiKSxcbiAgICBcImRhcmtcIjogay1tYXAtZ2V0KCRrZW5kby10aGVtZS1jb2xvcnMsIFwiZGFya1wiKVxuKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kaWFsb2cvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RpYWxvZy9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kaWFsb2cvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZGlhbG9nLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLWRpYWxvZy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxMDAwMTtcblxuICAgICAgICAuay1kaWFsb2cge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZGlhbG9nIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIC8vIENlbnRlcmVkXG4gICAgICAgICYuay1kaWFsb2ctY2VudGVyZWQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW11bHRpc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUaXRsZWJhclxuICAgIC5rLWRpYWxvZy10aXRsZWJhciB7fVxuICAgIC5rLWRpYWxvZy10aXRsZSB7fVxuXG5cbiAgICAvLyBBY3Rpb25zXG4gICAgLmstZGlhbG9nLXRpdGxlYmFyLWFjdGlvbnMge31cbiAgICAuay1kaWFsb2ctYWN0aW9uIHt9XG5cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1kaWFsb2ctY29udGVudCB7fVxuXG5cbiAgICAvLyBCdXR0b25zXG4gICAgLmstZGlhbG9nLWFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyggJGtlbmRvLXdpbmRvdy1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1kaWFsb2ctYnV0dG9uZ3JvdXAtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWRpYWxvZy1idXR0b25ncm91cC1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1kaWFsb2ctYnV0dG9uLXNwYWNpbmc7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRpYWxvZy0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRpYWxvZy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kaWFsb2ctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kaWFsb2ctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9kaWFsb2cvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGlhbG9nL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGlhbG9nL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZGlhbG9nLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gRGlhbG9nIHRpdGxlYmFyXG4gICAgLmstZGlhbG9nLXRpdGxlYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1kaWFsb2ctdGl0bGViYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1kaWFsb2ctdGl0bGViYXItYmcsXG4gICAgICAgICAgICAka2VuZG8tZGlhbG9nLXRpdGxlYmFyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIERpYWxvZyB0aGVtZSBjb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby1kaWFsb2ctdGhlbWUtY29sb3JzIHtcbiAgICAgICAgLmstZGlhbG9nLSN7JG5hbWV9IC5rLWRpYWxvZy10aXRsZWJhciB7XG4gICAgICAgICAgICBjb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLSN7JG5hbWV9ICksIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGlhbG9nLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kaWFsb2ctLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1kaWFsb2ctLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRpYWxvZy0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWRpYWxvZy0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZGlhbG9nXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRpYWxvZy0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRpYWxvZy0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRpYWxvZy0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZHJhd2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJhd2VyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImRyYXdlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwib3ZlcmxheVwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9vdmVybGF5L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvb3ZlcmxheS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RyYXdlci9fdmFyaWFibGVzLnNjc3Ncbi8vIERyYXdlclxuJGtlbmRvLWRyYXdlci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRrZW5kby1kcmF3ZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1kcmF3ZXItZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRrZW5kby1kcmF3ZXItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1jb250ZW50LXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbiRrZW5kby1kcmF3ZXItY29udGVudC1wYWRkaW5nLXk6ICRrZW5kby1wYWRkaW5nLW1kLXkgIWRlZmF1bHQ7XG5cbiRrZW5kby1kcmF3ZXItc2Nyb2xsYmFyLXdpZHRoOiA3cHggIWRlZmF1bHQ7XG4ka2VuZG8tZHJhd2VyLXNjcm9sbGJhci1jb2xvcjogcmdiYSggMTU2LCAxNTYsIDE1NiwgLjcgKSAhZGVmYXVsdDtcbiRrZW5kby1kcmF3ZXItc2Nyb2xsYmFyLWJnOiAjZGVkZWRlICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItcmFkaXVzOiAyMHB4ICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItaG92ZXItY29sb3I6IHJnYmEoIDE1NiwgMTU2LCAxNTYsIDEgKSAhZGVmYXVsdDtcblxuJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbiRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXk6ICRrZW5kby1wYWRkaW5nLW1kLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhd2VyLWl0ZW0tZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1pdGVtLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRrZW5kby1kcmF3ZXItaXRlbS1sZXZlbC1wYWRkaW5nLXg6ICRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZHJhd2VyLWl0ZW0tbGV2ZWwtY291bnQ6IDUgIWRlZmF1bHQ7XG5cbiRrZW5kby1kcmF3ZXItaWNvbi1wYWRkaW5nLXg6IDAgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhd2VyLWljb24tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1kcmF3ZXItbWluaS1pbml0aWFsLXdpZHRoOiBjYWxjKCAyICogI3ska2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14fSArICN7JGtlbmRvLWljb24tc2l6ZX0gKSAhZGVmYXVsdDtcblxuJGtlbmRvLWRyYXdlci1ob3Zlci1iZzogJGtlbmRvLWhvdmVyLWJnICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1ob3Zlci10ZXh0OiAka2VuZG8taG92ZXItdGV4dCAhZGVmYXVsdDtcblxuJGtlbmRvLWRyYXdlci1mb2N1cy1iZzogJGtlbmRvLWhvdmVyLWJnICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1mb2N1cy1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCByZ2JhKCBibGFjaywgLjE1ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1kcmF3ZXItc2VsZWN0ZWQtYmc6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbiRrZW5kby1kcmF3ZXItc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tZHJhd2VyLXNlbGVjdGVkLWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXNlbGVjdGVkLWJnLCAxICkpICFkZWZhdWx0O1xuJGtlbmRvLWRyYXdlci1zZWxlY3RlZC1ob3Zlci10ZXh0OiAka2VuZG8tc2VsZWN0ZWQtdGV4dCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kcmF3ZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYXdlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kcmF3ZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZHJhd2VyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLWRyYXdlci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBrZW5kby1kcmF3ZXIuay1kcmF3ZXIsXG4gICAga2VuZG8tZHJhd2VyIC5rLWRyYXdlci13cmFwcGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLmstZHJhd2VyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1kcmF3ZXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWRyYXdlci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZHJhd2VyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQm9yZGVyc1xuICAgICAgICAuay1kcmF3ZXItbWluaSAmLmstZHJhd2VyLXN0YXJ0LFxuICAgICAgICAuay1kcmF3ZXItZXhwYW5kZWQgJi5rLWRyYXdlci1zdGFydCxcbiAgICAgICAgLmstZHJhd2VyLWxlZnQuay1kcmF3ZXItbWluaSAmLFxuICAgICAgICAuay1kcmF3ZXItbGVmdC5rLWRyYXdlci1leHBhbmRlZCAmIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJGtlbmRvLWRyYXdlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLmstZHJhd2VyLW1pbmkgJi5rLWRyYXdlci1lbmQsXG4gICAgICAgIC5rLWRyYXdlci1leHBhbmRlZCAmLmstZHJhd2VyLWVuZCxcbiAgICAgICAgLmstZHJhd2VyLXJpZ2h0LmstZHJhd2VyLW1pbmkgJixcbiAgICAgICAgLmstZHJhd2VyLXJpZ2h0LmstZHJhd2VyLWV4cGFuZGVkICYge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRrZW5kby1kcmF3ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb25cbiAgICAgICAgJi5rLWRyYXdlci1zdGFydCxcbiAgICAgICAgLmstZHJhd2VyLWxlZnQgJiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICYuay1kcmF3ZXItZW5kLFxuICAgICAgICAuay1kcmF3ZXItcmlnaHQgJiB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1kcmF3ZXItY29udGVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cblxuICAgIC8vIE92ZXJsYXkgZHJhd2VyXG4gICAgLmstZHJhd2VyLW92ZXJsYXkge1xuXG4gICAgICAgIC5rLWRyYXdlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwdnc7IC8vIGxpbWl0IHdpZHRoXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwMjtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstb3ZlcmxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYuay1kcmF3ZXItZXhwYW5kZWQgPiAuay1vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFB1c2ggZHJhd2VyXG4gICAgLmstZHJhd2VyLXB1c2gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgIC5rLWRyYXdlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyByaWdodCBkcmF3ZXJcbiAgICAgICAgLmstZHJhd2VyLmstZHJhd2VyLWVuZCxcbiAgICAgICAgJi5rLWRyYXdlci1yaWdodCAuay1kcmF3ZXIge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gRHJhd2VyIGl0ZW1zXG4gICAgLmstZHJhd2VyLXdyYXBwZXIge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsgLy8gU2Nyb2xsYmFyIHN0eWxlcyBmb3IgTW96aWxsYVxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgLy8gU2Nyb2xsYmFyIHN0eWxlcyBmb3IgQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZHJhd2VyLXNjcm9sbGJhci13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tZHJhd2VyLXNjcm9sbGJhci1yYWRpdXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstZHJhd2VyLWl0ZW1zLFxuICAgIC5rLWRyYXdlci1pdGVtcyB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuICAgIC5rLWRyYXdlci1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1kcmF3ZXItaXRlbS1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZHJhd2VyLWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgZ2FwOiAka2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgPiAuay1kcmF3ZXItbGluayB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6ICgtJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteSk7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAoLSRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWRyYXdlci1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZHJhd2VyLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1kcmF3ZXItaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kcmF3ZXItaWNvbi1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZHJhd2VyLWljb24tcGFkZGluZy15O1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgICAgICYuay1pLW5vbmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWl0ZW0tdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZHJhd2VyLXRvZ2dsZSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZXJhcmNoeSBpdGVtc1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRrZW5kby1kcmF3ZXItaXRlbS1sZXZlbC1jb3VudCB7XG4gICAgICAgICAgICAmLmstbGV2ZWwtI3skaX0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAoICRpICsgMSkgKiAka2VuZG8tZHJhd2VyLWl0ZW0tbGV2ZWwtcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWRyYXdlci1zZXBhcmF0b3Ige1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cblxuXG4gICAgLy8gTWluaSBtb2RlXG4gICAgLmstZHJhd2VyLW1pbmkge1xuXG4gICAgICAgIC5rLWRyYXdlci13cmFwcGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZHJhd2VyLW1pbmktaW5pdGlhbC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAuay1ydGwsXG4gICAgW2Rpcj1cInJ0bFwiXSB7XG5cbiAgICAgICAgLy8gQm9yZGVyc1xuICAgICAgICAmLmstZHJhd2VyLW1pbmkgLmstZHJhd2VyLXN0YXJ0LFxuICAgICAgICAuay1kcmF3ZXItbWluaSAuay1kcmF3ZXItc3RhcnQsXG4gICAgICAgIC5rLWRyYXdlci1leHBhbmRlZCAuay1kcmF3ZXItc3RhcnQsXG4gICAgICAgICYuay1kcmF3ZXItZXhwYW5kZWQgLmstZHJhd2VyLXN0YXJ0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAka2VuZG8tZHJhd2VyLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLmstZHJhd2VyLW1pbmkgLmstZHJhd2VyLWVuZCxcbiAgICAgICAgLmstZHJhd2VyLW1pbmkgLmstZHJhd2VyLWVuZCxcbiAgICAgICAgJi5rLWRyYXdlci1leHBhbmRlZCAuay1kcmF3ZXItZW5kXG4gICAgICAgIC5rLWRyYXdlci1leHBhbmRlZCAuay1kcmF3ZXItZW5kIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAka2VuZG8tZHJhd2VyLWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uXG4gICAgICAgICYuay1kcmF3ZXItb3ZlcmxheSAuay1kcmF3ZXItc3RhcnQsXG4gICAgICAgIC5rLWRyYXdlci1vdmVybGF5IC5rLWRyYXdlci1zdGFydCB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLWRyYXdlci1vdmVybGF5IC5rLWRyYXdlci1lbmQsXG4gICAgICAgIC5rLWRyYXdlci1vdmVybGF5IC5rLWRyYXdlci1lbmQge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3JkZXJcbiAgICAgICAgLmstZHJhd2VyLWxlZnQuay1kcmF3ZXItcHVzaCAuay1kcmF3ZXIge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cbiAgICAgICAgLmstZHJhd2VyLXJpZ2h0LmstZHJhd2VyLXB1c2ggLmstZHJhd2VyIHtcbiAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1kcmF3ZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmF3ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJhd2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhd2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZHJhd2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYXdlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RyYXdlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWRyYXdlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWRyYXdlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZHJhd2VyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZHJhd2VyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWRyYXdlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBEcmF3ZXIgaXRlbXNcbiAgICAuay1kcmF3ZXItd3JhcHBlciB7XG4gICAgICAgIHNjcm9sbGJhci1jb2xvcjogJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItY29sb3IgJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItYmc7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItYmc7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWRyYXdlci1zY3JvbGxiYXItaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstZHJhd2VyLWl0ZW0ge1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWRyYXdlci1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRyYXdlci1ob3Zlci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZHJhd2VyLWZvY3VzLWJnO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tZHJhd2VyLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWRyYXdlci1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1kcmF3ZXItaG92ZXItYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1kcmF3ZXItc2VsZWN0ZWQtdGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1kcmF3ZXItc2VsZWN0ZWQtYmc7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZHJhd2VyLXNlbGVjdGVkLWhvdmVyLXRleHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRyYXdlci1zZWxlY3RlZC1ob3Zlci1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1kcmF3ZXItc2VwYXJhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRyYXdlci1ib3JkZXI7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWRyYXdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZHJhd2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZHJhd2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmF3ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1kcmF3ZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImRyYXdlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcmF3ZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kcmF3ZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1kcmF3ZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL25vdGlmaWNhdGlvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL25vdGlmaWNhdGlvbi9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJub3RpZmljYXRpb25cIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwicG9wdXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL25vdGlmaWNhdGlvbi9fdmFyaWFibGVzLnNjc3Ncbi8vIE5vdGlmaWNhdGlvblxuXG4vLy8gVGhlIHJvdy1nYXAgYmV0d2VlbiB0aGUgZWxlbWVudHMgaW4gdGhlIE5vdGlmaWNhdGlvbiBncm91cC5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLWdyb3VwLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgTm90aWZpY2F0aW9uLlxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbiRrZW5kby1ub3RpZmljYXRpb24tcGFkZGluZy14OiAkYWxlcnQtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1wYWRkaW5nLXk6ICRhbGVydC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGg6ICRhbGVydC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgTm90aWZpY2F0aW9uLlxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbiRrZW5kby1ub3RpZmljYXRpb24tZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgTm90aWZpY2F0aW9uLlxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbiRrZW5kby1ub3RpZmljYXRpb24tdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLXNoYWRvdzogJGtlbmRvLXBvcHVwLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHNwYWNpbmcgb2YgdGhlIE5vdGlmaWNhdGlvbiBpY29uLlxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbiRrZW5kby1ub3RpZmljYXRpb24taWNvbi1zcGFjaW5nOiAka2VuZG8taWNvbi1zcGFjaW5nICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbm90aWZpY2F0aW9uLXRoZW1lKCAkY29sb3JzICkge1xuICAgICRfdGhlbWU6ICgpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkY29sb3JzIHtcbiAgICAgICAgJF90aGVtZTogay1tYXAtbWVyZ2UoKCAkbmFtZTogKFxuICAgICAgICAgICAgY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1vbi1zdWJ0bGUgKSwgay1jb2xvci1zaGFkZSggJGNvbG9yLCA2ICkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LXN1YnRsZSApLCBrLWNvbG9yLXRpbnQoICRjb2xvciwgOSApKSxcbiAgICAgICAgICAgIGJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoICN7JG5hbWV9LWVtcGhhc2lzICksIGstY29sb3ItdGludCggJGNvbG9yLCAxMCApKSxcbiAgICAgICAgKSksICRfdGhlbWUgKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRfdGhlbWU7XG59XG5cbi8vLyBUaGUgdGhlbWUgY29sb3JzIG1hcCBmb3IgdGhlIE5vdGlmaWNhdGlvbi5cbi8vLyBAZ3JvdXAgbm90aWZpY2F0aW9uXG4ka2VuZG8tbm90aWZpY2F0aW9uLXRoZW1lLWNvbG9yczogJGtlbmRvLXRoZW1lLWNvbG9ycyAhZGVmYXVsdDtcbi8vLyBUaGUgZ2VuZXJhdGVkIHRoZW1lIGNvbG9ycyBtYXAgZm9yIHRoZSBOb3RpZmljYXRpb24uXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJGtlbmRvLW5vdGlmaWNhdGlvbi10aGVtZTogbm90aWZpY2F0aW9uLXRoZW1lKCAka2VuZG8tbm90aWZpY2F0aW9uLXRoZW1lLWNvbG9ycyApICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL25vdGlmaWNhdGlvbi9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvbm90aWZpY2F0aW9uL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL25vdGlmaWNhdGlvbi9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1ub3RpZmljYXRpb24tLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLW5vdGlmaWNhdGlvbi1ncm91cCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlIHdyYXA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgZ2FwOiAka2VuZG8tbm90aWZpY2F0aW9uLWdyb3VwLWdhcCAwO1xuICAgIH1cblxuICAgIC8vIE5lZWRlZCBkdWUgdG8gdGhlIHNwZWNpZmljcyBpbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgYW5pbWF0aW9ucyBpbiBBbmd1bGFyXG4gICAgLmstbm90aWZpY2F0aW9uLWNvbnRhaW5lci1hbmltYXRpbmcge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbm90aWZpY2F0aW9uLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ub3RpZmljYXRpb24tcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLW5vdGlmaWNhdGlvbi1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1ub3RpZmljYXRpb24tbGluZS1oZWlnaHQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAka2VuZG8tbm90aWZpY2F0aW9uLWljb24tc3BhY2luZztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstbm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ub3RpZmljYXRpb24tYWN0aW9ucyB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGtlbmRvLW5vdGlmaWNhdGlvbi1pY29uLXNwYWNpbmc7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC5rLW5vdGlmaWNhdGlvbi1hY3Rpb24ge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbm90aWZpY2F0aW9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbm90aWZpY2F0aW9uLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW5vdGlmaWNhdGlvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW5vdGlmaWNhdGlvbi0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL25vdGlmaWNhdGlvbi9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ub3RpZmljYXRpb24vX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ub3RpZmljYXRpb24vX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1ub3RpZmljYXRpb24tLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUaGVtZVxuICAgIC5rLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbm90aWZpY2F0aW9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbm90aWZpY2F0aW9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLW5vdGlmaWNhdGlvbi1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLW5vdGlmaWNhdGlvbi1zaGFkb3cgKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJHByb3BzIGluICRrZW5kby1ub3RpZmljYXRpb24tdGhlbWUge1xuICAgICAgICAuay1ub3RpZmljYXRpb24tI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICBrLW1hcC1nZXQoICRwcm9wcywgY29sb3IgKSxcbiAgICAgICAgICAgICAgICBrLW1hcC1nZXQoICRwcm9wcywgYmFja2dyb3VuZC1jb2xvciApLFxuICAgICAgICAgICAgICAgIGstbWFwLWdldCggJHByb3BzLCBib3JkZXIgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1ub3RpZmljYXRpb24tLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW5vdGlmaWNhdGlvbi0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW5vdGlmaWNhdGlvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbm90aWZpY2F0aW9uLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tbm90aWZpY2F0aW9uLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJub3RpZmljYXRpb25cIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbm90aWZpY2F0aW9uLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbm90aWZpY2F0aW9uLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tbm90aWZpY2F0aW9uLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9wb3BvdmVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcG9wb3Zlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJwb3BvdmVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiY2FyZFwiLFxuICAgICAgICBcInBvcHVwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NhcmQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jYXJkL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImNhcmRcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcInR5cG9ncmFwaHlcIixcbiAgICAgICAgLy8gXCJ1dGlscy9mbGV4LWdyaWRcIlxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2ZsZXguc2Nzc1wiO1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19ncmlkLnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYWN0aW9uLWJ1dHRvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdHlwb2dyYXBoeS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3R5cG9ncmFwaHkvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2NhcmQvX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gQ2FyZFxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtcGFkZGluZy14OiAkY2FyZC1zcGFjZXIteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtcGFkZGluZy15OiAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8vIFRoZSBpbm5lciBib3JkZXIgcmFkaXVzIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKCAjeyRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXN9IC0gI3ska2VuZG8tY2FyZC1ib3JkZXItd2lkdGh9ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBDYXJkcyBpbiB0aGUgQ2FyZCBkZWNrLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1kZWNrLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgQ2FyZC5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBkb3VibGUtY2hlY2s6IHRoZSBkZWZhdWx0IHRoZW1lIGlzIG5vdCBzdXBwb3NlZCB0byBlbGV2YXRlIHRoZSBDYXJkIG9uIGZvY3VzXG5cbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIENhcmQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvY3VzLXNoYWRvdzogay1lbGV2YXRpb24oMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDYXJkIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWNhcmQtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBDYXJkIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWNhcmQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBib3R0b20gYm9yZGVyIHdpZHRoIG9mIHRoZSBDYXJkIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtaGVhZGVyLWJvcmRlci13aWR0aDogJGtlbmRvLWNhcmQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDYXJkIGhlYWRlci5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtaGVhZGVyLWJnOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2FyZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWhlYWRlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENhcmQgaGVhZGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1oZWFkZXItYm9yZGVyOiAka2VuZG8tY2FyZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBDYXJkIGJvZHkuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWJvZHktcGFkZGluZy14OiAka2VuZG8tY2FyZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENhcmQgYm9keS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYm9keS1wYWRkaW5nLXk6ICRrZW5kby1jYXJkLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gSW4gYm9vdHN0cmFwLCBhbGwgY2FyZCBib2R5IHBhZGRpbmdzIGVxdWFsIHRoZSBDYXJkLXNwYWNlci14IHZhclxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBmb290ZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvb3Rlci1wYWRkaW5nLXg6ICRrZW5kby1jYXJkLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBmb290ZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvb3Rlci1wYWRkaW5nLXk6ICRrZW5kby1jYXJkLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgdG9wIGJvcmRlciB3aWR0aCBvZiB0aGUgQ2FyZCBmb290ZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvb3Rlci1ib3JkZXItd2lkdGg6ICRrZW5kby1jYXJkLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2FyZCBmb290ZXIuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWZvb3Rlci1iZzogJGtlbmRvLWNhcmQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDYXJkIGZvb3Rlci5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZm9vdGVyLXRleHQ6ICRrZW5kby1jYXJkLWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENhcmQgZm9vdGVyLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1mb290ZXItYm9yZGVyOiAka2VuZG8tY2FyZC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIENhcmQgdGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXRpdGxlLW1hcmdpbi1ib3R0b206IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDMgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10aXRsZS1mb250LXNpemU6ICRrZW5kby1oNS1mb250LXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10aXRsZS1mb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQ2FyZCB0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIENhcmQgdGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXRpdGxlLWZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC10aXRsZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1zdWJ0aXRsZS1tYXJnaW4tYm90dG9tOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC1zaXplOiAka2VuZG8taDYtZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENhcmQgc3VidGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXN1YnRpdGxlLWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1zdWJ0aXRsZS1mb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBsZXR0ZXIgc3BhY2luZyBvZiB0aGUgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtc3VidGl0bGUtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIENhcmQgc3VidGl0bGUuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLXN1YnRpdGxlLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBDYXJkIGltYWdlLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1pbWctbWF4LXdpZHRoOiAxMDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyIGluIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1hdmF0YXItc2l6ZTogNDVweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBBdmF0YXIgYW5kIHRoZSB0ZXh0IGluIHRoZSBDYXJkLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1hdmF0YXItc3BhY2luZzogJGtlbmRvLWNhcmQtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENhcmQgYWN0aW9ucy5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtYWN0aW9ucy1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2FyZCBhY3Rpb25zLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1hY3Rpb25zLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSB0b3AgYm9yZGVyIHdpZHRoIG9mIHRoZSBDYXJkIGFjdGlvbnMuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWFjdGlvbnMtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgQ2FyZCBhY3Rpb25zLlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1hY3Rpb25zLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIHNjcm9sbCBidXR0b24gaW4gdGhlIENhcmQgZGVjay5cbi8vLyBAZ3JvdXAgY2FyZFxuJGtlbmRvLWNhcmQtZGVjay1zY3JvbGwtYnV0dG9uLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBzY3JvbGwgYnV0dG9uIGluIHRoZSBDYXJkIGRlY2suXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWRlY2stc2Nyb2xsLWJ1dHRvbi1vZmZzZXQ6IC0ka2VuZG8tYnV0dG9uLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ2FyZCBjYWxsb3V0LlxuLy8vIEBncm91cCBjYXJkXG4ka2VuZG8tY2FyZC1jYWxsb3V0LXdpZHRoOiAxLjNlbSAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBDYXJkIGNhbGxvdXQuXG4vLy8gQGdyb3VwIGNhcmRcbiRrZW5kby1jYXJkLWNhbGxvdXQtaGVpZ2h0OiAxLjNlbSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jYXJkL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jYXJkL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhcmQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY2FyZC0tbGF5b3V0LWJhc2UoKSB7XG5cblxuICAgIC8vIEFuZ3VsYXIgZWxlbWVudHNcbiAgICBrZW5kby1jYXJkLFxuICAgIGtlbmRvLWNhcmQtaGVhZGVyLFxuICAgIGtlbmRvLWNhcmQtYm9keSxcbiAgICBrZW5kby1jYXJkLWFjdGlvbnMsXG4gICAga2VuZG8tY2FyZC1mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuICAgIC8vIENhcmRcbiAgICAuay1jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWNhcmQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1jYXJkLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1jYXJkLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jYXJkLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jYXJkLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYXJkIGF2YXRhclxuICAgICAgICAuay1jYXJkLWF2YXRhcixcbiAgICAgICAgLmstYXZhdGFyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWNhcmQtYXZhdGFyLXNwYWNpbmc7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWNhcmQtYXZhdGFyLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1jYXJkLWF2YXRhci1zaXplO1xuICAgICAgICAgICAgZmxleC1iYXNpczogJGtlbmRvLWNhcmQtYXZhdGFyLXNpemU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstY2FyZCA+IC5rLWNhcmQtaW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gQ2FyZCBvcmllbnRhdGlvblxuICAgIC5rLWNhcmQtaG9yaXpvbnRhbCB7IGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGJsb2NrLW9wZW5pbmctYnJhY2Utc3BhY2UtYmVmb3JlXG4gICAgLmstY2FyZC12ZXJ0aWNhbCB7IGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGJsb2NrLW9wZW5pbmctYnJhY2Utc3BhY2UtYmVmb3JlXG5cbiAgICAvLyBIZWFkZXJcbiAgICAuay1jYXJkLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jYXJkLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FyZC1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAka2VuZG8tY2FyZC1oZWFkZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIC5rLWNhcmQtdGl0bGUsXG4gICAgICAgIC5rLWNhcmQtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1jYXJkLXRpdGxlICsgLmstY2FyZC1zdWJ0aXRsZSxcbiAgICAgICAgLmstY2FyZC1zdWJ0aXRsZSArIC5rLWNhcmQtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLWNhcmQtdGl0bGUtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRm9vdGVyXG4gICAgLmstY2FyZC1mb290ZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tY2FyZC1mb290ZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNhcmQtZm9vdGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tY2FyZC1mb290ZXItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBCb2R5XG4gICAgLmstY2FyZC1ib2R5IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWNhcmQtYm9keS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tY2FyZC1ib2R5LXBhZGRpbmcteDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46ICRrZW5kby1wYXJhZ3JhcGgtbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1sYXN0LFxuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWNhcmQtYWN0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FyZCBtZWRpYVxuICAgIC5rLWNhcmQtbWVkaWEge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstY2FyZC1ob3Jpem9udGFsICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8tY2FyZC1pbWctbWF4LXdpZHRoO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENhcmQgdGl0bGVcbiAgICAuay1jYXJkLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGtlbmRvLWNhcmQtdGl0bGUtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeShcbiAgICAgICAgICAgICRrZW5kby1jYXJkLXRpdGxlLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRrZW5kby1jYXJkLXRpdGxlLWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgJGtlbmRvLWNhcmQtdGl0bGUtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tY2FyZC10aXRsZS1mb250LXdlaWdodCxcbiAgICAgICAgICAgICRrZW5kby1jYXJkLXRpdGxlLWxldHRlci1zcGFjaW5nXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBDYXJkIHN1YnRpdGxlXG4gICAgLmstY2FyZC1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1jYXJkLXN1YnRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoXG4gICAgICAgICAgICAka2VuZG8tY2FyZC1zdWJ0aXRsZS1mb250LXNpemUsXG4gICAgICAgICAgICAka2VuZG8tY2FyZC1zdWJ0aXRsZS1mb250LWZhbWlseSxcbiAgICAgICAgICAgICRrZW5kby1jYXJkLXN1YnRpdGxlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJGtlbmRvLWNhcmQtc3VidGl0bGUtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAka2VuZG8tY2FyZC1zdWJ0aXRsZS1sZXR0ZXItc3BhY2luZ1xuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gU2VwYXJhdG9yXG4gICAgLmstY2FyZC1zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLmstY2FyZC1zZXBhcmF0b3Iuay1zZXBhcmF0b3ItaG9yaXpvbnRhbCxcbiAgICAuay1jYXJkLXZlcnRpY2FsID4gLmstY2FyZC1zZXBhcmF0b3Ige1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLmstY2FyZC1zZXBhcmF0b3Iuay1zZXBhcmF0b3ItdmVydGljYWwsXG4gICAgLmstY2FyZC1ob3Jpem9udGFsID4gLmstY2FyZC1zZXBhcmF0b3Ige1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC5rLWNhcmQgPiAuay1ociB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvLyBDYXJkIGFjdGlvbnNcbiAgICAuay1jYXJkLWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tY2FyZC1hY3Rpb25zLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jYXJkLWFjdGlvbnMtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGdhcDogJGtlbmRvLWNhcmQtYWN0aW9ucy1nYXA7XG4gICAgfVxuXG4gICAgLmstY2FyZC1ob3Jpem9udGFsIC5rLWFjdGlvbnMtaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIExpc3RcbiAgICAuay1jYXJkLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6ICRrZW5kby1jYXJkLWRlY2stZ2FwO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAuay1jYXJkIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEZWNrXG4gICAgLmstY2FyZC1kZWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiAka2VuZG8tY2FyZC1kZWNrLWdhcDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNhcmQtZGVjay1zY3JvbGx3cmFwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDsgLy8gcHJldmVudHMgdHJpbW1pbmcgb2YgY2FyZCBzaGFkb3dzIG9uIE9TWCAoMC13aWR0aCBzY3JvbGxiYXIpXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICA+IC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tY2FyZC1kZWNrLXNjcm9sbC1idXR0b24tcmFkaXVzICk7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRrZW5kby1jYXJkLWRlY2stc2Nyb2xsLWJ1dHRvbi1vZmZzZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRrZW5kby1jYXJkLWRlY2stc2Nyb2xsLWJ1dHRvbi1vZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWNhcmQtZGVjayB7XG4gICAgICAgICAgICAvLyBoaWRlIHNjcm9sbGJhclxuICAgICAgICAgICAgJHNjcm9sbGJhci1zaXplOiAyMHB4O1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJHNjcm9sbGJhci1zaXplO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRzY3JvbGxiYXItc2l6ZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBHcm91cFxuICAgIC5rLWNhcmQtZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAuay1jYXJkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIDAgKTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5rLWNhcmQgKyAuay1jYXJkIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1jYXJkLWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQm9yZGVyLXJhZGl1c1xuICAgICAgICAuay1jYXJkLmstZmlyc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCAka2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstY2FyZC5rLWxhc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cyggJGtlbmRvLWNhcmQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWNhcmQuay1vbmx5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgd2l0aCBjYWxsb3V0XG4gICAgLmstY2FyZC13aXRoLWNhbGxvdXQge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cblxuICAgIC8vIENhcmQgY2FsbG91dFxuICAgIC5rLWNhcmQtY2FsbG91dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1jYXJkLWNhbGxvdXQtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWNhcmQtY2FsbG91dC1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNhcmQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLmstY2FyZC1jYWxsb3V0LmstY2FsbG91dC1uIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIC5rLWNhcmQtY2FsbG91dC5rLWNhbGxvdXQtZSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgLmstY2FyZC1jYWxsb3V0LmstY2FsbG91dC1zIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgLmstY2FyZC1jYWxsb3V0LmstY2FsbG91dC13IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG5cbiAgICAvLyBTb2xpZCBjYXJkXG4gICAgLmstY2FyZC1zb2xpZCB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jYXJkLXNoYWRvdyApO1xuICAgIH1cblxuXG4gICAgLy8gRmxhdCBjYXJkXG4gICAgLmstY2FyZC1mbGF0IHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jYXJkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FyZC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jYXJkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FyZC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NhcmQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2FyZC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NhcmQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jYXJkLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQ2FyZFxuICAgIC5rLWNhcmQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNhcmQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jYXJkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNhcmQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jYXJkLXNoYWRvdyApO1xuXG4gICAgICAgIC5rLWNhcmQtaW5uZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jYXJkLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhcmQtZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNhcmQtZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tY2FyZC1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tY2FyZC1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FyZCBhY3Rpb25zXG4gICAgLmstY2FyZC1hY3Rpb25zIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tY2FyZC1ib3JkZXI7XG4gICAgfVxuXG5cbiAgICAvLyBIZWFkZXJcbiAgICAuay1jYXJkLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRrZW5kby1jYXJkLWhlYWRlci10ZXh0LCAka2VuZG8tY2FyZC1oZWFkZXItYmcsICRrZW5kby1jYXJkLWhlYWRlci1ib3JkZXIgKTtcbiAgICB9XG5cblxuICAgIC8vIEZvb3RlclxuICAgIC5rLWNhcmQtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLWNhcmQtZm9vdGVyLXRleHQsICRrZW5kby1jYXJkLWZvb3Rlci1iZywgJGtlbmRvLWNhcmQtZm9vdGVyLWJvcmRlciApO1xuICAgIH1cblxuXG4gICAgLy8gU2VwYXJhdG9yXG4gICAgLmstY2FyZC1zZXBhcmF0b3IsXG4gICAgLmstY2FyZCAuay1zZXBhcmF0b3Ige1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1jYXJkLWJvcmRlcjtcbiAgICB9XG5cblxuICAgIC8vIFRPRE86IHJlZmFjdG9yXG4gICAgLmstY2FyZC1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tY2FyZC1zdWJ0aXRsZS10ZXh0O1xuICAgIH1cblxuXG4gICAgLy8gQ2FyZCB0aGVtZSBjb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRrZW5kby10aGVtZS1jb2xvcnMge1xuICAgICAgICAuay1jYXJkLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1zdWJ0bGUgKSwgay1jb2xvci10aW50KCRjb2xvciwgMTApKTtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggI3skbmFtZX0tb24tc3VidGxlICksIGstY29sb3Itc2hhZGUoJGNvbG9yLCA2KSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfS1lbXBoYXNpcyApLCBrLWNvbG9yLXRpbnQoJGNvbG9yLCA5KSk7XG5cbiAgICAgICAgICAgIC5rLWNhcmQtc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuay1jYXJkLXdyYXAge1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMsXG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICA+IC5rLWNhcmQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWNhcmQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENhcmQgY2FsbG91dFxuICAgIC5rLWNhcmQtY2FsbG91dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6IGluaGVyaXQsXG4gICAgICAgICAgICAkYm9yZGVyOiBpbmhlcml0XG4gICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggaW5oZXJpdCApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jYXJkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jYXJkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY2FyZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FyZC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNhcmQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNhcmRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2FyZC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNhcmQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jYXJkLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcG9wb3Zlci9fdmFyaWFibGVzLnNjc3Ncbi8vIFBvcG92ZXJcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItYm9yZGVyLXdpZHRoOiAka2VuZG8tY2FyZC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIHN0eWxlIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBQb3BvdmVyLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuLy8vIFRoZSByYWRpdXMgb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIFBvcG92ZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWJvcmRlci1yYWRpdXM6ICRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBQb3BvdmVyLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1mb250LWZhbWlseTogJGtlbmRvLWNhcmQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItZm9udC1zaXplOiAka2VuZG8tY2FyZC1mb250LXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBQb3BvdmVyLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1saW5lLWhlaWdodDogJGtlbmRvLWNhcmQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItdGV4dDogJGtlbmRvLWNhcmQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUG9wb3Zlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItYmc6ICRrZW5kby1jYXJkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBvcG92ZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWJvcmRlcjogJGtlbmRvLWNhcmQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBQb3BvdmVyLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1zaGFkb3c6ICRrZW5kby1jYXJkLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFBvcG92ZXIgaGVhZGVyLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tY2FyZC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBQb3BvdmVyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWNhcmQtaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBQb3BvdmVyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItaGVhZGVyLWJvcmRlci13aWR0aDogJGtlbmRvLWNhcmQtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHN0eWxlIG9mIHRoZSBQb3BvdmVyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItaGVhZGVyLWJvcmRlci1zdHlsZTogJGtlbmRvLXBvcG92ZXItYm9yZGVyLXN0eWxlICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBQb3BvdmVyIGhlYWRlci5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItaGVhZGVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBvcG92ZXIgaGVhZGVyLlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1oZWFkZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUG9wb3ZlciBoZWFkZXIuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWhlYWRlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQb3BvdmVyIGJvZHkuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWJvZHktcGFkZGluZy14OiAka2VuZG8tY2FyZC1ib2R5LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgUG9wb3ZlciBib2R5LlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogJGtlbmRvLWNhcmQtYm9keS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBQb3BvdmVyIGFjdGlvbnMuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWFjdGlvbnMtYm9yZGVyLXdpZHRoOiAka2VuZG8tcG9wb3Zlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIFBvcG92ZXIgY2FsbG91dC5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItY2FsbG91dC13aWR0aDogJGtlbmRvLWNhcmQtY2FsbG91dC13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBQb3BvdmVyIGNhbGxvdXQuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWNhbGxvdXQtaGVpZ2h0OiAka2VuZG8tY2FyZC1jYWxsb3V0LWhlaWdodCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBQb3BvdmVyIGNhbGxvdXQuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWNhbGxvdXQtYm9yZGVyLXdpZHRoOiAka2VuZG8tcG9wb3Zlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgUG9wb3ZlciBjYWxsb3V0LlxuLy8vIEBncm91cCBwb3BvdmVyXG4ka2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJvcmRlci1zdHlsZTogJGtlbmRvLXBvcG92ZXItYm9yZGVyLXN0eWxlICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQb3BvdmVyIGNhbGxvdXQuXG4vLy8gQGdyb3VwIHBvcG92ZXJcbiRrZW5kby1wb3BvdmVyLWNhbGxvdXQtYmc6ICRrZW5kby1wb3BvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBvcG92ZXIgY2FsbG91dC5cbi8vLyBAZ3JvdXAgcG9wb3ZlclxuJGtlbmRvLXBvcG92ZXItY2FsbG91dC1ib3JkZXI6ICRrZW5kby1wb3BvdmVyLWJvcmRlciAhZGVmYXVsdDtcbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcG9wb3Zlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcG9wb3Zlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wb3BvdmVyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXBvcG92ZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gUG9wb3ZlclxuICAgIC5rLXBvcG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tcG9wb3Zlci1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1wb3BvdmVyLWJvcmRlci1zdHlsZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tcG9wb3Zlci1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tcG9wb3Zlci1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1wb3BvdmVyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHotaW5kZXg6IDEyMDAwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcG9wb3Zlci1pbm5lciB7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyXG4gICAgLmstcG9wb3Zlci1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyggJGtlbmRvLXBvcG92ZXItYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcG9wb3Zlci1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJGtlbmRvLXBvcG92ZXItaGVhZGVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8tcG9wb3Zlci1oZWFkZXItYm9yZGVyLXN0eWxlO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gQm9keVxuICAgIC5rLXBvcG92ZXItYm9keSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wb3BvdmVyLWJvZHktcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9uc1xuICAgIC5rLXBvcG92ZXItYWN0aW9ucyB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBvcG92ZXItYWN0aW9ucy1ib3JkZXItd2lkdGggMCAwO1xuICAgIH1cblxuXG4gICAgLy8gUG9wb3ZlciBjYWxsb3V0XG4gICAgLmstcG9wb3Zlci1jYWxsb3V0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogJGtlbmRvLXBvcG92ZXItY2FsbG91dC13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tcG9wb3Zlci1jYWxsb3V0LWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8tcG9wb3Zlci1jYWxsb3V0LWJvcmRlci1zdHlsZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICYuay1jYWxsb3V0LW4ge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1jYWxsb3V0LWUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstY2FsbG91dC1zIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1jYWxsb3V0LXcge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wb3BvdmVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wb3Zlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1wb3BvdmVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wb3Zlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3BvcG92ZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcG9wb3Zlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BvcG92ZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1wb3BvdmVyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gUG9wb3ZlclxuICAgIC5rLXBvcG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcG9wb3Zlci1zaGFkb3cgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBvcG92ZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wb3BvdmVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBvcG92ZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcG9wb3Zlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvLyBIZWFkZXJcbiAgICAuay1wb3BvdmVyLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcG9wb3Zlci1oZWFkZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wb3BvdmVyLWhlYWRlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1wb3BvdmVyLWhlYWRlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDYWxsb3V0XG4gICAgLmstcG9wb3Zlci1jYWxsb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogaW5oZXJpdCxcbiAgICAgICAgICAgICRib3JkZXI6IGluaGVyaXRcbiAgICAgICAgKTtcblxuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBpbmhlcml0IClcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcG9wb3Zlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wb3Zlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBvcG92ZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBvcG92ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1wb3BvdmVyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJwb3BvdmVyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBvcG92ZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wb3BvdmVyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wb3Zlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vcmVzcG9uc2l2ZXBhbmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcmVzcG9uc2l2ZXBhbmVsL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInJlc3BvbnNpdmUtcGFuZWxcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3Jlc3BvbnNpdmVwYW5lbC9fdmFyaWFibGVzLnNjc3Ncbi8vIFJlc3BvbnNpdmUgcGFuZWxcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9yZXNwb25zaXZlcGFuZWwvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Jlc3BvbnNpdmVwYW5lbC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9yZXNwb25zaXZlcGFuZWwvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay1ycGFuZWwge31cblxuICAgIC8vIFZhcmlhbnRzXG4gICAgLmstcnBhbmVsLWxlZnQsXG4gICAgLmstcnBhbmVsLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMzIwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICYgKyAqIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXJwYW5lbC1leHBhbmRlZCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1ycGFuZWwtbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLmstcnBhbmVsLXJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8vIFRvcFxuICAgIC5rLXJwYW5lbC10b3Age1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIH1cbiAgICAuay1ycGFuZWwtdG9wLmstcnBhbmVsLWV4cGFuZGVkIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTY4cHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG4gICAgLy8gVG9nZ2xlIGJ1dHRvblxuICAgIC5rLXJwYW5lbC10b2dnbGUge1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9yZXNwb25zaXZlcGFuZWwvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmVzcG9uc2l2ZXBhbmVsL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcmVzcG9uc2l2ZXBhbmVsL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLXJwYW5lbCB7fVxuXG59XG5cblxuQG1peGluIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwicmVzcG9uc2l2ZS1wYW5lbFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcmVzcG9uc2l2ZS1wYW5lbC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXJlc3BvbnNpdmUtcGFuZWwtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3Rvb2x0aXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi93aW5kb3cvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy93aW5kb3cvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTmF2aWdhdGlvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9ib3R0b20tbmF2aWdhdGlvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2JvdHRvbS1uYXZpZ2F0aW9uL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImJvdHRvbS1uYXZpZ2F0aW9uXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICAvLyBcInV0aWxzL2xheW91dC9wb3NpdGlvblwiXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fcG9zaXRpb24uc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvYm90dG9tLW5hdmlnYXRpb24vX3ZhcmlhYmxlcy5zY3NzXG4vLyBCb3R0b21OYXZpZ2F0aW9uXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtcGFkZGluZy14OiAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEJvdHRvbU5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1wYWRkaW5nLXk6ICRrZW5kby1ib3R0b20tbmF2LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBCb3R0b21OYXZpZ2F0aW9uIGl0ZW1zLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtZ2FwOiAka2VuZG8tYm90dG9tLW5hdi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtYm9yZGVyLXdpZHRoOiAxcHggMHB4IDBweCAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgQm90dG9tTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LWxpbmUtaGVpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4vLy8gVGhlIGxldHRlciBzcGFjaW5nIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtbGV0dGVyLXNwYWNpbmc6IC4ycHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uIGl0ZW0uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uIGl0ZW0uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteTogMCAhZGVmYXVsdDtcbi8vLyBUaGUgbWluaW11bSB3aWR0aCBvZiB0aGUgQm90dG9tTmF2aWdhdGlvbiBpdGVtLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1taW4td2lkdGg6IDcycHggIWRlZmF1bHQ7XG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgdGhlIEJvdHRvbU5hdmlnYXRpb24gaXRlbS5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LWl0ZW0tbWF4LXdpZHRoOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBtaW5pbXVtIGhlaWdodCBvZiB0aGUgQm90dG9tTmF2aWdhdGlvbiBpdGVtLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1taW4taGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1pY29uLXNpemUgKiAyLjV9ICsgI3trLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICl9IC0gI3ska2VuZG8tYm90dG9tLW5hdi1wYWRkaW5nLXggKiAyfSApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uIGl0ZW0uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1pdGVtLWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIEJvdHRvbU5hdmlnYXRpb24gaXRlbS5cbi8vLyBAZ3JvdXAgYm90dG9tLW5hdmlnYXRpb25cbiRrZW5kby1ib3R0b20tbmF2LWl0ZW0tZ2FwOiAwIGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtc2hhZG93OiBrLWVsZXZhdGlvbig0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmbGF0IEJvdHRvbU5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1mbGF0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZmxhdCBCb3R0b21OYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBib3R0b20tbmF2aWdhdGlvblxuJGtlbmRvLWJvdHRvbS1uYXYtZmxhdC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmbGF0IEJvdHRvbU5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIGJvdHRvbS1uYXZpZ2F0aW9uXG4ka2VuZG8tYm90dG9tLW5hdi1mbGF0LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvYm90dG9tLW5hdmlnYXRpb24vX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JvdHRvbS1uYXZpZ2F0aW9uL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JvdHRvbS1uYXZpZ2F0aW9uL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJvdHRvbSBOYXZpZ2F0aW9uXG4gICAgLmstYm90dG9tLW5hdiB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1ib3R0b20tbmF2LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ib3R0b20tbmF2LXBhZGRpbmcteDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYm90dG9tLW5hdi1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYm90dG9tLW5hdi1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1ib3R0b20tbmF2LWZvbnQtZmFtaWx5O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGtlbmRvLWJvdHRvbS1uYXYtbGV0dGVyLXNwYWNpbmc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZ2FwOiAka2VuZG8tYm90dG9tLW5hdi1nYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ib3R0b20tbmF2LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWJvdHRvbS1uYXYtYm9yZGVyLXdpZHRoO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGRvIHdlIGV2ZW4gdXNlIHRoaXM/XG4gICAgLmstYm90dG9tLW5hdi1zaGFkb3cge1xuICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tYm90dG9tLW5hdi1zaGFkb3c7XG4gICAgfVxuXG4gICAgLy8gSXRlbXNcbiAgICAuay1ib3R0b20tbmF2LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tYm90dG9tLW5hdi1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ib3R0b20tbmF2LWl0ZW0tcGFkZGluZy14O1xuICAgICAgICBtaW4td2lkdGg6ICRrZW5kby1ib3R0b20tbmF2LWl0ZW0tbWluLXdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby1ib3R0b20tbmF2LWl0ZW0tbWF4LXdpZHRoO1xuICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8tYm90dG9tLW5hdi1pdGVtLW1pbi1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRrZW5kby1ib3R0b20tbmF2LWl0ZW0tZ2FwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1ib3R0b20tbmF2LWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAoLSRrZW5kby1ib3R0b20tbmF2LWl0ZW0tcGFkZGluZy15KTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICgtJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWJvdHRvbS1uYXYtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1ib3R0b20tbmF2LWl0ZW0uay1kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmstYm90dG9tLW5hdi1pdGVtLXRleHQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgSXRlbSBMYXlvdXRcbiAgICAuay1ib3R0b20tbmF2LWl0ZW0tZmxvdy1ob3Jpem9udGFsIC5rLWJvdHRvbS1uYXYtaXRlbSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBJdGVtIExheW91dFxuICAgIC5rLWJvdHRvbS1uYXYtaXRlbS1mbG93LXZlcnRpY2FsIC5rLWJvdHRvbS1uYXYtaXRlbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuay1ib3R0b20tbmF2LmstcG9zLWZpeGVkIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9ib3R0b20tbmF2aWdhdGlvbi9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ib3R0b20tbmF2aWdhdGlvbi9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JvdHRvbS1uYXZpZ2F0aW9uL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBTb2xpZFxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWJvdHRvbS1uYXYtc29saWQtI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tI3skbmFtZX0gKSA2NSUsIHRyYW5zcGFyZW50KSwgay10cnVlLW1peCggJGNvbG9yLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICksIDM1JSkpLFxuICAgICAgICAgICAgICAgICRiZzogJGNvbG9yXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1ib3R0b20tbmF2LWl0ZW0uay1mb2N1cyxcbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtaXRlbTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLSN7JG5hbWV9ICkgMTIuNSUsIHRyYW5zcGFyZW50KSwgcmdiYShrLXRydWUtbWl4KCAkY29sb3IsIGstY29udHJhc3QtbGVnYWN5KCAkY29sb3IgKSwgMzUlKSwgLjIpKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtaXRlbS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi0jeyRuYW1lfSApLCBrLWNvbnRyYXN0LWxlZ2FjeSggJGNvbG9yICkpICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHdoZW4gc3VpdGVzIHVwZGF0ZSBjbGFzcyBuYW1lc1xuICAgICAgICAuay1ib3R0b20tbmF2LXNvbGlkLmstYm90dG9tLW5hdi0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5rLWJvdHRvbS1uYXYtc29saWQtI3skbmFtZX0gIW9wdGlvbmFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmxhdFxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGtlbmRvLXRoZW1lLWNvbG9ycyB7XG4gICAgICAgIC5rLWJvdHRvbS1uYXYtZmxhdC0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1ib3R0b20tbmF2LWZsYXQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYm90dG9tLW5hdi1mbGF0LWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1ib3R0b20tbmF2LWZsYXQtYm9yZGVyXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1ib3R0b20tbmF2LWl0ZW0uay1mb2N1cyxcbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtaXRlbTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNSUsIHRyYW5zcGFyZW50KSwgcmdiYSgka2VuZG8tYm90dG9tLW5hdi1mbGF0LXRleHQsIC4wNSkpICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWJvdHRvbS1uYXYtaXRlbS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBAaWYgJG5hbWUgPT0gXCJzZWNvbmRhcnlcIiBvciAkbmFtZSA9PSBcImxpZ2h0XCIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCAjeyRuYW1lfSApLCBrLXRyeS1zaGFkZSgkY29sb3IsIDMpKSApO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRjb2xvciApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1ib3R0b20tbmF2LWZsYXQuay1ib3R0b20tbmF2LSN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstYm90dG9tLW5hdi1mbGF0LSN7JG5hbWV9ICFvcHRpb25hbDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiYm90dG9tLW5hdmlnYXRpb25cIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYm90dG9tLW5hdmlnYXRpb24tLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1ib3R0b20tbmF2aWdhdGlvbi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9icmVhZGNydW1iL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnJlYWRjcnVtYi9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJicmVhZGNydW1iXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9icmVhZGNydW1iL192YXJpYWJsZXMuc2Nzc1xuLy8gQnJlYWRjcnVtYlxuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIG1hcmdpbiBvZiB0aGUgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbWFyZ2luLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIG1hcmdpbiBvZiB0aGUgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbWFyZ2luLXk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBzbWFsbCBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1zbS1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgbWVkaXVtIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLW1kLWZvbnQtc2l6ZTogJGtlbmRvLWJyZWFkY3J1bWItZm9udC1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIGxhcmdlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxnLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIHNtYWxsIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXNtLWxpbmUtaGVpZ2h0OiBrLW1hdGgtZGl2KCAyMCwgMTQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIG1lZGl1bSBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1tZC1saW5lLWhlaWdodDogJGtlbmRvLWJyZWFkY3J1bWItbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBoZWlnaHQgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGctbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYXNlIGJhY2tncm91bmQgb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBiYXNlIHRleHQgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFzZSBib3JkZXIgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1mb2N1cy1zaGFkb3c6IDAgMCAycHggMXB4IHJnYmEoIGJsYWNrLCAuMDYgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDMgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXNtLWxpbmstcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbWVkaXVtIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbWQtbGluay1wYWRkaW5nLXg6ICRrZW5kby1icmVhZGNydW1iLWxpbmstcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGctbGluay1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDMgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItc20tbGluay1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEuNSApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQnJlYWRjcnVtYiBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1tZC1saW5rLXBhZGRpbmcteTogJGtlbmRvLWJyZWFkY3J1bWItbGluay1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGctbGluay1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlci1yYWRpdXMgb2YgdGhlIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1ib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBCcmVhZGNydW1iIGxpbmsgaWNvbi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItaWNvbi1saW5rLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBCcmVhZGNydW1iIGxpbmsgaWNvbi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItc20taWNvbi1saW5rLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gQnJlYWRjcnVtYiBsaW5rIGljb24uXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLW1kLWljb24tbGluay1wYWRkaW5nLXk6ICRrZW5kby1icmVhZGNydW1iLWljb24tbGluay1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIEJyZWFkY3J1bWIgbGluayBpY29uLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1sZy1pY29uLWxpbmstcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzLjUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEJyZWFkY3J1bWIgbGluayBpY29uLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1pY29uLWxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1pY29uLWxpbmstcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHNtYWxsIEJyZWFkY3J1bWIgbGluayBpY29uLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1zbS1pY29uLWxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1zbS1pY29uLWxpbmstcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBCcmVhZGNydW1iIGxpbmsgaWNvbi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbWQtaWNvbi1saW5rLXBhZGRpbmcteDogJGtlbmRvLWJyZWFkY3J1bWItaWNvbi1saW5rLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBsYXJnZSBCcmVhZGNydW1iIGxpbmsgaWNvbi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGctaWNvbi1saW5rLXBhZGRpbmcteDogJGtlbmRvLWJyZWFkY3J1bWItbGctaWNvbi1saW5rLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstaW5pdGlhbC10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBCcmVhZGNydW1iIGxpbmsgaWNvbi5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1pY29uLXNwYWNpbmc6ICRrZW5kby1pY29uLXNwYWNpbmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQnJlYWRjcnVtYiBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1saW5rLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstdGV4dDogJGtlbmRvLWxpbmstdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgQnJlYWRjcnVtYiBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1saW5rLWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1ob3Zlci10ZXh0OiAka2VuZG8tbGluay1ob3Zlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgQnJlYWRjcnVtYiBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1saW5rLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iIGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWxpbmstZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIEJyZWFkY3J1bWIgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgQnJlYWRjcnVtYiBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWJyZWFkY3J1bWItdGV4dCwgLjI1ICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstdGV4dDogJGtlbmRvLWxpbmstdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBCcmVhZGNydW1iIHJvb3QgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBob3ZlcmVkIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstaG92ZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci10ZXh0OiAka2VuZG8tbGluay1ob3Zlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBCcmVhZGNydW1iIHJvb3QgbGluay5cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYlxuJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtc2hhZG93OiAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjdXJyZW50IEJyZWFkY3J1bWIgcm9vdCBsaW5rLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1jdXJyZW50LWl0ZW0tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGN1cnJlbnQgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWN1cnJlbnQtaXRlbS10ZXh0OiAka2VuZG8tY29sb3Itc2Vjb25kYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGN1cnJlbnQgQnJlYWRjcnVtYiByb290IGxpbmsuXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJcbiRrZW5kby1icmVhZGNydW1iLWN1cnJlbnQtaXRlbS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBzaXplcyBtYXAgZm9yIHRoZSBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBicmVhZGNydW1iXG4ka2VuZG8tYnJlYWRjcnVtYi1zaXplczogKFxuICAgIHNtOiAoXG4gICAgICAgIGxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1zbS1saW5rLXBhZGRpbmcteCxcbiAgICAgICAgbGluay1wYWRkaW5nLXk6ICRrZW5kby1icmVhZGNydW1iLXNtLWxpbmstcGFkZGluZy15LFxuICAgICAgICBpY29uLWxpbmstcGFkZGluZy14OiAka2VuZG8tYnJlYWRjcnVtYi1zbS1pY29uLWxpbmstcGFkZGluZy14LFxuICAgICAgICBpY29uLWxpbmstcGFkZGluZy15OiAka2VuZG8tYnJlYWRjcnVtYi1zbS1pY29uLWxpbmstcGFkZGluZy15LFxuICAgICAgICBmb250LXNpemU6ICRrZW5kby1icmVhZGNydW1iLXNtLWZvbnQtc2l6ZSxcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1icmVhZGNydW1iLXNtLWxpbmUtaGVpZ2h0XG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBsaW5rLXBhZGRpbmcteDogJGtlbmRvLWJyZWFkY3J1bWItbWQtbGluay1wYWRkaW5nLXgsXG4gICAgICAgIGxpbmstcGFkZGluZy15OiAka2VuZG8tYnJlYWRjcnVtYi1tZC1saW5rLXBhZGRpbmcteSxcbiAgICAgICAgaWNvbi1saW5rLXBhZGRpbmcteDogJGtlbmRvLWJyZWFkY3J1bWItbWQtaWNvbi1saW5rLXBhZGRpbmcteCxcbiAgICAgICAgaWNvbi1saW5rLXBhZGRpbmcteTogJGtlbmRvLWJyZWFkY3J1bWItbWQtaWNvbi1saW5rLXBhZGRpbmcteSxcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYnJlYWRjcnVtYi1tZC1mb250LXNpemUsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tYnJlYWRjcnVtYi1tZC1saW5lLWhlaWdodFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgbGluay1wYWRkaW5nLXg6ICRrZW5kby1icmVhZGNydW1iLWxnLWxpbmstcGFkZGluZy14LFxuICAgICAgICBsaW5rLXBhZGRpbmcteTogJGtlbmRvLWJyZWFkY3J1bWItbGctbGluay1wYWRkaW5nLXksXG4gICAgICAgIGljb24tbGluay1wYWRkaW5nLXg6ICRrZW5kby1icmVhZGNydW1iLWxnLWljb24tbGluay1wYWRkaW5nLXgsXG4gICAgICAgIGljb24tbGluay1wYWRkaW5nLXk6ICRrZW5kby1icmVhZGNydW1iLWxnLWljb24tbGluay1wYWRkaW5nLXksXG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWJyZWFkY3J1bWItbGctZm9udC1zaXplLFxuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWJyZWFkY3J1bWItbGctbGluZS1oZWlnaHRcbiAgICApXG4pICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2JyZWFkY3J1bWIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2JyZWFkY3J1bWIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYnJlYWRjcnVtYi9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1icmVhZGNydW1iLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJyZWFkY3J1bWJcbiAgICAuay1icmVhZGNydW1iIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8tYnJlYWRjcnVtYi1tYXJnaW4teTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLWJyZWFkY3J1bWItbWFyZ2luLXg7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1icmVhZGNydW1iLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1icmVhZGNydW1iLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tYnJlYWRjcnVtYi1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tYnJlYWRjcnVtYi1mb250LWZhbWlseTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQnJlYWRjcnVtYiBjb250YWluZXJcbiAgICAuay1icmVhZGNydW1iLWNvbnRhaW5lcixcbiAgICAuay1icmVhZGNydW1iLXJvb3QtaXRlbS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1icmVhZGNydW1iLXJvb3QtaXRlbS1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBCcmVhZGNydW1iIGl0ZW1cbiAgICAuay1icmVhZGNydW1iLWl0ZW0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgIC8vIEJyZWFkY3J1bWIgcm9vdCBpdGVtXG4gICAgLmstYnJlYWRjcnVtYi1yb290LWl0ZW0ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cblxuICAgIC8vIEJyZWFkY3J1bWIgbGlua3NcbiAgICAuay1icmVhZGNydW1iLWxpbmssXG4gICAgLmstYnJlYWRjcnVtYi1yb290LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgY29sb3I6ICRrZW5kby1icmVhZGNydW1iLWxpbmstaW5pdGlhbC10ZXh0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogJGtlbmRvLXRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLmstYnJlYWRjcnVtYi1saW5rID4gLmstaW1hZ2UsXG4gICAgLmstYnJlYWRjcnVtYi1pY29udGV4dC1saW5rIC5rLWljb24ge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGtlbmRvLWJyZWFkY3J1bWItbGluay1pY29uLXNwYWNpbmc7XG4gICAgfVxuXG5cbiAgICAvLyBCcmVhZGNydW1iIGRlbGltaXRlclxuICAgIC5rLWJyZWFkY3J1bWItZGVsaW1pdGVyLFxuICAgIC5rLWJyZWFkY3J1bWItZGVsaW1pdGVyLWljb24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuXG5cbiAgICAvLyBFZGl0aW5nXG4gICAgLmstYnJlYWRjcnVtYi1pbnB1dC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuay1icmVhZGNydW1iLWlucHV0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkc2l6ZS1wcm9wcyBpbiAka2VuZG8tYnJlYWRjcnVtYi1zaXplcyB7XG4gICAgICAgICRfbGluay1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmstcGFkZGluZy14ICk7XG4gICAgICAgICRfbGluay1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGxpbmstcGFkZGluZy15ICk7XG4gICAgICAgICRfaWNvbi1saW5rLXBhZGRpbmcteDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgaWNvbi1saW5rLXBhZGRpbmcteCApO1xuICAgICAgICAkX2ljb24tbGluay1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGljb24tbGluay1wYWRkaW5nLXkgKTtcbiAgICAgICAgJF9mb250LXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZvbnQtc2l6ZSApO1xuICAgICAgICAkX2xpbmUtaGVpZ2h0OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBsaW5lLWhlaWdodCApO1xuXG4gICAgICAgIC5rLWJyZWFkY3J1bWItI3skc2l6ZX0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkX2ZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX2xpbmUtaGVpZ2h0O1xuXG5cbiAgICAgICAgICAgIC5rLWJyZWFkY3J1bWItbGluayxcbiAgICAgICAgICAgIC5rLWJyZWFkY3J1bWItcm9vdC1saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2xpbmstcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2xpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1icmVhZGNydW1iLWljb24tbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9pY29uLWxpbmstcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2ljb24tbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYnJlYWRjcnVtYi0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJyZWFkY3J1bWItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYnJlYWRjcnVtYi0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tYnJlYWRjcnVtYi0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIEJyZWFkY3J1bWIgbGlua3NcbiAgICAuay1icmVhZGNydW1iLWxpbmssXG4gICAgLmstYnJlYWRjcnVtYi1yb290LWxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJyZWFkY3J1bWIgY3VycmVudCAobGFzdCkgaXRlbVxuICAgIC5rLWJyZWFkY3J1bWItY3VycmVudC1pdGVtIHtcbiAgICAgICAgLmstZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvYnJlYWRjcnVtYi9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9icmVhZGNydW1iL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYnJlYWRjcnVtYi9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWJyZWFkY3J1bWItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBCcmVhZGNydW1iXG4gICAgLmstYnJlYWRjcnVtYiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWJyZWFkY3J1bWItYmcsXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWJyZWFkY3J1bWItZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJyZWFkY3J1bWIgbGlua1xuICAgIC5rLWJyZWFkY3J1bWItbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWJyZWFkY3J1bWItbGluay1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlcmVkIHN0YXRlXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLWxpbmstaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNlZCBzdGF0ZVxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1saW5rLWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWJyZWFkY3J1bWItbGluay1mb2N1cy1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQnJlYWRjcnVtYiByb290IGxpbmtcbiAgICAuay1icmVhZGNydW1iLXJvb3QtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1iZyxcbiAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIb3ZlcmVkIHN0YXRlXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLXJvb3QtbGluay1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstaG92ZXItYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNlZCBzdGF0ZVxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1yb290LWxpbmstZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWJyZWFkY3J1bWItcm9vdC1saW5rLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBCcmVhZGNydW1iIGN1cnJlbnQgKGxhc3QpIGl0ZW1cbiAgICAuay1icmVhZGNydW1iLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgIC5rLWJyZWFkY3J1bWItbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLWN1cnJlbnQtaXRlbS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1icmVhZGNydW1iLWN1cnJlbnQtaXRlbS1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnJlYWRjcnVtYi1jdXJyZW50LWl0ZW0tYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBbGlhc1xuICAgIC5rLWJyZWFkY3J1bWItbGFzdC1pdGVtIHtcbiAgICAgICAgQGV4dGVuZCAuay1icmVhZGNydW1iLWN1cnJlbnQtaXRlbSAhb3B0aW9uYWw7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWJyZWFkY3J1bWItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJyZWFkY3J1bWItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1icmVhZGNydW1iLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1icmVhZGNydW1iLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYnJlYWRjcnVtYi0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiYnJlYWRjcnVtYlwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1icmVhZGNydW1iLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYnJlYWRjcnVtYi0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWJyZWFkY3J1bWItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3BhZ2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcGFnZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicGFnZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9wYWdlci9fdmFyaWFibGVzLnNjc3Ncbi8vIFBhZ2VyXG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1zbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBtZWRpdW0gUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbWQtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgbGFyZ2UgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbGctcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyLjUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItcGFkZGluZy15OiAka2VuZG8tcGFnZXItcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBzbWFsbCBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1zbS1wYWRkaW5nLXk6ICRrZW5kby1wYWdlci1zbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIG1lZGl1bSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1tZC1wYWRkaW5nLXk6ICRrZW5kby1wYWdlci1tZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGxhcmdlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWxnLXBhZGRpbmcteTogJGtlbmRvLXBhZ2VyLWxnLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtaW5pbXVtIHdpZHRoIG9mIHRoZSBpdGVtcyBpbiB0aGUgc21hbGwgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItc20taXRlbS1taW4td2lkdGg6ICRrZW5kby1idXR0b24tc20tY2FsYy1zaXplICFkZWZhdWx0O1xuLy8vIFRoZSBtaW5pbXVtIHdpZHRoIG9mIHRoZSBpdGVtcyBpbiB0aGUgbWVkaXVtIFBhZ2Vycy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1tZC1pdGVtLW1pbi13aWR0aDogJGtlbmRvLWJ1dHRvbi1tZC1jYWxjLXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmltdW0gd2lkdGggb2YgdGhlIGl0ZW1zIGluIHRoZSBsYXJnZSBQYWdlcnMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbGctaXRlbS1taW4td2lkdGg6ICRrZW5kby1idXR0b24tbGctY2FsYy1zaXplICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1hcmdpbiBiZXR3ZWVuIHRoZSBpdGVtIGdyb3VwcyBpbiB0aGUgc21hbGwgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItc20taXRlbS1ncm91cC1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzLjUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbWFyZ2luIGJldHdlZW4gdGhlIGl0ZW0gZ3JvdXBzIGluIHRoZSBtZWRpdW0gUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbWQtaXRlbS1ncm91cC1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1hcmdpbiBiZXR3ZWVuIHRoZSBpdGVtIGdyb3VwcyBpbiB0aGUgbGFyZ2UgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbGctaXRlbS1ncm91cC1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0LjUgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1iZzogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1mb2N1cy1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCByZ2JhKCAka2VuZG8tY29sb3ItYmxhY2ssIC4wOCkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBQYWdlciBzZWN0aW9ucy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1zZWN0aW9uLXNwYWNpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0tYm9yZGVyLXJhZGl1czogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIGFyb3VuZCB0aGUgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1zcGFjaW5nOiAoLTEgKiAka2VuZG8tcGFnZXItaXRlbS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLXRleHQ6ICRrZW5kby1saW5rLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1ob3Zlci1iZzogJGtlbmRvLWhvdmVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0taG92ZXItdGV4dDogJGtlbmRvLWxpbmstaG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0taG92ZXItYm9yZGVyOiAka2VuZG8taG92ZXItYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLXNlbGVjdGVkLWJnOiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0ZWQgUGFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaXRlbS1zZWxlY3RlZC1ib3JkZXI6ICRrZW5kby1wYWdlci1pdGVtLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBmb2N1c2VkIFBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLWl0ZW0tZm9jdXMtb3BhY2l0eTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLWZvY3VzLWJnOiAka2VuZG8tcGFnZXItaXRlbS1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBQYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1pdGVtLWZvY3VzLXNoYWRvdzogMCAwIDAgM3B4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCRrZW5kby1jb2xvci1wcmltYXJ5LCAuMjUpKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBQYWdlciBudW1iZXJzLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLW51bWJlci1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIElucHV0cyBpbiB0aGUgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItaW5wdXQtd2lkdGg6IDVlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgRHJvcERvd25zIGluIHRoZSBzbWFsbCBQYWdlci5cbi8vLyBAZ3JvdXAgcGFnZXJcbiRrZW5kby1wYWdlci1zbS1kcm9wZG93bi13aWR0aDogNWVtICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgRHJvcERvd25zIGluIHRoZSBtZWRpdW0gUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbWQtZHJvcGRvd24td2lkdGg6IDVlbSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIERyb3BEb3ducyBpbiB0aGUgbGFyZ2UgUGFnZXIuXG4vLy8gQGdyb3VwIHBhZ2VyXG4ka2VuZG8tcGFnZXItbGctZHJvcGRvd24td2lkdGg6IDZlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplcyBtYXAgb2YgdGhlIFBhZ2VyLlxuLy8vIEBncm91cCBwYWdlclxuJGtlbmRvLXBhZ2VyLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tcGFnZXItc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1wYWdlci1zbS1wYWRkaW5nLXksXG4gICAgICAgIGl0ZW0tZ3JvdXAtc3BhY2luZzogJGtlbmRvLXBhZ2VyLXNtLWl0ZW0tZ3JvdXAtc3BhY2luZyxcbiAgICAgICAgaXRlbS1taW4td2lkdGg6ICRrZW5kby1wYWdlci1zbS1pdGVtLW1pbi13aWR0aCxcbiAgICAgICAgcGFnZXItZHJvcGRvd24td2lkdGg6ICRrZW5kby1wYWdlci1zbS1kcm9wZG93bi13aWR0aFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tcGFnZXItbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1wYWdlci1tZC1wYWRkaW5nLXksXG4gICAgICAgIGl0ZW0tZ3JvdXAtc3BhY2luZzogJGtlbmRvLXBhZ2VyLW1kLWl0ZW0tZ3JvdXAtc3BhY2luZyxcbiAgICAgICAgaXRlbS1taW4td2lkdGg6ICRrZW5kby1wYWdlci1tZC1pdGVtLW1pbi13aWR0aCxcbiAgICAgICAgcGFnZXItZHJvcGRvd24td2lkdGg6ICRrZW5kby1wYWdlci1tZC1kcm9wZG93bi13aWR0aFxuICAgICksXG4gICAgbGc6IChcbiAgICAgICAgcGFkZGluZy14OiAka2VuZG8tcGFnZXItbGctcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1wYWdlci1sZy1wYWRkaW5nLXksXG4gICAgICAgIGl0ZW0tZ3JvdXAtc3BhY2luZzogJGtlbmRvLXBhZ2VyLWxnLWl0ZW0tZ3JvdXAtc3BhY2luZyxcbiAgICAgICAgaXRlbS1taW4td2lkdGg6ICRrZW5kby1wYWdlci1sZy1pdGVtLW1pbi13aWR0aCxcbiAgICAgICAgcGFnZXItZHJvcGRvd24td2lkdGg6ICRrZW5kby1wYWdlci1sZy1kcm9wZG93bi13aWR0aFxuICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcGFnZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BhZ2VyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BhZ2VyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXBhZ2VyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXBhZ2VyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcGFnZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXBhZ2VyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1wYWdlci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tcGFnZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQmFzZSBwYWdlciBzZWN0aW9uXG4gICAgJWJhc2UtcGFnZXItc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICAvLyBCYXNlIHBhZ2VyIGl0ZW1cbiAgICAlYmFzZS1wYWdlci1pdGVtIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUGFnZXIgaXRlbXNcbiAgICAuay1wYWdlci1uYXYge1xuICAgICAgICBAZXh0ZW5kICViYXNlLXBhZ2VyLWl0ZW0gIW9wdGlvbmFsO1xuICAgIH1cblxuXG4gICAgLy8gUGFnZXIgbnVtYmVyc1xuICAgIC5rLXBhZ2VyLW51bWJlcnMtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBzZWxlY3Quay1kcm9wZG93bi1saXN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tcGFnZXItbWQtZHJvcGRvd24td2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcGFnZXItbnVtYmVycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3BhY2luZyBiZXR3ZWVuIGl0ZW1zXG4gICAgLmstcGFnZXItbmF2ICsgLmstcGFnZXItbmF2LFxuICAgIC5rLXBhZ2VyLW5hdiArIC5rLXBhZ2VyLW51bWJlcnMtd3JhcCxcbiAgICAuay1wYWdlci1udW1iZXJzLXdyYXAgKyAuay1wYWdlci1uYXYge1xuICAgICAgICBAaWYgKCRrZW5kby1wYWdlci1pdGVtLXNwYWNpbmcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tcGFnZXItaXRlbS1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcnRsICYsXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBAaWYgKCRrZW5kby1wYWdlci1pdGVtLXNwYWNpbmcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1wYWdlci1pdGVtLXNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFBhZ2VyIGlucHV0XG4gICAgLmstcGFnZXItaW5wdXQge1xuICAgICAgICBAZXh0ZW5kICViYXNlLXBhZ2VyLXNlY3Rpb24gIW9wdGlvbmFsO1xuICAgICAgICBnYXA6IDFleDtcblxuICAgICAgICAuay10ZXh0Ym94LFxuICAgICAgICAuay1udW1lcmljdGV4dGJveCB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXBhZ2VyLWlucHV0LXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBQYWdlciBzaXplc1xuICAgIC5rLXBhZ2VyLXNpemVzIHtcbiAgICAgICAgQGV4dGVuZCAlYmFzZS1wYWdlci1zZWN0aW9uICFvcHRpb25hbDtcbiAgICAgICAgZ2FwOiAxZXg7XG5cbiAgICAgICAgLmstaW5wdXQtaW5uZXIsXG4gICAgICAgIC5rLWlucHV0LXZhbHVlLXRleHQge1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUGFnZXIgaW5mb1xuICAgIC5rLXBhZ2VyLWluZm8ge1xuICAgICAgICBAZXh0ZW5kICViYXNlLXBhZ2VyLXNlY3Rpb24gIW9wdGlvbmFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgb3JkZXI6IDk7XG4gICAgfVxuXG5cbiAgICAvLyBQYWdlciByZWZyZXNoXG4gICAgLmstcGFnZXItcmVmcmVzaCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBvcmRlcjogMTA7XG4gICAgfVxuXG4gICAgLy8gUGFnZXIgc2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHNpemUtcHJvcHMgaW4gJGtlbmRvLXBhZ2VyLXNpemVzIHtcbiAgICAgICAgJF9wYWRkaW5nLXg6IGstbWFwLWdldCgkc2l6ZS1wcm9wcywgcGFkZGluZy14KTtcbiAgICAgICAgJF9wYWRkaW5nLXk6IGstbWFwLWdldCgkc2l6ZS1wcm9wcywgcGFkZGluZy15KTtcbiAgICAgICAgJF9pdGVtLWdyb3VwLXNwYWNpbmc6IGstbWFwLWdldCgkc2l6ZS1wcm9wcywgaXRlbS1ncm91cC1zcGFjaW5nKTtcbiAgICAgICAgJF9pdGVtLW1pbi13aWR0aDogay1tYXAtZ2V0KCRzaXplLXByb3BzLCBpdGVtLW1pbi13aWR0aCk7XG4gICAgICAgICRfcGFnZXItZHJvcGRvd24td2lkdGg6IGstbWFwLWdldCgkc2l6ZS1wcm9wcywgcGFnZXItZHJvcGRvd24td2lkdGgpO1xuXG4gICAgICAgIC5rLXBhZ2VyLSN7JHNpemV9IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3BhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfcGFkZGluZy15O1xuICAgICAgICAgICAgZ2FwOiAkX2l0ZW0tZ3JvdXAtc3BhY2luZztcblxuICAgICAgICAgICAgLmstcGFnZXItbnVtYmVycy13cmFwIHtcbiAgICAgICAgICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6ICRfaXRlbS1taW4td2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstcGFnZXItaW5wdXQsXG4gICAgICAgICAgICAgICAgPiBzZWxlY3Quay1kcm9wZG93bi1saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJF9pdGVtLWdyb3VwLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkX2l0ZW0tZ3JvdXAtc3BhY2luZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXBhZ2VyLXNpemVzIHtcbiAgICAgICAgICAgICAgICAuay1kcm9wZG93bi1saXN0LFxuICAgICAgICAgICAgICAgID4gc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRfcGFnZXItZHJvcGRvd24td2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBhZ2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFnZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLXBhZ2VyLS1sYXlvdXQoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby1wYWdlci0tbGF5b3V0LWJhc2UoKTtcblxuICAgIC8vIFBhZ2VyIGl0ZW1zXG4gICAgLmstcGFnZXItbmF2IHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggMCApOyB9XG4gICAgLmstcGFnZXItZmlyc3QgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMtb25seSggJGtlbmRvLXBhZ2VyLWl0ZW0tYm9yZGVyLXJhZGl1cyApOyB9XG4gICAgLmstcGFnZXItbGFzdCB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMtb25seSggJGtlbmRvLXBhZ2VyLWl0ZW0tYm9yZGVyLXJhZGl1cyApOyB9XG5cbiAgICAuay1ydGwsXG4gICAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIC5rLXBhZ2VyLWZpcnN0IHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cy1vbmx5KCAka2VuZG8tcGFnZXItaXRlbS1ib3JkZXItcmFkaXVzICk7IH1cbiAgICAgICAgLmstcGFnZXItbGFzdCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cy1vbmx5KCAka2VuZG8tcGFnZXItaXRlbS1ib3JkZXItcmFkaXVzICk7IH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3BhZ2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BhZ2VyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGFnZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1wYWdlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFBhZ2VyXG4gICAgLmstcGFnZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBhZ2VyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGFnZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tcGFnZXItYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXBhZ2VyLWZvY3VzLWJnICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1wYWdlci1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wYWdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFnZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1wYWdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFnZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1wYWdlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwicGFnZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcGFnZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wYWdlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBhZ2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zdGVwcGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc3RlcHBlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJzdGVwcGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInByb2dyZXNzYmFyXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wcm9ncmVzc2Jhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Byb2dyZXNzYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9zdGVwcGVyL192YXJpYWJsZXMuc2Nzc1xuLy8gU3RlcHBlclxuXG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1tYXJnaW4teDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgbWFyZ2luIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1tYXJnaW4teTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgdGhlIFN0ZXBwZXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gdGhlIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWxhYmVsLW1hcmdpbi14OiAxMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgdGhlIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWxhYmVsLXBhZGRpbmcteDogMTJweCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyB0aGUgU3RlcHBlciBsYWJlbC5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItbGFiZWwtcGFkZGluZy15OiA1cHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFN0ZXBwZXIgY29udGVudC5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5saW5lLWNvbnRlbnQtcGFkZGluZy14OiAyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBTdGVwcGVyIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWlubGluZS1jb250ZW50LXBhZGRpbmcteTogMTBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgU3RlcHBlci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFN0ZXBwZXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTdGVwcGVyLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3RlcHBlci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBTdGVwcGVyIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXdpZHRoOiAyOHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaGVpZ2h0OiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3Itd2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBmb2N1c2VkIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNpemUgb2YgdGhlIGZvY3VzZWQgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIG9mZnNldCBvZiB0aGUgU3RlcHBlcidzIGZvY3VzZWQgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtb2Zmc2V0OiAzcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGNhbGN1bGF0ZWQgb2Zmc2V0IG9mIHRoZSBTdGVwcGVyJ3MgZm9jdXNlZCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1jYWxjLW9mZnNldDogY2FsYyggI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLXdpZHRofSArICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLW9mZnNldH0gKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTdGVwcGVyIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTdGVwcGVyIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTdGVwcGVyIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBTdGVwcGVyIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJnICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIFN0ZXBwZXIgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDY1JSwgdHJhbnNwYXJlbnQpLCAka2VuZG8tZGlzYWJsZWQtdGV4dCkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgZGlzYWJsZWQgU3RlcHBlciBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGRvbmUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBkb25lIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLXByaW1hcnkgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYmcgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGRvbmUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ib3JkZXI6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBob3ZlcmVkIGRvbmUgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHByaW1hcnktaG92ZXIgKSwgay10cnktc2hhZGUoICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWJnICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgaG92ZXJlZCBkb25lIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgaG92ZXJlZCBkb25lIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBkaXNhYmxlZCBkb25lIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDYwJSwgdHJhbnNwYXJlbnQpLCBrLWNvbG9yLW1peCggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYmcsICRrZW5kby1jb21wb25lbnQtYmcsIDYwJSkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgZGlzYWJsZWQgZG9uZSBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1wcmltYXJ5ICksIGstY29udHJhc3QtY29sb3IoICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWJnICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBkaXNhYmxlZCBkb25lIGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYm9yZGVyOiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTdGVwcGVyIGN1cnJlbnQgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1iZzogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgY3VycmVudCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LXRleHQ6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3RlcHBlciBjdXJyZW50IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtYm9yZGVyOiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGhvdmVyZWQgY3VycmVudCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWhvdmVyLWJnOiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1ob3Zlci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGhvdmVyZWQgY3VycmVudCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWhvdmVyLXRleHQ6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWhvdmVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGhvdmVyZWQgY3VycmVudCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWhvdmVyLWJvcmRlcjogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFN0ZXBwZXIncyBkaXNhYmxlZCBjdXJyZW50IGluZGljYXRvci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYmc6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTdGVwcGVyJ3MgZGlzYWJsZWQgY3VycmVudCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLXRleHQ6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3RlcHBlcidzIGRpc2FibGVkIGN1cnJlbnQgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1kaXNhYmxlZC1ib3JkZXI6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTdGVwcGVyIGxhYmVsLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1sYWJlbC10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBzdWNjZXNzIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWxhYmVsLXN1Y2Nlc3MtdGV4dDogJGtlbmRvLWNvbG9yLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLy8gVGhlIGVycm9yIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWxhYmVsLWVycm9yLXRleHQ6ICRrZW5kby1jb2xvci1lcnJvciAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgaG92ZXJlZCBTdGVwcGVyIGxhYmVsLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1sYWJlbC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBTdGVwcGVyIGxhYmVsLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1sYWJlbC1kaXNhYmxlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNjUlLCB0cmFuc3BhcmVudCksICRrZW5kby1kaXNhYmxlZC10ZXh0KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBvcHRpb25hbCBTdGVwcGVyIGxhYmVsLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIG9wdGlvbmFsIFN0ZXBwZXIgbGFiZWwuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLW9wdGlvbmFsLWxhYmVsLW9wYWNpdHk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgb3B0aW9uYWwgU3RlcHBlciBsYWJlbC5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItb3B0aW9uYWwtbGFiZWwtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHN0eWxlIG9mIHRoZSBvcHRpb25hbCBTdGVwcGVyIGxhYmVsLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIFN0ZXBwZXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLXNpemU6IDJweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3RlcHBlciBQcm9ncmVzc0Jhci5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItcHJvZ3Jlc3NiYXItYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFN0ZXBwZXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFN0ZXBwZXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLWZpbGwtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIFN0ZXBwZXIgUHJvZ3Jlc3NCYXIuXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLWZpbGwtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBTdGVwcGVyIHRyYW5zaXRpb24uXG4vLy8gQGdyb3VwIHN0ZXBwZXJcbiRrZW5kby1zdGVwcGVyLWNvbnRlbnQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIFRoZSBkdXJhdGlvbiBvZiB0aGUgU3RlcHBlciB0cmFuc2l0aW9uLlxuLy8vIEBncm91cCBzdGVwcGVyXG4ka2VuZG8tc3RlcHBlci1jb250ZW50LXRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zICFkZWZhdWx0O1xuLy8vIFRoZSB0aW1pbmcgZnVuY3Rpb24gb2YgdGhlIFN0ZXBwZXIgdHJhbnNpdGlvbi5cbi8vLyBAZ3JvdXAgc3RlcHBlclxuJGtlbmRvLXN0ZXBwZXItY29udGVudC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkgMG1zICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3N0ZXBwZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3N0ZXBwZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3RlcHBlci9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1zdGVwcGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1zdGVwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8tc3RlcHBlci1tYXJnaW4teTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLXN0ZXBwZXItbWFyZ2luLXg7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zdGVwcGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zdGVwcGVyLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc3RlcHBlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXN0ZXBwZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXN0ZXBwZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tc3RlcHBlci1mb250LWZhbWlseTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuICAgICAgICAvLyBUT0RPOiByZW1vdmUgdGhvc2Ugb25jZSBrLXdpZGdldCBzdHlsZXMgYXJlIHJlbW92ZWQuIExpbms6IGh0dHBzOi8vZ2l0aHViLmNvbS90ZWxlcmlrL2tlbmRvLXRoZW1lcy9pc3N1ZXMvMTM1OVxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFN0ZXAgbGlzdFxuICAgICAgICAuay1zdGVwLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU3RlcFxuICAgICAgICAuay1zdGVwIHsgfVxuXG5cbiAgICAgICAgLy8gU3RlcCBsaW5rXG4gICAgICAgIC5rLXN0ZXAtbGluayB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCBpbmRpY2F0b3JcbiAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgIG1hcmdpbjogaWYoJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLW9mZnNldCA+IDAsICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1vZmZzZXQsIG51bGwpO1xuICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhlaWdodDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNHM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAxMDAlICk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKCAtMSAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLWNhbGMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCAtMSAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLWNhbGMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYyggLTEgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1jYWxjLW9mZnNldH0gKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCAtMSAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLWNhbGMtb2Zmc2V0fSApO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGVwLmstZm9jdXMsXG4gICAgICAgIC5rLXN0ZXAtbGluazpmb2N1cyB7XG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTdGVwIGxhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjbGFtcCgxMDAlLCAxMGVtLCAxMDAlKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgICAuay1zdGVwLWxhYmVsOm9ubHktY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggay1tYXRoLWRpdiggKCAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaGVpZ2h0ICsgMiAqICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItd2lkdGggKSwgMiApICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3RlcHBlci1sYWJlbC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXN0ZXBwZXItbGFiZWwtcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtbGFiZWwgLmstc3RlcC10ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMGVtIC0gKCN7JGtlbmRvLWljb24tc2l6ZX0gKyAjeyRrZW5kby1pY29uLXNwYWNpbmd9KSk7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtbGFiZWwgLmstaWNvbiAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGVwLWN1cnJlbnQgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gT3B0aW9uYWwgbGFiZWxcbiAgICAgICAgLmstc3RlcC1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiAka2VuZG8tc3RlcHBlci1vcHRpb25hbC1sYWJlbC1mb250LXN0eWxlO1xuICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLXN0ZXBwZXItb3B0aW9uYWwtbGFiZWwtb3BhY2l0eTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmstc3RlcC1kaXNhYmxlZCxcbiAgICAgICAgLmstc3RlcC5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgLmstc3RlcC1saW5rIHsgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbiAgICAgICAgICAgIC5rLXN0ZXAtbGFiZWwtb3B0aW9uYWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBQcm9ncmVzc2JhclxuICAgICAgICAuay1wcm9ncmVzc2JhciB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXByb2dyZXNzYmFyLWhvcml6b250YWwge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXByb2dyZXNzYmFyLXZlcnRpY2FsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSG9yaXpvbnRhbFxuICAgIC5rLXN0ZXAtbGlzdC1ob3Jpem9udGFsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG5cbiAgICAgICAgLmstc3RlcCB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0ZXAtbGluayB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwZW07XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGFiZWxcbiAgICAgICAgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3RlcC1pbmRpY2F0b3IgKyAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGlmKCRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1vZmZzZXQgPiAwLCBjYWxjKDhweCAtICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLW9mZnNldH0pLCA4cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJvZ3Jlc3NiYXJcbiAgICAgICAgJiB+IC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tc3RlcHBlci1wcm9ncmVzc2Jhci1zaXplO1xuICAgICAgICAgICAgdG9wOiBjYWxjKCgoI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItaGVpZ2h0fSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplfSkgLyAyKSArICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLXNpemV9IC8gMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbFxuICAgIC5rLXN0ZXAtbGlzdC12ZXJ0aWNhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmstc3RlcCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCgjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aH0gKyAyICogI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRofSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplfSkgKyAyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yICsgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLXN0ZXBwZXItbGFiZWwtbWFyZ2luLXg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFByb2dyZXNzYmFyXG4gICAgICAgICYgfiAuay1wcm9ncmVzc2JhciB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXN0ZXBwZXItcHJvZ3Jlc3NiYXItc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCgjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aH0gKyAyICogI3ska2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRofSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplfSkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElubGluZSBjb250ZW50XG4gICAgICAgIC5rLXN0ZXAtY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJGtlbmRvLXN0ZXBwZXItY29udGVudC10cmFuc2l0aW9uLXByb3BlcnR5ICRrZW5kby1zdGVwcGVyLWNvbnRlbnQtdHJhbnNpdGlvbi1kdXJhdGlvbiAka2VuZG8tc3RlcHBlci1jb250ZW50LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3RlcC1jdXJyZW50IC5rLXN0ZXAtY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1zdGVwcGVyLWluZGljYXRvci13aWR0aCArIDIgKiAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXN0ZXBwZXItaW5saW5lLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zdGVwcGVyLWlubGluZS1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3RlcHBlciBydGxcbiAgICAuay1ydGwgLmstc3RlcHBlcixcbiAgICAuay1zdGVwcGVyW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwgLmstaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvcml6b250YWxcbiAgICAgICAgLmstc3RlcC1saXN0LWhvcml6b250YWwgeyB9XG5cblxuICAgICAgICAvLyBWZXJ0aWNhbFxuICAgICAgICAuay1zdGVwLWxpc3QtdmVydGljYWwge1xuICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3IgKyAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1zdGVwcGVyLWxhYmVsLW1hcmdpbi14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIH4gLmstcHJvZ3Jlc3NiYXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoKCN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXdpZHRofSArIDIgKiAjeyRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXItd2lkdGh9ICsgMiAqICN7JGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLXNpemV9KSAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXN0ZXBwZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zdGVwcGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXN0ZXBwZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zdGVwcGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3Mvc3RlcHBlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zdGVwcGVyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3RlcHBlci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXN0ZXBwZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBCYXNlXG4gICAgLmstc3RlcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3RlcHBlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tc3RlcHBlci1ib3JkZXJcbiAgICAgICAgKTtcblxuXG4gICAgICAgIC8vIE5vdCBkb25lIHN0ZXBzXG4gICAgICAgIC5rLXN0ZXAge1xuICAgICAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIsXG4gICAgICAgICAgICAmLmstc3RlcC1ob3ZlciB7XG4gICAgICAgICAgICAgICAgLmstc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tc3RlcHBlci1sYWJlbC1ob3Zlci10ZXh0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWhvdmVyLWJvcmRlclxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWZvY3VzLFxuICAgICAgICAgICAgLmstc3RlcC1saW5rOmZvY3VzICB7XG4gICAgICAgICAgICAgICAgLy8gTGFiZWxzIG9ubHlcbiAgICAgICAgICAgICAgICAuay1zdGVwLWxhYmVsOm9ubHktY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRpbmRpY2F0b3I6ICggaW5zZXQgMCAwIDAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWZvY3VzLXNpemUgJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgKSwgJGluc2V0OiB0cnVlICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZFxuICAgICAgICAgICAgJi5rLXN0ZXAtZGlzYWJsZWQsXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQsXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrLWNvbG9yKCBhcHAtc3VyZmFjZSApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC1ib3JkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kaXNhYmxlZC1ib3JkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tc3RlcHBlci1sYWJlbC1kaXNhYmxlZC10ZXh0ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3RlcC1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIGluc2V0IDAgMCAwICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1mb2N1cy1zaXplICRrZW5kby1jb21wb25lbnQtYmcgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1zdGVwLWxhYmVsOm9ubHktY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gRG9uZSBzdGVwc1xuICAgICAgICAuay1zdGVwLWRvbmUge1xuXG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWJvcmRlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIsXG4gICAgICAgICAgICAmLmstc3RlcC1ob3ZlciB7XG4gICAgICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtaG92ZXItYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICAgICAmLmstc3RlcC1kaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCxcbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgay1jb2xvciggYXBwLXN1cmZhY2UgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1kaXNhYmxlZC1ib3JkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWRvbmUtZGlzYWJsZWQtYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItZG9uZS1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1kb25lLWRpc2FibGVkLWJvcmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQ3VycmVudFxuICAgICAgICAuay1zdGVwLWN1cnJlbnQge1xuXG4gICAgICAgICAgICAuay1zdGVwLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWJvcmRlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIsXG4gICAgICAgICAgICAmLmstc3RlcC1ob3ZlciB7XG4gICAgICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtaG92ZXItYm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICAgICAmLmstc3RlcC1kaXNhYmxlZCxcbiAgICAgICAgICAgICYuay1kaXNhYmxlZCxcbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIC5rLXN0ZXAtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgay1jb2xvciggYXBwLXN1cmZhY2UgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1kaXNhYmxlZC1ib3JkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXN0ZXBwZXItaW5kaWNhdG9yLWN1cnJlbnQtZGlzYWJsZWQtYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tc3RlcHBlci1pbmRpY2F0b3ItY3VycmVudC1kaXNhYmxlZC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRrZW5kby1zdGVwcGVyLWluZGljYXRvci1jdXJyZW50LWRpc2FibGVkLWJvcmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExhYmVsXG4gICAgICAgIC5rLXN0ZXAtbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tc3RlcHBlci1sYWJlbC10ZXh0ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3RlcC1zdWNjZXNzIC5rLXN0ZXAtbGFiZWwgLmstaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1zdGVwcGVyLWxhYmVsLXN1Y2Nlc3MtdGV4dCApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3RlcC1lcnJvciB7XG4gICAgICAgICAgICAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1zdGVwcGVyLWxhYmVsLWVycm9yLXRleHQgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlcixcbiAgICAgICAgICAgICYuay1zdGVwLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAuay1zdGVwLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tc3RlcHBlci1sYWJlbC1lcnJvci10ZXh0ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3B0aW9uYWwgTGFiZWxcbiAgICAgICAgLmstc3RlcC1sYWJlbC1vcHRpb25hbCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXN0ZXBwZXItb3B0aW9uYWwtbGFiZWwtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByb2dyZXNzYmFyXG4gICAgICAgIC5rLXByb2dyZXNzYmFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tc3RlcHBlci1wcm9ncmVzc2Jhci10ZXh0LFxuICAgICAgICAgICAgICAgICRiZzogJGtlbmRvLXN0ZXBwZXItcHJvZ3Jlc3NiYXItYmdcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRrZW5kby1zdGVwcGVyLXByb2dyZXNzYmFyLWZpbGwtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tc3RlcHBlci1wcm9ncmVzc2Jhci1maWxsLWJnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zdGVwcGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zdGVwcGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc3RlcHBlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3RlcHBlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXN0ZXBwZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInN0ZXBwZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc3RlcHBlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXN0ZXBwZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zdGVwcGVyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90YWJzdHJpcC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RhYnN0cmlwL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInRhYnN0cmlwXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90YWJzdHJpcC9fdmFyaWFibGVzLnNjc3Ncbi8vIFRhYnN0cmlwXG5cbiRrZW5kby10YWJzdHJpcC13cmFwcGVyLXBhZGRpbmcteDogMHB4ICFkZWZhdWx0O1xuJGtlbmRvLXRhYnN0cmlwLXdyYXBwZXItcGFkZGluZy15OiAwcHggIWRlZmF1bHQ7XG4ka2VuZG8tdGFic3RyaXAtd3JhcHBlci1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYnN0cmlwLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8tdGFic3RyaXAtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuJGtlbmRvLXRhYnN0cmlwLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbiRrZW5kby10YWJzdHJpcC13cmFwcGVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXRhYnN0cmlwLXdyYXBwZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby10YWJzdHJpcC13cmFwcGVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGFic3RyaXAgY29tcG9uZW50XG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiB0YWJzdHJpcCBjb21wb25lbnRcbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRhYnN0cmlwIGNvbXBvbmVudFxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGFic1xuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tcGFkZGluZy14OiAkbmF2LWxpbmstcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFZlcnRpY2FsIHBhZGRpbmcgb2YgdGFic1xuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tcGFkZGluZy15OiAkbmF2LWxpbmstcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFdpZHRoIG9mIGJvcmRlciBhcm91bmQgdGFic1xuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0YWJzXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRhYnNcbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLWdhcDogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGFic1xuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiB0YWJzXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS10ZXh0OiAka2VuZG8tbGluay10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiB0YWJzXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gQmFja2dyb3VuZCBncmFkaWVudCBvZiB0YWJzXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgaG92ZXJlZCB0YWJzXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1ob3Zlci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIGhvdmVyZWQgdGFic1xuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItdGV4dDogJGtlbmRvLWxpbmstaG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgaG92ZXJlZCB0YWJzXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1ob3Zlci1ib3JkZXI6ICRncmF5LTIwMCAhZGVmYXVsdDtcbi8vLyBCYWNrZ3JvdW5kIGdyYWRpZW50IG9mIGhvdmVyZWQgdGFic1xuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNlbGVjdGVkIHRhYnNcbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2Ygc2VsZWN0ZWQgdGFic1xuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tc2VsZWN0ZWQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBzZWxlY3RlZCB0YWJzXG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtaXRlbS1zZWxlY3RlZC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIEJhY2tncm91bmQgZ3JhZGllbnQgb2Ygc2VsZWN0ZWQgdGFic1xuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tc2VsZWN0ZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby10YWJzdHJpcC1pdGVtLWZvY3VzLXNoYWRvdzogJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRrZW5kby10YWJzdHJpcC1pdGVtLWRyYWdnaW5nLXNoYWRvdzogay1lbGV2YXRpb24oMykgIWRlZmF1bHQ7XG5cbiRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtb3BhY2l0eTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWZpbHRlcjogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1jb2xvcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEhvcml6b250YWwgcGFkZGluZyBvZiB0YWJzdHJpcCBjb250ZW50XG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbi8vLyBWZXJ0aWNhbCBwYWRkaW5nIG9mIHRhYnN0cmlwIGNvbnRlbnRcbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFdpZHRoIG9mIGJvcmRlciBhcm91bmQgdGFic3RyaXAgY29udGVudFxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0YWJzdHJpcCBjb250ZW50XG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtY29udGVudC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRhYnN0cmlwIGNvbnRlbnRcbi8vLyBAZ3JvdXAgdGFic3RyaXBcbiRrZW5kby10YWJzdHJpcC1jb250ZW50LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgdGFic3RyaXAgY29udGVudFxuLy8vIEBncm91cCB0YWJzdHJpcFxuJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgdGFic3RyaXAgZm9jdXNlZCBjb250ZW50XG4vLy8gQGdyb3VwIHRhYnN0cmlwXG4ka2VuZG8tdGFic3RyaXAtY29udGVudC1mb2N1cy1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90YWJzdHJpcC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFic3RyaXAvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFic3RyaXAvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdGFic3RyaXAtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gVGFic3RyaXAgd3JhcHBlclxuICAgIC5rLXRhYnN0cmlwLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGFic3RyaXAtd3JhcHBlci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGFic3RyaXAtd3JhcHBlci1wYWRkaW5nLXg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXRhYnN0cmlwLXdyYXBwZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAvLyBUYWJzdHJpcFxuICAgIC5rLXRhYnN0cmlwIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXRhYnN0cmlwLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby10YWJzdHJpcC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdGFic3RyaXAtbGluZS1oZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLXdyYXBwZXIgPiAuay10YWJzdHJpcCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuXG4gICAgLy8gVGFic3RyaXAgaXRlbXMgd3JhcHBlclxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgLy8gVGFic3RyaXAgaXRlbXNcbiAgICAuay10YWJzdHJpcC1pdGVtcyB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBnYXA6ICRrZW5kby10YWJzdHJpcC1pdGVtLWdhcDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6ICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFiLW9uLXRvcCB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGFic3RyaXAtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhYnN0cmlwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAuay1pdGVtLmstZGlzYWJsZWQsXG4gICAgICAgIC5rLWl0ZW1bZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgICAgICBmaWx0ZXI6ICRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWZpbHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFic3RyaXAgY29udGVudFxuICAgIC5rLXRhYnN0cmlwLWNvbnRlbnQsXG4gICAgLmstdGFic3RyaXAgPiAuay1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtY29udGVudC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiBkb3R0ZWQ7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTG9hZGluZyBpbmRpY2F0b3JcbiAgICAuay10YWJzdHJpcC1pdGVtcyAuay1sb2FkaW5nIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGxpbmVhcjtcblxuICAgICAgICAvLyBUT0RPOiBhIGJldHRlciBuYW1lXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi5rLWNvbXBsZXRlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2Nyb2xsaW5nXG4gICAgLmstdGFic3RyaXAtc2Nyb2xsYWJsZSB7XG4gICAgICAgID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG5cbiAgICAgICAgICAgID4gLmstdGFic3RyaXAtaXRlbXMge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYWJzdHJpcCBvcmllbnRhdGlvblxuICAgIC5rLXRhYnN0cmlwLWhvcml6b250YWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICAuay10YWJzdHJpcC12ZXJ0aWNhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG5cbiAgICAvLyBUYWJzdHJpcCBwb3NpdGlvblxuICAgIC5rLXRhYnN0cmlwLXRvcCB7XG4gICAgICAgID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5rLXRhYnN0cmlwLWhvcml6b250YWwgIW9wdGlvbmFsO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aDtcblxuICAgICAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaXRlbTphY3RpdmUsXG4gICAgICAgICAgICAuay1pdGVtLmstYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBpZiggJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aCwgLSRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGgsIG51bGwgKTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWNvbnRlbnQsXG4gICAgICAgID4gLmstdGFic3RyaXAtY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyggJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLWJvdHRvbSB7XG4gICAgICAgID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5rLXRhYnN0cmlwLWhvcml6b250YWwgIW9wdGlvbmFsO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aDtcblxuICAgICAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaXRlbTphY3RpdmUsXG4gICAgICAgICAgICAuay1pdGVtLmstYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBpZiggJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aCwgLSRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGgsIG51bGwgKTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWNvbnRlbnQsXG4gICAgICAgID4gLmstdGFic3RyaXAtY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyggJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLWxlZnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5rLXRhYnN0cmlwLXZlcnRpY2FsICFvcHRpb25hbDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aDtcblxuICAgICAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCAka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaXRlbTphY3RpdmUsXG4gICAgICAgICAgICAuay1pdGVtLmstYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGlmKCAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoLCAtJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aCwgbnVsbCApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLWNvbnRlbnQsXG4gICAgICAgID4gLmstdGFic3RyaXAtY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCAka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmstdGFic3RyaXAtcmlnaHQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgICAgICAgPiAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmstdGFic3RyaXAtdmVydGljYWwgIW9wdGlvbmFsO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRrZW5kby10YWJzdHJpcC1ib3JkZXItd2lkdGg7XG5cbiAgICAgICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWl0ZW06YWN0aXZlLFxuICAgICAgICAgICAgLmstaXRlbS5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGlmKCAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoLCAtJGtlbmRvLXRhYnN0cmlwLWJvcmRlci13aWR0aCwgbnVsbCApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAka2VuZG8tdGFic3RyaXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1jb250ZW50LFxuICAgICAgICA+IC5rLXRhYnN0cmlwLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCAka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRhYnN0cmlwIGFsaWduXG4gICAgLmstdGFic3RyaXAtaXRlbXMtc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIC5rLXRhYnN0cmlwLWl0ZW1zLWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuay10YWJzdHJpcC1pdGVtcy1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAuay10YWJzdHJpcC1pdGVtcy1qdXN0aWZ5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICAuay10YWJzdHJpcC1pdGVtcy1zdHJldGNoZWQgPiAqIHtcbiAgICAgICAgZmxleDogMSAwIDA7XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3RlZCBpbmRpY2F0b3JcbiAgICBAaWYgKCRrZW5kby10YWJzdHJpcC1pbmRpY2F0b3Itc2l6ZSkge1xuXG4gICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuXG4gICAgICAgICAgICAuay1pdGVtOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWl0ZW0uay1hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstaXRlbSA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFZhcmlhbnRzXG4gICAgICAgIC5rLXRhYnN0cmlwLXRvcCA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIgLmstaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhYnN0cmlwLWJvdHRvbSA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIgLmstaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhYnN0cmlwLWxlZnQgPiAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIC5rLWl0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhYnN0cmlwLXJpZ2h0ID4gLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciAuay1pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1zaXplO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIaWRlIHRhYnN0cmlwIGluZGljYXRvciB3aGVuIGRyYWdnaW5nXG4gICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIgLmstaXRlbS5rLXRhYnN0cmlwLWRyYWdnaW5nIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gUlRMXG4gICAgLmstcnRsIC5rLXRhYnN0cmlwLFxuICAgIC5rLXRhYnN0cmlwW2Rpcj1cInJ0bFwiXSB7XG5cbiAgICAgICAgJi5rLXRhYnN0cmlwLWxlZnQsXG4gICAgICAgICYuay10YWJzdHJpcC1yaWdodCB7XG4gICAgICAgICAgICA+IC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5rLWNvbnRlbnQgeyBvcmRlcjogMDsgfVxuICAgICAgICAgICAgPiAuay10YWJzdHJpcC1jb250ZW50IHsgb3JkZXI6IDA7IH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRhYnN0cmlwLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGFic3RyaXAtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YWJzdHJpcC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3RhYnN0cmlwL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RhYnN0cmlwL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFic3RyaXAvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFdyYXBwZXJcbiAgICAuay10YWJzdHJpcC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC13cmFwcGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtd3JhcHBlci1iZyxcbiAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC13cmFwcGVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gSXRlbXNcbiAgICAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtaXRlbS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtaXRlbS1ncmFkaWVudFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICYuay1hY3RpdmUsXG4gICAgICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtaXRlbS1zZWxlY3RlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLXNlbGVjdGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tdGFic3RyaXAtaXRlbS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLXRhYnN0cmlwLWRyYWdnaW5nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby10YWJzdHJpcC1pdGVtLWRyYWdnaW5nLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgICAgICAmLmstZGlzYWJsZWQsXG4gICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby10YWJzdHJpcC1pdGVtLWRpc2FibGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWl0ZW0tZGlzYWJsZWQtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay10YWJzdHJpcC1jb250ZW50LFxuICAgIC5rLXRhYnN0cmlwID4gLmstY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtY29udGVudC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtYmcsXG4gICAgICAgICAgICAka2VuZG8tdGFic3RyaXAtY29udGVudC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLXRhYnN0cmlwLWNvbnRlbnQtZm9jdXMtYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3RlZCBpbmRpY2F0b3JcbiAgICBAaWYgKCRrZW5kby10YWJzdHJpcC1pbmRpY2F0b3Itc2l6ZSkge1xuXG4gICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICAgICAgLmstaXRlbS5rLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRhYnN0cmlwLWluZGljYXRvci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10YWJzdHJpcC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidGFic3RyaXBcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10YWJzdHJpcC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhYnN0cmlwLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90cmVldmlldy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RyZWV2aWV3L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi93aXphcmQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy93aXphcmQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwid2l6YXJkXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJzdGVwcGVyXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3N0ZXBwZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zdGVwcGVyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZm9ybXMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mb3Jtcy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3dpemFyZC9fdmFyaWFibGVzLnNjc3Ncbi8vIFdpemFyZFxuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgV2l6YXJkLlxuLy8vIEBncm91cCB3aXphcmRcbiRrZW5kby13aXphcmQtcGFkZGluZy14OiAka2VuZG8tcGFkZGluZy1tZC14ICogMS4yNSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgV2l6YXJkLlxuLy8vIEBncm91cCB3aXphcmRcbiRrZW5kby13aXphcmQtcGFkZGluZy15OiAka2VuZG8td2l6YXJkLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBXaXphcmQgY29udGVudC5cbi8vLyBAZ3JvdXAgd2l6YXJkXG4ka2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy14OiAka2VuZG8tcGFkZGluZy1tZC14ICogMiAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgV2l6YXJkIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHdpemFyZFxuJGtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteTogJGtlbmRvLXBhZGRpbmctbWQteSAqIDQgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBXaXphcmQncyBCdXR0b24gY29udGFpbmVyLlxuLy8vIEBncm91cCB3aXphcmRcbiRrZW5kby13aXphcmQtYnV0dG9ucy1tYXJnaW4teDogMTBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFdpemFyZC5cbi8vLyBAZ3JvdXAgd2l6YXJkXG4ka2VuZG8td2l6YXJkLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFdpemFyZC5cbi8vLyBAZ3JvdXAgd2l6YXJkXG4ka2VuZG8td2l6YXJkLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFdpemFyZC5cbi8vLyBAZ3JvdXAgd2l6YXJkXG4ka2VuZG8td2l6YXJkLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBXaXphcmQuXG4vLy8gQGdyb3VwIHdpemFyZFxuJGtlbmRvLXdpemFyZC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIG91dGxpbmUgb2YgdGhlIGZvY3VzZWQgV2l6YXJkIHN0ZXAuXG4vLy8gQGdyb3VwIHdpemFyZFxuJGtlbmRvLXdpemFyZC1zdGVwLWZvY3VzLWJvcmRlcjogIzY1NjU2NSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy93aXphcmQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3dpemFyZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy93aXphcmQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8td2l6YXJkLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFdpemFyZFxuICAgIC5rLXdpemFyZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby13aXphcmQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXdpemFyZC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXdpemFyZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXdpemFyZC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8td2l6YXJkLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXdpemFyZC1mb250LWZhbWlseTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXdpemFyZC1zdGVwIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKCN7ay1tYXRoLWRpdiggJGtlbmRvLXdpemFyZC1jb250ZW50LXBhZGRpbmcteCwgNCApfSArIDJweCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmUtd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiBkb3R0ZWQ7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay13aXphcmQtY29udGVudCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXdpemFyZC1idXR0b25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby13aXphcmQtY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLXdpemFyZC1idXR0b25zLW1hcmdpbi14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay13aXphcmQtcGFnZXIge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay13aXphcmQtYnV0dG9ucy1yaWdodCB7XG4gICAgICAgICAgICAuay1idXR0b246bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zdGVwcGVyIHtcbiAgICAgICAgICAgIC5rLXN0ZXAtbGlzdC12ZXJ0aWNhbCB7XG4gICAgICAgICAgICAgICAgLmstc3RlcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc3RlcC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstd2l6YXJkLWhvcml6b250YWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5rLXdpemFyZC1zdGVwcyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy15O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzLFxuICAgICAgICAuay13aXphcmQtY29udGVudCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXdpemFyZC12ZXJ0aWNhbCB7XG5cbiAgICAgICAgLmstd2l6YXJkLXN0ZXBzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstd2l6YXJkLWNvbnRlbnQge1xuICAgICAgICAgICAgZmxleDogMSAxIDAlO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuay13aXphcmQtbGVmdCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAuay13aXphcmQtc3RlcHMge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8td2l6YXJkLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8td2l6YXJkLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8td2l6YXJkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXdpemFyZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXdpemFyZC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3dpemFyZC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy93aXphcmQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy93aXphcmQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby13aXphcmQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay13aXphcmQtc3RlcCB7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8td2l6YXJkLXN0ZXAtZm9jdXMtYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXdpemFyZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8td2l6YXJkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8td2l6YXJkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby13aXphcmQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcIndpemFyZFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTGF5b3V0ICYgY29udGFpbmVyc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9jYXJkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FyZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZXhwYW5zaW9uLXBhbmVsL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZXhwYW5zaW9uLXBhbmVsL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImV4cGFuZGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgLy8gXCJ1dGlscy9sYXlvdXQvZGlzcGxheVwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2Rpc3BsYXkuc2Nzc1wiO1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19zcGFjZXIuc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9leHBhbnNpb24tcGFuZWwvX3ZhcmlhYmxlcy5zY3NzXG4vLyBFeHBhbnNpb25QYW5lbFxuXG4vLy8gVGhlIHZlcnRpY2FsIHNwYWNpbmcgb2YgdGhlIEV4cGFuc2lvblBhbmVsLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLXNwYWNpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgRXhwYW5zaW9uUGFuZWwuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBFeHBhbnNpb25QYW5lbC5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEV4cGFuc2lvblBhbmVsLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgaGluZSBoZWlnaHQgb2YgdGhlIEV4cGFuc2lvblBhbmVsLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRXhwYW5zaW9uUGFuZWwuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBFeHBhbnNpb25QYW5lbC5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBFeHBhbnNpb25QYW5lbC5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgRXhwYW5zaW9uUGFuZWwuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItZm9jdXMtc2hhZG93OiAka2VuZG8tbGlzdC1pdGVtLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEV4cGFuc2lvblBhbmVsIGhlYWRlci5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1oZWFkZXItcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA2ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEV4cGFuc2lvblBhbmVsIGhlYWRlci5cbi8vLyBAZ3JvdXAgZXhwYW5kZXJcbiRrZW5kby1leHBhbmRlci1oZWFkZXItcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRXhwYW5zaW9uUGFuZWwgaGVhZGVyLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWhlYWRlci10ZXh0OiAka2VuZG8tZXhwYW5kZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRXhwYW5zaW9uUGFuZWwgaGVhZGVyLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRXhwYW5zaW9uUGFuZWwgaGVhZGVyLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBFeHBhbnNpb25QYW5lbCBoZWFkZXIuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItaGVhZGVyLWhvdmVyLWJnOiByZ2JhKCBibGFjaywgLjA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGZvY3VzZWQgRXhwYW5zaW9uUGFuZWwgaGVhZGVyLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBFeHBhbnNpb25QYW5lbCBoZWFkZXIuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItaGVhZGVyLWZvY3VzLXNoYWRvdzogJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRXhwYW5zaW9uUGFuZWwgdGl0bGUuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItdGl0bGUtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRXhwYW5zaW9uUGFuZWwgc3ViLXRpdGxlLlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1zdWItdGl0bGUtdGV4dDogJGtlbmRvLXN1YnRsZS10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgbWFyZ2luIG9mIHRoZSBFeHBhbnNpb25QYW5lbCBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItaW5kaWNhdG9yLW1hcmdpbi14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBFeHBhbnNpb25QYW5lbCBjb250ZW50LlxuLy8vIEBncm91cCBleHBhbmRlclxuJGtlbmRvLWV4cGFuZGVyLWNvbnRlbnQtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA2ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIEV4cGFuc2lvblBhbmVsIGNvbnRlbnQuXG4vLy8gQGdyb3VwIGV4cGFuZGVyXG4ka2VuZG8tZXhwYW5kZXItY29udGVudC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDYgKSAhZGVmYXVsdDtcbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZXhwYW5zaW9uLXBhbmVsL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9leHBhbnNpb24tcGFuZWwvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZXhwYW5zaW9uLXBhbmVsL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWV4cGFuZGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1leHBhbmRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWV4cGFuZGVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1leHBhbmRlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZXhwYW5kZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWV4cGFuZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcnRsICYsXG4gICAgICAgICYuay1ydGwsXG4gICAgICAgICZbZGlyID0gXCJydGxcIl0ge1xuICAgICAgICAgICAgLy8gRXhwYW5kIC8gY29sbGFwc2UgaWNvblxuICAgICAgICAgICAgLmstZXhwYW5kZXItaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1leHBhbmRlci1pbmRpY2F0b3ItbWFyZ2luLXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIZWFkZXJcbiAgICAuay1leHBhbmRlci1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZXhwYW5kZXItaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1leHBhbmRlci1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlciBzcGFjZXJcbiAgICAuay1leHBhbmRlci1zcGFjZXIge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAvLyBUaXRsZVxuICAgIC5rLWV4cGFuZGVyLXRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmQgLyBjb2xsYXBzZSBpY29uXG4gICAgLmstZXhwYW5kZXItaW5kaWNhdG9yIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1leHBhbmRlci1pbmRpY2F0b3ItbWFyZ2luLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZGVyIGNvbnRlbnRcbiAgICAuay1leHBhbmRlci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWV4cGFuZGVyLWNvbnRlbnQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWV4cGFuZGVyLWNvbnRlbnQtcGFkZGluZy14O1xuICAgIH1cblxuICAgIC8vIE11bHRpcGxlIGV4cGFuZGVyc1xuICAgIC5rLWV4cGFuZGVyICsgLmstZXhwYW5kZXIuay1leHBhbmRlZCxcbiAgICAuay1leHBhbmRlci5rLWV4cGFuZGVkICsgLmstZXhwYW5kZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tZXhwYW5kZXItc3BhY2luZy15O1xuICAgIH1cblxuICAgIC5rLWV4cGFuZGVyOm5vdCguay1leHBhbmRlZCkgKyAuay1leHBhbmRlcjpub3QoLmstZXhwYW5kZWQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICB9XG59XG5cblxuQG1peGluIGtlbmRvLWV4cGFuZGVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZXhwYW5kZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1leHBhbmRlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2V4cGFuc2lvbi1wYW5lbC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9leHBhbnNpb24tcGFuZWwvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9leHBhbnNpb24tcGFuZWwvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1leHBhbmRlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWV4cGFuZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1leHBhbmRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWV4cGFuZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWV4cGFuZGVyLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1leHBhbmRlci1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWV4cGFuZGVyLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZXhwYW5kZXItaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZXhwYW5kZXItaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWV4cGFuZGVyLWhlYWRlci1ob3Zlci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1leHBhbmRlci1oZWFkZXItZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZXhwYW5kZXItaGVhZGVyLWZvY3VzLWJnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZXhwYW5kZXItdGl0bGUge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWV4cGFuZGVyLXRpdGxlLXRleHQ7XG4gICAgfVxuXG4gICAgLmstZXhwYW5kZXItc3ViLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1leHBhbmRlci1oZWFkZXItc3ViLXRpdGxlLXRleHQ7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1leHBhbmRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1leHBhbmRlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1leHBhbmRlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZXhwYW5kZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1leHBhbmRlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWV4cGFuZGVyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9wYW5lbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BhbmVsYmFyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInBhbmVsYmFyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImxpc3RcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9wYW5lbGJhci9fdmFyaWFibGVzLnNjc3Ncbi8vIFBhbmVsYmFyXG5cbiRrZW5kby1wYW5lbGJhci1wYWRkaW5nLXg6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1wYWRkaW5nLXk6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1pdGVtLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG5cbiRrZW5kby1wYW5lbGJhci1oZWFkZXItcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA2ICkgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDYgKSAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1sZXZlbC1jb3VudDogNCAhZGVmYXVsdDtcblxuJGtlbmRvLXBhbmVsYmFyLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWJnOiAka2VuZG8tcGFuZWxiYXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXRleHQ6ICRrZW5kby1saW5rLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZywgLjUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWZvY3VzLXNoYWRvdzogJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItZm9jdXMtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtYmc6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5LWhvdmVyICksIGstdHJ5LXNoYWRlKCAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJnICkpICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWZvY3VzLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UtaG92ZXIgKSwgay10cnktc2hhZGUoICRrZW5kby1wYW5lbGJhci1iZywgMSApKSAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tZm9jdXMtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tZm9jdXMtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1zaGFkb3c6ICRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtYmc6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1zZWxlY3RlZC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtYmcgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtaG92ZXItZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWl0ZW0tc2VsZWN0ZWQtZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWZvY3VzLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1leHBhbmRlZC1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItZXhwYW5kZWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1wYW5lbGJhci1oZWFkZXItZXhwYW5kZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1leHBhbmRlZC1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9wYW5lbGJhci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGFuZWxiYXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGFuZWxiYXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcGFuZWxiYXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLXBhbmVsYmFyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1wYW5lbGJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLXBhbmVsYmFyLWJvcmRlci1zdHlsZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1wYW5lbGJhci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tcGFuZWxiYXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXBhbmVsYmFyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBSb290XG4gICAgICAgID4gLmstaXRlbSxcbiAgICAgICAgPiAuay1wYW5lbGJhci1oZWFkZXIge1xuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8tcGFuZWxiYXItaXRlbS1ib3JkZXItc3R5bGU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgPiAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAka2VuZG8tdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5rLWl0ZW0gKyAuay1pdGVtLFxuICAgICAgICA+IC5rLXBhbmVsYmFyLWhlYWRlciArIC5rLXBhbmVsYmFyLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAka2VuZG8tcGFuZWxiYXItaXRlbS1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFN1YlxuICAgICAgICAuay1ncm91cCxcbiAgICAgICAgLmstcGFuZWxiYXItZ3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5rLWdyb3VwID4gLmstaXRlbSxcbiAgICAgICAgLmstcGFuZWxiYXItZ3JvdXAgPiAuay1wYW5lbGJhci1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhbmVsYmFyLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6ICRrZW5kby1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAka2VuZG8tdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSGllcmFyY2h5IGl0ZW1zXG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRrZW5kby1wYW5lbGJhci1pdGVtLWxldmVsLWNvdW50IHtcbiAgICAgICAgICAgICAgICAmLmstbGV2ZWwtI3skaX0ge1xuICAgICAgICAgICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKCAka2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXggKiAkaSApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGFuZWxiYXIgaXRlbVxuICAgICAgICAuay1wYW5lbGJhci1pdGVtIHtcbiAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQYW5lbGJhciBjb250ZW50XG4gICAgICAgIC5rLXBhbmVsYmFyLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBUb2dnbGUgaWNvblxuICAgICAgICAuay1wYW5lbGJhci1leHBhbmQsXG4gICAgICAgIC5rLXBhbmVsYmFyLWNvbGxhcHNlLFxuICAgICAgICAuay1wYW5lbGJhci10b2dnbGUge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuay1ncm91cCAuay1wYW5lbGJhci1leHBhbmQsXG4gICAgICAgIC5rLWdyb3VwIC5rLXBhbmVsYmFyLWNvbGxhcHNlLFxuICAgICAgICAuay1wYW5lbGJhci1ncm91cCAuay1wYW5lbGJhci10b2dnbGUge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoICN7JGtlbmRvLXBhbmVsYmFyLWhlYWRlci1wYWRkaW5nLXh9IC0gI3ska2VuZG8tcGFuZWxiYXItaXRlbS1wYWRkaW5nLXh9ICk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5rLXJ0bCAmLFxuICAgICAgICAmLmstcnRsLFxuICAgICAgICAmW2RpciA9IFwicnRsXCJdIHtcbiAgICAgICAgICAgIC5rLWdyb3VwID4gLmstaXRlbSxcbiAgICAgICAgICAgIC5rLXBhbmVsYmFyLWdyb3VwID4gLmstcGFuZWxiYXItaXRlbSB7XG4gICAgICAgICAgICAgICAgLy8gSGllcmFyY2h5IGl0ZW1zXG4gICAgICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAka2VuZG8tcGFuZWxiYXItaXRlbS1sZXZlbC1jb3VudCB7XG4gICAgICAgICAgICAgICAgICAgICYuay1sZXZlbC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoICRrZW5kby1wYW5lbGJhci1pdGVtLXBhZGRpbmcteCAqICRpICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wYW5lbGJhci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBhbmVsYmFyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBhbmVsYmFyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFuZWxiYXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9wYW5lbGJhci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wYW5lbGJhci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BhbmVsYmFyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcGFuZWxiYXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBQYW5lbGJhclxuICAgIC5rLXBhbmVsYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWJvcmRlclxuICAgICAgICApO1xuXG5cbiAgICAgICAgLy8gUm9vdFxuICAgICAgICA+IC5rLWl0ZW0sXG4gICAgICAgID4gLmstcGFuZWxiYXItaGVhZGVyIHtcblxuICAgICAgICAgICAgJi5rLWV4cGFuZGVkLmstbGV2ZWwtMCA+IC5rLWxpbmsgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZXhwYW5kZWQtYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZXhwYW5kZWQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWV4cGFuZGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTm9ybWFsXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgLmstaWNvbixcbiAgICAgICAgICAgICAgICAuay1wYW5lbGJhci1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLXBhbmVsYmFyLXRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIb3ZlclxuICAgICAgICAgICAgPiAuay1saW5rOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1saW5rLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItaG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1c1xuICAgICAgICAgICAgPiAuay1saW5rOmZvY3VzLFxuICAgICAgICAgICAgPiAuay1saW5rLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItZm9jdXMtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRm9jdXMgJiBIb3ZlclxuICAgICAgICAgICAgPiAuay1saW5rOmZvY3VzOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1saW5rLmstZm9jdXMuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLWhvdmVyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1ob3Zlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkXG4gICAgICAgICAgICA+IC5rLWxpbmsuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAuay1pY29uLFxuICAgICAgICAgICAgICAgIC5rLXBhbmVsYmFyLWl0ZW0taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgSG92ZXJcbiAgICAgICAgICAgID4gLmstbGluay5rLXNlbGVjdGVkOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1saW5rLmstc2VsZWN0ZWQuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkIEZvY3VzXG4gICAgICAgICAgICA+IC5rLWxpbmsuay1zZWxlY3RlZDpmb2N1cyxcbiAgICAgICAgICAgID4gLmstbGluay5rLXNlbGVjdGVkLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtZm9jdXMtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1oZWFkZXItc2VsZWN0ZWQtZm9jdXMtZ3JhZGllbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3RlZCBGb2N1cyAmIEhvdmVyXG4gICAgICAgICAgICA+IC5rLWxpbmsuay1zZWxlY3RlZDpob3Zlcjpmb2N1cyxcbiAgICAgICAgICAgID4gLmstbGluay5rLXNlbGVjdGVkLmstaG92ZXIuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaGVhZGVyLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWhlYWRlci1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFN1YlxuICAgICAgICAuay1ncm91cCxcbiAgICAgICAgLmstcGFuZWxiYXItZ3JvdXAge1xuXG4gICAgICAgICAgICAvLyBIb3ZlclxuICAgICAgICAgICAgPiAuay1pdGVtID4gLmstbGluazpob3ZlcixcbiAgICAgICAgICAgID4gLmstaXRlbSA+IC5rLWxpbmsuay1ob3ZlcixcbiAgICAgICAgICAgID4gLmstcGFuZWxiYXItaXRlbSA+IC5rLWxpbms6aG92ZXIsXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRm9jdXNcbiAgICAgICAgICAgID4gLmstaXRlbSA+IC5rLWxpbms6Zm9jdXMsXG4gICAgICAgICAgICA+IC5rLWl0ZW0gPiAuay1saW5rLmstZm9jdXMsXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rOmZvY3VzLFxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluay5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0tZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tcGFuZWxiYXItaXRlbS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRm9jdXMgJiBIb3ZlclxuICAgICAgICAgICAgPiAuay1pdGVtID4gLmstbGluazpmb2N1czpob3ZlcixcbiAgICAgICAgICAgID4gLmstaXRlbSA+IC5rLWxpbmsuay1mb2N1cy5rLWhvdmVyLFxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluazpmb2N1czpob3ZlcixcbiAgICAgICAgICAgID4gLmstcGFuZWxiYXItaXRlbSA+IC5rLWxpbmsuay1mb2N1cy5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1iZyxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLXBhbmVsYmFyLWl0ZW0taG92ZXItZm9jdXMtYm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1ob3Zlci1mb2N1cy1ncmFkaWVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkXG4gICAgICAgICAgICA+IC5rLWl0ZW0gPiAuay1saW5rLmstc2VsZWN0ZWQsXG4gICAgICAgICAgICA+IC5rLXBhbmVsYmFyLWl0ZW0gPiAuay1saW5rLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgSG92ZXJcbiAgICAgICAgICAgID4gLmstaXRlbSA+IC5rLWxpbmsuay1zZWxlY3RlZDpob3ZlcixcbiAgICAgICAgICAgID4gLmstaXRlbSA+IC5rLWxpbmsuay1zZWxlY3RlZC5rLWhvdmVyLFxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluay5rLXNlbGVjdGVkOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluay5rLXNlbGVjdGVkLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgRm9jdXNcbiAgICAgICAgICAgID4gLmstaXRlbSA+IC5rLWxpbmsuay1zZWxlY3RlZDpmb2N1cyxcbiAgICAgICAgICAgID4gLmstaXRlbSA+IC5rLWxpbmsuay1zZWxlY3RlZC5rLWZvY3VzLFxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluay5rLXNlbGVjdGVkOmZvY3VzLFxuICAgICAgICAgICAgPiAuay1wYW5lbGJhci1pdGVtID4gLmstbGluay5rLXNlbGVjdGVkLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWZvY3VzLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgRm9jdXMgJiBIb3ZlclxuICAgICAgICAgICAgPiAuay1pdGVtID4gLmstbGluay5rLXNlbGVjdGVkOmZvY3VzOmhvdmVyLFxuICAgICAgICAgICAgPiAuay1pdGVtID4gLmstbGluay5rLXNlbGVjdGVkLmstZm9jdXMuay1ob3ZlcixcbiAgICAgICAgICAgID4gLmstcGFuZWxiYXItaXRlbSA+IC5rLWxpbmsuay1zZWxlY3RlZDpmb2N1czpob3ZlcixcbiAgICAgICAgICAgID4gLmstcGFuZWxiYXItaXRlbSA+IC5rLWxpbmsuay1zZWxlY3RlZC5rLWZvY3VzLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWJnLFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tcGFuZWxiYXItaXRlbS1zZWxlY3RlZC1ob3Zlci1mb2N1cy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1wYW5lbGJhci1pdGVtLXNlbGVjdGVkLWhvdmVyLWZvY3VzLWdyYWRpZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBhbmVsYmFyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wYW5lbGJhci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXBhbmVsYmFyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wYW5lbGJhci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXBhbmVsYmFyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJwYW5lbGJhclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1wYW5lbGJhci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBhbmVsYmFyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGFuZWxiYXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3NwbGl0dGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc3BsaXR0ZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwic3BsaXR0ZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJkcmFnZ2FibGVcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIC8vIFwicmVzaXphYmxlXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3NwbGl0dGVyL192YXJpYWJsZXMuc2Nzc1xuLy8gU3BsaXR0ZXJcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgU3BsaXR0ZXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTcGxpdHRlci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdHRlci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNwbGl0dGVyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFNwbGl0dGVyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3BsaXR0ZXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNwbGl0dGVyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcGxpdHRlci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdHRlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIFNwbGl0dGVyIHNwbGl0YmFyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLXNwbGl0YmFyLXNpemU6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDMgKSAhZGVmYXVsdDtcbi8vLyBUaGUgbGVuZ3RoIG9mIHRoZSBTcGxpdHRlciBkcmFnIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdHRlci1kcmFnLWhhbmRsZS1sZW5ndGg6IDIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHRoaWNrbmVzcyBvZiB0aGUgU3BsaXR0ZXIgZHJhZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtdGhpY2tuZXNzOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIG1hcmdpbiBvZiB0aGUgU3BsaXR0ZXIgZHJhZyBoYW5kbGUgaWNvbi5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdHRlci1kcmFnLWljb24tbWFyZ2luOiA3cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgY29sbGFwc2UgaWNvbiBpbiB0aGUgU3BsaXR0ZXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXR0ZXItY29sbGFwc2UtaWNvbi1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGNvbGxhcHNlIGljb24gaW4gdGhlIFNwbGl0dGVyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0dGVyLWNvbGxhcHNlLWljb24tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwbGl0dGVyIHNwbGl0IGJhci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdGJhci1iZzogJGtlbmRvLWJhc2UtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNwbGl0dGVyIHNwbGl0IGJhci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdGJhci10ZXh0OiAka2VuZG8tYmFzZS10ZXh0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvdmVyIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwbGl0dGVyIHNwbGl0IGJhci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdGJhci1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIGstdHJ5LXNoYWRlKCAka2VuZG8tc3BsaXRiYXItYmcsIC41ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBob3ZlciB0ZXh0IGNvbG9yIG9mIHRoZSBTcGxpdHRlciBzcGxpdCBiYXIuXG4vLy8gQGdyb3VwIHNwbGl0dGVyXG4ka2VuZG8tc3BsaXRiYXItaG92ZXItdGV4dDogJGtlbmRvLXNwbGl0YmFyLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2VsZWN0ZWQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3BsaXR0ZXIgc3BsaXQgYmFyLlxuLy8vIEBncm91cCBzcGxpdHRlclxuJGtlbmRvLXNwbGl0YmFyLXNlbGVjdGVkLWJnOiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHNlbGVjdGVkIHRleHQgY29sb3Igb2YgdGhlIFNwbGl0dGVyIHNwbGl0IGJhci5cbi8vLyBAZ3JvdXAgc3BsaXR0ZXJcbiRrZW5kby1zcGxpdGJhci1zZWxlY3RlZC10ZXh0OiAka2VuZG8tc2VsZWN0ZWQtdGV4dCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9zcGxpdHRlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3BsaXR0ZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3BsaXR0ZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tc3BsaXR0ZXItLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLXNwbGl0dGVyIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc3BsaXR0ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXNwbGl0dGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1zcGxpdHRlci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tc3BsaXR0ZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBQYW5lXG4gICAgICAgIC5rLXBhbmUge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuay1zcGxpdHRlci1yZXNpemluZyB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTmVzdGVkXG4gICAgICAgIC5rLXBhbmUgPiAmIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb2FkaW5nXG4gICAgICAgIC5rLXBhbmUtbG9hZGluZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gU3BsaXRiYXJcbiAgICAuay1naG9zdC1zcGxpdGJhcixcbiAgICAuay1zcGxpdGJhciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5rLWNvbGxhcHNlLXByZXYsXG4gICAgICAgIC5rLWNvbGxhcHNlLW5leHQge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLXNwbGl0dGVyLWNvbGxhcHNlLWljb24tcGFkZGluZy15ICRrZW5kby1zcGxpdHRlci1jb2xsYXBzZS1pY29uLXBhZGRpbmcteDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLWhvcml6b250YWwgeyBjdXJzb3I6IGNvbC1yZXNpemU7IH1cbiAgICAuay1zcGxpdGJhci1kcmFnZ2FibGUtdmVydGljYWwgeyBjdXJzb3I6IHJvdy1yZXNpemU7IH1cblxuICAgIC5rLWdob3N0LXNwbGl0YmFyLWhvcml6b250YWwsXG4gICAgLmstc3BsaXRiYXItaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tc3BsaXR0ZXItc3BsaXRiYXItc2l6ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgLmstZ2hvc3Qtc3BsaXRiYXItdmVydGljYWwsXG4gICAgLmstc3BsaXRiYXItdmVydGljYWwge1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1zcGxpdHRlci1zcGxpdGJhci1zaXplO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci1zdGF0aWMtaG9yaXpvbnRhbCB7IHdpZHRoOiAxcHg7IH1cbiAgICAuay1zcGxpdGJhci1zdGF0aWMtdmVydGljYWwgeyBoZWlnaHQ6IDFweDsgfVxuXG4gICAgLmstc3BsaXRiYXItZHJhZ2dhYmxlLWhvcml6b250YWwgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tc3BsaXR0ZXItZHJhZy1oYW5kbGUtdGhpY2tuZXNzO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1zcGxpdHRlci1kcmFnLWhhbmRsZS1sZW5ndGg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmstc3BsaXRiYXIgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci1kcmFnZ2FibGUtaG9yaXpvbnRhbCxcbiAgICAuay1zcGxpdGJhci1kcmFnZ2FibGUtdmVydGljYWwge1xuXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci1ob3Jpem9udGFsIC5rLWNvbGxhcHNlLXByZXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbjtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci1ob3Jpem9udGFsIC5rLWNvbGxhcHNlLW5leHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbjtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci12ZXJ0aWNhbCAuay1jb2xsYXBzZS1wcmV2IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tc3BsaXR0ZXItZHJhZy1pY29uLW1hcmdpbjtcbiAgICB9XG5cbiAgICAuay1zcGxpdGJhci12ZXJ0aWNhbCAuay1jb2xsYXBzZS1uZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1zcGxpdHRlci1kcmFnLWljb24tbWFyZ2luO1xuICAgIH1cblxuICAgIC5rLXNwbGl0YmFyLWRyYWdnYWJsZS12ZXJ0aWNhbCAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1zcGxpdHRlci1kcmFnLWhhbmRsZS1sZW5ndGg7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLXNwbGl0dGVyLWRyYWctaGFuZGxlLXRoaWNrbmVzcztcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuay1wYW5lID4gLmstc3BsaXR0ZXItb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAvLyBmbGV4Ym94LWJhc2VkIHNwbGl0dGVyXG5cbiAgICAuay1zcGxpdHRlci1mbGV4IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAuay1wYW5lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIGFsbG93cyBuZXN0ZWQgZWxlbWVudHMgdG8gdXNlIGhlaWdodDogMTAwJVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1zdGF0aWMge1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYW5lLWZsZXgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwbGl0YmFyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhbmUsXG4gICAgICAgIC5rLXBhbmUtZmxleCB7XG4gICAgICAgICAgICAmLmstaGlkZGVuLFxuICAgICAgICAgICAgJltoaWRkZW5dIHtcbiAgICAgICAgICAgICAgICAvLyBoaWRkZW4gcGFuZXMgbmVlZCB0byBiZSB6ZXJvLXdpZHRoIHRvIGFsbG93IHBhbmUgYW5pbWF0aW9uXG4gICAgICAgICAgICAgICAgZmxleDogMCAxIDAlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc3BsaXR0ZXItaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgICAgICYuay1zcGxpdHRlci12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNwbGl0dGVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3BsaXR0ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc3BsaXR0ZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdHRlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3NwbGl0dGVyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwbGl0dGVyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3BsaXR0ZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1zcGxpdHRlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFNwbGl0dGVyXG4gICAgLmstc3BsaXR0ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXNwbGl0dGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3BsaXR0ZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tc3BsaXR0ZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gU3BsaXRiYXJcbiAgICAuay1zcGxpdGJhciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tc3BsaXRiYXItdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXNwbGl0YmFyLWJnO1xuICAgIH1cbiAgICAuay1zcGxpdGJhcjpob3ZlcixcbiAgICAuay1zcGxpdGJhci5rLWhvdmVyLFxuICAgIC5rLXNwbGl0YmFyLWhvcml6b250YWwtaG92ZXIsXG4gICAgLmstc3BsaXRiYXItdmVydGljYWwtaG92ZXIge1xuICAgICAgICBjb2xvcjogJGtlbmRvLXNwbGl0YmFyLWhvdmVyLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zcGxpdGJhci1ob3Zlci1iZztcbiAgICB9XG4gICAgLmstc3BsaXRiYXI6Zm9jdXMsXG4gICAgLmstc3BsaXRiYXIuay1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tc3BsaXRiYXItc2VsZWN0ZWQtdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLXNwbGl0YmFyLXNlbGVjdGVkLWJnO1xuICAgIH1cblxuICAgIC8vIEdob3N0IHNwbGl0YmFyXG4gICAgLmstZ2hvc3Qtc3BsaXRiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc3BsaXRiYXItaG92ZXItYmc7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNwbGl0dGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdHRlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNwbGl0dGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdHRlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNwbGl0dGVyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzcGxpdHRlclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1zcGxpdHRlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0dGVyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc3BsaXR0ZXItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3RpbGVsYXlvdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90aWxlbGF5b3V0L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInRpbGUtbGF5b3V0XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiY2FyZFwiLFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2FyZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NhcmQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy90aWxlbGF5b3V0L192YXJpYWJsZXMuc2Nzc1xuLy8gVGlsZUxheW91dFxuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBUaWxlTGF5b3V0LlxuLy8vIEBncm91cCB0aWxlbGF5b3V0XG4ka2VuZG8tdGlsZS1sYXlvdXQtYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRpbGVMYXlvdXQuXG4vLy8gQGdyb3VwIHRpbGVsYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1iZzogJGdyYXktMTAwICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGlsZUxheW91dC5cbi8vLyBAZ3JvdXAgdGlsZWxheW91dFxuJGtlbmRvLXRpbGUtbGF5b3V0LXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRpbGVMYXlvdXRcbi8vLyBAZ3JvdXAgdGlsZWxheW91dFxuJGtlbmRvLXRpbGUtbGF5b3V0LXBhZGRpbmcteTogJGtlbmRvLXRpbGUtbGF5b3V0LXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgVGlsZUxheW91dCBjYXJkLlxuLy8vIEBncm91cCB0aWxlbGF5b3V0XG4ka2VuZG8tdGlsZS1sYXlvdXQtY2FyZC1ib3JkZXItd2lkdGg6ICRrZW5kby1jYXJkLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9jdXMgYm94IHNoYWRvdyBvZiB0aGUgVGlsZUxheW91dCBjYXJkLlxuLy8vIEBncm91cCB0aWxlbGF5b3V0XG4ka2VuZG8tdGlsZS1sYXlvdXQtY2FyZC1mb2N1cy1zaGFkb3c6ICRrZW5kby1jYXJkLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgVGlsZUxheW91dCBoaW50LlxuLy8vIEBncm91cCB0aWxlbGF5b3V0XG4ka2VuZG8tdGlsZS1sYXlvdXQtaGludC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgcmFkaXVzIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBUaWxlTGF5b3V0IGhpbnQuXG4vLy8gQGdyb3VwIHRpbGVsYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1oaW50LWJvcmRlci1yYWRpdXM6ICRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBUaWxlTGF5b3V0IGhpbnQuXG4vLy8gQGdyb3VwIHRpbGVsYXlvdXRcbiRrZW5kby10aWxlLWxheW91dC1oaW50LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRpbGVMYXlvdXQgaGludC5cbi8vLyBAZ3JvdXAgdGlsZWxheW91dFxuJGtlbmRvLXRpbGUtbGF5b3V0LWhpbnQtYmc6IHJnYmEoIHdoaXRlLCAuMiApICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3RpbGVsYXlvdXQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbGVsYXlvdXQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGlsZWxheW91dC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10aWxlLWxheW91dC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAuay10aWxlbGF5b3V0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGlsZS1sYXlvdXQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby10aWxlLWxheW91dC1wYWRkaW5nLXkgJGtlbmRvLXRpbGUtbGF5b3V0LXBhZGRpbmcteDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGlsZS1sYXlvdXQtY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aWxlbGF5b3V0LWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmstbGF5b3V0LWl0ZW0taGludCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby10aWxlLWxheW91dC1oaW50LWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGlsZS1sYXlvdXQtaGludC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLmstbGF5b3V0LWl0ZW0taGludC1yZXNpemUge1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbGVsYXlvdXQtaXRlbS1oZWFkZXIuay1jYXJkLWhlYWRlciB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmstdGlsZWxheW91dC1pdGVtLWJvZHkge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10aWxlLWxheW91dC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbGUtbGF5b3V0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbGUtbGF5b3V0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGlsZS1sYXlvdXQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy90aWxlbGF5b3V0L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbGVsYXlvdXQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aWxlbGF5b3V0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tdGlsZS1sYXlvdXQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay10aWxlbGF5b3V0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLXRpbGUtbGF5b3V0LWJnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstdGlsZWxheW91dC1pdGVtOmZvY3VzLFxuICAgIC5rLXRpbGVsYXlvdXQtaXRlbS5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCRrZW5kby10aWxlLWxheW91dC1jYXJkLWZvY3VzLXNoYWRvdyk7XG4gICAgfVxuXG4gICAgLmstbGF5b3V0LWl0ZW0taGludCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6ICRrZW5kby10aWxlLWxheW91dC1oaW50LWJnLFxuICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLXRpbGUtbGF5b3V0LWhpbnQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbGUtbGF5b3V0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aWxlLWxheW91dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRpbGUtbGF5b3V0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aWxlLWxheW91dC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRpbGUtbGF5b3V0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJ0aWxlLWxheW91dFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10aWxlLWxheW91dC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbGUtbGF5b3V0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGlsZS1sYXlvdXQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2RvY2stbWFuYWdlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RvY2stbWFuYWdlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZG9jay1tYW5hZ2VyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwic3BsaXR0ZXJcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidGFic3RyaXBcIlxuICAgIClcbik7XG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc3BsaXR0ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zcGxpdHRlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGFic3RyaXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90YWJzdHJpcC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2RvY2stbWFuYWdlci9fdmFyaWFibGVzLnNjc3Ncbi8vLyAgVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3R5bGUgb2YgdGhlIGJvcmRlciBhcm91bmQgdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXI6ICRrZW5kby1iYXNlLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIGhlYWRlciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgcGFuZSBoZWFkZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgcGFuZSBoZWFkZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJvcmRlci13aWR0aDogJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLy8gIFRoZSBzdHlsZSBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgcGFuZSBoZWFkZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHBhbmUgaGVhZGVyIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIHRpdGxlIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIHRpdGxlIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIHBhbmUgdGl0bGUgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBwYW5lIHRpdGxlIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIHBhbmUgdGl0bGUgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIHBhbmUgdGl0bGUgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtZm9udC13ZWlnaHQ6ICRrZW5kby1mb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIGNvbnRlbnQgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtY29udGVudC1wYWRkaW5nLXg6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBwYW5lIGNvbnRlbnQgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtY29udGVudC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHRhYmJlZCBwYW5lIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDMuNSApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIHRhYmJlZCBwYW5lIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci10YWJiZWQtcGFuZS1wYWRkaW5nLXg6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1jb250ZW50LXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgdW5waW5uZWQgcGFuZSBjb250YWluZXIgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLXVucGlubmVkLWNvbnRhaW5lci13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQtY29sb3Igb2YgdGhlIHVucGlubmVkIHBhbmUgY29udGFpbmVyIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIHVucGlubmVkIHBhbmUgY29udGFpbmVyIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci11bnBpbm5lZC1jb250YWluZXItc2hhZG93OiA0cHggMHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA0KSwgMnB4IDBweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3ItcGFkZGluZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMS41ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRvY2sgaW5kaWNhdG9yIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2staW5kaWNhdG9yLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSB3aWR0aCBvZiB0aGUgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3Itb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBvdXRsaW5lIHN0eWxlIG9mIHRoZSBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1vdXRsaW5lLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSBjb2xvciBvZiB0aGUgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3Itb3V0bGluZTogJGtlbmRvLWRvY2staW5kaWNhdG9yLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGRvY2sgaW5kaWNhdG9yIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2staW5kaWNhdG9yLXNoYWRvdzogZHJvcC1zaGFkb3coIDBweCAxcHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTIpICkgZHJvcC1zaGFkb3coIDBweCA2cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMTQpICkgZHJvcC1zaGFkb3coIDBweCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yMCkgKSAhZGVmYXVsdDtcblxuLy8vICBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgaG92ZXJlZCBkb2NrIGluZGljYXRvciBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLWluZGljYXRvci1ob3Zlci1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgZG9jayBpbmRpY2F0b3IgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1pbmRpY2F0b3ItaG92ZXItdGV4dDogJGtlbmRvLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHN0eWxlIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyLXN0eWxlOiBkYXNoZWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIGRyb3BwaW5nIGFyZWEgaW4gdGhlIERvY2tNYW5hZ2VyIGNvbXBvbmVudC5cbi8vLyBAZ3JvdXAgZG9jay1tYW5hZ2VyXG4ka2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1ib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZHJvcHBpbmcgYXJlYSBpbiB0aGUgRG9ja01hbmFnZXIgY29tcG9uZW50LlxuLy8vIEBncm91cCBkb2NrLW1hbmFnZXJcbiRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAxNiUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLXByaW1hcnksIC4xNiApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBkcm9wcGluZyBhcmVhIGluIHRoZSBEb2NrTWFuYWdlciBjb21wb25lbnQuXG4vLy8gQGdyb3VwIGRvY2stbWFuYWdlclxuJGtlbmRvLWRvY2stbWFuYWdlci1kb2NrLXByZXZpZXctYm9yZGVyOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9kb2NrLW1hbmFnZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RvY2stbWFuYWdlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kb2NrLW1hbmFnZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZG9jay1tYW5hZ2VyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIERvY2tNYW5hZ2VyXG4gICAgLmstZG9jay1tYW5hZ2VyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci1zdHlsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1kb2NrLW1hbmFnZXItdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlcGFyYXRvci1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIHdpZHRoOiAgJGtlbmRvLWxpbmUtaGVpZ2h0LWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZG9jay1tYW5hZ2VyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQYW5lc1xuICAgIC5rLWRvY2stbWFuYWdlci1wYW5lLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyBTcGxpdHRlclxuICAgIC5rLWRvY2stbWFuYWdlci1zcGxpdHRlcixcbiAgICAuay1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgID4gLmstcGFuZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLXN0eWxlOiAka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtaGVhZGVyLWJvcmRlci1zdHlsZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhbmUtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtcGFkZGluZy14O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS10aXRsZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLWRvY2stbWFuYWdlci1wYW5lLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1zY3JvbGxhYmxlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcGFuZS1jb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZG9jay1tYW5hZ2VyLXBhbmUtY29udGVudC1wYWRkaW5nLXg7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wYW5lLWFjdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhbmUtdGFiYmVkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6ICRrZW5kby1kb2NrLW1hbmFnZXItdGFiYmVkLXBhbmUtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6ICRrZW5kby1kb2NrLW1hbmFnZXItdGFiYmVkLXBhbmUtcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1kb2NrLW1hbmFnZXItdGFiYmVkLXBhbmUtcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3BsaXRiYXIge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstc3BsaXRiYXItdmVydGljYWwge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVucGlubmVkIHBhbmVcbiAgICAuay1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyLXdpZHRoO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAuay1wYW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3BsaXRiYXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERvY2tpbmcgcHJldmlld1xuICAgIC5rLWRvY2tpbmctcHJldmlldyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiAka2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1ib3JkZXItc3R5bGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1kb2NrLW1hbmFnZXItZG9jay1wcmV2aWV3LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cblxufVxuXG5AbWl4aW4ga2VuZG8tZG9jay1uYXZpZ2F0b3ItLWxheW91dCgpIHtcblxuICAgIC8vIERvY2tOYXZpZ2F0b3JcbiAgICAuay1kb2NrLW5hdmlnYXRvci1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuay1kb2NrLW5hdmlnYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIGF1dG8pO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCBhdXRvKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuay1kb2NrLWluZGljYXRvciB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1kb2NrLWluZGljYXRvci1wYWRkaW5nO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgb3V0bGluZS13aWR0aDogJGtlbmRvLWRvY2staW5kaWNhdG9yLW91dGxpbmUtd2lkdGg7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6ICRrZW5kby1kb2NrLWluZGljYXRvci1vdXRsaW5lLXN0eWxlO1xuXG4gICAgICAgICYuay1kb2NrLWluZGljYXRvci1taWRkbGUge1xuICAgICAgICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZG9jay1pbmRpY2F0b3ItdG9wIHtcbiAgICAgICAgZ3JpZC1hcmVhOiAxIC8gMiAvIGF1dG87XG4gICAgfVxuICAgIC5rLWRvY2staW5kaWNhdG9yLXJpZ2h0IHtcbiAgICAgICAgZ3JpZC1hcmVhOiAyIC8gMyAvIGF1dG87XG4gICAgfVxuICAgIC5rLWRvY2staW5kaWNhdG9yLWJvdHRvbSB7XG4gICAgICAgIGdyaWQtYXJlYTogMyAvIDIgLyBhdXRvO1xuICAgIH1cbiAgICAuay1kb2NrLWluZGljYXRvci1sZWZ0IHtcbiAgICAgICAgZ3JpZC1hcmVhOiAyIC8gMSAvIGF1dG87XG4gICAgfVxuICAgIC5rLWRvY2staW5kaWNhdG9yLW1pZGRsZSB7XG4gICAgICAgIGdyaWQtYXJlYTogMiAvIDIgLyBhdXRvO1xuICAgIH1cblxufVxuXG5AbWl4aW4ga2VuZG8tZG9jay1tYW5hZ2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1tYW5hZ2VyLS1sYXlvdXQtYmFzZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRvY2stbmF2aWdhdG9yLS1sYXlvdXQoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tZG9jay1tYW5hZ2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1tYW5hZ2VyLS1sYXlvdXQtYmFzZSgpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRvY2stbmF2aWdhdG9yLS1sYXlvdXQoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2RvY2stbWFuYWdlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kb2NrLW1hbmFnZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kb2NrLW1hbmFnZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1kb2NrLW1hbmFnZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBEb2NrTWFuYWdlclxuICAgIC5rLWRvY2stbWFuYWdlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWRvY2stbWFuYWdlci1ib3JkZXI7XG4gICAgfVxuXG4gICAgLy8gU3BsaXR0ZXJcbiAgICAuay1kb2NrLW1hbmFnZXItc3BsaXR0ZXIgLmstcGFuZS1oZWFkZXIsXG4gICAgLmstZG9jay1tYW5hZ2VyLXVucGlubmVkLWNvbnRhaW5lciAuay1wYW5lLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1kb2NrLW1hbmFnZXItcGFuZS1oZWFkZXItYmc7XG4gICAgfVxuXG4gICAgLmstZG9jay1tYW5hZ2VyLXVucGlubmVkLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1kb2NrLW1hbmFnZXItdW5waW5uZWQtY29udGFpbmVyLWJnO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tZG9jay1tYW5hZ2VyLXVucGlubmVkLWNvbnRhaW5lci1zaGFkb3cgKTtcbiAgICB9XG5cbiAgICAvLyBEb2NraW5nIHByZXZpZXdcbiAgICAuay1kb2NraW5nLXByZXZpZXcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1iZztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tZG9jay1tYW5hZ2VyLWRvY2stcHJldmlldy1ib3JkZXI7XG4gICAgfVxuXG59XG5cbkBtaXhpbiBrZW5kby1kb2NrLW5hdmlnYXRvci0tdGhlbWUoKSB7XG5cbiAgICAuay1kb2NrLWluZGljYXRvciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tZG9jay1pbmRpY2F0b3ItdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWRvY2staW5kaWNhdG9yLWJnO1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8tZG9jay1pbmRpY2F0b3Itb3V0bGluZTtcbiAgICAgICAgZmlsdGVyOiAka2VuZG8tZG9jay1pbmRpY2F0b3Itc2hhZG93O1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZG9jay1pbmRpY2F0b3ItaG92ZXItYmc7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWRvY2staW5kaWNhdG9yLWhvdmVyLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIGtlbmRvLWRvY2stbWFuYWdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1tYW5hZ2VyLS10aGVtZS1iYXNlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1uYXZpZ2F0b3ItLXRoZW1lKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuQG1peGluIGtlbmRvLWRvY2stbWFuYWdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1tYW5hZ2VyLS10aGVtZS1iYXNlKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1uYXZpZ2F0b3ItLXRoZW1lKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1kb2NrLW1hbmFnZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKFwiZG9jay1tYW5hZ2VyXCIpIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZG9jay1tYW5hZ2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZG9jay1tYW5hZ2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tZG9jay1tYW5hZ2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIERhdGEgbWFuYWdlbWVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9ncmlkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZ3JpZC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJncmlkXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYWN0aW9uc1wiLFxuICAgICAgICBcImF1dG9jb21wbGV0ZVwiLFxuICAgICAgICBcImJhZGdlXCIsXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJjaGlwXCIsXG4gICAgICAgIFwiZGF0ZS10aW1lLXBpY2tlclwiLFxuICAgICAgICBcImRpYWxvZ1wiLFxuICAgICAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwibWVudVwiLFxuICAgICAgICBcIm51bWVyaWMtdGV4dGJveFwiLFxuICAgICAgICBcInBhZ2VyXCIsXG4gICAgICAgIFwicHJvZ3Jlc3NiYXJcIixcbiAgICAgICAgXCJyYWRpb1wiLFxuICAgICAgICBcInNrZWxldG9uXCIsXG4gICAgICAgIFwidGFibGVcIixcbiAgICAgICAgXCJ0YWJzdHJpcFwiLFxuICAgICAgICBcInRleHRib3hcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidmFsaWRhdG9yXCIsXG4gICAgICAgIFwidXRpbHMvbGF5b3V0L2Zsb2F0XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2FkYXB0aXZlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYWRhcHRpdmUvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiYWRhcHRpdmVcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgICBcImxpc3Rncm91cFwiLFxuICAgICAgICBcInJhZGlvXCIsXG4gICAgICAgIFwic3dpdGNoXCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzIChUT0RPOiBleHRyYWN0IHZhcmlhYmxlcylcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2xpc3Rncm91cC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3Rncm91cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NoZWNrYm94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2hlY2tib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9yYWRpby9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3JhZGlvL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc3dpdGNoL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc3dpdGNoL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2FkYXB0aXZlL192YXJpYWJsZXMuc2Nzc1xuLy8gQWRhcHRpdmUgQ29tbW9uXG4ka2VuZG8tYWRhcHRpdmUtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1hZGFwdGl2ZS1jb250ZW50LWJnOiAka2VuZG8tYXBwLWJnICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWNvbnRlbnQtdGV4dDogJGtlbmRvLWFwcC10ZXh0ICFkZWZhdWx0O1xuXG4ka2VuZG8tYWRhcHRpdmUtbWVudS1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtbWVudS10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tcHJpbWFyeSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tYWRhcHRpdmUtbWVudS1iZyApKSAhZGVmYXVsdDtcblxuJGtlbmRvLWFkYXB0aXZlLW1lbnUtY2xlYXItdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRrZW5kby1hZGFwdGl2ZS1tZW51LWl0ZW0tYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbiRrZW5kby1hZGFwdGl2ZS1tZW51LXRpdGxlLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcblxuJGtlbmRvLWFkYXB0aXZlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vIEFkYXB0aXZlIEdyaWRcbiRrZW5kby1hZGFwdGl2ZS1ncmlkLXNvcnQtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIEFkYXB0aXZlIFNjaGVkdWxlclxuJGtlbmRvLWFkYXB0aXZlLXNjaGVkdWxlci1jdXJyZW50LXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuJGtlbmRvLWFkYXB0aXZlLXNjaGVkdWxlci1iYXNlLXRleHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4ka2VuZG8tYWRhcHRpdmUtc2NoZWR1bGVyLXN1YnRsZS10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvYWRhcHRpdmUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FkYXB0aXZlL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FkYXB0aXZlL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWFkYXB0aXZlLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXBhbmUtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWFkYXB0aXZlLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1hZGFwdGl2ZS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYWRhcHRpdmUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWFkYXB0aXZlLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLmstcGFuZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdmlldyB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWFkYXB0aXZlLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tYWRhcHRpdmUtZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1hZGFwdGl2ZS1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbnRlbnQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBHcmlkIHNwZWNpZmljIHN0eWxlc1xuICAgIC5rLXBhbmUtd3JhcHBlciB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcblxuICAgICAgICA+IGRpdi5rLXBhbmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAuay1wb3B1cC1lZGl0LWZvcm0sXG4gICAgICAgIC5rLWdyaWQtZWRpdC1mb3JtLFxuICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51LFxuICAgICAgICAuay1ncmlkLWZpbHRlci1tZW51IHtcblxuICAgICAgICAgICAgLmstY29udGVudCB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAgICAgICAgID4gLmstc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1lZGl0LWZvcm0ge1xuXG4gICAgICAgICAgICAuay1wb3B1cC1lZGl0LWZvcm0sXG4gICAgICAgICAgICAuay1lZGl0LWZvcm0tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLmstZ3JpZC1tb2JpbGUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1tb2JpbGUge1xuICAgICAgICAuay1yZXNpemUtaGFuZGxlLWlubmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGUwMWVcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGZvbnQ6IDE2cHgvMSBcIldlYkNvbXBvbmVudHNJY29uc1wiOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICAvLyBUaGUgQ2FsYyBpcyBuZWVkZWQgZHVlIHRvIHRoZSB0aGUgbmVnYXRpdmUgbWFyZ2luXG4gICAgICAgICAgICAvLyB0aGF0IHJlbW92ZXMgdGhlIGRvdWJsZSBib3R0b20gYm9yZGVyIG9mIHRoZSBoZWFkZXJcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstaGVhZGVyIGEge1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBTY2hlZHVsZXIgc3BlY2lmaWMgc3R5bGVzXG4gICAgLmstcGFuZS13cmFwcGVyIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1lZGl0LWZvcm0ge1xuXG4gICAgICAgICAgICAuay1yZWN1ci12aWV3IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgICAgICAgICA+IC5rLWxpc3Rncm91cC1mb3JtLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJlY3VyLWl0ZW1zLXdyYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogLTFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItcmVjdXItZW5kLXdyYXAge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXIge1xuICAgICAgICAmLmstc2NoZWR1bGVyLW1vYmlsZSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItbW9iaWxlIHtcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXZlbnQ6aG92ZXIgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItdG9vbGJhciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14O1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIC5rLW5hdi1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci12aWV3cy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAuay12aWV3cy1kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLW1vbnRodmlldyB7XG5cbiAgICAgICAgICAgIC5rLWhpZGRlbiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItdGFibGUgdGQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZXZlbnRzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ldmVudCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZW1vdmluZyB0aGUgXCJEYXlzXCIgaGVhZGVyIGZyb20gdGhlIE1vYmlsZSBTY2hlZHVsZXIgd2lsbCBicmVhayB0aGUgV2ViIFNjaGVkdWxlclxuICAgICAgICAvLyBUaHVzLCB0aGUgYmVsb3cgc2VsZWN0b3IgaXMgbmVlZGVkXG4gICAgICAgIC5rLXNjaGVkdWxlci1kYXl2aWV3IC5rLW1vYmlsZS1oZWFkZXIge1xuXG4gICAgICAgICAgICAmLmstbW9iaWxlLWhvcml6b250YWwtaGVhZGVyIC5rLXNjaGVkdWxlci10aW1lcyB0YWJsZSB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlciAuay1zY2hlZHVsZXItZGF0ZS1ncm91cCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCA+IGRpdiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1hZ2VuZGF2aWV3IHtcbiAgICAgICAgICAgIC5rLW1vYmlsZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLmstc2NoZWR1bGVyLWdyb3VwY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB0ZCxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB0aCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWUtdGV4dCxcbiAgICAgICAgLmstdGltZS1wZXJpb2Qge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWUtcGVyaW9kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB0ZCxcbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHRoIHtcbiAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1kYXRlY29sdW1uLXdyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAuNWVtO1xuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItbWFyayB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRhc2stdGV4dCB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRpbWVzLFxuICAgICAgICAuay1zY2hlZHVsZXItYWdlbmRhIHtcblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWdyb3VwLWNlbGwsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItZ3JvdXBjb2x1bW4ge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgICAgICAuay1zY2hlZHVsZXItZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc2Nyb2xsYmFyLWggdHIgKyB0ciAuay1zY2hlZHVsZXItdGltZXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIENvbW1vbiBzdHlsZXMgZm9yIHRoZSBBZGFwdGl2ZSBMYXlvdXRcbiAgICAuay1wYW5lLXdyYXBwZXIgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG5cbiAgICAgICAgLmstYXBwYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxpc3QtdGl0bGUsXG4gICAgICAgIC5rLWZpbHRlci1oZWxwLXRleHQge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuay1saXN0Z3JvdXAtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWxpc3Rncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdGdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbGlzdGdyb3VwIHtcblxuICAgICAgICAgICAgLmstbGlzdGdyb3VwLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1saXN0Z3JvdXAgKyAuay1saXN0Z3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29sdW1uIG1lbnVcbiAgICAgICAgLmstY29sdW1uLW1lbnUge1xuICAgICAgICAgICAgcGFkZGluZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuXG4gICAgICAgICAgICAuay1maWx0ZXItaXRlbSAuay1maWx0ZXJhYmxlICoge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0LXRpdGxlLFxuICAgICAgICAgICAgLmstbGlzdGdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saXN0Z3JvdXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IC0je2stbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaWx0ZXIgbWVudVxuICAgICAgICAuay1maWx0ZXItbWVudSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG5cbiAgICAgICAgICAgIC5rLWxpc3QtdGl0bGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3QtZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgICAgIGdhcDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsdGVyLXRvb2xzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBnYXA6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWxpc3Rncm91cCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogLSN7ay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBvcHVwLWVkaXQtZm9ybSB7XG5cbiAgICAgICAgICAgIC5rLXJlY3VyLWVkaXRvci13cmFwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1tb2JpbGV0aW1lem9uZWVkaXRvciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstbXVsdGljaGVjay13cmFwLmstbGlzdGdyb3VwIHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQYWdlclxuICAgICAgICAuay1wYWdlci13cmFwLmstcGFnZXItc20sXG4gICAgICAgIC5rLXBhZ2VyLmstcGFnZXItc20ge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5rLXBhZ2VyLXJlZnJlc2gge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJUTFxuICAgICAgICAuay1ydGwgJixcbiAgICAgICAgJltkaXI9XCJydGxcIl0sXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1tb2JpbGUge1xuXG4gICAgICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRvb2xiYXIge1xuICAgICAgICAgICAgICAgICAgICA+IHVsID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstdGFzayAuay1pLXJlbG9hZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWFkYXB0aXZlLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tYWRhcHRpdmUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYWRhcHRpdmUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hZGFwdGl2ZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2FkYXB0aXZlL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2FkYXB0aXZlL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvYWRhcHRpdmUvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1hZGFwdGl2ZS0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLXBhbmUtd3JhcHBlcixcbiAgICAuay12aWV3IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1hZGFwdGl2ZS10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWFkYXB0aXZlLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWFkYXB0aXZlLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXBhbmUtd3JhcHBlciAuay1wYW5lIHtcblxuICAgICAgICA+IC5rLXZpZXcgPiAuay1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tYWRhcHRpdmUtY29udGVudC1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtbW9iaWxlIHtcblxuICAgICAgICAgICAgLmstY29sdW1uLWFjdGl2ZSArIHRoLmstaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGtlbmRvLWJvZHktdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstcmVzaXplLWhhbmRsZS1pbm5lcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tYmFzZS1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1tb2JpbGUge1xuXG4gICAgICAgICAgICAuay1uYXYtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1hZGFwdGl2ZS1zY2hlZHVsZXItY3VycmVudC10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItdGltZXMsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWdyb3VwY29sdW1uLFxuICAgICAgICAgICAgLmstbW9iaWxlLXNjaGVkdWxlci1hZ2VuZGFkYXRlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWFkYXB0aXZlLXNjaGVkdWxlci1iYXNlLXRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWUtcGVyaW9kLFxuICAgICAgICAgICAgLmstbW9iaWxlLXNjaGVkdWxlci1hZ2VuZGF3ZWVrZGF5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWFkYXB0aXZlLXNjaGVkdWxlci1zdWJ0bGUtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRpbWVzLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlcixcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1kYXRlY29sdW1uLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWdyb3VwY29sdW1uLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWdyb3VwLWNlbGwsXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyLWFsbC1kYXkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1hZGFwdGl2ZS1jb250ZW50LWJnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItdG9vbGJhciAuay1zY2hlZHVsZXItdG9vbHMgPiBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWVkaXQtZm9ybSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbWVudSxcbiAgICAgICAgLmstZ3JpZC1maWx0ZXItbWVudSxcbiAgICAgICAgLmstc2NoZWR1bGVyLWVkaXQtZm9ybSB7XG5cbiAgICAgICAgICAgIC5rLWl0ZW0sXG4gICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWJhc2UtdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY2xlYXIsXG4gICAgICAgICAgICAuay1zZWxlY3QtYWxsLFxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWRlbGV0ZSxcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1yZXNldFNlcmllcyB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWFkYXB0aXZlLW1lbnUtY2xlYXItdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmstY29sdW1uLW1lbnUge1xuXG4gICAgICAgICAgICAuay1saXN0Z3JvdXAtaXRlbS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWFkYXB0aXZlLWdyaWQtc29ydC10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1saXN0Z3JvdXAtaXRlbS5rLXNlbGVjdGVkIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tYWRhcHRpdmUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFkYXB0aXZlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tYWRhcHRpdmUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWFkYXB0aXZlLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tYWRhcHRpdmUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImFkYXB0aXZlXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWFkYXB0aXZlLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tYWRhcHRpdmUtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1hZGFwdGl2ZS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Byb2dyZXNzYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcHJvZ3Jlc3NiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hY3Rpb24tYnV0dG9ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FjdGlvbi1idXR0b25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RleHRib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jaGVja2JveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoZWNrYm94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcmFkaW8vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9yYWRpby9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3ZhbGlkYXRvci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3ZhbGlkYXRvci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2F1dG9jb21wbGV0ZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2F1dG9jb21wbGV0ZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL251bWVyaWN0ZXh0Ym94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbWVudS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL21lbnUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kaWFsb2cvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kaWFsb2cvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9wYWdlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BhZ2VyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hpcC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoaXAvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9za2VsZXRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NrZWxldG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19mbG9hdC5zY3NzXCI7XG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX3NwYWNlci5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RhYmxlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGFibGUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90YWJzdHJpcC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RhYnN0cmlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9ncmlkL192YXJpYWJsZXMuc2Nzc1xuLy8gR3JpZFxuJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuLy8vIEhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgZ3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtcGFkZGluZy14OiAka2VuZG8tdGFibGUtbWQtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgZ3JpZC5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtcGFkZGluZy15OiAka2VuZG8tdGFibGUtbWQtY2VsbC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBIb3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIGdyaWQgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgZ3JpZCBoZWFkZXIuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBncmlkIGdyb3VwaW5nIGhlYWRlci5cbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGdyaWQgZ3JvdXBpbmcgaGVhZGVyLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBncmlkIGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVmVydGljYWwgcGFkZGluZyBvZiB0aGUgZ3JpZCBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBncmlkIGZpbHRlciBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBWZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBncmlkIGZpbHRlciBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1maWx0ZXItY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLWZpbHRlci1jZWxsLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8vIEhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgZ3JpZCBlZGl0IGNlbGwuXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy14ICFkZWZhdWx0O1xuLy8vIFZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIGdyaWQgZWRpdCBjZWxsLlxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1lZGl0LWNlbGwtcGFkZGluZy15OiA1cHggIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplOiA2cHggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtbGluZS1zaXplOiBrLW1hdGgtZGl2KCAka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtc2l6ZSwgMykgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1jaGlwLWNhbGMtc2l6ZX0gKyAjeyRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplfSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtdG9wOiAzcHggIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLXNtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1ncm91cGluZy1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1ncm91cGluZy1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20tcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWZpbHRlci1jZWxsLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMS41ICkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1maWx0ZXItY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLWZpbHRlci1jZWxsLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWVkaXQtY2VsbC1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWVkaXQtY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXNtLWdyb3VwLWRyb3BjbHVlLWhlaWdodDogY2FsYyggI3ska2VuZG8tY2hpcC1zbS1jYWxjLXNpemV9ICsgI3ska2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtc2l6ZX0pICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc20tc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zbS1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtbWQtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLWdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1maWx0ZXItY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLWZpbHRlci1jZWxsLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWZpbHRlci1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtZmlsdGVyLWNlbGwtcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtbWQtZWRpdC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtZWRpdC1jZWxsLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLWVkaXQtY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLWVkaXQtY2VsbC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1ncm91cC1kcm9wY2x1ZS1oZWlnaHQ6ICRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1oZWlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1tZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLW1kLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtcGFkZGluZy15ICFkZWZhdWx0O1xuXG5cbi8vIEtlbmRvIEdyaWQgc2l6ZXNcbiRrZW5kby1ncmlkLXNpemVzOiAoXG4gICAgc206IChcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20taGVhZGVyLXBhZGRpbmcteCxcbiAgICAgICAgaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20taGVhZGVyLXBhZGRpbmcteSxcbiAgICAgICAgZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20tZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteCxcbiAgICAgICAgZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20tZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteSxcbiAgICAgICAgY2VsbC1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLXNtLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBjZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20tY2VsbC1wYWRkaW5nLXksXG4gICAgICAgIGZpbHRlci1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20tZmlsdGVyLWNlbGwtcGFkZGluZy14LFxuICAgICAgICBmaWx0ZXItY2VsbC1wYWRkaW5nLXk6ICRrZW5kby1ncmlkLXNtLWZpbHRlci1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgZWRpdC1jZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtc20tZWRpdC1jZWxsLXBhZGRpbmcteCxcbiAgICAgICAgZWRpdC1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20tZWRpdC1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgYnV0dG9uLXBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1zbS1wYWRkaW5nLXksXG4gICAgICAgIGJ1dHRvbi1jYWxjLXNpemU6ICRrZW5kby1idXR0b24tc20tY2FsYy1zaXplLFxuICAgICAgICBncm91cC1kcm9wY2x1ZS1oZWlnaHQ6ICRrZW5kby1ncmlkLXNtLWdyb3VwLWRyb3BjbHVlLWhlaWdodCxcbiAgICAgICAgc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1zbS1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXgsXG4gICAgICAgIHNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtc20tc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy15XG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBoZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1tZC1oZWFkZXItcGFkZGluZy14LFxuICAgICAgICBoZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1tZC1oZWFkZXItcGFkZGluZy15LFxuICAgICAgICBncm91cGluZy1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tZ3JpZC1tZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy14LFxuICAgICAgICBncm91cGluZy1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tZ3JpZC1tZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy15LFxuICAgICAgICBjZWxsLXBhZGRpbmcteDogJGtlbmRvLWdyaWQtbWQtY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1tZC1jZWxsLXBhZGRpbmcteSxcbiAgICAgICAgZmlsdGVyLWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1tZC1maWx0ZXItY2VsbC1wYWRkaW5nLXgsXG4gICAgICAgIGZpbHRlci1jZWxsLXBhZGRpbmcteTogJGtlbmRvLWdyaWQtbWQtZmlsdGVyLWNlbGwtcGFkZGluZy15LFxuICAgICAgICBlZGl0LWNlbGwtcGFkZGluZy14OiAka2VuZG8tZ3JpZC1tZC1lZGl0LWNlbGwtcGFkZGluZy14LFxuICAgICAgICBlZGl0LWNlbGwtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1tZC1lZGl0LWNlbGwtcGFkZGluZy15LFxuICAgICAgICBidXR0b24tcGFkZGluZy15OiAka2VuZG8tYnV0dG9uLW1kLXBhZGRpbmcteSxcbiAgICAgICAgYnV0dG9uLWNhbGMtc2l6ZTogJGtlbmRvLWJ1dHRvbi1tZC1jYWxjLXNpemUsXG4gICAgICAgIGdyb3VwLWRyb3BjbHVlLWhlaWdodDogJGtlbmRvLWdyaWQtbWQtZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0LFxuICAgICAgICBzZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXg6ICRrZW5kby1ncmlkLW1kLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteCxcbiAgICAgICAgc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy15OiAka2VuZG8tZ3JpZC1tZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXlcbiAgICApLFxuKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtaGVhZGVyLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWhlYWRlci1maXJzdC1ib3JkZXI6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWhlYWRlci1tZW51LWljb24tc3BhY2luZzogJGtlbmRvLWljb24tc3BhY2luZyAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtZmlsdGVyYWJsZS1pY29uLXNwYWNpbmc6IGNhbGMoICN7JGtlbmRvLWJ1dHRvbi1jYWxjLXNpemV9ICsgI3ska2VuZG8tZ3JpZC1oZWFkZXItbWVudS1pY29uLXNwYWNpbmd9ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLXRvb2xiYXItYm9yZGVyLXdpZHRoOiAka2VuZG8tZ3JpZC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWNlbGwtaG9yaXpvbnRhbC1ib3JkZXItd2lkdGg6ICRrZW5kby10YWJsZS1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg6ICRrZW5kby10YWJsZS1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGdyaWQgY29tcG9uZW50XG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWJnOiAka2VuZG8tdGFibGUtYmcgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgZ3JpZCBjb21wb25lbnRcbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtdGV4dDogJGtlbmRvLXRhYmxlLXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIHRoZSBncmlkIGNvbXBvbmVudFxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ib3JkZXI6ICRrZW5kby10YWJsZS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGdyaWQgaGVhZGVyXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci1iZzogJGtlbmRvLXRhYmxlLWhlYWRlci1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIGdyaWQgaGVhZGVyXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci10ZXh0OiAka2VuZG8tdGFibGUtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIGdyaWQgaGVhZGVyXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXI6ICRrZW5kby10YWJsZS1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuLy8vIEJhY2tncm91bmQgZ3JhZGllbnQgb2YgZ3JpZCBoZWFkZXJcbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtaGVhZGVyLWdyYWRpZW50OiAka2VuZG8tdGFibGUtaGVhZGVyLWdyYWRpZW50ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBncmlkIGZvb3RlclxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1mb290ZXItYmc6ICRrZW5kby10YWJsZS1mb290ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiBncmlkIGZvb3RlclxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1mb290ZXItdGV4dDogJGtlbmRvLXRhYmxlLWZvb3Rlci10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiBncmlkIGZvb3RlclxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1mb290ZXItYm9yZGVyOiAka2VuZG8tdGFibGUtZm9vdGVyLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYWx0ZXJuYXRpbmcgcm93cyBpbiBncmlkXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWFsdC1iZzogJGtlbmRvLXRhYmxlLWFsdC1yb3ctYmcgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiBhbHRlcm5hdGluZyByb3dzIGluIGdyaWRcbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtYWx0LXRleHQ6ICRrZW5kby10YWJsZS1hbHQtcm93LXRleHQgIWRlZmF1bHQ7XG4vLy8gQm9yZGVyIGNvbG9yIG9mIGFsdGVybmF0aW5nIHJvd3MgaW4gZ3JpZFxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1hbHQtYm9yZGVyOiAka2VuZG8tdGFibGUtYWx0LXJvdy1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGhvdmVyZWQgcm93cyBpbiBncmlkXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLWhvdmVyLWJnOiAka2VuZG8tdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG4vLy8gVGV4dCBjb2xvciBvZiBob3ZlcmVkIHJvd3MgaW4gZ3JpZFxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1ob3Zlci10ZXh0OiAka2VuZG8tdGFibGUtaG92ZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2YgaG92ZXJlZCByb3dzIGluIGdyaWRcbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtaG92ZXItYm9yZGVyOiAka2VuZG8tdGFibGUtaG92ZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBzZWxlY3RlZCByb3dzIGluIGdyaWRcbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0ZWQtYmc6ICRrZW5kby10YWJsZS1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHNlbGVjdGVkIHJvd3MgaW4gZ3JpZFxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zZWxlY3RlZC10ZXh0OiAka2VuZG8tdGFibGUtc2VsZWN0ZWQtdGV4dCAhZGVmYXVsdDtcbi8vLyBCb3JkZXIgY29sb3Igb2Ygc2VsZWN0ZWQgcm93cyBpbiBncmlkXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGVkLWJvcmRlcjogJGtlbmRvLXRhYmxlLXNlbGVjdGVkLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lclxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1iZzogJGtlbmRvLWdyaWQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRleHQgY29sb3Igb2YgdGhlIHNlbGVjdGlvbiBhZ2dyZWdhdGVzIGNvbnRhaW5lclxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy10ZXh0OiAka2VuZG8tZ3JpZC10ZXh0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiB0aGUgc2VsZWN0aW9uIGFnZ3JlZ2F0ZXMgY29udGFpbmVyXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJvcmRlcjogJGtlbmRvLWdyaWQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIEJvcmRlciB3aWR0aCBvZiB0aGUgc2VsZWN0aW9uIGFnZ3JlZ2F0ZXMgY29udGFpbmVyXG4vLy8gQGdyb3VwIGdyaWRcbiRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgc2VsZWN0aW9uIGFnZ3JlZ2F0ZXMgaXRlbXNcbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtc3BhY2luZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIExpbmUgaGVpZ2h0IG9mIHRoZSBzZWxlY3Rpb24gYWdncmVnYXRlcyBjb250YWluZXJcbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtbGluZS1oZWlnaHQ6ICRrZW5kby1ncmlkLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8vIEZvbnQgd2VpZ2h0IG9mIHRoZSBzZWxlY3Rpb24gYWdncmVnYXRlcyBjb250YWluZXJcbi8vLyBAZ3JvdXAgZ3JpZFxuJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtZm9udC13ZWlnaHQ6ICRrZW5kby1mb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWdyaWQtYmcgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctdGV4dDogJGtlbmRvLWdyaWQtdGV4dCAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtc29ydGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMiUsIHRyYW5zcGFyZW50KSwgcmdiYSggay1jb250cmFzdC1jb2xvciggJGtlbmRvLWdyaWQtYmcgKSwgLjAyICkpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc29ydGluZy1pbmRpY2F0b3ItdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zb3J0aW5nLWluZGV4LWZvbnQtc2l6ZTogKCRrZW5kby1pY29uLXNpemUgKiAuNzUpICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc29ydGluZy1pbmRleC1oZWlnaHQ6ICRrZW5kby1pY29uLXNpemUgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zb3J0aW5nLWluZGV4LXNwYWNpbmcteTogMnB4ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc29ydGluZy1pbmRleC1zcGFjaW5nLXg6IC0ka2VuZG8tZ3JpZC1zb3J0aW5nLWluZGV4LXNwYWNpbmcteSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtc29ydGVkLWljb24tc3BhY2luZzogY2FsYyggI3ska2VuZG8tcGFkZGluZy1tZC14fSAtIDFweCApICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1mb2N1cy1zaGFkb3c6ICRrZW5kby10YWJsZS1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWNvbW1hbmQtY2VsbC1idXR0b24tc3BhY2luZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8gYmUgY2F1dGlvdXMgd2hlbiBjaGFuZ2luZyB0aGUgbmV4dCBsaW5lOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL01vT3gvcmVkdWNlLWNzcy1jYWxjL2lzc3Vlcy8zOFxuJGtlbmRvLWdyaWQtY29tbWFuZC1jZWxsLXBhZGRpbmcteTogY2FsYyggI3ska2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteX0gLSAoI3ska2VuZG8tYnV0dG9uLWNhbGMtc2l6ZX0gLSAjeyRrZW5kby1saW5lLWhlaWdodC1lbX0pIC8gMiApICFkZWZhdWx0O1xuXG4vLyBNdXN0IGJlIGEgc29saWQgY29sb3JcbiRrZW5kby1ncmlkLXN0aWNreS1iZzogJGtlbmRvLWdyaWQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zdGlja3ktdGV4dDogJGtlbmRvLWdyaWQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSgka2VuZG8tZ3JpZC10ZXh0LCAuNSkpICFkZWZhdWx0O1xuXG4vLyBNdXN0IGJlIGEgc29saWQgY29sb3JcbiRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWdyaWQtYmcsIC41ICkpICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJnOiAka2VuZG8tZ3JpZC1oZWFkZXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLXRleHQ6ICRrZW5kby1ncmlkLWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci1ib3JkZXI6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLXN0aWNreS1mb290ZXItYmc6ICRrZW5kby1ncmlkLWhlYWRlci1iZyAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLXN0aWNreS1mb290ZXItaG92ZXItYmc6ICRrZW5kby1ncmlkLXN0aWNreS1mb290ZXItYmcgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5ICkgMjUlLCB0cmFuc3BhcmVudCksIGstY29sb3ItbWl4KCAka2VuZG8tc2VsZWN0ZWQtYmcsICRrZW5kby1ncmlkLWJnLCAyNSUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNCUsIHRyYW5zcGFyZW50KSwgay1jb2xvci1zaGFkZSggJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnLCAuNCApKSAhZGVmYXVsdDtcblxuLy8gTXVzdCBiZSBhIHNvbGlkIGNvbG9yXG4ka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZS1ob3ZlciApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWdyaWQtYmcgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtaG92ZXItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDI0JSwgdHJhbnNwYXJlbnQpLCBrLWNvbG9yLXNoYWRlKCAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcsIC43ICkpICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS13aWR0aDogMjUwcHggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tYXgtd2lkdGg6IDMyMHB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1maWx0ZXItbWVudS1jaGVjay1hbGwtYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1maWx0ZXItbWVudS1pdGVtLXNwYWNpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNiApICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtZmlsdGVyLW1lbnUtaXRlbS1zcGFjaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtcG9wdXAtcGFkZGluZy14OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtcG9wdXAtcGFkZGluZy15OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteDogJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtLXBhZGRpbmcteTogJGtlbmRvLW1lbnUtcG9wdXAtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWxpc3QtaXRlbS1wYWRkaW5nLXg6ICRrZW5kby1saXN0LW1kLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbGlzdC1pdGVtLXBhZGRpbmcteTogJGtlbmRvLWxpc3QtbWQtaXRlbS1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW1zLXdyYXAtcGFkZGluZy14OiAwICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbXMtd3JhcC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLW1lbnUtcG9wdXAtbWQtaXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tbWVudS1wb3B1cC1tZC1pdGVtLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dDogJGtlbmRvLXBvcHVwLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYm9yZGVyOiAka2VuZG8tcG9wdXAtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10YWJiZWQtdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXg6IDAgIWRlZmF1bHQ7XG4ka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10YWJiZWQtdGFic3RyaXAtY29udGVudC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtdGFiYmVkLWJnOiAka2VuZG8tYmFzZS1iZyAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtZHJhZy1jZWxsLXdpZHRoOiAoJGtlbmRvLWljb24tc2l6ZSAqIDMpICFkZWZhdWx0O1xuXG4ka2VuZG8tZ3JpZC1yb3ctaW5uZXItaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1saW5lLWhlaWdodC1lbX0gKyAjeyRrZW5kby1ncmlkLWNlbGwtcGFkZGluZy15ICogMn0gKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtaGllcmFyY2h5LWNvbC13aWR0aDogKCRrZW5kby1pY29uLXNpemUgKiAyKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdyaWQtZ3JvdXBpbmctcm93LWJvcmRlci10b3A6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1ncmlkLWdyb3VwLWZvb3Rlci1ib3JkZXIteTogMXB4ICFkZWZhdWx0O1xuJGtlbmRvLWdyaWQtZ3JvdXAtZm9vdGVyLXNlY29uZC1jZWxsLWJvcmRlcjogMXB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZ3JpZCByb3cgcmVzaXplIGluZGljYXRvclxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1yb3ctcmVzaXplci1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1iYXNlICkgMjAlLCB0cmFuc3BhcmVudCksIHJnYmEoIGstY29udHJhc3QtY29sb3IoICRrZW5kby1ncmlkLWJnICksIC4xMiApKSAhZGVmYXVsdDtcbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZ3JpZCByb3cgcmVzaXplIGluZGljYXRvclxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1yb3ctcmVzaXplci1hY3RpdmUtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIEhlaWdodCBvZiB0aGUgZ3JpZCByb3cgcmVzaXplIGluZGljYXRvclxuLy8vIEBncm91cCBncmlkXG4ka2VuZG8tZ3JpZC1yb3ctcmVzaXplci1oZWlnaHQ6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIC41ICkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvZ3JpZC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ncmlkL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWdyaWQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gR3JpZFxuICAgIC5rLWdyaWQge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1ncmlkLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1ncmlkLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1ncmlkLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1ncmlkLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAmLmstZ3JpZC1kaXNwbGF5LWJsb2NrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtYXJpYS1yb290IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIGVtcHR5LWNlbGxzOiBzaG93O1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQsXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtdGhlYWQsXG4gICAgICAgIC5rLXRhYmxlLXRib2R5LFxuICAgICAgICAuay10YWJsZS10Zm9vdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXJvdyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS10aCxcbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6ICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmstcmFkaW8sXG4gICAgICAgICAgICA+IC5rLXJhZGlvLXdyYXAsXG4gICAgICAgICAgICA+IC5rLWNoZWNrYm94LFxuICAgICAgICAgICAgPiAuay1jaGVja2JveC13cmFwIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogMXB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAka2VuZG8tZ3JpZC1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLXdyYXAge1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1ncmlkLWhlYWRlci1mb250LXNpemU7XG5cbiAgICAgICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZ3JpZC1kcmFnZ2FibGUtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstZmlyc3Qge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAka2VuZG8tZ3JpZC1oZWFkZXItZmlyc3QtYm9yZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGFibGUtdGggPiAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRhYmxlLXRoID4gLmstbGluazpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ncmlkLWZpbHRlcixcbiAgICAgICAgICAgIC5rLWhlYWRlci1jb2x1bW4tbWVudSxcbiAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAka2VuZG8tZ3JpZC1oZWFkZXItbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1jZWxsLWlubmVyID4gLmstbGluayB7XG4gICAgICAgICAgICAgICAgPiAuay1zb3J0LWljb24ge1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1ncmlkLXNvcnRlZC1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1jZWxsLWlubmVyID4gLmstbGluayA+IC5rLXNvcnQtaWNvbiAuay1pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1zb3J0LW9yZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1pY29uLXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZ3JpZC1zb3J0aW5nLWluZGV4LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tZ3JpZC1zb3J0aW5nLWluZGV4LXNwYWNpbmcteTtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tZ3JpZC1zb3J0aW5nLWluZGV4LXNwYWNpbmcteDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLWZpbHRlcmFibGUge1xuICAgICAgICAgICAgPiAuay1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNlbGwtaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgID4gLmstc29ydC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc29ydC1vcmRlciB7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JpZC1maWx0ZXIsXG4gICAgICAgICAgICAuay1oZWFkZXItY29sdW1uLW1lbnUsXG4gICAgICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8tZ3JpZC1oZWFkZXItbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEdyb3VwaW5nLCBoaWVyYXJjeVxuICAgICAgICAuay1ncm91cC1jb2wsXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZ3JpZC1oaWVyYXJjaHktY29sLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JvdXBpbmctcm93IHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncm91cGluZy1yb3cgdGQsXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyArIC5rLXRhYmxlLXJvdyB0ZCxcbiAgICAgICAgLmstZ3JvdXBpbmctcm93ICsgLmstdGFibGUtcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRrZW5kby1ncmlkLWdyb3VwaW5nLXJvdy1ib3JkZXItdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JvdXBpbmctcm93IC5rLWdyb3VwLWNlbGwsXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyArIC5rLXRhYmxlLXJvdyAuay1ncm91cC1jZWxsIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JvdXBpbmctcm93IC5rLWljb24ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyggI3trLW1hdGgtZGl2KCAka2VuZG8taWNvbi1zaXplLCAyICl9IC0gI3ska2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBrLW1hdGgtZGl2KCAka2VuZG8taWNvbi1zaXplLCAyICk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZSAuay1ncm91cC1mb290ZXIgdGQsXG4gICAgICAgIC5rLXRhYmxlIC5rLWdyb3VwLWZvb3RlciAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZ3JpZC1ncm91cC1mb290ZXItYm9yZGVyLXkgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyb3VwLWZvb3RlciAuay1ncm91cC1jZWxsICsgdGQsXG4gICAgICAgIC5rLWdyb3VwLWZvb3RlciAuay1ncm91cC1jZWxsICsgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogJGtlbmRvLWdyaWQtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1oaWVyYXJjaHktY2VsbCxcbiAgICAgICAgLmstZHJhZy1jZWxsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICA+IC5rLWZvbnQtaWNvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdyaWQtY2VsbC1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIC8vIFRoYXQgY2F1c2VzIGFuIGlzc3VlIHdpdGggZ3JpZCBtYXRlcmlhbC4gQ29tbWVudGluZyBpdCBmb3Igbm93XG4gICAgICAgICAgICAgICAgLy8gLS0gam9uZWZmXG4gICAgICAgICAgICAgICAgLy8gbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsICsgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAka2VuZG8tZ3JpZC1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAuay1kZXRhaWwtY2VsbCB7fVxuICAgICAgICAuay1tYXN0ZXItcm93IHt9XG5cbiAgICAgICAgLmstZGV0YWlsLXJvdyB7XG4gICAgICAgICAgICAuay1kZXRhaWwtY2VsbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRpcnR5LWNlbGwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLmstZWRpdC1jZWxsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWRpcnR5IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQgKyAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWNvbnRlbnQtZXhwYW5kZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBib3R0b206IDFweDsgLy8gZml4IGZvciB2ZXJ0aWNhbCBzY3JvbGxiYXIgYXBwZWFyaW5nIHdoZW4gbm8gcmVjb3JkcyB0ZW1wbGF0ZSBpcyBkaXNwbGF5ZWRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtZmlsdGVyLFxuICAgICAgICAuay1oZWFkZXItY29sdW1uLW1lbnUsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUsXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsIC5rLWljb24ge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRHJhZyBjb2x1bW5cbiAgICAgICAgLmstZHJhZy1jb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZ3JpZC1kcmFnLWNlbGwtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcmFnLWNlbGwge1xuICAgICAgICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVG9vbGJhclxuICAgIC5rLWdyaWQtdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICRrZW5kby1ncmlkLXRvb2xiYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgLmstZ3JpZC10b29sYmFyLWJvdHRvbSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWdyaWQtdG9vbGJhci1ib3JkZXItd2lkdGggMCAwO1xuICAgIH1cblxuXG4gICAgLy8gR3JvdXBpbmcgaGVhZGVyXG4gICAgLmstZ3JvdXBpbmctaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tY2hpcC1jYWxjLXNpemU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2hpcC1saXN0IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1ncm91cGluZy1kcm9wLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1ncm91cGluZy1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAtJGtlbmRvLWdyaWQtZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncm91cGluZy1kcm9wY2x1ZSB7XG4gICAgICAgIHdpZHRoOiAoJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LXNpemUgKiAyKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6ICRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC10b3A7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tZ3JpZC1ncm91cC1kcm9wLWhpbnQtbGluZS1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplfSk7XG4gICAgICAgICAgICB0b3A6ICRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKCAjeyRrZW5kby1ncmlkLWdyb3VwLWRyb3AtaGludC1zaXplfSAtICN7ay1tYXRoLWRpdiggJGtlbmRvLWdyaWQtZ3JvdXAtZHJvcC1oaW50LWxpbmUtc2l6ZSwgMiApfSApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBHcmlkIGhlYWRlciAvIGZvb3RlclxuICAgIC5rLWdyaWQtaGVhZGVyLXdyYXAsXG4gICAgLmstZ3JpZC1mb290ZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtI3ska2VuZG8tZ3JpZC1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aH07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAka2VuZG8tZ3JpZC1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkICsgLmstZ3JpZC1oZWFkZXItd3JhcC5rLWF1dG8tc2Nyb2xsYWJsZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIGRpdi5rLWdyaWQtaGVhZGVyLFxuICAgIGRpdi5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLmstY29sdW1uLXJlc2l6ZXIge1xuICAgICAgICB3aWR0aDogLjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxMDAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gICAgfVxuXG4gICAgLmstcm93LXJlc2l6ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tZ3JpZC1yb3ctcmVzaXplci1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1lbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQtZm9vdGVyIHRkLFxuICAgIC5rLWdyb3VwLWZvb3RlciB0ZCxcbiAgICAuay1ncm91cGluZy1yb3cgdGQsXG4gICAgLmstZ3JpZC1mb290ZXIgLmstdGFibGUtdGQsXG4gICAgLmstZ3JvdXAtZm9vdGVyIC5rLXRhYmxlLXRkLFxuICAgIC5rLWdyb3VwaW5nLXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5rLWdyaWQtZmlsdGVyLXBvcHVwIHtcbiAgICAgICAgbWluLXdpZHRoOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS13aWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tYXgtd2lkdGg7XG4gICAgfVxuXG4gICAgLy8gU3RhbmRhbG9uZSBjb2x1bW4gbWVudVxuICAgIC5rLWdyaWQtY29sdW1uLW1lbnUtc3RhbmRhbG9uZSBhLmstZ3JpZC1maWx0ZXIge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYmxvY2s6IC00cHg7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDRweDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDhweDtcbiAgICB9XG5cbiAgICAvLyBGaWx0ZXIgcm93XG4gICAgLmstZmlsdGVyLXJvdyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZm9ybS1saW5lLWhlaWdodDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6ICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICAuay10YWJsZS10ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbXVsdGlzZWxlY3Qge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZmlsdGVyY2VsbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgPiBzcGFuLFxuICAgICAgICAuay1maWx0ZXJjZWxsLXdyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgICAgICAgICA+IC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gR3JpZCBjb250ZW50XG4gICAgLmstZ3JpZC1jb250ZW50LFxuICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICAgLmstdGFibGUtcm93Omxhc3QtY2hpbGQgPiB0ZCxcbiAgICAgICAgLmstdGFibGUtcm93Omxhc3QtY2hpbGQgPiAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZC1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAvLyBWaXJ0dWFsaXphdGlvblxuICAgIC5rLXZpcnR1YWwtc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBFZGl0IHJvd1xuICAgIC5rLWdyaWQgLmstZWRpdC1jZWxsLFxuICAgIC5rLWdyaWQgLmstY29tbWFuZC1jZWxsLFxuICAgIC5rLWdyaWQgLmstZ3JpZC1lZGl0LXJvdyB0ZCxcbiAgICAuay1ncmlkIC5rLWdyaWQtZWRpdC1yb3cgLmstdGFibGUtdGQge1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgIH1cblxuICAgIC5rLWdyaWQgLmstZWRpdC1jZWxsLFxuICAgIC5rLWdyaWQgLmstZ3JpZC1lZGl0LXJvdyB0ZCxcbiAgICAuay1ncmlkIC5rLWdyaWQtZWRpdC1yb3cgLmstdGFibGUtdGQge1xuXG4gICAgICAgID4gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKSxcbiAgICAgICAgPiBzZWxlY3QsXG4gICAgICAgID4gLmstd2lkZ2V0Om5vdCguay1zd2l0Y2gpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgICAgPiAuay1yYWRpbyxcbiAgICAgICAgPiAuay1jaGVja2JveCxcbiAgICAgICAgPiAuay1yYWRpby13cmFwLFxuICAgICAgICA+IC5rLWNoZWNrYm94LXdyYXAge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyaWQgLmstY29tbWFuZC1jZWxsID4gLmstYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby1ncmlkLWNvbW1hbmQtY2VsbC1idXR0b24tc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSZXNpemUgaGFuZGxlXG4gICAgLmstZ3JpZCA+IC5rLXJlc2l6ZS1oYW5kbGUsXG4gICAgLmstZ3JpZC1oZWFkZXIgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3Rpb24gQWdncmVnYXRlc1xuICAgIC5rLXNlbGVjdGlvbi1hZ2dyZWdhdGVzIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogJGtlbmRvLWdyaWQtc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtc3BhY2luZztcbiAgICB9XG4gICAgLmstc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtaXRlbS12YWx1ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1mb250LXdlaWdodDtcbiAgICB9XG5cblxuICAgIC8vIFBhZ2VyXG4gICAgLmstZ3JpZC1wYWdlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLWdyaWQtcGFnZXItdG9wIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgIH1cblxuICAgIC5rLWdyaWQtdmlydHVhbCAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAuay1ncmlkLXRhYmxlLXdyYXAge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtdGFibGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuay1oZWlnaHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay13aWR0aC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay13aWR0aC1jb250YWluZXIgIGRpdiB7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgIH1cblxuICAgIC5rLWdyaWQtYWRkLXJvdyB0ZCxcbiAgICAuay1ncmlkLWFkZC1yb3cgLmstdGFibGUtdGQge1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC8vIExvY2tlZCBjb2x1bW5zXG4gICAgLmstZ3JpZC1sb2NrZWRjb2x1bW5zIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuay1ncmlkLWNvbnRlbnQsXG4gICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCxcbiAgICAuay1ncmlkLWZvb3Rlci1sb2NrZWQsXG4gICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAka2VuZG8tZ3JpZC1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgJiArIC5rLWdyaWQtY29udGVudC5rLWF1dG8tc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLWNvbnRlbnQsXG4gICAgLmstZ3JpZC1mb290ZXItd3JhcCxcbiAgICAuay1ncmlkLWhlYWRlci13cmFwIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAmLmstYXV0by1zY3JvbGxhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkID4gLmstZ3JpZC1oZWFkZXItdGFibGUsXG4gICAgLmstZ3JpZC1oZWFkZXItd3JhcCA+IC5rLWdyaWQtaGVhZGVyLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICB9XG5cbiAgICAuay1ncmlkLWhlYWRlciAuay10YWJsZS10aC5rLWdyaWQtaGVhZGVyLXN0aWNreSxcbiAgICAuay1ncmlkLWhlYWRlciAuay1maWx0ZXItcm93IC5rLWdyaWQtaGVhZGVyLXN0aWNreSxcbiAgICAuay1ncmlkIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgLmstZ3JpZCAuay1ncmlkLXJvdy1zdGlja3ksXG4gICAgLmstZ3JpZCAuay1ncmlkLWZvb3Rlci1zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICYuay1lZGl0LWNlbGwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbWFzdGVyLXJvdyAuay1ncmlkLWNvbnRlbnQtc3RpY2t5OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAga2VuZG8tZ3JpZCB7XG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWdyaWQtcm93LXN0aWNreSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgei1pbmRleDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSB0ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1ncmlkLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRrZW5kby1ncmlkLWJvcmRlci13aWR0aDtcblxuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvdHRvbTogaW5oZXJpdDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay10YWJsZS1hbHQtcm93IHRkLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IC5rLXRhYmxlLXRkLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstdGFibGUtYWx0LXJvdyAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvY2tlZCBhbmQgc3RpY2t5XG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCAuay10YWJsZS10aC5rLWdyaWQtaGVhZGVyLXN0aWNreTpsYXN0LWNoaWxkLFxuICAgICAgICAuay1ncmlkLWNvbnRlbnQtbG9ja2VkIC5rLXRhYmxlLXJvdyAuay1ncmlkLWNvbnRlbnQtc3RpY2t5Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWhlYWRlciAuay1ncmlkLWNvbHVtbi1tZW51LFxuICAgICAgICAuay1ncmlkLWhlYWRlciAuay1ncmlkLWhlYWRlci1tZW51IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAuay1ncmlkIC5rLXRhYmxlIC5rLWdyaWQtaGVhZGVyLXN0aWNreSxcbiAgICAuay1ncmlkIC5rLXRhYmxlIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgLmstZ3JpZCAuay10YWJsZSAuay1ncmlkLWZvb3Rlci1zdGlja3kge1xuICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGtlbmRvLWdyaWQtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg7XG5cbiAgICAgICAgJjpub3QoW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0pICsgdGQsXG4gICAgICAgICY6bm90KFtzdHlsZSo9XCJkaXNwbGF5OiBub25lXCJdKSArIC5rLXRhYmxlLXRkLFxuICAgICAgICAmOm5vdChbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSkgKyAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZCAuay1ncmlkLXJvdy1zdGlja3kge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAka2VuZG8tZ3JpZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRrZW5kby1ncmlkLWJvcmRlci13aWR0aDtcbiAgICB9XG5cbiAgICAuay1ncmlkLWhlYWRlci1zdGlja3kuay10YWJsZS10aC5rLWdyaWQtbm8tbGVmdC1ib3JkZXIuay1maXJzdCB7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstZ3JpZC5rLWdyaWQtbm8tc2Nyb2xsYmFyIHtcblxuICAgICAgICAuay1ncmlkLWhlYWRlci13cmFwLFxuICAgICAgICAuay1ncmlkLWZvb3Rlci13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLFxuICAgICAgICAuay1ncmlkLWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncmlkLW5vcmVjb3JkcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBkaXYuay1ncmlkLW5vcmVjb3JkcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1ub3JlY29yZHMtdGVtcGxhdGUge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIHdpZHRoOiAyMGVtO1xuICAgICAgICBoZWlnaHQ6IDRlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0ZW07XG4gICAgfVxuXG4gICAgLmstY29sdW1uLXRpdGxlIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBHcmlkIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1ncmlkLXNpemVzIHtcbiAgICAgICAgJF9oZWFkZXItcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBoZWFkZXItcGFkZGluZy14ICk7XG4gICAgICAgICRfaGVhZGVyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgaGVhZGVyLXBhZGRpbmcteSApO1xuICAgICAgICAkX2dyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGdyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9ncm91cGluZy1oZWFkZXItcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBncm91cGluZy1oZWFkZXItcGFkZGluZy15ICk7XG4gICAgICAgICRfY2VsbC1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNlbGwtcGFkZGluZy14ICk7XG4gICAgICAgICRfY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGNlbGwtcGFkZGluZy15ICk7XG4gICAgICAgICRfZmlsdGVyLWNlbGwtcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBmaWx0ZXItY2VsbC1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9maWx0ZXItY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGZpbHRlci1jZWxsLXBhZGRpbmcteSApO1xuICAgICAgICAkX2VkaXQtY2VsbC1wYWRkaW5nLXg6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGVkaXQtY2VsbC1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9lZGl0LWNlbGwtcGFkZGluZy15OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBlZGl0LWNlbGwtcGFkZGluZy15ICk7XG4gICAgICAgICRfYnV0dG9uLXBhZGRpbmcteTogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgYnV0dG9uLXBhZGRpbmcteSApO1xuICAgICAgICAkX2J1dHRvbi1jYWxjLXNpemU6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGJ1dHRvbi1jYWxjLXNpemUgKTtcbiAgICAgICAgJF9idXR0b24tbGluZS1oZWlnaHQ6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIGJ1dHRvbi1saW5lLWhlaWdodCApO1xuICAgICAgICAkX2dyb3VwLWRyb3BjbHVlLWhlaWdodDogay1tYXAtZ2V0KCAkc2l6ZS1wcm9wcywgZ3JvdXAtZHJvcGNsdWUtaGVpZ2h0ICk7XG4gICAgICAgICRfc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy14OiBrLW1hcC1nZXQoICRzaXplLXByb3BzLCBzZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXggKTtcbiAgICAgICAgJF9zZWxlY3Rpb24tYWdncmVnYXRlcy1wYWRkaW5nLXk6IGstbWFwLWdldCggJHNpemUtcHJvcHMsIHNlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteSApO1xuXG4gICAgICAgIC5rLWdyaWQgLmstZ3JpZC0jeyRzaXplfSxcbiAgICAgICAgLmstZ3JpZC0jeyRzaXplfSB7XG5cbiAgICAgICAgICAgIC5rLXRhYmxlLXRoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2hlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9jZWxsLXBhZGRpbmcteDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JvdXBpbmctaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2dyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICBnYXA6ICRfZ3JvdXBpbmctaGVhZGVyLXBhZGRpbmcteTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0kX2dyb3VwaW5nLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ncmlkLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgLmstdGFibGUtdGggPiAuay1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAoLSRfaGVhZGVyLXBhZGRpbmcteSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICgtJF9oZWFkZXItcGFkZGluZy14KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9oZWFkZXItcGFkZGluZy15O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJF9oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLWdyaWQtZmlsdGVyLFxuICAgICAgICAgICAgICAgIC5rLWhlYWRlci1jb2x1bW4tbWVudSxcbiAgICAgICAgICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJF9idXR0b24tcGFkZGluZy15O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJF9idXR0b24tY2FsYy1zaXplO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRfYnV0dG9uLWNhbGMtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfYnV0dG9uLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoICN7JF9oZWFkZXItcGFkZGluZy15fSArICN7ay1tYXRoLWRpdiggJGtlbmRvLWxpbmUtaGVpZ2h0LWVtLCAyKX0gLSAje2stbWF0aC1kaXYoICRrZW5kby1idXR0b24taW5uZXItY2FsYy1zaXplLCAyICl9ICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10YWJsZS10aCB7XG4gICAgICAgICAgICAgICAgPiAuay1jZWxsLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAoLSRfaGVhZGVyLXBhZGRpbmcteSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6ICgtJF9oZWFkZXItcGFkZGluZy14KTtcblxuICAgICAgICAgICAgICAgICAgICA+IC5rLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9oZWFkZXItcGFkZGluZy15O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JvdXBpbmctcm93IC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoICN7ay1tYXRoLWRpdiggJGtlbmRvLWljb24tc2l6ZSwgMiApfSAtICN7JF9jZWxsLXBhZGRpbmcteH0gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JvdXBpbmctZHJvcGNsdWUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogJF9ncm91cC1kcm9wY2x1ZS1oZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsLFxuICAgICAgICAgICAgLmstZHJhZy1jZWxsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vIEVkaXQgcm93XG4gICAgICAgICAgICAuay1lZGl0LWNlbGwsXG4gICAgICAgICAgICAuay1jb21tYW5kLWNlbGwsXG4gICAgICAgICAgICAuay1ncmlkLWVkaXQtcm93IHRkLFxuICAgICAgICAgICAgLmstZ3JpZC1lZGl0LXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9lZGl0LWNlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX2VkaXQtY2VsbC1wYWRkaW5nLXg7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gRmlsdGVyIHJvd1xuICAgICAgICAgICAgLmstZmlsdGVyLXJvdyB7XG4gICAgICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICAgICAgLmstdGFibGUtdGQsXG4gICAgICAgICAgICAgICAgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkX2ZpbHRlci1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfZmlsdGVyLWNlbGwtcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlsdGVyY2VsbCB7XG4gICAgICAgICAgICAgICAgPiBzcGFuLFxuICAgICAgICAgICAgICAgIC5rLWZpbHRlcmNlbGwtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogay1tYXRoLWRpdiggJF9jZWxsLXBhZGRpbmcteSwgMiApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAvLyBTZWxlY3Rpb24gQWdncmVnYXRlc1xuICAgICAgICAgICAgLmstc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRfc2VsZWN0aW9uLWFnZ3JlZ2F0ZXMtcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkX3NlbGVjdGlvbi1hZ2dyZWdhdGVzLXBhZGRpbmcteTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVzaXppbmcgd3JhcHBlclxuICAgICAgICAgICAgLmstcmVzaXplci13cmFwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKCAjeyRfZWRpdC1jZWxsLXBhZGRpbmcteX0gLSAjeyRrZW5kby1ncmlkLXJvdy1yZXNpemVyLWhlaWdodH0gKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogJF9lZGl0LWNlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcm93LXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8vIFBERiBleHBvcnRcbiAgICAuay1sb2FkaW5nLXBkZi1tYXNrIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICA+IC5rLWktbG9hZGluZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxvYWRpbmctcGRmLXByb2dyZXNzIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstcGRmLWV4cG9ydCAuay1sb2FkaW5nLXBkZi1tYXNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuay1ncmlkLXBkZi1leHBvcnQtZWxlbWVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTEwMDAwcHg7XG4gICAgICAgIHRvcDogLTEwMDAwcHg7XG5cbiAgICAgICAgLmstZmlsdGVyLXJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIEdyaWQgc2Nyb2xsYmFyIGR1cmluZyBidWlsdC1pbiBleHBvcnRcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAuay1wZGYtZXhwb3J0LXNoYWRvdyB7XG4gICAgICAgIC5rLWdyaWQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIGFsbCBzaXplcyBhbmQgc2Nyb2xsaW5nXG4gICAgICAgIC5rLWdyaWQsXG4gICAgICAgIC5rLWdyaWQtY29udGVudCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIHtcbiAgICAgICAgICAgICYgKyAuay1ncmlkLWhlYWRlci13cmFwLFxuICAgICAgICAgICAgJiArIC5rLWdyaWQtY29udGVudCxcbiAgICAgICAgICAgICYgKyAuay1ncmlkLWZvb3Rlci13cmFwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIGVtcHR5IHNwYWNlIHJlc2VydmVkIGFib3ZlIC5rLXRhYmxlLXRoZSBzY3JvbGxiYXJcbiAgICAgICAgLmstZ3JpZC1oZWFkZXIsXG4gICAgICAgIC5rLWdyaWRbZGF0YS1yb2xlPVwiZ3JpZFwiXSAuay1ncmlkLWZvb3RlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuXG4gICAgLy8gRmlsdGVyIG1lbnVcbiAgICAuay1maWx0ZXItbWVudS1wb3B1cCB7XG4gICAgICAgIG1pbi13aWR0aDogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtd2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbWF4LXdpZHRoO1xuICAgIH1cbiAgICAuay1maWx0ZXItbWVudSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5rLWZpbHRlci1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG5cbiAgICAgICAgLmstZmlsdGVyLWFuZCB7XG4gICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFuZ3VsYXIgc3BlY2lmaWNcbiAgICAgICAga2VuZG8tbnVtZXJpYy1maWx0ZXItbWVudSxcbiAgICAgICAga2VuZG8tZ3JpZC1zdHJpbmctZmlsdGVyLW1lbnUsXG4gICAgICAgIGtlbmRvLWdyaWQtZGF0ZS1maWx0ZXItbWVudSxcbiAgICAgICAga2VuZG8tZ3JpZC1udW1lcmljLWZpbHRlci1tZW51LFxuICAgICAgICBrZW5kby1ncmlkLWZpbHRlci1tZW51LWlucHV0LXdyYXBwZXIsXG4gICAgICAgIGtlbmRvLXRyZWVsaXN0LXN0cmluZy1maWx0ZXItbWVudSxcbiAgICAgICAga2VuZG8tdHJlZWxpc3QtZGF0ZS1maWx0ZXItbWVudSxcbiAgICAgICAga2VuZG8tdHJlZWxpc3QtbnVtZXJpYy1maWx0ZXItbWVudSxcbiAgICAgICAga2VuZG8tdHJlZWxpc3QtZmlsdGVyLW1lbnUtaW5wdXQtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBnYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWZpbHRlci1tZW51LmstcG9wdXAsXG4gICAgLmstZ3JpZC1maWx0ZXItcG9wdXAuay1wb3B1cCB7XG5cbiAgICAgICAgLmstZmlsdGVyLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtd2lkdGg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LW1heC13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBvcHVwIC5rLW11bHRpY2hlY2std3JhcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWxpc3QtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpc3QtbGluZS1oZWlnaHQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIC5rLWl0ZW0sXG4gICAgICAgIC5rLWNoZWNrLWFsbC13cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWxpc3QtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbGlzdC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1maWx0ZXItc2VsZWN0ZWQtaXRlbXMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBhdXRvZml0dGluZyByZXF1aXJlcyBhdXRvbWF0aWMgdGFibGUgbGF5b3V0IHRvIG1lYXN1cmUgc2l6ZXNcbiAgICAuay1hdXRvZml0dGluZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIHRhYmxlLWxheW91dDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5rLXRhYmxlLXRoLFxuICAgICAgICB0ZCxcbiAgICAgICAgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgLmstZGV0YWlsLXJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gQ29sdW1uIG1lbnVcbiAgICAuay1jb2x1bW4tbWVudS1wb3B1cCxcbiAgICAuay1ncmlkLWNvbHVtbm1lbnUtcG9wdXAge1xuICAgICAgICBtaW4td2lkdGg6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXdpZHRoO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICYuay1wb3B1cCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1wb3B1cC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtcG9wdXAtcGFkZGluZy14O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1tYXgtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC5rLWNvbHVtbi1tZW51IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAuay1tZW51Om5vdCguay1jb250ZXh0LW1lbnUpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1leHBhbmRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAuay1jb2x1bW5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1jb2x1bW4tbWVudS10YWJiZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItcmFkaXVzICRrZW5kby10YWJzdHJpcC1pdGVtLWJvcmRlci1yYWRpdXMgMCAwO1xuXG4gICAgICAgIC5rLXRhYnN0cmlwLWl0ZW1zIHtcbiAgICAgICAgICAgIG1hcmdpbjogKC0ka2VuZG8tdGFic3RyaXAtaXRlbS1ib3JkZXItd2lkdGgpICgtJGtlbmRvLXRhYnN0cmlwLWl0ZW0tYm9yZGVyLXdpZHRoKSAwO1xuXG4gICAgICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYnN0cmlwLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC10YWJzdHJpcC1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNvbHVtbi1saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIC5rLWNvbHVtbi1jaG9vc2VyLXRpdGxlLFxuICAgIC5rLWNvbHVtbi1saXN0LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1saXN0LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtbGlzdC1pdGVtLXBhZGRpbmcteDtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuay1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jb2x1bW5zLWl0ZW1zLXdyYXAge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1pdGVtcy13cmFwLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW1zLXdyYXAtcGFkZGluZy14O1xuICAgIH1cblxuICAgIC5rLWNvbHVtbm1lbnUtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICA+IC5rLWljb24sXG4gICAgICAgID4gLmstZXhwYW5kZXItaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY29sdW1ubWVudS1pdGVtLXdyYXBwZXIgKyAuay1jb2x1bW5tZW51LWl0ZW0td3JhcHBlciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGtlbmRvLXBvcHVwLWJvcmRlcjtcbiAgICB9XG5cbiAgICAuay1jb2x1bW5tZW51LWl0ZW0tY29udGVudCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5rLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci10ZXh0IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLWJvcmRlci1ib3R0b20td2lkdGg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAuay1ydGwgLmstZ3JpZC12aXJ0dWFsIC5rLWdyaWQtY29udGVudCxcbiAgICBbZGlyPVwicnRsXCJdIC5rLWdyaWQtdmlydHVhbCAuay1ncmlkLWNvbnRlbnQsXG4gICAgLmstcnRsLmstZ3JpZC12aXJ0dWFsIC5rLWdyaWQtY29udGVudCxcbiAgICBbZGlyPVwicnRsXCJdLmstZ3JpZC12aXJ0dWFsIC5rLWdyaWQtY29udGVudCB7XG5cbiAgICAgICAgLmstZ3JpZC10YWJsZS13cmFwLFxuICAgICAgICAuay1ncmlkLXRhYmxlLFxuICAgICAgICA+IC5rLWhlaWdodC1jb250YWluZXIge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWdyaWQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1ncmlkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWdyaWQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1ncmlkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZ3JpZC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9ncmlkL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZ3JpZC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWdyaWQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1ncmlkLWhlYWRlcixcbiAgICAuay1ncmlkLWhlYWRlci13cmFwLFxuICAgIC5rLWdyb3VwaW5nLWhlYWRlcixcbiAgICAuay1ncmlkIC5rLXRhYmxlLXRoLFxuICAgIC5rLWdyaWQgdGQsXG4gICAgLmstZ3JpZCAuay10YWJsZS10ZCxcbiAgICAuay1ncmlkLWZvb3RlcixcbiAgICAuay1ncmlkLWZvb3Rlci13cmFwLFxuICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQsXG4gICAgLmstZ3JpZC1mb290ZXItbG9ja2VkLFxuICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCxcbiAgICAuay1maWx0ZXItcm93ID4gLmstdGFibGUtdGgsXG4gICAgLmstZmlsdGVyLXJvdyA+IHRkLFxuICAgIC5rLWZpbHRlci1yb3cgPiAuay10YWJsZS10ZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXIgKTtcbiAgICB9XG5cbiAgICAuay1ncmlkLWhlYWRlcixcbiAgICAuay1ncm91cGluZy1oZWFkZXIsXG4gICAgLmstZ3JpZC1hZGQtcm93LFxuICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRjb2xvcjogJGtlbmRvLWdyaWQtaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAkYmc6ICRrZW5kby1ncmlkLWhlYWRlci1iZ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWdyaWQgLmstdGFibGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5rLWdyaWQtdG9vbGJhciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIGluaGVyaXQsXG4gICAgICAgICAgICBudWxsXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coIG5vbmUgKTtcbiAgICB9XG5cbiAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAvLyBzZXR0aW5nIHRoaXMgYmFja2dyb3VuZCBjb2xvciByZXNvbHZlcyBnbGl0Y2hlcyBpbiBpT1NcbiAgICAgICAgQGluY2x1ZGUgZmlsbCgkYmc6ICRrZW5kby1ncmlkLWJnICk7XG4gICAgfVxuXG4gICAgLmstZ3JvdXAtZm9vdGVyIHRkLFxuICAgIC5rLWdyb3VwaW5nLXJvdyB0ZCxcbiAgICAuay1ncm91cC1mb290ZXIgLmstdGFibGUtdGQsXG4gICAgLmstZ3JvdXBpbmctcm93IC5rLXRhYmxlLXRkLFxuICAgIC5rLXRhYmxlLXRib2R5IC5rLWdyb3VwLWNlbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctdGV4dCxcbiAgICAgICAgICAgICRiZzogJGtlbmRvLWdyaWQtZ3JvdXBpbmctcm93LWJnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstZ3JvdXBpbmctZHJvcGNsdWUge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItdGV4dCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRrZW5kby1ncmlkLXRleHQsICRrZW5kby1ncmlkLWJnLCAka2VuZG8tZ3JpZC1ib3JkZXIgKTtcblxuICAgICAgICAvLyBBbHQgcm93XG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXRhYmxlLWFsdC1yb3cge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtYWx0LWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgLmstdGFibGUtdGJvZHkgPiAuay10YWJsZS1yb3c6bm90KC5rLWRldGFpbC1yb3cpOmhvdmVyLFxuICAgICAgICAuay10YWJsZS10Ym9keSA+IC5rLXRhYmxlLXJvdzpub3QoLmstZGV0YWlsLXJvdykuay1ob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdyaWQtaG92ZXItdGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLWhvdmVyLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgdGQuay1zZWxlY3RlZCxcbiAgICAgICAgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQgPiB0ZCxcbiAgICAgICAgLmstdGFibGUtdGQuay1zZWxlY3RlZCxcbiAgICAgICAgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQgPiAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdyaWQtc2VsZWN0ZWQtdGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXNlbGVjdGVkLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXNlZCBzdGF0ZVxuICAgICAgICAuay10YWJsZS10aCxcbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1tYXN0ZXItcm93ID4gdGQsXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyA+IHRkLFxuICAgICAgICAuay1kZXRhaWwtcm93ID4gdGQsXG4gICAgICAgIC5rLWdyb3VwLWZvb3RlciA+IHRkLFxuICAgICAgICAuay1tYXN0ZXItcm93ID4gLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyA+IC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1kZXRhaWwtcm93ID4gLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyb3VwLWZvb3RlciA+IC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1ncmlkLXBhZ2VyIHtcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLWdyaWQtZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWZpbHRlcixcbiAgICAgICAgLmstaGVhZGVyLWNvbHVtbi1tZW51LFxuICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51LFxuICAgICAgICAuay1oaWVyYXJjaHktY2VsbCAuay1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyb3VwaW5nLXJvdyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1ncm91cGluZy1yb3ctYmc7XG5cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItdGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncmlkLWhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb2NrZWQgY29sdW1uc1xuICAgICAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQsXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCAuay10YWJsZS10aCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB0ZCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB7XG4gICAgICAgICAgICAuay1ncm91cC1mb290ZXIgdGQsXG4gICAgICAgICAgICAuay1ncm91cC1mb290ZXIgLmstdGFibGUtdGQsXG4gICAgICAgICAgICAuay1ncm91cC1jZWxsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWdyb3VwaW5nLXJvdyArIC5rLXRhYmxlLXJvdyB0ZCxcbiAgICAgICAgICAgIC5rLWdyb3VwaW5nLXJvdyArIC5rLXRhYmxlLXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkIHRkLFxuICAgICAgICAgICAgLmstc2VsZWN0ZWQgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdyB0ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkIGhvdmVyXG4gICAgICAgICAgICAuay1zZWxlY3RlZDpob3ZlciB0ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstaG92ZXIgdGQsXG4gICAgICAgICAgICAuay1zZWxlY3RlZDpob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstaG92ZXIgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWhvdmVyLWJnICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbC5rLXNvcnRlZCxcbiAgICAuay10YWJsZS10aC5rLXNvcnRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXNvcnRlZC1iZztcbiAgICB9XG5cbiAgICAvLyBHcmlkIGhlYWRlclxuICAgIC5rLWdyaWQtaGVhZGVyIHtcblxuICAgICAgICAuay1zb3J0LWljb24sXG4gICAgICAgIC5rLXNvcnQtb3JkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1ncmlkLXNvcnRpbmctaW5kaWNhdG9yLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWZpbHRlcixcbiAgICAgICAgLmstaGVhZGVyLWNvbHVtbi1tZW51LFxuICAgICAgICAuay1ncmlkLWhlYWRlci1tZW51LFxuICAgICAgICAuay1oaWVyYXJjaHktY2VsbCAuay1pY29uIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tYnV0dG9uLWhvdmVyLXRleHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWJ1dHRvbi1ob3Zlci1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggaW5zZXQgMCAwIDAgMnB4IHJnYmEoICRrZW5kby1jb2xvci1ibGFjaywgLjEgKSwgdHJ1ZSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zZWxlY3RlZC10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zZWxlY3RlZC1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXRoLmstZ3JpZC1oZWFkZXItc3RpY2t5LFxuICAgICAgICB0ZC5rLWdyaWQtaGVhZGVyLXN0aWNreSxcbiAgICAgICAgLmstdGFibGUtdGQuay1ncmlkLWhlYWRlci1zdGlja3ksXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLXN0aWNreS5rLXNvcnRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci10ZXh0LFxuICAgICAgICAgICAgICAgICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LWhlYWRlci1iZ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyaWQgZm9vdGVyXG4gICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWdyaWQtZm9vdGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1mb290ZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1mb290ZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIC5rLWdyaWQtZm9vdGVyLXN0aWNreSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1mb290ZXItYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWxlY3Rpb24gQWdncmVnYXRlc1xuICAgIC5rLXNlbGVjdGlvbi1hZ2dyZWdhdGVzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1iZyxcbiAgICAgICAgICAgICRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1tYXN0ZXItcm93IHtcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRhYmxlLWFsdC1yb3cge1xuICAgICAgICAgICAgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktYWx0LWJnICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgICAgICAmLmstdGFibGUtcm93Lmstc2VsZWN0ZWQgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAmLmstdGFibGUtcm93Lmstc2VsZWN0ZWQgLmstdGFibGUtdGQuay1ncmlkLXJvdy1zdGlja3ksXG4gICAgICAgICYuay10YWJsZS1yb3cgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQsXG4gICAgICAgICYuay10YWJsZS1yb3cgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktYmcgKTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAmLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93IC5rLXRhYmxlLXRkLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgICAgICAmLmstdGFibGUtYWx0LXJvdyB0ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCxcbiAgICAgICAgJi5rLXRhYmxlLWFsdC1yb3cgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktYWx0LWJnICk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1hbHQtYmcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1hbHQtYmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gSG92ZXJlZCBzdGF0ZVxuICAgICAgICAmOmhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICY6aG92ZXIgLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgICAgICAmLmstaG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLWhvdmVyIC5rLWdyaWQtcm93LXN0aWNreSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFNlbGVjdGVkIGhvdmVyXG4gICAgICAgICYuay1zZWxlY3RlZDpob3ZlciB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICYuay1zZWxlY3RlZDpob3ZlciAuay10YWJsZS10ZC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAgICAgJi5rLXNlbGVjdGVkLmstaG92ZXIgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAmLmstc2VsZWN0ZWQuay1ob3ZlciAuay10YWJsZS10ZC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAgICAgJjpob3ZlciB0ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCxcbiAgICAgICAgJi5rLWhvdmVyIHRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkLFxuICAgICAgICAmOmhvdmVyIC5rLXRhYmxlLXRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkLFxuICAgICAgICAmLmstaG92ZXIgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWhvdmVyLWJnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1ob3Zlci1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGtlbmRvLWdyaWQuay1ncmlkIHtcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYmc7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSB7XG4gICAgICAgICAgICB0ZCxcbiAgICAgICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHRkLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHRkLFxuICAgICAgICAgICAgJjpob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgICAgICYuay1ob3ZlciAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtYWx0LXJvdyAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay10YWJsZS1hbHQtcm93IHRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay10YWJsZS1hbHQtcm93IC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LWFsdC1iZyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstc2VsZWN0ZWQuay1ncmlkLXJvdy1zdGlja3kgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSB0ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLWdyaWQtcm93LXN0aWNreSAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IC5rLXRhYmxlLXRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1iZyApO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1iZyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93IC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdy5rLWdyaWQtcm93LXN0aWNreSB0ZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93LmstZ3JpZC1yb3ctc3RpY2t5IC5rLXRhYmxlLXRkLFxuICAgICAgICAuay10YWJsZS1hbHQtcm93IC5rLXNlbGVjdGVkLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmcgKTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWFsdC1iZyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWFsdC1iZyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgLmstdGFibGUtcm93OmhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreTpob3ZlciB0ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstaG92ZXIgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLXRhYmxlLWFsdC1yb3c6aG92ZXIgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLXRhYmxlLWFsdC1yb3cuay1ob3ZlciB0ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5OmhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay1ob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstdGFibGUtYWx0LXJvdzpob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstdGFibGUtYWx0LXJvdy5rLWhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay10YWJsZS1hbHQtcm93OmhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLXRhYmxlLWFsdC1yb3cuay1ob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkICsgSG92ZXJcbiAgICAgICAgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQ6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQuay1ob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1zZWxlY3RlZC5rLWdyaWQtcm93LXN0aWNreTpob3ZlciB0ZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay1ncmlkLXJvdy1zdGlja3kuay1ob3ZlciB0ZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93LmstZ3JpZC1yb3ctc3RpY2t5OmhvdmVyIHRkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cuay1ncmlkLXJvdy1zdGlja3kuay1ob3ZlciB0ZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay1ncmlkLXJvdy1zdGlja3k6aG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZ3JpZC1yb3ctc3RpY2t5LmstaG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdy5rLWdyaWQtcm93LXN0aWNreTpob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93LmstZ3JpZC1yb3ctc3RpY2t5LmstaG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdzpob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cuay1ob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3k6aG92ZXIgdGQuay1zZWxlY3RlZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstaG92ZXIgdGQuay1zZWxlY3RlZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5OmhvdmVyIC5rLXRhYmxlLXRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLWhvdmVyIC5rLXRhYmxlLXRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXRhYmxlLXJvdzpob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtaG92ZXItYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstZ3JvdXBpbmctcm93IHtcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYmcgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLWhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmcgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWNvbHVtbi1saXN0LWl0ZW06aG92ZXIsXG4gICAgLmstY29sdW1ubWVudS1pdGVtOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0taG92ZXItYmdcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstY29sdW1uLWxpc3QtaXRlbTpmb2N1cyxcbiAgICAuay1jb2x1bW4tbGlzdC1pdGVtLmstZm9jdXMsXG4gICAgLmstY29sdW1ubWVudS1pdGVtOmZvY3VzLFxuICAgIC5rLWNvbHVtbm1lbnUtaXRlbS5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tbGlzdC1pdGVtLWZvY3VzLXNoYWRvdywgdHJ1ZSApO1xuICAgIH1cblxuICAgIC5rLWNvbHVtbm1lbnUtaXRlbSB7XG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY29sdW1uLW1lbnUge1xuXG4gICAgICAgIC5rLW1lbnU6bm90KC5rLWNvbnRleHQtbWVudSkge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1wb3B1cC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1wb3B1cC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcG9wdXAtYm9yZGVyXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tYmdcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWJnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93LCB0cnVlICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWNvbHVtbi1tZW51LXRhYmJlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LXRhYmJlZC1iZztcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1ncmlkLWNvbHVtbi1tZW51LWdyb3VwLWhlYWRlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1jaGVjay1hbGwtd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1wb3B1cC1ib3JkZXIgKTtcbiAgICB9XG5cbiAgICAuay1ncmlkLW5vcmVjb3Jkcy10ZW1wbGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1ncmlkLWJvcmRlcjtcbiAgICB9XG5cbiAgICAvLyBSb3cgcmVzaXppbmdcbiAgICAuay1yZXNpemVyLXdyYXAge1xuXG4gICAgICAgICYuay1ob3ZlciAuay1yb3ctcmVzaXplciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXJvdy1yZXNpemVyLWhvdmVyLWJnICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstYWN0aXZlIC5rLXJvdy1yZXNpemVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtcm93LXJlc2l6ZXItYWN0aXZlLWJnICk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1ncmlkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1ncmlkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZ3JpZC0tdGhlbWUoKSB7XG5cbiAgICAvLyBUaGVtZVxuICAgIC5rLWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAka2VuZG8tZ3JpZC10ZXh0LCAka2VuZG8tZ3JpZC1iZywgJGtlbmRvLWdyaWQtYm9yZGVyICk7XG5cbiAgICAgICAgLmstdGFibGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LFxuICAgICAgICAuay1ncmlkLWhlYWRlci1sb2NrZWQsXG4gICAgICAgIC5rLWdyaWQtY29udGVudC1sb2NrZWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tZ3JpZC1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbHQgcm93XG4gICAgICAgIC5rLXRhYmxlLWFsdC1yb3cge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1ncmlkLWFsdC10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtYWx0LWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgdGJvZHk+dHI6bm90KC5rLWRldGFpbC1yb3cpOmhvdmVyLFxuICAgICAgICAuay10YWJsZS10Ym9keT4uay10YWJsZS1yb3c6bm90KC5rLWRldGFpbC1yb3cpLmstaG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1ncmlkLWhvdmVyLXRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1ob3Zlci1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgIC5rLXRhYmxlLXRoLmstc2VsZWN0ZWQsXG4gICAgICAgIHRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXRhYmxlLXRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gdGQsXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkID4gLmstdGFibGUtdGQge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1ncmlkLXNlbGVjdGVkLXRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zZWxlY3RlZC1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzZWQgc3RhdGVcbiAgICAgICAgLmstdGFibGUtdGgsXG4gICAgICAgIHRkLFxuICAgICAgICAuay10YWJsZS10ZCxcbiAgICAgICAgLmstbWFzdGVyLXJvdyA+IHRkLFxuICAgICAgICAuay1ncm91cGluZy1yb3cgPiB0ZCxcbiAgICAgICAgLmstZGV0YWlsLXJvdyA+IHRkLFxuICAgICAgICAuay1ncm91cC1mb290ZXIgPiB0ZCxcbiAgICAgICAgLmstbWFzdGVyLXJvdyA+IC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1ncm91cGluZy1yb3cgPiAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZGV0YWlsLXJvdyA+IC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1ncm91cC1mb290ZXIgPiAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZ3JpZC1wYWdlciB7XG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tZ3JpZC1mb2N1cy1zaGFkb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb2wuay1zb3J0ZWQsXG4gICAgICAgIC5rLXRhYmxlLXRoLmstc29ydGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXNvcnRlZC1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvY2tlZFxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIC5rLWhlYWRlcixcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB0ZCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1oZWFkZXItbG9ja2VkIC5rLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAka2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1jb250ZW50LWxvY2tlZCB7XG4gICAgICAgICAgICAuay1ncm91cC1mb290ZXIgdGQsXG4gICAgICAgICAgICAuay1ncm91cC1mb290ZXIgLmstdGFibGUtdGQsXG4gICAgICAgICAgICAuay1ncm91cC1jZWxsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tZ3JpZC1oZWFkZXItYm9yZGVyICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWdyb3VwaW5nLXJvdyArIC5rLXRhYmxlLXJvdyB0ZCxcbiAgICAgICAgICAgIC5rLWdyb3VwaW5nLXJvdyArIC5rLXRhYmxlLXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkIHRkLFxuICAgICAgICAgICAgLmstc2VsZWN0ZWQgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdyB0ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYWx0LWJnICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlbGVjdGVkIGhvdmVyXG4gICAgICAgICAgICAuay1zZWxlY3RlZDpob3ZlciB0ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstaG92ZXIgdGQsXG4gICAgICAgICAgICAuay1zZWxlY3RlZDpob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgICAgIC5rLXNlbGVjdGVkLmstaG92ZXIgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWhvdmVyLWJnICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1ncmlkLXRvb2xiYXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICBpbmhlcml0LFxuICAgICAgICAgICAgbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gR3JvdXBpbmcgaGVhZGVyXG4gICAgLmstZ3JvdXBpbmctaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLWdyaWQtaGVhZGVyLXRleHQsICRrZW5kby1ncmlkLWhlYWRlci1iZywgJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlciApO1xuICAgIH1cblxuICAgIC8vIEhlYWRlclxuICAgIC5rLWdyaWQtaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLWdyaWQtaGVhZGVyLXRleHQsICRrZW5kby1ncmlkLWhlYWRlci1iZywgJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlciApO1xuXG4gICAgICAgIC5rLXNvcnQtaWNvbixcbiAgICAgICAgLmstc29ydC1vcmRlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdyaWQtc29ydGluZy1pbmRpY2F0b3ItdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtZmlsdGVyLFxuICAgICAgICAuay1oZWFkZXItY29sdW1uLW1lbnUsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLW1lbnUsXG4gICAgICAgIC5rLWhpZXJhcmNoeS1jZWxsIC5rLWljb24ge1xuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHJnYmEoIGJsYWNrLCAuMSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5rLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zZWxlY3RlZC10ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zZWxlY3RlZC1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyLXN0aWNreSxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXItc3RpY2t5Lmstc29ydGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJnXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1oZWFkZXItYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTZWxlY3Rpb24gQWdncmVnYXRlc1xuICAgIC5rLXNlbGVjdGlvbi1hZ2dyZWdhdGVzIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1zZWxlY3Rpb24tYWdncmVnYXRlcy1iZyxcbiAgICAgICAgICAgICRrZW5kby1ncmlkLXNlbGVjdGlvbi1hZ2dyZWdhdGVzLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLW1hc3Rlci1yb3cge1xuICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWdyaWQtc3RpY2t5LXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWdyaWQtc3RpY2t5LWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZ3JpZC1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ib3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYmc7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGFibGUtYWx0LXJvdyB7XG4gICAgICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgICYuay10YWJsZS1yb3cuay1zZWxlY3RlZCB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICYuay10YWJsZS1yb3cuay1zZWxlY3RlZCAuay10YWJsZS10ZC5rLWdyaWQtcm93LXN0aWNreSxcbiAgICAgICAgJi5rLXRhYmxlLXJvdyB0ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCxcbiAgICAgICAgJi5rLXRhYmxlLXJvdyAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1iZyApO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1iZyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdyB0ZC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICYuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cgLmstdGFibGUtdGQuay1ncmlkLXJvdy1zdGlja3ksXG4gICAgICAgICYuay10YWJsZS1hbHQtcm93IHRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkLFxuICAgICAgICAmLmstdGFibGUtYWx0LXJvdyAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmcgKTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWFsdC1iZyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWFsdC1iZyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIb3ZlcmVkIHN0YXRlXG4gICAgICAgICY6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLWhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICY6aG92ZXIgLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgICAgICAmLmstaG92ZXIgLmstZ3JpZC1yb3ctc3RpY2t5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZztcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU2VsZWN0ZWQgaG92ZXJcbiAgICAgICAgJi5rLXNlbGVjdGVkOmhvdmVyIHRkLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgJi5rLXNlbGVjdGVkLmstaG92ZXIgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAmLmstc2VsZWN0ZWQ6aG92ZXIgdGQuay1ncmlkLXJvdy1zdGlja3ksXG4gICAgICAgICYuay1zZWxlY3RlZC5rLWhvdmVyIC5rLXRhYmxlLXRkLmstZ3JpZC1yb3ctc3RpY2t5LFxuICAgICAgICAmOmhvdmVyIHRkLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkLFxuICAgICAgICAmLmstaG92ZXIgdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQsXG4gICAgICAgICY6aG92ZXIgLmstdGFibGUtdGQuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQsXG4gICAgICAgICYuay1ob3ZlciAuay10YWJsZS10ZC5rLWdyaWQtY29udGVudC1zdGlja3kuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtaG92ZXItYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWhvdmVyLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAga2VuZG8tZ3JpZC5rLWdyaWQge1xuICAgICAgICAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRrZW5kby1ncmlkLWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJnO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1iZztcblxuICAgICAgICAgICAgJjpob3ZlciB0ZCxcbiAgICAgICAgICAgICYuay1ob3ZlciB0ZCxcbiAgICAgICAgICAgICY6aG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgICAgICAmLmstaG92ZXIgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1ob3Zlci1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLWFsdC1yb3cgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstdGFibGUtYWx0LXJvdyB0ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstdGFibGUtYWx0LXJvdyAuay10YWJsZS10ZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1hbHQtYmcgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGVkIHN0YXRlXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZ3JpZC1yb3ctc3RpY2t5IHRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kgdGQuay1zZWxlY3RlZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay1ncmlkLXJvdy1zdGlja3kgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreSAuay10YWJsZS10ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktYmcgKTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWJnICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktc2VsZWN0ZWQtYmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdyAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cuay1ncmlkLXJvdy1zdGlja3kgdGQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdy5rLWdyaWQtcm93LXN0aWNreSAuay10YWJsZS10ZCxcbiAgICAgICAgLmstdGFibGUtYWx0LXJvdyAuay1zZWxlY3RlZC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktYWx0LWJnICk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1hbHQtYmcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1hbHQtYmcgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgIC5rLXRhYmxlLXJvdzpob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay10YWJsZS1yb3cuay1ob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3k6aG92ZXIgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLWhvdmVyIHRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay10YWJsZS1hbHQtcm93OmhvdmVyIHRkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay10YWJsZS1hbHQtcm93LmstaG92ZXIgdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreTpob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5LmstaG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLXRhYmxlLWFsdC1yb3c6aG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLXRhYmxlLWFsdC1yb3cuay1ob3ZlciAuay10YWJsZS10ZCxcbiAgICAgICAgLmstdGFibGUtYWx0LXJvdzpob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5LFxuICAgICAgICAuay10YWJsZS1hbHQtcm93LmstaG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1zdGlja3ktaG92ZXItYmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZCArIEhvdmVyXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkOmhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLXNlbGVjdGVkLmstaG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstc2VsZWN0ZWQuay1ncmlkLXJvdy1zdGlja3k6aG92ZXIgdGQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZ3JpZC1yb3ctc3RpY2t5LmstaG92ZXIgdGQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdy5rLWdyaWQtcm93LXN0aWNreTpob3ZlciB0ZCxcbiAgICAgICAgLmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93LmstZ3JpZC1yb3ctc3RpY2t5LmstaG92ZXIgdGQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstZ3JpZC1yb3ctc3RpY2t5OmhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLWdyaWQtcm93LXN0aWNreS5rLWhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3cuay1ncmlkLXJvdy1zdGlja3k6aG92ZXIgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLXNlbGVjdGVkLmstdGFibGUtYWx0LXJvdy5rLWdyaWQtcm93LXN0aWNreS5rLWhvdmVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay10YWJsZS1yb3cuay1zZWxlY3RlZC5rLXRhYmxlLWFsdC1yb3c6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstdGFibGUtcm93Lmstc2VsZWN0ZWQuay10YWJsZS1hbHQtcm93LmstaG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreSxcbiAgICAgICAgLmstZ3JpZC1yb3ctc3RpY2t5OmhvdmVyIHRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreS5rLWhvdmVyIHRkLmstc2VsZWN0ZWQsXG4gICAgICAgIC5rLWdyaWQtcm93LXN0aWNreTpob3ZlciAuay10YWJsZS10ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay1ncmlkLXJvdy1zdGlja3kuay1ob3ZlciAuay10YWJsZS10ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay10YWJsZS1yb3c6aG92ZXIgLmstZ3JpZC1jb250ZW50LXN0aWNreS5rLXNlbGVjdGVkLFxuICAgICAgICAuay10YWJsZS1yb3cuay1ob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5Lmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LXNlbGVjdGVkLWhvdmVyLWJnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1zZWxlY3RlZC1ob3Zlci1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWdyb3VwaW5nLXJvdyB7XG4gICAgICAgIC5rLWdyaWQtY29udGVudC1zdGlja3kge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tZ3JpZC1zdGlja3ktaGVhZGVyLWJnICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC5rLWdyaWQtY29udGVudC1zdGlja3ksXG4gICAgICAgICYuay1ob3ZlciAuay1ncmlkLWNvbnRlbnQtc3RpY2t5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LWhvdmVyLWJnICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1ncm91cC1mb290ZXIge1xuICAgICAgICB0ZCxcbiAgICAgICAgLmstdGFibGUtdGQsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyLXN0aWNreSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXN0aWNreS1mb290ZXItYmcgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLmstZ3JpZC1mb290ZXItc3RpY2t5LFxuICAgICAgICAmLmstaG92ZXIgLmstZ3JpZC1mb290ZXItc3RpY2t5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtc3RpY2t5LWZvb3Rlci1ob3Zlci1iZyApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9vdGVyXG4gICAgLmstZ3JpZC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWdyaWQtZm9vdGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1mb290ZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1mb290ZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIC5rLWdyaWQtZm9vdGVyLWxvY2tlZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1mb290ZXItc3RpY2t5IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWdyaWQtc3RpY2t5LWJvcmRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1ncmlkLXN0aWNreS1mb290ZXItYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcm91cGluZ1xuICAgIC5rLWdyb3VwaW5nLXJvdyxcbiAgICAuay1ncm91cC1jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLWdyaWQtaGVhZGVyLXRleHQsICRrZW5kby1ncmlkLWhlYWRlci1iZywgJGtlbmRvLWdyaWQtaGVhZGVyLWJvcmRlciApO1xuICAgIH1cblxuICAgIC5rLWNvbHVtbi1saXN0LWl0ZW06aG92ZXIsXG4gICAgLmstY29sdW1ubWVudS1pdGVtOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0taG92ZXItYmdcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstY29sdW1uLWxpc3QtaXRlbTpmb2N1cyxcbiAgICAuay1jb2x1bW4tbGlzdC1pdGVtLmstZm9jdXMsXG4gICAgLmstY29sdW1ubWVudS1pdGVtOmZvY3VzLFxuICAgIC5rLWNvbHVtbm1lbnUtaXRlbS5rLWZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWxpc3QtaXRlbS1mb2N1cy1zaGFkb3cgKTtcbiAgICB9XG5cbiAgICAuay1jb2x1bW4tbGlzdC13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5rLWNvbHVtbm1lbnUtaXRlbSB7XG4gICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tc2VsZWN0ZWQtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstY29sdW1uLW1lbnUge1xuXG4gICAgICAgIC5rLW1lbnU6bm90KC5rLWNvbnRleHQtbWVudSkge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1wb3B1cC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1wb3B1cC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcG9wdXAtYm9yZGVyXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0tYmdcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAka2VuZG8tbGlzdC1pdGVtLXNlbGVjdGVkLWJnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tbGlzdC1pdGVtLWZvY3VzLXNoYWRvdyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1jb2x1bW4tbWVudS10YWJiZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS10YWJiZWQtYmc7XG4gICAgfVxuXG4gICAgLmstY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWdyaWQtY29sdW1uLW1lbnUtZ3JvdXAtaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tZ3JpZC1jb2x1bW4tbWVudS1ncm91cC1oZWFkZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstY2hlY2stYWxsLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tcG9wdXAtYm9yZGVyICk7XG4gICAgfVxuXG4gICAgLmstZ3JpZC1ub3JlY29yZHMtdGVtcGxhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ3JpZC1iZztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tZ3JpZC1ib3JkZXI7XG4gICAgfVxuXG4gICAgLy8gUm93IHJlc2l6ZSBpbmRpY2F0b3JcbiAgICAuay1yZXNpemVyLXdyYXAge1xuXG4gICAgICAgICYuay1ob3ZlciAuay1yb3ctcmVzaXplciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1ncmlkLXJvdy1yZXNpemVyLWhvdmVyLWJnICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstYWN0aXZlIC5rLXJvdy1yZXNpemVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLWdyaWQtcm93LXJlc2l6ZXItYWN0aXZlLWJnICk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWdyaWQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImdyaWRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZ3JpZC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWdyaWQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1ncmlkLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9saXN0dmlldy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3R2aWV3L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImxpc3R2aWV3XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInBhZ2VyXCIsXG4gICAgICAgIC8vIFwidXRpbHMvZmxleC1ncmlkXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fZmxleC5zY3NzXCI7XG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2dyaWQuc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcGFnZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wYWdlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2xpc3R2aWV3L192YXJpYWJsZXMuc2Nzc1xuLy8gTGlzdFZpZXdcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgd2lkdGggb2YgdGhlIGJvcmRlciBhcm91bmQgYm9yZGVyZWQgTGlzdFZpZXcuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIExpc3RWaWV3LlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgTGlzdFZpZXcuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBMaXN0VmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1pdGVtLXNlbGVjdGVkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tc2VsZWN0ZWQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tc2VsZWN0ZWQtYmcsIC4yNSApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBzZWxlY3RlZCBMaXN0VmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1pdGVtLXNlbGVjdGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIExpc3RWaWV3IGl0ZW1zLlxuLy8vIEBncm91cCBsaXN0dmlld1xuJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZm9jdXNlZCBMaXN0VmlldyBpdGVtcy5cbi8vLyBAZ3JvdXAgbGlzdHZpZXdcbiRrZW5kby1saXN0dmlldy1pdGVtLWZvY3VzLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIGZvY3VzZWQgTGlzdFZpZXcgaXRlbXMuXG4vLy8gQGdyb3VwIGxpc3R2aWV3XG4ka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMTUlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1saXN0dmlldy10ZXh0LCAuMTUgKSkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbGlzdHZpZXcvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3R2aWV3L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3R2aWV3L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLWxpc3R2aWV3LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIExpc3R2aWV3XG4gICAgLmstbGlzdHZpZXcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1saXN0dmlldy1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tbGlzdHZpZXctZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpc3R2aWV3LWxpbmUtaGVpZ2h0O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aDtcbiAgICB9XG5cblxuICAgIC8vIEhlYWRlclxuICAgIC5rLWxpc3R2aWV3LWhlYWRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCA+IC5rLWxpc3R2aWV3LWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBjb250ZW50XG4gICAgLmstbGlzdHZpZXctY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdHZpZXctY29udGVudC5rLWQtZmxleCxcbiAgICAuay1saXN0dmlldy1jb250ZW50LmstZC1ncmlkIHtcbiAgICAgICAgJjo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWNvbnRlbnQtcGFkZGluZy1yZWN0YW5nbGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdHZpZXctcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWxpc3R2aWV3LXBhZGRpbmcteDtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctY29udGVudC1wYWRkaW5nLXNxdWFyZSB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1saXN0dmlldy1wYWRkaW5nLXk7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBpdGVtXG4gICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy1yZWN0YW5nbGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXg7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy1yZWN0YW5nbGUgLmstbGlzdHZpZXctbGluayB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogKC0ka2VuZG8tbGlzdHZpZXctaXRlbS1wYWRkaW5nLXkpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAoLSRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteDtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctaXRlbS1wYWRkaW5nLXNxdWFyZSB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteTtcbiAgICB9XG4gICAgLmstbGlzdHZpZXctaXRlbS1wYWRkaW5nLXNxdWFyZSAuay1saXN0dmlldy1saW5rIHtcbiAgICAgICAgbWFyZ2luOiAoLSRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteSk7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1saXN0dmlldy1pdGVtLXBhZGRpbmcteTtcbiAgICB9XG5cblxuICAgIC8vIExpc3R2aWV3IGZvb3RlclxuICAgIC5rLWxpc3R2aWV3LWZvb3RlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCA+IC5rLWxpc3R2aWV3LWZvb3RlciB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRrZW5kby1saXN0dmlldy1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBwYWdlclxuICAgIC5rLWxpc3R2aWV3LXBhZ2VyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5rLWxpc3R2aWV3LWJvcmRlcmVkID4gLmstbGlzdHZpZXctcGFnZXItdG9wIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJlZCA+IC5rLWxpc3R2aWV3LXBhZ2VyLWJvdHRvbSB7XG4gICAgICAgIGJvcmRlci1ibG9jay1zdGFydC13aWR0aDogdmFyKCAtLWtlbmRvLWxpc3R2aWV3LWJvcmRlci13aWR0aCwgI3ska2VuZG8tbGlzdHZpZXctYm9yZGVyLXdpZHRofSApO1xuICAgIH1cblxuXG4gICAgLy8gQm9yZGVyc1xuICAgIC5rLWxpc3R2aWV3LWJvcmRlcnMtYWxsIHtcbiAgICAgICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1saXN0dmlldy1ib3JkZXJzLWhvcml6b250YWwge1xuICAgICAgICAuay1saXN0dmlldy1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgICAgICAuay1saXN0dmlldy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstbGlzdHZpZXctYm9yZGVycy12ZXJ0aWNhbCB7XG4gICAgICAgIC5rLWxpc3R2aWV3LWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgICAgICAuay1saXN0dmlldy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWxpc3R2aWV3LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbGlzdHZpZXctLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdHZpZXctLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0dmlldy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2xpc3R2aWV3L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2xpc3R2aWV3L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbGlzdHZpZXcvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1saXN0dmlldy0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIExpc3R2aWV3XG4gICAgLmstbGlzdHZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWxpc3R2aWV3LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbGlzdHZpZXctYmcsXG4gICAgICAgICAgICAka2VuZG8tbGlzdHZpZXctYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBMaXN0dmlldyBjb250ZW50XG4gICAgLmstbGlzdHZpZXctY29udGVudCB7XG5cbiAgICAgICAgPiAuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0dmlldy1pdGVtLWZvY3VzLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWxpc3R2aWV3LWl0ZW0tZm9jdXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tbGlzdHZpZXctaXRlbS1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tbGlzdHZpZXctaXRlbS1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0dmlldy1pdGVtLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1saXN0dmlldy1pdGVtLXNlbGVjdGVkLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gTGlzdCBpdGVtXG4gICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWxpc3R2aWV3LWJvcmRlcjtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbGlzdHZpZXctLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3R2aWV3LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tbGlzdHZpZXctLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3R2aWV3LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tbGlzdHZpZXctLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImxpc3R2aWV3XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWxpc3R2aWV3LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbGlzdHZpZXctLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1saXN0dmlldy0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc3ByZWFkc2hlZXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zcHJlYWRzaGVldC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJzcHJlYWRzaGVldFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNoZWNrYm94XCIsXG4gICAgICAgIFwiY29sb3ItcGlja2VyXCIsXG4gICAgICAgIFwiY29tYm9ib3hcIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJsaXN0XCIsXG4gICAgICAgIFwibWVudVwiLFxuICAgICAgICBcInJhZGlvXCIsXG4gICAgICAgIFwidGFic3RyaXBcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidHJlZXZpZXdcIixcbiAgICAgICAgXCJ1cGxvYWRcIixcbiAgICAgICAgXCJ3aW5kb3dcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3JhZGlvL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcmFkaW8vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb2xvcnBpY2tlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbG9ycGlja2VyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tYm9ib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21ib2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3VwbG9hZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3VwbG9hZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL21lbnUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vd2luZG93L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvd2luZG93L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdGFic3RyaXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90YWJzdHJpcC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RyZWV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdHJlZXZpZXcvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3NwcmVhZHNoZWV0L192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9pbWFnZXMvaW1hZ2UtZGVmYXVsdC5zY3NzXCI7IC0+IHNjc3Mvc3ByZWFkc2hlZXQvaW1hZ2VzL2ltYWdlLWRlZmF1bHQuc2Nzc1xuQGluY2x1ZGUgZXhwb3J0cyhcImltYWdlLWRlZmF1bHQucG5nXCIpIHtcbiAgICBAaW5jbHVkZSByZWdpc3Rlci1kYXRhLXVyaShcImltYWdlLWRlZmF1bHQucG5nXCIsIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFjd0FBQUdRQ0FZQUFBQWpsMUFLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUE0WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVFExSURjNUxqRTJNelE1T1N3Z01qQXhPQzh3T0M4eE15MHhOam8wTURveU1pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEcGhNR1ZtTXpabVppMDRZbUkxTFRSbE4yWXRPVGN3TVMwNE9UVTVaVGcxTjJaaFkyTWlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNRE5ET1RCRE5VUTJPVUpHTVRGRk9Ua3dNelk0UlRJM05qWkJRVGRFTmtNaUlIaHRjRTFOT2tsdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk1ETkRPVEJETlVNMk9VSkdNVEZGT1Rrd016WTRSVEkzTmpaQlFUZEVOa01pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01Ua2dLRTFoWTJsdWRHOXphQ2tpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwak1tWm1aak0wTWkwNU5qRXlMVFF3TTJZdFlXWmhZUzAxTVRFMVpqUTJOVGhtTVdNaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUltRmtiMkpsT21SdlkybGtPbkJvYjNSdmMyaHZjRHBoWWpsaE1tVXdNeTFrTm1Jd0xUWTNOR010T0RjNFpTMHlNalV6TWpka05ESTVPVGNpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo2OFVITGJBQUFncEVsRVFWUjQydXpkMlpOYzlkblk4VE9MOWdVMElBa2pnd3BrSThRT1FtSTFGUytGSFc5Vkx0Lzd3cFdiOTAwcUtWK2xUTDN2VFp6RWxTdm5KaWxmdk00ZmtRdW5mRU93MkxVZ2lVVXNOaGlNQUZzanRJelFycG1KbmhPZG9hZW50K25wNVN5ZlQxWFhpSjRSMGh6MTlMZWYzMWw2WkhaMk5nRUFXaHUxQ1FCQU1BRkFNQUZBTUFGQU1BRkFNQUZBTUFGQU1BRUF3UVFBd1FRQXdRUUF3UVFBd1FRQXdRUUF3UVFBTXVQOS9nTkdSa1pzWlFBR29wL3Y4V3pDQklBOFRKajlHRnI5c3dHVVl5QVVUSEVFb0x2bitOeEdkTHdnRzFCRUFhb3hZWTdrTlo1NUMrYklFdTREb0ZpeEhHa1QwSkU4UlRNdndXd1h4UkhCQktoTVFHY2JQTjhQUFp4NUNPWkloNkVjRVUrQVFnZXgyZlJZSDh0bTRSeHFOSWNkekdieGEvZFJPQUdLT1QzV2huQ2s1bk96VFg1UGJxSTV6R0IyRXN0bXYyNFhUd0R5TzJIT3RvaGkvZjI1aWVhd2d0a3FsdlcvSHVrZ25xSUpVTHhZMXY5NnRzVjBPdlJvNW1rZlpuMFlSNXRFczkyMENVQitvOWtva3ZXM21RNmlXWWtKYzZSTkxPdHZvNy84NVMvWC9lSVh2L2pudFd2WC9talpzbVZmR1JzYkczZU5Xb0NDbHZPcTZlbnB5MWY5L1lzdnZ2amZ2L25OYi83enIzLzk2ek0xb1J4TjJ1L1RISGhBUi9wNW9kcjBEMWdZdHZwZzFrZHp0T2JqNk4vLy92Zi9OREV4OGUvR3g4ZVhlWmdCbE0rVksxY3Vuemh4NG45dTNyejVuNjVGYzZabTBteTBkRnMvdGRiR3VHOS96MkZlZkwxUk9PZGkrWk9mL0dUbDFOVFUvOTIwYWRNdnhCS2d2T0k1L3Vwei9YK0k1L3g0N3E4Ym5FYVNuQnl2TXVnSnMxRWtSeG9FY3l3MjNMcDE2eDcyVUFLb2pqTm56dXhmdjM3OU42LytjcnJCbERuYmJzb3M0NFRaN01vK2FUU1BIVHYyWDhVU29Icml1VDhhMEdTNkhPcVVPZXdsMlFXM09NQm5ZbUxpSHoxc0FLb3BHaEF0U0ZxZkpUSDRhQTFwU2JiUlVteDZtNXljL084MzNuamp2L0dRQWFpdTQ4ZVAvNitOR3pmKysrVExnNEFhTGMwbVNRV1daSnVOMWlOcjFxejV2b2NLUUxWZGJjRy9UbkoyY1pwQkJyUFYxWG5tcHMxbHk1WnQ4bEFCcUxhckxkaVlOTDlZVGJPbWxDYVk5ZkZzZEhtOGtiZ29nWWNLUUxWZGEwSFRWcFI5d3V3b25xN2dBMENENDE4cXRTVGJ6ZFFKUUlXN21hY3VqT1pnWXdCQTdwc3htck9OSUtBQTVMSU40MlhhSUZldVhFbW1wcWFTaXhjdkpqTXpNeDVxQU1PWXhFWkhreFVyVmlUcjE2K1A2OFQyc2hHVmUzdXZ2b2hZVGs1T0NpWEFrTVh6OFBuejU5UGhaZVBHamIySVpqNWVDSlRsSHlnbVM3RUV5RmM0NDdtNU5KTnpXYjZSZUNVRFFMNWN1SEJCTVBQNFNnYUFmT24zOWNvRkV3QnlwalFIL2JoQ0VBQW1UQUFRVEFBUVRBQVFUQUFRVEFCQU1BRkFNQUZBTUFGQU1BRkFNQUZBTUFGQU1BRkFNQUVBd1FRQXdRUUF3UVFBd1FTQUFoa3Z5emN5TWpMaVh4TUFFeVlBQ0NZQUNDWUFDQ1lBQ0NZQUlKZ0FJSmdBSUpnQUlKZ0FJSmdBSUpnQUlKZ0FJSmdBZ0dBQ3dCSjVleThBTUdFQ2dHQUNnR0FDZ0dBQ2dHQUNnR0FDZ0dBQ0FJSUpBSUlKQUlJSkFJSUpBSUlKQUtYZzR1c0FZTUlFQU1FRUFNRUVBTUVFQU1FRUFNRUVBTUVFQUFRVEFBUVRBQVFUQUFRVEFBUVRBRXJCeGRjQndJUUpBSUlKQUFNemJoTUE5Y2JHeHBMeDhmSDBGcjhlSFIxTlA4YXVqK3dXWm1kbjUyN1QwOVBKek14TSt2SEtsU3ZwTFg0TmdnbVVLcERMbHk5UGI4dVdMVXNEMlluYWVNYi9vMTRFOVBMbHk4bWxTNWZTbTRBaW1FRGhSQlJYcmx5WjNtS1NySFhtekpuazVNbVR5YWxUcDVJdnZ2Z2l2VjI4ZURHOVJmUWlndWtUeUxVcGRNV0tGV2xzMTY1ZG05NnV2Lzc2Wk1PR0RjbjY5ZXZUejhVdHhOUjU0Y0tGOUJZeEJjRUVjaXZDdG1yVnFybUlaWUdjbkp4TVB2MzAwK1J2Zi90YkdzWk1MTGMya3kyOW5qOS9QdjN2WThlT3pmdDgvQmszM1hSVHNtWExsbVRUcGszSnVuWHI1cUlhZjBiOHZwZzhvUWhHV3YwdzlPUVArUEowajVHYWo5bHR0T1lXNnpsalYvOCtKN3Y1YytwL1VJRmtRYnpXckZremI1cjg4TU1QazcvODVTOXBLT3QxOHR6UTZtc2FmZTdtbTI5T3RtM2JsdHgyMjIzem9udjI3Tmw1a2FaYzRzVlNsLzNZY1BYRDlMWGJUTTF0dHVhVzFIeE0rdGswd1lTU2kzMlNNZEhGeDVCTmt1KysrKzdjMG1xdkl0bHBST1B2c21QSGpybkpNOFRmSlpaKzYvOU9DS1pnQ2liMFZleWpqRkRHUHNydytlZWZweFBsTysrODAvTnBzcHRwTTNQWFhYZWxFK2VOTjk2WS9uZnMzNHh3MnNjcG1JSXBtTkIzc2Z3YSt3dXpvMTMvOUtjL0pYdjM3aDFvSkZ0OXZ0SDlqejMyV0xKOSsvYjAxeEhMMks5cW1WWXdCVk13b1c4L2J4SEtiS3I4K09PUGt3TUhEcVQ3Q1BNd1RiYjdYRXpFdTNmdlRyWnUzVG8zYlVZNCsvMDhoV0FLSmxSSW5BY1pwM0hFL3NFNDllUGd3WVBwZnNwaFQ1T0xuVFJEN04vY3RXdFgrajNGUHMycHFTbm5jQXJtMElQcHRCSW9nWWprZGRkZGx5N0J4a0U5TDcvOGNzZVQyYkNteVZiM0h6bHlKRGw2OUdqeTFGTlBwVSsyY1U3bjZkT25IUkRFVUpWbXdvd25DYWlpT0s4eUpzdjRXZnZyWC8rYXZQVFNTK21wR2tXWkpsdDlMaWJNaUdZY0ZCUmZFNU9tOHphTForUEdqYVdZTUYxOEhRb3NEdTdKWXZuKysrOG5lL2JzYVJuTDdMcXYzWHkrOXJxeDNYeXUwOTlUZTM5OEw4OCsrMnp5M252dnBkOWpkdVVnR0FaTHNsRGd5VElPOEltUS9QblBmMDVlZWVXVlFrK1RyZTZQRndMeE1ZNmlqZTg1Zm0zU1pOQk1tRkRFVjdyajQzT1RaYk5ZRm0yYWJIZi84ODgvbng3RWxFMmE5ZGUvQmNFRTV2L1FqbzZtQi9oa3k3RDFzZXcyaEozKzNsNEdkTEgzeDZTWkxjOW1Cem1CWUFJTFpOTlZoT0tqano1S2o0YnRWUWp6TkUyMnV2KzU1NTVMUHZqZ2cza3ZIR0FReHN2MFJBSmxGeGRQajFOSTRqSjNFY3RCbnhMUzYzMlRuZDdmS0pxeExUWnYzcHhlN0NBdXBRY21UQ0NWdlMxWGlHWFladWNrTG5WaXpOTTAyZXkrK040am1uRXhnN2lxa1NObkVVd2dGU3NvTVVtRjJJZDM0c1NKanFQV2o4LzE4LzVPNHhsdmJwM3R2NDFwMHlvVGdnbWtRWWg5ZG5GdDJGZGZmYldqcWJDYnlYQ1FVMk1uMDJTN3FMN3h4aHZwKzNuR3RvbHRCSUlKRlJhblQyUVhVOSszYjEvSFUrRmlKcjI4VHBPZFJQWEZGMTlNUDhZMmNxb0pnZ2tWVnJzVUd3ZTNET0tVa0Y2ZEt0TExhYkxaL1hITjNMZmVlbXZldGdMQmhJcUpnMWxpYW9xallsdGRuR0JRNTBjT0k0anR2alorL2NjLy9qRjl4NkxZVmc0QVFqQ2hncktqWXVPOHczNU5rMHNKYUsrajJzM1hadUpOc211M0dRZ21WRVNjUmhJVFUweE9iNy85ZHU1UENSbkVOTm5xYXc4ZE9wUjg5dGxuNlRhTGJRZUNDUldSSGVqenlTZWY1UHB5ZFlPY0p1dVhZdXZ2aTdjM3E5MTJJSmhROWgvTTBkSDBpajdoblhmZXlkMDBPWWdndHZ2YVJ2Y2RQbng0YmpwM25WbDZ6YVh4SUlmaXdKVjRUTWYxWXJPM3Njcjc1ZXJ5OExXeHJlSWRUZUp0d0dMS1BILyt2QWNUSmt3b2V6QkRIT3hqbW15L0ZGdDdmd1N6ZGh1Q0NSUEsraXAyZERROWNHVnFhaXFkTUFjNU5SWnBtbXgyWDJ5enVHemU5ZGRmbjI3TG1aa1pEeXBNbUZCRzJSR2VjWFRzb0tmR29rMlR6WDcvcDU5K09tOWJnbUJDQ1dVSCt4dzllalQzUjdxMiszOHNOWjdkL3Y0UFAveHczcmFFWHJBa0N6a05aallsMVlhaG1hVXVkeTcyL240c3BmYnk5OGRGNmdVVHdZUVNHeHNiUzQrT2pmMlhGeTllN0h2NGlockVkdmZGMGJIWmZzellwdkcrbVNDWVVMSmdodE9uVHc4OGZHV0w1K1RrWkJyTU9JQktNT2tGK3pBaGg4R002YWcrQkhtKytIa2U5Mk1lUDM1ODNqWUZFeWFVNlJYc3RhdlR4SVJwbWx6YTEyYmIwQlYvRU13NnJ2UkRLWDRncjcwQmN1ekRiRFJGRFR1SVJZcG5iTU5zd3ZUOGdHQkN5V1JQN09mT25SUEVKWDV0dGczRkVzR0VFZ2Z6d29VTGhiL2l6ckRqbVYxSFZqQVJUQ2h4TU9zdjV5YWVpLy9hSzFldUNDYUNDV1VQWnJ6cmhpQXUvWjFMQkJQQmhKSmJ5Z0UvNHRuNnFrZ2dtRkNTVU1aRUZKZDB1M3o1Y3FHQ2xMZS9hM2JoZGZGRU1LSEV3WXhUSWJJbHhiSUViZERubEdZWExCQk1CQk5LR3N4c09zcU84aXhqL0FZUno1VXJWd29tZ2dsbEQrYnExYXNYWEI0dkQwRWE5dTlmelA4anRxRmcwa3V1R1FVNWtsMGtmUDM2OWZOaU1LanJyL2JqV3JHOXZOYnNZcTZabTIxREYxN0hoRm5Ib2VPVVFYYis1WFhYWFZmNXBkaWwvajlpRzJiYjFQTURnZ2tsblRBM2JOaFF5Q0FPK210YjNiOXg0OFo1TDBKQU1LR0V3WXozY2F6YU9aSzlqbWNXek95S1B5Q1lVQ0l4RGNXVGZpd254bEdlY1UzWlBNUXY3OU5rL2YyclZxMUtKaVltMHZ0Tm1QU0tnMzRnWitLQ0JXSExsaTJGUERDbjI2L3Q5di9SNlA5ejY2MjN6dHVXSUpoUVF0a1NZdmFrMzBsTWxocTBRUVN4bDBmQXRyby9icmZkZHR1OGJRbTlZRWtXY2pwaGZ1VXJYNm5jMVhsNmRmOVh2L3BWRXlZbVRDaTcyT2NXQi8vRWZzeHQyN2Exbk1TS3VoVGJyL3REVEpjMzNIQkR1ZzN0djBRd29lU3k2OGgrL2V0ZkwveFM3Q0R2ajlzOTk5d3pieHRDcjFpU2had0dNNDcwakFrenJpdmJpL2ZISFBUeWFyK1hZaHQ5THJiVjNYZmZMWmlZTUtFcVlpa3gyLzkyMzMzMzVYcWFITmFVMmVoekR6LzhjUG94dHAzbFdBU1R3anQrL0xpTjBJR0xGeSttSDdkdTNkcnorUFU2ZklQWU45bnMvdHJQM1g3NzdmTzJIZlNTYThreThGZysvL3p6eVpOUFBwbHMyclRKQm1raFRvbUlBMWZpYU5rSEhuZ2dPWGp3NElKSU5BcEhzNkFNNm1zSGNYK2p6KzNldlR1NTVaWmIwbTBXMjg1ekFpWk1DaDNMUFh2MnBPL3pHTkU4ZHV5WWpkSkdkcVdmT1BpbjIya3lyMGZBTG5hS2JmZTV1KzY2YTk0MkE4R2s4TEhNbnRSRXM3M1lGeGNUMDAwMzNaUjg4NXZmekVVUWx4cTlwUVMwMmVlKzk3M3ZKVGZmZkhPNnJaeDdpV0JTbWxqV1RrK2kyZDY1YytmU2ovZmVlMit5YnQyNndsNnVycGNCcmYxY3ZPL2xRdzg5Tkc5YmdXQlN5RmhHRk90aktacWRpNmtwTzBYaXFhZWVHdWcwMmN2TDFmWGk5elQ2ZlU4Ly9YVDZNYmFSTjR0R01DbDBMTnU5NnMraU9UazVhYU0xRVM4NEloSmYrOXJYa205OTYxdWx1TUJBTjlOay9lZDM3ZHFWYk4rK1BiMi8yWXN5RUV4S0VjdmFhTWF5cldnbVRZT1JiY3M0THpON3I4ZWlYSzZ1VjlOa3JYaVQ3WGp4VVB1Q0FnU1RRc1l5bnNUaTBQNU9iM0h1bkVtenVUaVlKVHUvOER2ZitVNHlQajVlcVdteTl2UHh2Zi80eHo5T1A4WlNyS3Y2SUpnVU9wYmRzRHpiZnZ0a1I4MSs5N3ZmWFhUSThuS0JnVzQvbDMwK1lobnZTQkxid2xJc2dra2hZL25DQ3k4cytRbE1OSnVMWUp3OWV6YjllTWNkZDh4Rk15OVRaaTgvMSt6UGkxanUyTEZqM3JhQVFSanA5NE90NW1vYkl6VWZzOXRvelcwc2JsZi9QaWU3K1hOT256N3RYM09JSW02OWlHV3RsU3RYdWlKUUUyTmpZOG1hTld2U242ODMzbmdqK2NNZi90QXdOczBpMUl2N2gvRzVILzd3aCtsVmo3SllPaXEyR09LdDZycnN4NGFySDZhdjNXWnFick0xdDZUbVkxOWZRSmt3eVdVc3Mwa3ovcjlPT1Zrb1FoRUhBY1dUUTV5ZldUdHBsbW1hclBXREgveGdMcGJ4dllzbGd5YVlMRW0yREJ0eFc4d0JQb3M1RUVnMEc0dnJwV1pIaDBZMDQybzNlYnRjWFNjaDdPVHpQL3JSajVJSEgzeHc3dlNSK041Qk1DbFVMR05mWTcrdjNTbWF6Y1dSczlta0dXK2NuQjA1bW9mTDFTMzFTTmpzYU5pZi92U255ZjMzM3o4M1dicjBIY05pSHlhNWptV3RGU3RXMktmWlJPMCt6VTgrK1NUNS9lOS9uNXc4ZVhJdVBxMm10OFhjdjVUUExmYnpFeE1UNlF1QWVBY1MreXlMclN6N01BV1RybUxaajMyV25jZ09CTXBPM09kTG82T2p5ZXJWcTlONFJsaWVlKzY1WlAvKy9UMEozbEpDMk0zdmpTdjRmUHZiMzA2V0xWczJ0Ny9XRzBJTHBtQUtwbGlLWms5LzNtTDdMRisrUFAzdjk5NTdMM24yMldmVG40ODhUNU8xVDZ4eGJkZzc3N3d6L2UrNElFR3NZamgxUkRBRlV6QUxHY3M4dk45Z3Rqd3JtbzNGWkxacTFhcTVuNzk0OCtuNlUwK0dNVTIyK3BydmYvLzd5YzZkTytlK0psNlUyVjhwbUlJcG1HSXBtZ09mTmovOTlOUGs3YmZmVHZidTNadUxhVEx6eUNPUEpIZmZmWGV5WmNzV1U2VmdDcVpnRnR2bm4zOCs5R1ZZMGV4ZUhHa2E0WXg5bStIbzBhUEpCeDk4a096YnR5K05VNytXWkZ0OVRmeTc3ZDY5TzltMmJWdDZVRStJZlpVUlNxZU1DS1pnOWptWVUxTlRIcFY5bkN6emZMM09pTUVUVHp6aDZOa093aG1oeXNJWjNuMzMzZVROTjk5TVB3NWltb3g5azNINlMxemFMaE9oakZPSGhMSzg0azIrQlZNd3hWSTBDeG5PMk1jWnQ5cFZoSTgvL2poNS8vMzNrNDgrK21qQnYzbTMwMlRzUjkyNmRXdjZQcDYzM25wcmNzTU5OOHg5THZaUHhrMG9CVk13QmJQd3NYenh4UmNMOVU0UWxtY1gvN09aaGJOMjZzd0NHaGVLaU51cFU2ZlNXNXpha1YxbEozczdyZXozeHd1V09BLzArdXV2VDIveGI3QjU4K1o1Z2N5bXlTeVU5bEVLcG1BS3Bsam1ZTklVemNXSmN6aGo4b3h3eHNlYW45c2xpZWVYQ0d5RU1qNDZsMUl3QlZNd1N5TW1pNGhsVEJORkpacTlDV2pFTXo1bXQrejZ2clUvMTluelIzWXB1d2hpZG90SUNpU0NLWmlsam1VWjNwQTNsbWRGRXdTenB5OGsvVk5TdGxpR09Pb3l2aDl2UWcwSUptTFpRVFJmZXVrbDBRUUVFN0ZzSjA2RUYwMUFNRmx5TENNbS9Ycno1N3pjc2tremp2NEZFRXk2aW1WWko4dDYyVDVOMFFTNlZacWpaTStjT2VOZmN4R3hMUE15YkN0eHlzbmpqei91NkZrWW9IWHIxblhiRDBmSklwYkRZcDhtWU1JMFlYWWN5enk5UmRld3hIbWFKazB3WVpvd2FSakw3QUFmbkhJQ0NDWXRZbG5WWmRoVzBYejU1WmRGRXhCTXhMS2RtTGdqbW82ZUJkcXhEN1BFVHB3NElaWWR5dlpwM25qampUWUc5Smg5bUlobGliaTRBVkNaQ2ZPTEw3N3dyM21OQTN5V05tays5dGhqanA2RkhscTdkcTBKRTdFczQ2VHBRQ0JBTUNzUXkzaXlGMHZSWlBnOGZnU1RuTWZTUHN2ZVJmT1ZWMTd4cEVkWFlsLzQ4ODgvbnh3N2RzekdLQkg3TUUyV3RKRHQwM1QwTEl1SjVaNDllOUlYcjNIdDRtOTg0eHZKcGsyYktyMU43TU1rRitKb1dMSHM3NlRwUEUyNmlXV0luMHVUWm5rSXBsZ2ltdlFobGhuUkZFeHlFa3Y3TEVXVGZNUXlvdGpzemRqajhmUENDeStJWnNIWmgybXlaQkZpbithamp6NXFueVlMWXRuSmk5ZllwL25razA5V2JwOW1XZlpobGlhWVo4K2VyY1FEendFKytZbW1peHNRUjFGM0dzdmFhRmJ0UUtBMWE5YVVJcGlXWkFzV3l6alZRU3lIeXlrbjFNYXkyVEpzczFzOGZ1elRMQ2JCTEZnczdiTVVUZklWeTI0ZlA2SlpQSlprQzhBK3kveXlUN09hc1l3RGVIcng0clVxK3pRdHlTS1d6RTJhanA0VnkyN0V6N1dqWjR0RE1NVVMwV1FJc1JUTjRyRWttK05ZT3NDbldHSjU5cEZISHJFOFcwSzE1MW4yU3l6UFB2SEVFNlZjbnJVa2kxaXlZTko4OWRWWFRacGkyZldrK2VLTEw1bzBjMHd3eFJMUlpNaXhGRTNCUkN4RmswTEhNdll0RHZyblVUVHpxelQ3TU0rZE8xZm9mNGc0enpLZVpNV3lQT3pUTEs1K0hlQ3pHR1U2NVdUMTZ0WGQ5c00rVE1UU3BFbmVZN25ZSy9qMCtoYVBINU5tdmdqbWtNVXlyRmlXTzVwNzkrNFZ6UUxHTWc4c3orYUxKVm14WkFCaWVYYjM3dDJXWjNNczIyZVp4OHRQRnYyVUUwdXlpQ1VtVGJFMGFWYUlZSW9sQTR6bXZuMzdSRk1zUlZNd0VVczZlZElUemZ6RmN0Z0grRGdRcUJqc3d4eHdMR05aVGl6SjltbmVjTU1OTnNZUVl4bnhLZUpiNW1YN05JdnlKdWIyWVNLV2RDM2JweG1uRkRGNHNkMGpsa1daTEp0Tm10NlAxWVJadWduejVNbVQ2VEpzUE1paDF2TGx5MDJhUTRwbEdkNk1QU2JOeHg5L1BQZVRabGttek5JRU02OFBmcE1sN2NUeTdLNWR1NXh5TWdCRlhvWnRGODA4bjNLeWF0V3FVZ1RUa3F4WU1tU09uaFhMcFlqbmw1ZGVlc255N0FDWU1Qc2NTOHV3ZE1yeWJQOWpXZVlYcjdGU2tkY0RnVXlZaUNVOWRlblNKUWNDOVNtV01ZR1ZmYVVubm05TW12MGxtSDJJWlN5dmlTWGRSak1lUDZMWjIxaVdiUm0yR2N1ei9XVkpWaXpKb1ZpZWpRT0JMTStLWlRmeWR2UnNXWlprQlZNc0VjM1NxVDNQc3FwaW4yWmVvbWtmSm5QaVBNdjkrL2VMSlQwVnk3UHh1TEk4SzViZGlPZWpsMTkrMmZLc0NUTS9FMmJFMG1SSnZ5Zk5oeDkrMktRcGxsMko1ZG5ISG50c3FKT21KVm5CRkVzR0dzMVlucDJZbUxBeFdzU3lDa2ZEZGlOYm5oM1d4VEVzeVZhY1dESkkyZkpzN0N0SExCY3JPK1hFeFRGTW1LbEIvcURFazVaOWxneHIwclE4TzE5VnpyUHNoV0V0ejhhZmE4S3NJTEVrRDVPbUE0SEVzdHZCd29GQUpzeUIvTUJZaGlVdllwL1V6cDA3S3oxcFdvWmQydU5ua0pPbUNiTml4Skk4aWNmaGdRTUhLanRwaXVYU0h6OG1UUk5tMzJKcEdaWThpbjJhVlpzMHhiSzNrOStqano3YTkwblRoRm1oeVZJc3lhdllweG1UWmxXT25vMVl4bVFrbHIwUjIvR1ZWMTV4OUt3SlV5eXAxcVFaUjgrVytUeE5zZXlmYko5bXY4N1RMTXVFS1pndFlobXYzTVdTSWtVemxtZkxHRTJ4TEhZMExjbVdtRmhTUkdWZG5oWEx3Y2dPQkxJOEs1aGlpV2dXVUh3ZnNZOU5MQWNYVGZzMFcweThsbVMvZE9yVXFYU2ZaVHpwUUpIRjh1eEREejFVNk9YWmlLWEpjamhpZVRhT251M1Y4cXdsMlpLSldNWXJjN0drTEpQbXdZTUhDenRwaXFWSk00OEVzeWFXbG1FcDI1TmVFYU1wbHFLWlY2VlprdTAyZHJIUDhyWFhYaE5MU3F0SXk3TnhnRTg4U1Evci9XMVpLTHU0d1ZLV1oyT0p0OHQrT0swa0w4RVVTNm9pbnJBZWZQREJYRWN6aTZYSk1wK1BuNlZFc3l6QnJPeVNyRmhTSlhsZm5oWEwvRDkrTE05V2RNS01mWlppU1JYRjhtemVKczNzMUJITHNPV2ROQzNKRmpTWVlva252UlhKQXc4OGtJdG9Pcyt5bUkrZlJ4NTVaRkhSRk13Q0JqT0xwVk5ITUdrdUgzbzB4Ykk2MGJRUHMyQWlsckVQUnl6aC81K25lZWpRb1hSZi9yQmkrZXFycjRwbFFjV0FFdjkrVmR1bldZbGdackcwREF2RGoyWVdTL3NzaXgvTnZYdjNWdXBOekV1L0pDdVcwRnEyVDNQRGhnMG1TN3A2L01UeWJLczNNYmNQc3dEQlBIMzZ0SDJXMElGc24yWS9veG1UckgyVzFZeW1ZT1k4bUJGTGt5WGtJNW9SUzVObCthTzVlL2Z1aHRGMDBFL09SSml6bTFqQzR0WHUwNno5ZVZycVRTeXJvWGFmWnYxam9EU2RLY3VFbVMyN09ob1c4ak5wMm1kWjNVbXo5cFNUZUV5VlljSXNWVEFqbHZFSzJXUUp3NDlteERJbURyR3NaalIzN2RvMUYwM0J6Rmt3angwN2xzYlNaQW05c1d6WnNxNmpLWmJVUnJNc3dTek5Qa3l4aE42NmZQbHljdmp3NFVXZnB5bVdoRmpwMjdkdlg2bk8weXhOTU1VUyt2Tnp0WmhvaWlYMTBZekhRMW1NbCtVYktkT1JXSkRIU2ZQKysrOXZ1VHdiVVkySklwNGsvVHhTeG1GbTFEOG4wR2swbTAyYWNiL0prcklUVEtEamFMNysrdXZwMGVoaWlXQUN0QkRMYTBlT0hFbW1wNmZGa3NxeER4UG9XSnhxY3Q5OTl5VmpZMk56c2JUUEVoTW1RRjBzZCs3Y21heGR1M2JlQVQ0Z21BRFh4SW5uRWN0MTY5Yk54ZEl5TEZWalNSWm9PMWsrOU5CRGFTempQRXV4UkRBQldzUXlKc3Y5Ky9mYlowbGxXWklGT29xbHlSSVRaa2w0eFF1OWoyWHRBVDVpaVdBQ3RJbWxaVml3SkF1MGlHVzJ6eEt3SkF0a1R3Ymo0d3RpYVJrV1NoaE1ZR21UNVlNUFBwakdNcTRWNjJoWVdNaVNMSWpsdkZpNmdnK1VmTUwwU2hpNmVBSVlIMjg0V1FJbERpYXcrTW55Z1FjZXNBd0xKa3lnVlN6dnYvLytCVmZ3QVV5WVFJUEpVaXhCTUlFT1lubmd3SUgwVGFHdDBFQ0ZndWtISHRySE1wWmhhMk5wc29UT09hMEV4QktvMG9RSnRJOWxIQTM3Mm11dldZYUZLZ2ZURHo4MCtBRWZINThYUzVNbENDYlFZTEs4Nzc3NzVrNGRNVm5DMHRpSENSV0pwY2tTVEpncHI1cmgyZy8xK0xoWWdtQUNuVXlXMmRHd0J3OGVGRXNRVEtDVFdGcDlBY0djeDVNQ2xmNUJ2cllNYTdLRS9uSFFENGdsVUtVSkU2b29sbUh2dmZmZXVmTXNEeDA2NU5RUk1HRUNyV0pwc2dRVFprZThvcVpTUDdqajQySUpnZ20wbXl6dnVlZWVlYkcwREF1Q2FjS0V1c215VVN3QndRUnFZaG5Mc0d2V3JKbDNnQTh3R0E3NmdZTEcwajVMTUdFQ05iSjlsbGtzRHg4K2JKOGxDR2IzUEhsUTFzbXlQcFltU3hnT1M3SlFnRmllUG4xYUxNR0VDZFNMWmRpNzc3NTc3bWhZeTdBZ21EM2ppWVF5VFpiMXNUUlpnbUFDZGJHMHp4SUVFMmdoVzRaMU5Dd0labDk1VXFIb2syV2pXQUw1NFNoWnlGa3NYMy85ZGJFRXdRU2F4VEpPSFlsWTJtY0pPZjE1dFFrZ0g3RzB6eElFY3lBOHlWQzBXTjUxMTEwTFlna0lKdEFrbHJFTWUvbnlaUy82SU9mc3c0UWh4OUprQ1NiTWdmTHFuS0xFY3ZYcTFXSUpnZ2wwRXNzMzNuakRNaXdVakNWWkdFSXNUWlpnd2h3YXI5VEpheXgzN05naGxtRENCRHFONVp0dnZpbVdZTUkwWVVKOUxPKzg4ODRGc2ZRNEJSTW1VRGRaeHFralUxTlR5VnR2dldXeUJCTW0wQ2lXSmtzUXpOenloRVFlWXRsb0dSWW9CMHV5MElkWVdvWUZ3UVE2aUtXMzZBTEJCTVFTcXZuelhwWnZ4RDVNaGhITDdkdTNMMWlHOVZnRUUyYXVqWTJOK2Rka0tMR01VMGVPSERsaW55V1UvTG01TkJQbSt2WHJrNU1uVDNwME12QlltaXlodVltSkNjSE1tMXR1dVNVNWMrWk1NajA5N1JGS1gxOHRONG9sMFBqRjVXMjMzVmFhNzJka2RuYTJ2My9BbDYrNlIybytacmZSbWx2TTdXTlgvejVkajRrWExseElqaDQ5bWo2UkNTZjkrT0cvNDQ0N3hCSTZlR0VaazJYRU1uNWVsdENQRFZjL1RGKzd6ZFRjWm10dVNjM0hwSjlOeTBNd1I2N0ZNbjQ5dnBSZ0FsQWUxNEo1NVZva3A2K0ZjV2pCek10QlB3dSthUUFxTDFkdEdNM0p4Z0NBWERkak5HY2JRa0FCeUdVWFJ2TzJRYWFucDBVVG9PSm1abVp5Rjg1aEJiUFJONS9lZCtVcUR4V0FhcnQ4K2ZLVlZxMG9lekFiN2J5ZHJkc0FzeGN1WEpqMFVBR290blBuemswbUxZNkdUWVp3UUZCZWxtVG5mbjNtekpuZmU2Z0FWTnVwVTZmK1Q1TkFEazJlVGl0SmI3Lzk3Vy8vK2Vvbzdxb0RBQlYxNmRLbDZkLzk3bmYvMUdEQ0hLcEJYcmdnL2M4R0h4ZGM5ZWZFaVJQL2JjT0dEZi9Xd3dhZ2VqNzQ0SVAvc1czYnR2K1lkSFoxbjNrUks4dVZmbXBEV1IvTEJWZitPWC8rL0hNclY2N2M2YUVEVUIzSGpoMDdzSG56NW4rVk5MK3lULzNFT2JCZ0RucEp0dG5SVHZXM21aLzk3R2RQWDdodzRTMFBINEJxbUp5Y1BQTHpuLy84NlJhUm5HM1RsUDRPZ0FPZU1KdE5tVW5kaERtM1JIdml4SW4vc25yMTZuOVlzV0xGTWc4bmdQSzVPaHhkL3V5enozNTcrKzIzUDVNc1hJS2RTUmFlVWRFMG1HVy9sdXhzazRrenZkanV4TVRFTTcvNjFhOXVQWHIwNkw5TVRVMTlkdW5TcFN2OWpqd0EvUk1YSmJoNDhlS1ZreWRQZnZiaGh4Lyt5elBQUEhQcjFWaitNdm55WFVuYUxyME93ekFtekVaVFp1MjAyZWt0YWZBUmdIeHFkTERPWW01Skp3SHRaOVBHYzdJUlJ4cHNpRmFSSEdrUlhnRHlHY3RHd1V6YUJESTM3MWd5UHNTTk45SW1tbzNpbVlnbFFLbWltWFFReWFFZTdKT0hDYk5WTkVlYWJLRGErK3NqS1pvQStZOWxKL0hNWFN5SEhjekZUcHIxWDE4ZlRrY0NBWlFubkxtS1pSNkMyU3lhU2RKK2lUWVhHeENBdnNVek43SE1TekFiUmJDVGNBSlFubUMyaW1JdUdqQ2V3NDAzMG1aRENTaEFlYU9adTFEbU1aaU5OdEJJM2pjZ0FBT05xR0F1WXNNNUdoWkFIQVd6YkJzWWdISVl0UWtBUURBQm9DZjZ2aVRyblVVQU1HRUNnR0FDQUlJSkFJSUpBSUlKQUlJSkFJSUpBSUlKQUlJSkFJSUpBQWdtQUFnbUFBZ21BQWdtQUFnbUFBZ21BQWdtQUNDWUFDQ1lBQ0NZQUNDWUFDQ1lBRkIwLzArQUFRREhIeFFFTU1SSXJ3QUFBQUJKUlU1RXJrSmdnZz09XCIpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gU3ByZWFkc2hlZXRcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgU3ByZWFkc2hlZXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTcHJlYWRzaGVldC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IGhlYWRlci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1oZWFkZXItYmc6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBoZWFkZXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgaGVhZGVyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIFNwcmVhZHNoZWV0IGhlYWRlci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1oZWFkZXItZ3JhZGllbnQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWdyYWRpZW50ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLWJnOiAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCB0YWJsZSBoZWFkZXJzLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXRhYmxlLWhlYWRlci10ZXh0OiAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgdGFibGUgaGVhZGVycy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC10YWJsZS1oZWFkZXItYm9yZGVyOiAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIFNwcmVhZHNoZWV0IHRhYmxlIGhlYWRlcnMuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLWdyYWRpZW50OiAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWdyYWRpZW50ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU3ByZWFkc2hlZXQgYWN0aW9uIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGFjdGlvbiBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgYWN0aW9uIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNwcmVhZHNoZWV0IGFjdGlvbiBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1mb250LXNpemU6ICRrZW5kby1zcHJlYWRzaGVldC1mb250LXNpemUgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTcHJlYWRzaGVldCBhY3Rpb24gYmFyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5ncyBvZiB0aGUgU3ByZWFkc2hlZXQgYWN0aW9uIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLXNwYWNpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBnYXAgb2YgdGhlIFNwcmVhZHNoZWV0IGZvcm11bGEgYmFyLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWZvcm11bGEtYmFyLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgZm9ybXVsYSBpbnB1dC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LXBhZGRpbmcteDogJGtlbmRvLWlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgZm9ybXVsYSBpbnB1dC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LXBhZGRpbmcteTogJGtlbmRvLWlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFNwcmVhZHNoZWV0IGZvcm11bGEgaW5wdXQuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZm9ybXVsYS1pbnB1dC1saW5lLWhlaWdodDogJGtlbmRvLWlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTcHJlYWRzaGVldCB2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXZpZXctZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNwcmVhZHNoZWV0IHZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtdmlldy1mb250LXNpemU6ICRrZW5kby1zcHJlYWRzaGVldC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgc2VsZWN0aW9uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5ICkgMjUlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1zZWxlY3RlZC1iZywgLjI1ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgc2VsZWN0aW9uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1ib3JkZXI6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBTcHJlYWRzaGVldCBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBzaW5nbGUgc2VsZWN0aW9uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXNpbmdsZS1zZWxlY3Rpb24tYmc6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgc2luZ2xlIHNlbGVjdGlvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgc2luZ2xlIHNlbGVjdGlvbi5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLWJvcmRlcjogJGtlbmRvLXNwcmVhZHNoZWV0LWJnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHBhcnRpYWwgc2VsZWN0aW9uLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LXBhcnRpYWwtc2VsZWN0aW9uLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLXNlbGVjdGVkLWJnLCAuMjUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgYWN0aXZlIGNlbGwuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYWN0aXZlLWNlbGwtYmc6ICRrZW5kby1zcHJlYWRzaGVldC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBTcHJlYWRzaGVldCBhY3RpdmUgY2VsbC5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1hY3RpdmUtY2VsbC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgYXV0byBmaWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBwcmltYXJ5ICkgMjUlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1zZWxlY3RlZC1iZywgLjI1ICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBhdXRvIGZpbGwuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYXV0by1maWxsLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgYXV0byBmaWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1ib3JkZXI6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBTcHJlYWRzaGVldCBhdXRvIGZpbGwuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtYXV0by1maWxsLXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgYXV0byBmaWxsIHB1bmNoLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1wdW5jaC1iZzogcmdiYSggJGtlbmRvLXNwcmVhZHNoZWV0LWJnLCAuNSApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGNlbGwuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtcGFkZGluZy14OiAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFNwcmVhZHNoZWV0IGNlbGwgZWRpdG9yLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLWxpbmUtaGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IGNlbGwgZWRpdG9yLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGVkaXRvci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1wYWRkaW5nLXk6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBlZGl0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItYmc6ICRrZW5kby1zcHJlYWRzaGVldC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBlZGl0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItdGV4dDogJGtlbmRvLXNwcmVhZHNoZWV0LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBlZGl0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNwcmVhZHNoZWV0IHJlc2l6ZSBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtcmVzaXplLWhhbmRsZS1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBjZWxsIGNvbW1lbnQgaW5kaWNhdG9yLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtY29tbWVudC1ib3JkZXI6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgY2VsbCBkaXJ0eSBpbmRpY2F0b3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1kaXJ0eS1ib3JkZXI6ICRrZW5kby1jb2xvci1lcnJvciAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFNwcmVhZHNoZWV0IHNoZWV0cyBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgU3ByZWFkc2hlZXQgc2hlZXRzIGJhci5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1zaGVldHMtYmFyLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFNwcmVhZHNoZWV0IHNoZWV0cyBiYXIuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgc3R5bGUgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLWJvcmRlci1zdHlsZTogZGFzaGVkICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy10ZXh0LW1hcmdpbi1ib3R0b206IDMwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cgcHJldmlldy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctd2lkdGg6IDM1NXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1oZWlnaHQ6IDIzMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBpbWFnZSBvZiB0aGUgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nIHByZXZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LWltZzogXCJpbWFnZS1kZWZhdWx0LnBuZ1wiICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3LlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBTcHJlYWRzaGVldCBpbWFnZSBEaWFsb2cgcHJldmlldy5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nIHByZXZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LW92ZXJsYXktc2hhZG93OiBpbnNldCAwIDAgMCAyMDAwcHggcmdiYSggYmxhY2ssIC41ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIFNwcmVhZHNoZWV0IGltYWdlIERpYWxvZyBwcmV2aWV3IG92ZXJsYXkuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LW92ZXJsYXktYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGhvdmVyZWQgU3ByZWFkc2hlZXQgaW1hZ2UgRGlhbG9nIHByZXZpZXcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1vdmVybGF5LWhvdmVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcgaGFuZGxlLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLXdpZHRoOiA2cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtaGVpZ2h0OiA2cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1vdXRsaW5lLWNvbG9yOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgb3V0bGluZSBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYm9yZGVyLWNvbG9yOiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBoYW5kbGUuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nIGhhbmRsZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBvdXRsaW5lIHN0eWxlIG9mIHRoZSBTcHJlYWRzaGVldCBkcmF3aW5nLlxuLy8vIEBncm91cCBzcHJlYWRzaGVldFxuJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctb3V0bGluZS1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgd2lkdGggb2YgdGhlIFNwcmVhZHNoZWV0IGRyYXdpbmcuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1vdXRsaW5lLXdpZHRoOiAycHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU3ByZWFkc2hlZXQgZHJhd2luZyBhbmNob3IuXG4vLy8gQGdyb3VwIHNwcmVhZHNoZWV0XG4ka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1hbmNob3ItYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tc2VsZWN0ZWQtYmcsIC4yNSApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBzcGFjaW5nIG9mIHRoZSBTcHJlYWRzaGVldCBEcm9wWm9uZS5cbi8vLyBAZ3JvdXAgc3ByZWFkc2hlZXRcbiRrZW5kby1zcHJlYWRzaGVldC1kcm9wem9uZS1zcGFjaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9zcHJlYWRzaGVldC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3ByZWFkc2hlZXQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc3ByZWFkc2hlZXQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gU3ByZWFkc2hlZXRcbiAgICAuay1zcHJlYWRzaGVldCB7XG4gICAgICAgIHdpZHRoOiA4MDBweDtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tc3ByZWFkc2hlZXQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXNwcmVhZHNoZWV0LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1zcHJlYWRzaGVldC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tc3ByZWFkc2hlZXQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLmstdmVydGljYWwtYWxpZ24tY2VudGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5rLXZlcnRpY2FsLWFsaWduLWJvdHRvbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC0xMDAlICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG5cbiAgICAvLyBBY3Rpb24gYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtYWN0aW9uLWJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICRrZW5kby1zcHJlYWRzaGVldC1hY3Rpb24tYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1wYWRkaW5nLXg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXItZm9udC1mYW1pbHk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAka2VuZG8tc3ByZWFkc2hlZXQtYWN0aW9uLWJhci1zcGFjaW5nO1xuICAgIH1cbiAgICAvLyBUb2RvIGNoZWNrXG4gICAgLmstc3ByZWFkc2hlZXQtbmFtZS1lZGl0b3Ige1xuICAgICAgICB3aWR0aDogMTBlbTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtZm9ybXVsYS1iYXIge1xuICAgICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBnYXA6ICRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWJhci1nYXA7XG5cbiAgICAgICAgLy8gbW92ZSB0byBsZWdhY3kgc2VsZWN0b3JcbiAgICAgICAgPiAuay1pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhZGRpbmctbWQteTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhZGQgay1oaWRkZW4gZnJvbSBjb21wb25lbnRcbiAgICAgICAgLmstdG9vbHRpcCxcbiAgICAgICAgLmstZ3JvdXAtaGVhZGVyLFxuICAgICAgICAuay1saXN0LXNjcm9sbGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zcHJlYWRzaGVldC1mb3JtdWxhLWlucHV0LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc3ByZWFkc2hlZXQtZm9ybXVsYS1pbnB1dC1wYWRkaW5nLXg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXNwcmVhZHNoZWV0LWZvcm11bGEtaW5wdXQtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICAgICAmLmstc3ByZWFkc2hlZXQtYXJyYXktZm9ybXVsYSB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJ7XCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJ9XCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWZvcm11bGEtaW5wdXQge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgID4gLmstc3ludGF4LWZ1bmMuay1zeW50YXgtYXQtcG9pbnQsXG4gICAgICAgID4gLmstc3ludGF4LWJvb2wuay1zeW50YXgtYXQtcG9pbnQsXG4gICAgICAgID4gLmstc3ludGF4LXJlZi5rLXN5bnRheC1hdC1wb2ludCxcbiAgICAgICAgPiAuay1zeW50YXgtc3RyLmstc3ludGF4LWF0LXBvaW50LFxuICAgICAgICA+IC5rLXN5bnRheC1udW0uay1zeW50YXgtYXQtcG9pbnQge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5rLXNlcmllcy1hLFxuICAgICAgICA+IC5rLXNlcmllcy1iLFxuICAgICAgICA+IC5rLXNlcmllcy1jLFxuICAgICAgICA+IC5rLXNlcmllcy1kIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWZvcm11bGEtbGlzdCB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG5cbiAgICAgICAgLmstaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbGlzdC1tZC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1zeW50YXgtZnVuYyxcbiAgICAuay1zeW50YXgtc3RhcnRleHAge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cblxuICAgIC8vIENlbGwgZWRpdG9yXG4gICAgLmstc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3Ige1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZWRpdG9yLXBhZGRpbmcteDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuXG5cbiAgICAvLyBTaGVldHMgYmFyXG4gICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzLWJhciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc3ByZWFkc2hlZXQtc2hlZXRzLWJhci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXNwcmVhZHNoZWV0LXNoZWV0cy1iYXItYm9yZGVyLXdpZHRoIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXNoZWV0cyAuay10YWJzdHJpcC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXNoZWV0cy1iYXItYWRkIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXNoZWV0cy1pdGVtcyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstdGFic3RyaXAtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1pdGVtIHtcbiAgICAgICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc3ByZWFkc2hlZXQtc2hlZXRzLXJlbW92ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3ByZWFkc2hlZXQgdmlld1xuICAgIC5rLXNwcmVhZHNoZWV0LXZpZXcge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1zcHJlYWRzaGVldC12aWV3LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1zcHJlYWRzaGVldC12aWV3LWZvbnQtZmFtaWx5O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLy8gZGlzYWJsZWQgY2VsbHMgaW4gdGhlIFNwcmVhZHNoZWV0IHNob3VsZCBhbGxvdyBuYXZpZ2F0aW9uIGlmIGxpbmsgaXMgdXNlZFxuICAgICAgICAuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWZpeGVkLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gdmFyKC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9KSApO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMCUgLSB2YXIoLS1rZW5kby1zY3JvbGxiYXItd2lkdGgsICN7JGtlbmRvLXNjcm9sbGJhci13aWR0aH0pICk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyB0b2RvIGNoZWNrIGlmIHVzZWQgLSBwcm9iYWJseSBub3RcbiAgICAuay1zcHJlYWRzaGVldC1vdmVyZmxvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtcGFuZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMXB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDJweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGVhY2ggJHNpZGUgaW4gKHRvcCwgbGVmdCkge1xuICAgICAgICAgICAgJi5rLSN7JHNpZGV9IHsgYm9yZGVyLSN7JHNpZGV9LXdpZHRoOiAwOyB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXRvcC1jb3JuZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTAwMDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1zY3JvbGxlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgICAgICAgLy8gb24gdG91Y2ggZGV2aWNlcyB3ZSB3YW50IHRoaXMgdG8gc3RheSBvbiB0b3AuXG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBHcmlkIGxpbmVzXG4gICAgLmstc3ByZWFkc2hlZXQtaGF4aXMsXG4gICAgLmstc3ByZWFkc2hlZXQtdmF4aXMge1xuICAgICAgICBib3JkZXI6IDAgc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1oYXhpcyB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtdmF4aXMge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuXG4gICAgLy8gUm93IC8gQ29sdW1uIGhlYWRlcnNcbiAgICAuay1zcHJlYWRzaGVldC1yb3ctaGVhZGVyLFxuICAgIC5rLXNwcmVhZHNoZWV0LWNvbHVtbi1oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1yb3ctaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1jb2x1bW4taGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1yb3ctaGVhZGVyID4gZGl2IHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIgPiAuay1zZWxlY3Rpb24tcGFydGlhbCxcbiAgICAuay1zcHJlYWRzaGVldC1yb3ctaGVhZGVyID4gLmstc2VsZWN0aW9uLWZ1bGwge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWNvbHVtbi1oZWFkZXIgPiBkaXYge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1jb2x1bW4taGVhZGVyID4gLmstc2VsZWN0aW9uLXBhcnRpYWwsXG4gICAgLmstc3ByZWFkc2hlZXQtY29sdW1uLWhlYWRlciA+IC5rLXNlbGVjdGlvbi1mdWxsIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFNwcmVhZHNoZWV0IGRhdGFcbiAgICAuay1zcHJlYWRzaGVldC1kYXRhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjdXJzb3I6IGNlbGw7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIENlbGxzXG4gICAgLmstc3ByZWFkc2hlZXQtY2VsbCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLXBhZGRpbmcteDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1tZXJnZWQtY2VsbHMtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1kaXNhYmxlZC1tYXNrIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGlvblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNlbGVjdGlvbi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGNlbGw7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNwcmVhZHNoZWV0LXNlbGVjdGlvbiB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1oaWdobGlnaHQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQgLmstc3ByZWFkc2hlZXQtZWRpdG9yLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgei1pbmRleDogNjA7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtYWN0aXZlLWNlbGwge1xuICAgICAgICAvLyBhbHdheXMgc2hvdyBleGFjdCBhY3RpdmUgY2VsbCBib3JkZXIsIHJlZ2FyZGxlc3Mgb2YgaW5saW5lIGNlbGwgc3R5bGVzXG4gICAgICAgIG91dGxpbmUtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvLWZpbGwsXG4gICAgLmstc3ByZWFkc2hlZXQgLmstYXV0by1maWxsLXB1bmNoLFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbC1ici1oaW50IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvLWZpbGwge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQgLmstc2luZ2xlLXNlbGVjdGlvbiB7fVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNpbmdsZS1zZWxlY3Rpb246OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMzAwO1xuICAgICAgICBjdXJzb3I6IGNyb3NzaGFpcjtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24tZnVsbCxcbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24tcGFydGlhbCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEF1dG9maWxsXG4gICAgLmstc3ByZWFkc2hlZXQgLmstYXV0b2ZpbGwtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBjZWxsO1xuICAgIH1cblxuXG4gICAgLy8gQm9yZGVyIHJlbmRlcmluZ1xuICAgIC5rLXNwcmVhZHNoZWV0LXZib3JkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1oYm9yZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIH1cblxuXG4gICAgLy8gQ29tbWVudHNcbiAgICAuay1zcHJlYWRzaGVldC1oYXMtY29tbWVudDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuXG5cbiAgICAvLyBWYWxpZGF0aW9uXG4gICAgLmstc3ByZWFkc2hlZXQtY2VsbCAuay1kaXJ0eSB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogYXV0bztcbiAgICB9XG5cblxuICAgIC8vIEZpbHRlciBidXR0b25cbiAgICAuay1zcHJlYWRzaGVldCAuay1maWx0ZXItd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWZpbHRlci1yYW5nZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWZpbHRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1wYWRkaW5nLXk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuay1pY29uIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIH1cblxuXG4gICAgLy8gRmlsdGVyIG1lbnVcbiAgICAuay1zcHJlYWRzaGVldC1maWx0ZXItbWVudSB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcblxuICAgICAgICAuay1hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmstbWVudSxcbiAgICAgICAgPiAuay1tZW51LmstbWVudS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG5cbiAgICAgICAgICAgIC5rLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCAjeyRrZW5kby1pY29uLXNpemV9ICsgI3syICogJGtlbmRvLXBhZGRpbmctbWQteX0gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogKCAjeyRrZW5kby1pY29uLXNpemV9ICsgI3ska2VuZG8tcGFkZGluZy1tZC15fSApICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuay1zcHJlYWRzaGVldC12YWx1ZS10cmVldmlldy13cmFwcGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgICAgICAgICAuay10cmVldmlldyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLXBhZGRpbmctbWQteTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERldGFpbHNcbiAgICAgICAgLmstZGV0YWlscyxcbiAgICAgICAgLmstZXhwYW5kZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstZXhwYW5kZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAuay1kZXRhaWxzLXN1bW1hcnksXG4gICAgICAgIC5rLWNvbHVtbm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tbWVudS1wb3B1cC1pdGVtLXBhZGRpbmcteDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICA+IC5rLWljb24sXG4gICAgICAgICAgICA+IC5rLWV4cGFuZGVyLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLWRldGFpbHMtY29udGVudCxcbiAgICAgICAgLmstY29sdW1ubWVudS1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuXG4gICAgICAgICAgICAuay1maWx0ZXItYW5kIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwcmVhZHNoZWV0IHRvb2xiYXJcbiAgICAuay1zcHJlYWRzaGVldC1wb3B1cCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmstc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzZXQtY29sb3IsXG4gICAgICAgIC5rLWN1c3RvbS1jb2xvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAwICk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2V0LWNvbG9yIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XG4gICAgICAgIC5rLWN1c3RvbS1jb2xvciB7IGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxuICAgICAgICAuay1zcHJlYWRzaGVldC1ib3JkZXItdHlwZS1wYWxldHRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtYXgtY29udGVudCk7XG4gICAgICAgICAgICBnYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmstc3ByZWFkc2hlZXQtY2xpcGJvYXJkLFxuICAgIC5rLXNwcmVhZHNoZWV0LWNsaXBib2FyZC1wYXN0ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cblxuICAgIC8vIFNwcmVhZHNoZWV0IHdpbmRvd1xuICAgIC5rLXNwcmVhZHNoZWV0LXdpbmRvdyAuay1leHRlcm5hbC1kcm9wem9uZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6ICRrZW5kby1zcHJlYWRzaGVldC1kcm9wem9uZS1zcGFjaW5nLXk7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtd2luZG93IC5rLWVkaXQtZm9ybS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuXG4gICAgLy8gRm9ybWF0IHByZXZpZXcgd2luZG93XG4gICAgLmstc3ByZWFkc2hlZXQtZm9ybWF0LWNlbGxzIHtcblxuICAgICAgICAuay1zcHJlYWRzaGVldC1wcmV2aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxpc3Qtc2Nyb2xsZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRXhwb3J0IGRpYWxvZ1xuICAgIC5rLWV4cG9ydC1jb25maWcge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1lZGl0LWZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhZ2Utb3JpZW50YXRpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcblxuICAgICAgICAgICAgLmstZm9udC1pY29uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDZlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXN2Zy1pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBJbnNlcnQgY29tbWVudCBkaWFsb2dcbiAgICAuay1zcHJlYWRzaGVldC1pbnNlcnQtY29tbWVudCB0ZXh0YXJlYSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBJbnNlcnQgaW1hZ2UgZGlhbG9nIC0gRGVsZXRlIGFmdGVyIG5ldyByZW5kZXJpbmcgYWRvcHRpb24gUjMgMjNcbiAgICAuay1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctYm9yZGVyLXN0eWxlO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLWJvcmRlci13aWR0aDtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1oZWlnaHQ7XG4gICAgICAgICAgICAvLyBUT0RPOiBleHRyYWN0IHZhcmlhYmxlXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3trLW1hcC1nZXQoJF9rZW5kby1kYXRhLXVyaXMsICRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctaW1nKX0pO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDcwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAzMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctdGV4dC1tYXJnaW4tYm90dG9tO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWhhcy1pbWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gOTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblxuICAgICAgICAgICAgJjpob3ZlciBkaXYsXG4gICAgICAgICAgICAmLmstaG92ZXIgZGl2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAvLyBTcHJlYWRzaGVldCBkcmF3aW5nXG4gICAgLmstc3ByZWFkc2hlZXQtZHJhd2luZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgei1pbmRleDogMTAxO1xuXG4gICAgICAgICYuay1zcHJlYWRzaGVldC1hY3RpdmUtZHJhd2luZyB7XG4gICAgICAgICAgICBvdXRsaW5lLXN0eWxlOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1vdXRsaW5lLXN0eWxlO1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctb3V0bGluZS13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctaW1hZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1oZWlnaHQ7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6ICRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItc3R5bGU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1ibG9jay1zaW5nbGUtbGluZS1tYXgtZGVjbGFyYXRpb25zLCBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuXG4gICAgICAgICAgICAmLk4geyBsZWZ0OiA1MCU7IHRvcDogMDsgY3Vyc29yOiBucy1yZXNpemU7IH1cbiAgICAgICAgICAgICYuTkUgeyBsZWZ0OiAxMDAlOyB0b3A6IDA7IGN1cnNvcjogbmVzdy1yZXNpemU7IH1cbiAgICAgICAgICAgICYuRSB7IGxlZnQ6IDEwMCU7IHRvcDogNTAlOyBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxuICAgICAgICAgICAgJi5TRSB7IGxlZnQ6IDEwMCU7IHRvcDogMTAwJTsgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxuICAgICAgICAgICAgJi5TIHsgbGVmdDogNTAlOyB0b3A6IDEwMCU7IGN1cnNvcjogbnMtcmVzaXplOyB9XG4gICAgICAgICAgICAmLlNXIHsgbGVmdDogMDsgdG9wOiAxMDAlOyBjdXJzb3I6IG5lc3ctcmVzaXplOyB9XG4gICAgICAgICAgICAmLlcgeyBsZWZ0OiAwOyB0b3A6IDUwJTsgY3Vyc29yOiBldy1yZXNpemU7IH1cbiAgICAgICAgICAgICYuTlcgeyBsZWZ0OiAwOyB0b3A6IDA7IGN1cnNvcjogbndzZS1yZXNpemU7IH1cbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tYmxvY2stc2luZ2xlLWxpbmUtbWF4LWRlY2xhcmF0aW9ucywgc2VsZWN0b3ItY2xhc3MtcGF0dGVyblxuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZyB7XG4gICAgICAgICAgICAuay1zcHJlYWRzaGVldC1oYXMtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2ctcHJldmlldy1vdmVybGF5LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMZWdhY3kgc3R5bGVzXG4gICAgLmstc3ByZWFkc2hlZXQtbGVnYWN5IHtcbiAgICAgICAgLmstc3ByZWFkc2hlZXQsXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWFjdGlvbi1iYXIsXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LXZpZXcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQtY2VsbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcHJlYWRzaGVldC1maWx0ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsdGVyLXJhbmdlIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3ByZWFkc2hlZXQgLmstc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWJzdHJpcFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXRhYnN0cmlwLXdyYXBwZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LXF1aWNrLWFjY2Vzcy10b29sYmFyIHtcbiAgICAgICAgcGFkZGluZzogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmstc3ByZWFkc2hlZXQtdGFic3RyaXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIC5rLXRhYnN0cmlwLWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIC5rLWxvYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC10YWJzdHJpcCAuay1jb250ZW50LFxuICAgIC5rLXNwcmVhZHNoZWV0LXRhYnN0cmlwIC5rLXRhYnN0cmlwLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAwICk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcHJlYWRzaGVldC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXNwcmVhZHNoZWV0LS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLmstc3ByZWFkc2hlZXQtbWVudSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAkbmF2YmFyLXBhZGRpbmcteTtcbiAgICB9XG5cbiAgICAvLyBGaWx0ZXIgbWVudSAtIERlbGV0ZSBvbmNlIG5ldyByZW5kZXJpbmcgaXMgYWRvcHRlZCBSMyAyM1xuICAgIC5rLXNwcmVhZHNoZWV0LWZpbHRlci1tZW51IHtcbiAgICAgICAgPiAuay1tZW51LFxuICAgICAgICA+IC5rLW1lbnU6bm90KC5rLWNvbnRleHQtbWVudSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldC1maWx0ZXIge1xuICAgICAgICBwYWRkaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICk7XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zcHJlYWRzaGVldC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zcHJlYWRzaGVldC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NwcmVhZHNoZWV0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBTcHJlYWRzaGVldFxuICAgIC5rLXNwcmVhZHNoZWV0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEhlYWRlclxuICAgIC5rLXNwcmVhZHNoZWV0LWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWhlYWRlci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtaGVhZGVyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUm93IC8gQ29sdW1uIEhlYWRlcnNcbiAgICAuay1zcHJlYWRzaGVldC10b3AtY29ybmVyLFxuICAgIC5rLXNwcmVhZHNoZWV0LXJvdy1oZWFkZXIsXG4gICAgLmstc3ByZWFkc2hlZXQtY29sdW1uLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LXRhYmxlLWhlYWRlci1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtdGFibGUtaGVhZGVyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ2VsbCBlZGl0b3JcbiAgICAuay1zcHJlYWRzaGVldC1jZWxsLWVkaXRvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1lZGl0b3ItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1iZyxcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWVkaXRvci1ib3JkZXJcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8vIENlbGxzXG4gICAgLmstc3ByZWFkc2hlZXQtbWVyZ2VkLWNlbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1zcHJlYWRzaGVldC1iZyApO1xuICAgIH1cbiAgICAuay1zcHJlYWRzaGVldC1kaXNhYmxlZC1tYXNrIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tc3ByZWFkc2hlZXQtYmcgKTtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3Rpb25cbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24tZnVsbCxcbiAgICAuay1zcHJlYWRzaGVldCAuay1zZWxlY3Rpb24tcGFydGlhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXNwcmVhZHNoZWV0LXBhcnRpYWwtc2VsZWN0aW9uLWJnICk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LXNlbGVjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXNwcmVhZHNoZWV0LXNlbGVjdGlvbi1zaGFkb3cgKTtcbiAgICB9XG4gICAgLmstc3ByZWFkc2hlZXQtc2VsZWN0aW9uLWhpZ2hsaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1zcHJlYWRzaGVldC1zZWxlY3Rpb24tYm9yZGVyICk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXNpbmdsZS1zZWxlY3Rpb246OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc3ByZWFkc2hlZXQtc2luZ2xlLXNlbGVjdGlvbi1iZyxcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1zaW5nbGUtc2VsZWN0aW9uLWJvcmRlclxuICAgICAgICApXG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoICRiZzogJGtlbmRvLXNwcmVhZHNoZWV0LWFjdGl2ZS1jZWxsLWJnICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zcHJlYWRzaGVldC1hY3RpdmUtY2VsbC1zaGFkb3cgKTtcbiAgICB9XG5cbiAgICAuay1zcHJlYWRzaGVldCAuay1hdXRvLWZpbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1iZyxcbiAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zcHJlYWRzaGVldC1hdXRvLWZpbGwtc2hhZG93ICk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWF1dG8tZmlsbC1wdW5jaCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXNwcmVhZHNoZWV0LWF1dG8tZmlsbC1wdW5jaC1iZyApO1xuICAgIH1cblxuICAgIC8vIFJlc2l6ZSBoYW5kbGVcbiAgICAuay1zcHJlYWRzaGVldCAuay1yZXNpemUtaGFuZGxlLFxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLXJlc2l6ZS1oaW50LWhhbmRsZSxcbiAgICAuay1zcHJlYWRzaGVldCAuay1yZXNpemUtaGludC1tYXJrZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmc6ICRrZW5kby1zcHJlYWRzaGVldC1yZXNpemUtaGFuZGxlLWJnICk7XG4gICAgfVxuXG4gICAgLy8gQ29tbWVudHNcbiAgICAuay1zcHJlYWRzaGVldC1oYXMtY29tbWVudDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYmxvY2stY29sb3I6ICRrZW5kby1zcHJlYWRzaGVldC1jZWxsLWNvbW1lbnQtYm9yZGVyIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItaW5saW5lLWNvbG9yOiB0cmFuc3BhcmVudCAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1jb21tZW50LWJvcmRlcjtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0aW9uXG4gICAgLmstc3ByZWFkc2hlZXQtY2VsbCAuay1kaXJ0eSB7XG4gICAgICAgIGJvcmRlci1ibG9jay1jb2xvcjogJGtlbmRvLXNwcmVhZHNoZWV0LWNlbGwtZGlydHktYm9yZGVyIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItaW5saW5lLWNvbG9yOiAka2VuZG8tc3ByZWFkc2hlZXQtY2VsbC1kaXJ0eS1ib3JkZXIgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gRmlsdGVyIGJ1dHRvblxuICAgIC5rLXNwcmVhZHNoZWV0IC5rLWZpbHRlci1yYW5nZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG4gICAgfVxuICAgIC5rLXNwcmVhZHNoZWV0LWZpbHRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAka2VuZG8tYnV0dG9uLWJvcmRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24taG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWFjdGl2ZS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYWN0aXZlLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYWN0aXZlLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWFjdGl2ZS1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpbHRlciBtZW51IGxlZ2FjeSAtIGRlbGV0ZSBhZnRlciBuZXcgcmVuZGVyaW5nIGFkb3B0aW9uIFIzIDIzXG4gICAgLmstc3ByZWFkc2hlZXQtZmlsdGVyLW1lbnUge1xuICAgICAgICA+IC5rLW1lbnUsXG4gICAgICAgID4gLmstbWVudTpub3QoLmstY29udGV4dC1tZW51KSB7XG5cbiAgICAgICAgICAgIC5rLWl0ZW06aG92ZXIsXG4gICAgICAgICAgICAuay1pdGVtLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1saXN0LWl0ZW0taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWxpc3QtaXRlbS1ob3Zlci1iZ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1zcHJlYWRzaGVldC12YWx1ZS10cmVldmlldy13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNwcmVhZHNoZWV0LWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1zcHJlYWRzaGVldC1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZWxldGUgYWZ0ZXIgbmV3IHJlbmRlcmluZyBhZG9wdGlvbiBSMyAyM1xuICAgIC5rLXNwcmVhZHNoZWV0LWluc2VydC1pbWFnZS1kaWFsb2cge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1zcHJlYWRzaGVldC1pbnNlcnQtaW1hZ2UtZGlhbG9nLXByZXZpZXctYm9yZGVyO1xuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWhhcy1pbWFnZSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1wcmV2aWV3LW92ZXJsYXktc2hhZG93O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIGRpdixcbiAgICAgICAgICAgICYuay1ob3ZlciBkaXYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tc3ByZWFkc2hlZXQtaW5zZXJ0LWltYWdlLWRpYWxvZy1vdmVybGF5LWhvdmVyLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcmF3aW5nXG4gICAgLmstc3ByZWFkc2hlZXQtZHJhd2luZyB7XG4gICAgICAgICYuay1zcHJlYWRzaGVldC1hY3RpdmUtZHJhd2luZyB7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1oYW5kbGUtb3V0bGluZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXNwcmVhZHNoZWV0LWRyYXdpbmctaGFuZGxlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zcHJlYWRzaGVldC1kcmF3aW5nLWhhbmRsZS1iZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNwcmVhZHNoZWV0LWRyYXdpbmctYW5jaG9yLWNlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tc3ByZWFkc2hlZXQtZHJhd2luZy1hbmNob3ItYmc7XG4gICAgfVxuXG4gICAgLy8gRm9ybXVsYSBiYXJcbiAgICAuay1zcHJlYWRzaGVldC1mb3JtdWxhLWxpc3Qge31cbiAgICAuay1zeW50YXgtcmVmIHsgY29sb3I6ICNmZjg4MjI7IH1cbiAgICAuay1zeW50YXgtbnVtIHsgY29sb3I6ICMwMDk5ZmY7IH1cbiAgICAuay1zeW50YXgtc3RyIHsgY29sb3I6ICMzOGI3MTQ7IH1cbiAgICAuay1zeW50YXgtZXJyb3IgeyBjb2xvcjogcmVkOyB9XG4gICAgLmstc3ludGF4LWJvb2wgeyBjb2xvcjogI2E5MTY5YzsgfVxuICAgIC5rLXN5bnRheC1wYXJlbi1tYXRjaCB7IGJhY2tncm91bmQtY29sb3I6ICNjYWYyMDA7IH1cblxufVxuXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwcmVhZHNoZWV0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwcmVhZHNoZWV0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc3ByZWFkc2hlZXQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInNwcmVhZHNoZWV0XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNwcmVhZHNoZWV0LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc3ByZWFkc2hlZXQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zcHJlYWRzaGVldC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vcGl2b3RncmlkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvcGl2b3RncmlkL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInBpdm90Z3JpZFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImRpYWxvZ1wiLFxuICAgICAgICBcImdyaWRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwibGlzdFwiLFxuICAgICAgICBcInRyZWV2aWV3XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RpYWxvZy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RpYWxvZy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RyZWV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdHJlZXZpZXcvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9ncmlkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZ3JpZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX3NwYWNlci5zY3NzXCI7XG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX2ZsZXguc2Nzc1wiO1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19ncmlkLnNjc3NcIjtcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fcG9zaXRpb24uc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3Bpdm90Z3JpZC9fdmFyaWFibGVzLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RhYmxlL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RhYmxlL192YXJpYWJsZXMuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBQaXZvdCBncmlkXG4ka2VuZG8tcGl2b3RncmlkLXNwYWNlcjogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLXBhZGRpbmcteTogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtaWNvbi1zcGFjaW5nOiA0cHggIWRlZmF1bHQ7XG5cbiRrZW5kby1waXZvdGdyaWQtcm93LWhlYWRlci13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbHVtbi1oZWFkZXItaGVpZ2h0OiA3NXB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLWNlbGwtcGFkZGluZy14OiAka2VuZG8tdGFibGUtbWQtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNlbGwtcGFkZGluZy15OiAka2VuZG8tdGFibGUtbWQtY2VsbC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbiRrZW5kby1waXZvdGdyaWQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC1hbHQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYm9yZGVyLWFsdCApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXBpdm90Z3JpZC1ib3JkZXIsIDIgKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1iZzogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC10b3RhbC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlICksIGstdHJ5LXNoYWRlKCAka2VuZG8tcGl2b3RncmlkLWJnLCAxICkpICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC10b3RhbC10ZXh0OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC10b3RhbC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC1ob3Zlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlLWhvdmVyICksIGstY29sb3ItZGFya2VuKCAka2VuZG8tcGl2b3RncmlkLWJnLCA3JSApKSAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtaG92ZXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtaG92ZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLXNlbGVjdGVkLWJnLCAuMjUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLXNlbGVjdGVkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLXNlbGVjdGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC1mb2N1cy1zaGFkb3c6ICRrZW5kby1saXN0LWl0ZW0tZm9jdXMtc2hhZG93ICFkZWZhdWx0O1xuXG4vLyBQaXZvdGdyaWQgQ29uZmlndXJhdG9yXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYWRkaW5nLXg6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXBhZGRpbmcteDogJGtlbmRvLXBpdm90Z3JpZC1zcGFjZXIgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItcGFkZGluZy15OiAoICRrZW5kby1waXZvdGdyaWQtc3BhY2VyICogLjc1ICkgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItZm9udC1zaXplOiAxOHB4ICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XG5cbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWNvbnRlbnQtcGFkZGluZy14OiAka2VuZG8tcGl2b3RncmlkLXNwYWNlciAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWNvbnRlbnQtcGFkZGluZy15OiAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWZpZWxkcy1tYXJnaW4teDogMHB4ICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi15OiBrLW1hdGgtZGl2KCAka2VuZG8tcGl2b3RncmlkLXNwYWNlciwgMiApICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci12ZXJ0aWNhbC13aWR0aDogMzIwcHggIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1ob3Jpem9udGFsLWhlaWdodDogNDIwcHggIWRlZmF1bHQ7XG5cbiRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXRleHQ6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1zaGFkb3c6IGstZWxldmF0aW9uKDMpICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZW5kLXNoYWRvdzogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itc2hhZG93ICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itc3RhcnQtc2hhZG93OiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1zaGFkb3cgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci10b3Atc2hhZG93OiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1zaGFkb3cgICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYm90dG9tLXNoYWRvdzogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itc2hhZG93ICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZTogY2FsYyggI3ska2VuZG8tcGl2b3RncmlkLWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLXBhZGRpbmcteSAqIDJ9ICsgI3ska2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tYm9yZGVyLXdpZHRoICogMn0gKSAhZGVmYXVsdDtcblxuLy8gQ2FsY3VsYXRlZCBmaWVsZHNcbiRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1wYWRkaW5nLXg6ICRrZW5kby1waXZvdGdyaWQtc3BhY2VyICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLXBhZGRpbmcteTogJGtlbmRvLXBpdm90Z3JpZC1zcGFjZXIgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtZ2FwOiAka2VuZG8tcGl2b3RncmlkLXNwYWNlciAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlci10ZXh0OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cblxuJGtlbmRvLXBpdm90Z3JpZC10cmVldmlldy1wYWRkaW5nLXg6IDEuNXJlbSAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtdHJlZXZpZXctcGFkZGluZy15OiAwcHggIWRlZmF1bHQ7XG5cbi8vIExlZ2FjeSB2YXJpYWJsZXNcbiRrZW5kby1waXZvdGdyaWQtYWx0LWJnOiAka2VuZG8tZ3JpZC1oZWFkZXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWFsdC10ZXh0OiAka2VuZG8tZ3JpZC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1waXZvdGdyaWQtY2hyb21lLWJvcmRlcjogJGtlbmRvLWdyaWQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tcGl2b3RncmlkLWNvbnRhaW5lci1iZzogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLXJvdy1oZWFkZXJzLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZS1zdWJ0bGUgKSwgay10cnktc2hhZGUoICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnLCAuNSApKSAhZGVmYXVsdDtcblxuJGtlbmRvLXBpdm90Z3JpZC1idXR0b24tYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWJ1dHRvbi10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1idXR0b24taG92ZXItYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tcGl2b3RncmlkLWJ1dHRvbi1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1idXR0b24tYWN0aXZlLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1idXR0b24tYWN0aXZlLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1waXZvdGdyaWQtcmVtb3ZlLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXBpdm90Z3JpZC1yZW1vdmUtdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9waXZvdGdyaWQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Bpdm90Z3JpZC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9waXZvdGdyaWQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcGl2b3RncmlkLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFBpdm90Z3JpZFxuICAgIC5rLXBpdm90Z3JpZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1waXZvdGdyaWQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBpdm90Z3JpZC1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1waXZvdGdyaWQtZm9udC1zaXplO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXBpdm90Z3JpZC1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1waXZvdGdyaWQtbGluZS1oZWlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRrZW5kby1waXZvdGdyaWQtcm93LWhlYWRlci13aWR0aCBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICRrZW5kby1waXZvdGdyaWQtY29sdW1uLWhlYWRlci1oZWlnaHQgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAgICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICBlbXB0eS1jZWxsczogc2hvdztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkLFxuICAgICAgICB0Ym9keSxcbiAgICAgICAgdGgsXG4gICAgICAgIHRyLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYWJsZSBMYXlvdXRcbiAgICAuay1waXZvdGdyaWQtdGFibGUge1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1oZWFkZXItcm9vdCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSGVhZGVyIGVtcHR5IGNlbGxcbiAgICAuay1waXZvdGdyaWQtZW1wdHktY2VsbCB7XG4gICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGg7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBDb2x1bW4gSGVhZGVyc1xuICAgIC5rLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVycyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIC5rLXBpdm90Z3JpZC10YWJsZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWtlbmRvLXNjcm9sbGJhci13aWR0aCwgI3ska2VuZG8tc2Nyb2xsYmFyLXdpZHRofSk7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIC5rLXBpdm90Z3JpZC1jZWxsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1maXJzdCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUm93IEhlYWRlcnNcbiAgICAuay1waXZvdGdyaWQtcm93LWhlYWRlcnMge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1yb3ctaGVhZGVycyAuay1waXZvdGdyaWQtdGFibGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0ta2VuZG8tc2Nyb2xsYmFyLXdpZHRoLCAjeyRrZW5kby1zY3JvbGxiYXItd2lkdGh9KTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtcm93LWhlYWRlcnMgLmstcGl2b3RncmlkLWNlbGwge1xuICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAka2VuZG8tcGl2b3RncmlkLWNlbGwtYm9yZGVyLXdpZHRoO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuXG4gICAgLy8gVmFsdWVzXG4gICAgLmstcGl2b3RncmlkLXZhbHVlcyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtdmFsdWVzIC5rLXBpdm90Z3JpZC1jZWxsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY2VsbC1ib3JkZXItd2lkdGg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jZWxsIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBpdm90Z3JpZC1jZWxsLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1waXZvdGdyaWQtY2VsbC1wYWRkaW5nLXg7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jZWxsIC5rLWljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGtlbmRvLXBpdm90Z3JpZC1pY29uLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLXRvdGFsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAvLyBDb2x1bW4gbWVudXNcbiAgICAuay1jb2x1bW4tbWVudSAuay10cmVldmlldyB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1waXZvdGdyaWQtdHJlZXZpZXctcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBpdm90Z3JpZC10cmVldmlldy1wYWRkaW5nLXg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuXG4gICAgLy8gUGl2b3RncmlkIGNvbmZpZ3VyYXRvclxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcGFuZWwge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYWRkaW5nLXg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC8vIENvbmZpZ3VyYXRvciBCdXR0b25cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgLmstZmxleC1yb3cgJixcbiAgICAgICAgLmstZmxleC1yb3ctcmV2ZXJzZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLWZsZXgtcm93LXJldmVyc2UgJiA+IHNwYW4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1mbGV4LWNvbCAmLFxuICAgICAgICAuay1mbGV4LWNvbC1yZXZlcnNlICYge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBNb2Rlc1xuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAuay1mbGV4LXJvdyAmIHtcbiAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1idXR0b24tc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1mbGV4LXJvdy1yZXZlcnNlICYge1xuICAgICAgICAgICAgbGVmdDogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLXNpemU7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmxleC1jb2wgJiB7XG4gICAgICAgICAgICBib3R0b206ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1zaXplO1xuICAgICAgICB9XG4gICAgICAgIC5rLWZsZXgtY29sLXJldmVyc2UgJiB7XG4gICAgICAgICAgICB0b3A6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJ1dHRvbi1zaXplO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBQYW5lbCBDb250ZW50XG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXBhZGRpbmcteDtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1oZWFkZXItZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLXRleHQge1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWNvbnRlbnQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudC1wYWRkaW5nLXg7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAuay1mb3JtIHtcbiAgICAgICAgICAgIC5rLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWRyb3Bkb3duLWxpc3Qge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXRleHRib3gge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJvd3MsIENvbHMgYW5kIEZpbHRlcnNcbiAgICAgICAgLmstcm93LWZpZWxkcyxcbiAgICAgICAgLmstY29sdW1uLWZpZWxkcyxcbiAgICAgICAgLmstZmlsdGVyLWZpZWxkcyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1maWVsZHMtbWFyZ2luLXk7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWx1ZXNcbiAgICAgICAgLmstdmFsdWUtZmllbGRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi15O1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZmllbGRzLW1hcmdpbi14O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IGstbWF0aC1kaXYoICRrZW5kby1waXZvdGdyaWQtc3BhY2VyLCAyICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zZWxlY3QtYWxsIC5rLWNoZWNrYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWVsZHMtbGlzdC13cmFwcGVyIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2V0dGluZ3MtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdHJlZXZpZXcge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBpdm90Z3JpZC10cmVldmlldy1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBpdm90Z3JpZC10cmVldmlldy1wYWRkaW5nLXg7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQ2FsY3VsYXRlZCBmaWVsZFxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtZ2FwO1xuICAgIH1cbiAgICAuay1jYWxjdWxhdGVkLWZpZWxkLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZC1oZWFkZXIgLmstdGV4dGJveCB7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgLmstY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItdGV4dCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIH1cblxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyLWFjdGlvbnMge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuay1jYWxjdWxhdGVkLWZpZWxkLWNvbnRlbnQgLmstdGV4dGJveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1kcm9wZG93bi1saXN0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1maWx0ZXItbWVudSAuay1jYWxjdWxhdGVkLWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIH1cblxuXG4gICAgLy8gVmVydGljYWwgTGF5b3V0XG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci12ZXJ0aWNhbCB7XG4gICAgICAgIG1pbi13aWR0aDogJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItdmVydGljYWwtd2lkdGg7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci12ZXJ0aWNhbC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcHVzaCAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLXBhbmVsIHtcbiAgICAgICAgLmstZmxleC1yb3cgJixcbiAgICAgICAgLmstZmxleC1yb3ctcmV2ZXJzZSAmIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBIb3Jpem9udGFsIExheW91dFxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhvcml6b250YWwtaGVpZ2h0O1xuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudCB7XG4gICAgICAgICAgICAuay1mb3JtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAka2VuZG8tcGl2b3RncmlkLXNwYWNlcjtcblxuICAgICAgICAgICAgICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIDMwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMzAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIDQwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJvdy1maWVsZHMsXG4gICAgICAgICAgICAuay1jb2x1bW4tZmllbGRzLFxuICAgICAgICAgICAgLmstZmlsdGVyLWZpZWxkcyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay12YWx1ZS1maWVsZHMge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wdXNoIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcGFuZWwge1xuICAgICAgICAgICAgLmstZmxleC1jb2wgJixcbiAgICAgICAgICAgIC5rLWZsZXgtY29sLXJldmVyc2UgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIFBpdm90Z3JpZCBleHBvcnRcbiAgICAuay1wZGYtZXhwb3J0LXNoYWRvdyB7XG5cbiAgICAgICAgLmstcGl2b3RncmlkIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgLmstcGl2b3RncmlkLXZhbHVlcyAge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1waXZvdGdyaWQtY29sdW1uLWhlYWRlcnMgLmstcGl2b3RncmlkLXRhYmxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBMZWdhY3kgcGl2b3RncmlkXG4gICAgLy8gVE9ETzogcmVtb3ZlXG4gICAgLmstcGl2b3Qge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1waXZvdGdyaWQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmstZ3JpZCB0ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3QtdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1waXZvdC1sYXlvdXQge1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBhdXRvO1xuXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyLFxuICAgICAgICAuay1ncmlkIC5rLXRhYmxlLWFsdC1yb3cge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1waXZvdC1sYXlvdXQgPiB0Ym9keSxcbiAgICAuay1waXZvdCAuay10YWJsZS10ZCxcbiAgICAuay1waXZvdCB0ZCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0ID4gdGJvZHkgPiB0ciA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuay1waXZvdC1yb3doZWFkZXJzID4gLmstZ3JpZCxcbiAgICAuay1waXZvdC10YWJsZSA+IC5rLWdyaWQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIC5rLXBpdm90LXJvd2hlYWRlcnMgPiAuay1ncmlkIHRkOmZpcnN0LWNoaWxkLFxuICAgIC5rLXBpdm90LXRhYmxlIC5rLWdyaWQtaGVhZGVyIC5rLWhlYWRlci5rLWZpcnN0IHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAuay1waXZvdC1yb3doZWFkZXJzID4gLmstZ3JpZCB0ZC5rLWZpcnN0IHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstcGl2b3Qtcm93aGVhZGVycyA+IC5rLWdyaWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLXBpdm90LXRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIH1cblxuICAgIC5rLXBpdm90LXRhYmxlIC5rLWdyaWQtaGVhZGVyLXdyYXAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtdGFibGUgLmstZ3JpZC1oZWFkZXItd3JhcCA+IHRhYmxlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5rLXBpdm90IC5rLWdyaWQtaGVhZGVyIC5rLWhlYWRlciB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLmstcGl2b3QgLmstZ3JpZCB0ciB7XG4gICAgICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCguay1ncmlkLWZvb3Rlcikge1xuICAgICAgICAgICAgdGQ6bm90KC5rLWdyaWQtZm9vdGVyKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0IC5rLWdyaWQgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLmstcGl2b3QtbGF5b3V0IC5rLWdyaWQtZm9vdGVyID4gdGQge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5rLXBpdm90LWZpbHRlci13aW5kb3cgLmstdHJlZXZpZXcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICB9XG5cblxuICAgIC8vIGpxdWVyeSBzcGVjaWZpYyAtLSBvbGQgcGl2b3RcbiAgICAvLyBUT0RPOiByZW1vdmVcbiAgICAuay1waXZvdGdyaWQtd3JhcHBlciB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApO1xuXG4gICAgICAgID4gLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICA+IC5rLXBpdm90IHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1wYW5lbC5rZW5kby1qcXVlcnkge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICk7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBpdm90Z3JpZC10YXJnZXRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICBnYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgZ2FwOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2x1bW4tZmllbGRzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBnYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDEgKTtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGl2b3RHcmlkIHRvZ2dsZSBpY29uXG4gICAgLmstcGl2b3RncmlkLXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogLSRrZW5kby1pY29uLXBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1pY29uLXBhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXBpdm90Z3JpZC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1waXZvdGdyaWQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1waXZvdGdyaWQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9waXZvdGdyaWQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGl2b3RncmlkL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcGl2b3RncmlkL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcGl2b3RncmlkLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gUGl2b3RHcmlkXG4gICAgLmstcGl2b3RncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29sdW1uLWhlYWRlcnMsXG4gICAgLmstcGl2b3RncmlkLXJvdy1oZWFkZXJzLFxuICAgIC5rLXBpdm90Z3JpZC1lbXB0eS1jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1iZyxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtaGVhZGVycy1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtZW1wdHktY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLXBpdm90Z3JpZC1hbHQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcGl2b3RncmlkLXJvdy1oZWFkZXJzIC5rLXBpdm90Z3JpZC1yb3cgLmstcGl2b3RncmlkLWNlbGw6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGtlbmRvLXBpdm90Z3JpZC1hbHQtYm9yZGVyO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb2x1bW4taGVhZGVycyAuay1waXZvdGdyaWQtY29sdW1uLXRvdGFsOm50aC1sYXN0LW9mLXR5cGUoMikgLmstcGl2b3RncmlkLWNlbGw6bm90KC5rLXBpdm90Z3JpZC1leHBhbmRlZCksXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIC5rLXBpdm90Z3JpZC1yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRrZW5kby1waXZvdGdyaWQtYWx0LWJvcmRlcjtcbiAgICB9XG5cblxuICAgIC5rLXBpdm90Z3JpZC1oZWFkZXItdG90YWwsXG4gICAgLmstcGl2b3RncmlkLXRvdGFsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLXRvdGFsLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLXRvdGFsLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC10b3RhbC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgLmstcGl2b3RncmlkLXJvdy1oZWFkZXJzIHRib2R5ID4gLmstcGl2b3RncmlkLXJvdzpob3ZlcixcbiAgICAuay1waXZvdGdyaWQtcm93LWhlYWRlcnMgdGJvZHkgPiAuay1waXZvdGdyaWQtcm93LmstaG92ZXIsXG4gICAgLmstcGl2b3RncmlkLWNvbHVtbi1oZWFkZXJzIHRib2R5ID4gLmstcGl2b3RncmlkLXJvdzpob3ZlcixcbiAgICAuay1waXZvdGdyaWQtY29sdW1uLWhlYWRlcnMgdGJvZHkgPiAuay1waXZvdGdyaWQtcm93LmstaG92ZXIsXG4gICAgLmstcGl2b3RncmlkLXZhbHVlcyB0Ym9keSA+IC5rLXBpdm90Z3JpZC1yb3c6aG92ZXIsXG4gICAgLmstcGl2b3RncmlkLXZhbHVlcyB0Ym9keSA+IC5rLXBpdm90Z3JpZC1yb3cuay1ob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1ob3Zlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtaG92ZXItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gRm9jdXMgc3RhdGVcbiAgICAuay1waXZvdGdyaWQtY2VsbDpmb2N1cyxcbiAgICAuay1waXZvdGdyaWQtY2VsbC5rLWZvY3VzLFxuICAgIC5rLXBpdm90Z3JpZC1lbXB0eS1jZWxsOmZvY3VzLFxuICAgIC5rLXBpdm90Z3JpZC1lbXB0eS1jZWxsLmstZm9jdXMsXG4gICAgLmstbWFzdGVyLXJvdyA+IC5rLXBpdm90Z3JpZC1jZWxsOmZvY3VzLFxuICAgIC5rLWdyb3VwaW5nLXJvdyA+IC5rLXBpdm90Z3JpZC1jZWxsOmZvY3VzLFxuICAgIC5rLWRldGFpbC1yb3cgPiAuay1waXZvdGdyaWQtY2VsbDpmb2N1cyxcbiAgICAuay1ncm91cC1mb290ZXIgPiAuay1waXZvdGdyaWQtY2VsbDpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLXBpdm90Z3JpZC1mb2N1cy1zaGFkb3csIHRydWUgKTtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAgIC5rLXBpdm90Z3JpZC1jZWxsLmstc2VsZWN0ZWQsXG4gICAgLmstcGl2b3RncmlkLXJvdy5rLXNlbGVjdGVkID4gLmstcGl2b3RncmlkLWNlbGwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtc2VsZWN0ZWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtc2VsZWN0ZWQtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLXNlbGVjdGVkLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gUGl2b3RncmlkIGNvbmZpZ3VyYXRvclxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYnV0dG9uLFxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcGFuZWwge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci1iZyxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWhlYWRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItaGVhZGVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItY29udGVudCAuay1maWVsZHMtbGlzdC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRib3JkZXI6ICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gQ2FsY3VsYXRlZCBmaWVsZFxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1jYWxjdWxhdGVkLWZpZWxkLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtY2FsY3VsYXRlZC1maWVsZC1oZWFkZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWNhbGN1bGF0ZWQtZmllbGQtaGVhZGVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLWZpbHRlci1tZW51IC5rLWNhbGN1bGF0ZWQtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby1wb3B1cC1ib3JkZXIgKTtcbiAgICB9XG5cbiAgICAuay1waXZvdGdyaWQtY29uZmlndXJhdG9yLWNvbnRlbnQgLmstZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgKTtcbiAgICB9XG5cblxuICAgIC8vIE92ZXJsYXkgbW9kZVxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3Itb3ZlcmxheSB7XG4gICAgICAgIC5rLWZsZXgtcm93ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItZW5kLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmxleC1yb3ctcmV2ZXJzZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1waXZvdGdyaWQtY29uZmlndXJhdG9yLXN0YXJ0LXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmxleC1jb2wgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tcGl2b3RncmlkLWNvbmZpZ3VyYXRvci10b3Atc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1mbGV4LWNvbC1yZXZlcnNlICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItYm90dG9tLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMZWdhY3kgcGl2b3RncmlkXG4gICAgLy8gVE9ETzogcmVtb3ZlXG4gICAgLmstcGl2b3Qge1xuICAgICAgICBAaW5jbHVkZSBmaWxsIChcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1waXZvdGdyaWQtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cbiAgICAuay1waXZvdC10YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXBpdm90Z3JpZC1ib3JkZXI7XG4gICAgfVxuXG4gICAgLy8gUGl2b3RncmlkIGhlYWRlclxuICAgIC5rLXBpdm90LXJvd2hlYWRlcnMge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBQaXZvdGdyaWQgdG9vbGJhclxuICAgIC5rLXBpdm90LXRvb2xiYXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXBpdm90Z3JpZC1oZWFkZXJzLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtYmcsXG4gICAgICAgICAgICAka2VuZG8tcGl2b3RncmlkLWhlYWRlcnMtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstZW1wdHkge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zdWJ0bGUtdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXBpdm90IC5rLWFsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1waXZvdGdyaWQtYWx0LWJnO1xuICAgIH1cblxuICAgIC5rLXBpdm90LXRvb2xiYXIsXG4gICAgLmstcGl2b3QtdGFibGUsXG4gICAgLmstcGl2b3Qtcm93aGVhZGVycyA+IC5rLWdyaWQgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgLmstcGl2b3QtdGFibGUgLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyLmstZmlyc3Qge1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1waXZvdGdyaWQtY2hyb21lLWJvcmRlcjtcbiAgICB9XG5cbiAgICAuay1oZWFkZXIuay1hbHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tcGl2b3RncmlkLXJvdy1oZWFkZXJzLWJnO1xuICAgIH1cblxuICAgIC5rLXBpdm90LWxheW91dCAuay1ncmlkLWZvb3RlciB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tcGl2b3RncmlkLWFsdC10ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tcGl2b3RncmlkLWFsdC1iZztcbiAgICB9XG5cbiAgICAvLyBLUEkgaWNvbnNcbiAgICAuay1pLWtwaS10cmVuZC1pbmNyZWFzZSxcbiAgICAuay1pLWtwaS10cmVuZC1kZWNyZWFzZSxcbiAgICAuay1pLWtwaS10cmVuZC1lcXVhbCB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5rLWkta3BpLXN0YXR1cy1ob2xkIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jb2xvci13YXJuaW5nO1xuICAgIH1cblxuICAgIC5rLWkta3BpLXN0YXR1cy1kZW55IHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jb2xvci1lcnJvcjtcbiAgICB9XG5cbiAgICAuay1pLWtwaS1zdGF0dXMtb3BlbiB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tY29sb3Itc3VjY2VzcztcbiAgICB9XG5cblxuICAgIC8vIENvbmZpZ3VyYXRvclxuICAgIC5rLXBpdm90Z3JpZC1jb25maWd1cmF0b3ItcGFuZWwua2VuZG8tanF1ZXJ5IHtcblxuICAgICAgICAuay1jb2x1bW4tZmllbGRzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcGl2b3RncmlkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1waXZvdGdyaWQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1waXZvdGdyaWQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXBpdm90Z3JpZC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwicGl2b3RncmlkXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBpdm90Z3JpZC0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdHJlZWxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90cmVlbGlzdC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0cmVlbGlzdFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImdyaWRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuLi91dGlscy9fdGV4dC5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9ncmlkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZ3JpZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3RyZWVsaXN0L192YXJpYWJsZXMuc2Nzc1xuLy8gVHJlZWxpc3RcbiRrZW5kby10cmVlbGlzdC1mb290ZXItcm93LWJnOiAka2VuZG8tZ3JpZC1oZWFkZXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tdHJlZWxpc3QtZm9vdGVyLXJvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy90cmVlbGlzdC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZWxpc3QvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZWxpc3QvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tdHJlZWxpc3QtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLy8gQmFzZVxuICAgIC5rLXRyZWVsaXN0IHtcbiAgICAgICAgJi5rLWdyaWQtZGlzcGxheS1ibG9jay5rLWdyaWQtbG9ja2VkY29sdW1ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXN0YXR1cyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAuNGVtO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IC42ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG5cbiAgICAgICAgICAgIC8vIFRPRE86IHNlZSB3aGF0IHRoaXMgZG9lcyBhbmQgdXNlIGEgYmV0dGVyIG5hbWVcbiAgICAgICAgICAgIC5rLWxvYWRpbmcge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIuay1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRyZWVsaXN0LWRyYWdnaW5nLFxuICAgICAgICAuay10cmVlbGlzdC1kcmFnZ2luZyAuay1ob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1kcm9wLWhpbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1yb3cuay1mb290ZXIgdGQsXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWZvb3Rlci10ZW1wbGF0ZSB0ZCxcbiAgICAgICAgLmstdGFibGUtcm93LmstZm9vdGVyIC5rLXRhYmxlLXRkLFxuICAgICAgICAuay10YWJsZS1yb3cuay1mb290ZXItdGVtcGxhdGUgLmstdGFibGUtdGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdHJlZWxpc3QtZm9vdGVyLXJvdy1ib3JkZXItd2lkdGggMDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhYmxlLXJvdy5rLWZvb3RlciArIC5rLXRhYmxlLXJvdy5rLWZvb3RlciB0ZCxcbiAgICAgICAgLmstdGFibGUtcm93LmstZm9vdGVyICsgLmstdGFibGUtcm93LmstZm9vdGVyIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFN0aWNreSBoZWFkZXJzXG4gICAgLmstdHJlZWxpc3Qtc2Nyb2xsYWJsZSB7XG4gICAgICAgID4gLmstdGFibGUsXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLXRhYmxlLXJvdyxcbiAgICAgICAgLmstZ3JpZC1oZWFkZXIgLmstdGFibGUtdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtdG9vbGJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ncmlkLWhlYWRlciAuay10YWJsZS10aCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLXRhYmxlLXRoLmstZ3JpZC1oZWFkZXItc3RpY2t5IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZC5rLWdyaWQtaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YWJsZS1yb3cuay1ncm91cC1mb290ZXIgKyAuay10YWJsZS1yb3cuay1ncm91cC1mb290ZXIgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGlyID0gXCJydGxcIl0sXG4gICAgICAgIC5rLXJ0bCAmIHtcbiAgICAgICAgICAgIHRoZWFkLmstZ3JpZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstZHJhZy1zZXBhcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAuNWVtO1xuICAgIH1cblxuICAgIC5rLXRyZWVsaXN0LXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogLSRrZW5kby1pY29uLXBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1pY29uLXBhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRyZWVsaXN0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdHJlZWxpc3QtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdHJlZWxpc3QtLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXRyZWVsaXN0LS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLmstdHJlZWxpc3Qge1xuICAgICAgICB0ci5rLWZvb3RlciB0ZCxcbiAgICAgICAgdHIuay1mb290ZXItdGVtcGxhdGUgdGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRyZWVsaXN0LXNjcm9sbGFibGUge1xuICAgICAgICAuay1ncm91cC1mb290ZXIgdGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdHJlZWxpc3QvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdHJlZWxpc3QvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90cmVlbGlzdC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRyZWVsaXN0LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVGhlbWVcbiAgICAuay10cmVlbGlzdCB7XG4gICAgICAgIHRyLmstZm9vdGVyLFxuICAgICAgICB0ci5rLWZvb3Rlci10ZW1wbGF0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdHJlZWxpc3QtZm9vdGVyLXJvdy1iZztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10cmVlbGlzdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdHJlZWxpc3QtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby10cmVlbGlzdC0tdGhlbWUoKSB7XG5cbiAgICBAaW5jbHVkZSBrZW5kby10cmVlbGlzdC0tdGhlbWUtYmFzZSgpO1xuXG4gICAgLmstdHJlZWxpc3Qge1xuICAgICAgICB0ci5rLWZvb3RlcixcbiAgICAgICAgdHIuay1mb290ZXItdGVtcGxhdGUge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10cmVlbGlzdC1zY3JvbGxhYmxlIHtcbiAgICAgICAgLmstZ3JvdXAtZm9vdGVyIHRkLFxuICAgICAgICAuay1ncm91cGluZy1yb3cgdGQsXG4gICAgICAgIHRib2R5IC5rLWdyb3VwLWNlbGwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRyZWVsaXN0LWZvb3Rlci1yb3ctYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby10cmVlbGlzdC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwidHJlZWxpc3RcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdHJlZWxpc3QtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby10cmVlbGlzdC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRyZWVsaXN0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9maWx0ZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9maWx0ZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZmlsdGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibnVtZXJpYy10ZXh0Ym94XCIsXG4gICAgICAgIFwidG9vbGJhclwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kcm9wZG93bmxpc3QvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL251bWVyaWN0ZXh0Ym94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2ZpbHRlci9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbHRlciBleHByZXNzaW9uIGJ1aWxkZXJcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEZpbHRlci5cbi8vLyBAZ3JvdXAgZmlsdGVyXG4ka2VuZG8tZmlsdGVyLXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRmlsdGVyLlxuLy8vIEBncm91cCBmaWx0ZXJcbiRrZW5kby1maWx0ZXItcGFkZGluZy15OiAka2VuZG8tcGFkZGluZy1tZC15ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIEZpbHRlci5cbi8vLyBAZ3JvdXAgZmlsdGVyXG4ka2VuZG8tZmlsdGVyLWJvdHRvbS1tYXJnaW46IDIuMWVtICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgbGluZSB0aGF0IGNvbm5lY3RzIHRoZSBGaWx0ZXIgaXRlbXMuXG4vLy8gQGdyb3VwIGZpbHRlclxuJGtlbmRvLWZpbHRlci1saW5lLXNpemU6IDFweCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgZHJvcGRvd24gZWxlbWVudHMgaW4gdGhlIEZpbHRlciBpdGVtcy5cbi8vLyBAZ3JvdXAgZmlsdGVyXG4ka2VuZG8tZmlsdGVyLW9wZXJhdG9yLWRyb3Bkb3duLXdpZHRoOiAxNWVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbHRlciBwcmV2aWV3IGZpZWxkLlxuLy8vIEBncm91cCBmaWx0ZXJcbiRrZW5kby1maWx0ZXItcHJldmlldy1maWVsZC10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgRmlsdGVyIHByZXZpZXcgb3BlcmF0b3IuXG4vLy8gQGdyb3VwIGZpbHRlclxuJGtlbmRvLWZpbHRlci1wcmV2aWV3LW9wZXJhdG9yLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBmb2N1c2VkIEZpbHRlciB0b29sYmFyLlxuLy8vIEBncm91cCBmaWx0ZXJcbiRrZW5kby1maWx0ZXItdG9vbGJhci1mb2N1cy1zaGFkb3c6IDAgMCAwIC4yNXJlbSBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLWNvbG9yLXByaW1hcnksIC4yNSApKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9maWx0ZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ZpbHRlci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9maWx0ZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZmlsdGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLWZpbHRlciB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsdGVyLWNvbnRhaW5lcixcbiAgICAgICAgLmstZmlsdGVyLXByZXZpZXcge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogJGtlbmRvLWZpbHRlci1ib3R0b20tbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZmlsdGVyLWxpbmVzLFxuICAgICAgICAuay1maWx0ZXItaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJGtlbmRvLWZpbHRlci1wYWRkaW5nLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1maWx0ZXItdG9vbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1maWx0ZXItcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRrZW5kby1maWx0ZXItcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWZpbHRlci1saW5lLXNpemU7XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0ka2VuZG8tZmlsdGVyLXBhZGRpbmcteDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdG9vbGJhciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1maWx0ZXItb3BlcmF0b3IgLmstZHJvcGRvd24tbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWZpbHRlci1vcGVyYXRvci1kcm9wZG93bi13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpbHRlci1pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGtlbmRvLWZpbHRlci1saW5lLXNpemU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAtJGtlbmRvLWZpbHRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIHNlY29uZCBzZWxlY3RvciB0YXJnZXRzIHRoZSBBbmd1bGFyIHJlbmRlcmluZ1xuICAgICAgICAuay1maWx0ZXItbGluZXMgLmstZmlsdGVyLWl0ZW06bGFzdC1jaGlsZCA+IC5rLWZpbHRlci10b29sYmFyOjphZnRlcixcbiAgICAgICAgLmstZmlsdGVyLWxpbmVzIC5rLWZpbHRlci1pdGVtOmxhc3QtY2hpbGQgPiAqID4gLmstZmlsdGVyLXRvb2xiYXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWZpbHRlci1saW5lLXNpemU7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogY2FsYygtI3ska2VuZG8tZmlsdGVyLXBhZGRpbmcteX0gLSAjeyRrZW5kby1maWx0ZXItbGluZS1zaXplfSk7XG4gICAgICAgICAgICBpbnNldC1ibG9jay1lbmQ6IDUwJTtcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogLSRrZW5kby1maWx0ZXItcGFkZGluZy14O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGZvcnRoIGFuZCBmaWZ0aCBzZWxlY3RvcnMgdGFyZ2V0cyB0aGUgQW5ndWxhciByZW5kZXJpbmdcbiAgICAgICAgLmstZmlsdGVyLWdyb3VwLW1haW46OmJlZm9yZSxcbiAgICAgICAgLmstZmlsdGVyLWdyb3VwLW1haW4gPiAuay1maWx0ZXItdG9vbGJhcjo6YmVmb3JlLFxuICAgICAgICAuay1maWx0ZXItZ3JvdXAtbWFpbiA+IC5rLWZpbHRlci10b29sYmFyOjphZnRlcixcbiAgICAgICAgLmstZmlsdGVyLWdyb3VwLW1haW4gPiAqID4gLmstZmlsdGVyLXRvb2xiYXI6OmJlZm9yZSxcbiAgICAgICAgLmstZmlsdGVyLWdyb3VwLW1haW4gPiAqID4gLmstZmlsdGVyLXRvb2xiYXI6OmFmdGVyLFxuICAgICAgICAuay1maWx0ZXItbGluZXMgLmstZmlsdGVyLWl0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZmlsdGVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsdGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWZpbHRlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZpbHRlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2ZpbHRlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9maWx0ZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9maWx0ZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1maWx0ZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1maWx0ZXIge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWNvbXBvbmVudC10ZXh0O1xuXG4gICAgICAgIC5rLWZpbHRlci1wcmV2aWV3LWZpZWxkIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZmlsdGVyLXByZXZpZXctZmllbGQtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWZpbHRlci1wcmV2aWV3LW9wZXJhdG9yIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZmlsdGVyLXByZXZpZXctb3BlcmF0b3ItdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBsYXN0IHNlbGVjdG9yIHRhcmdldHMgdGhlIEFuZ3VsYXIgcmVuZGVyaW5nXG4gICAgICAgIC5rLWZpbHRlci1pdGVtOjpiZWZvcmUsXG4gICAgICAgIC5rLWZpbHRlci10b29sYmFyOjpiZWZvcmUsXG4gICAgICAgIC5rLWZpbHRlci1saW5lcyAuay1maWx0ZXItaXRlbTpsYXN0LWNoaWxkID4gLmstZmlsdGVyLXRvb2xiYXI6OmFmdGVyLFxuICAgICAgICAuay1maWx0ZXItbGluZXMgLmstZmlsdGVyLWl0ZW06bGFzdC1jaGlsZCA+ICogPiAuay1maWx0ZXItdG9vbGJhcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1c1xuICAgICAgICAuay10b29sYmFyOmZvY3VzLFxuICAgICAgICAuay10b29sYmFyLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tZmlsdGVyLXRvb2xiYXItZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZmlsdGVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1maWx0ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1maWx0ZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZpbHRlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWZpbHRlci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZmlsdGVyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWZpbHRlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWZpbHRlci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZpbHRlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZmlsZW1hbmFnZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9maWxlbWFuYWdlci9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJmaWxlLW1hbmFnZXJcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJicmVhZGNydW1iXCIsXG4gICAgICAgIFwiZGlhbG9nXCIsXG4gICAgICAgIFwiZ3JpZFwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwibGlzdHZpZXdcIixcbiAgICAgICAgXCJtZW51XCIsXG4gICAgICAgIFwic3BsaXR0ZXJcIixcbiAgICAgICAgXCJzd2l0Y2hcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwidHJlZXZpZXdcIixcbiAgICAgICAgXCJ1cGxvYWRcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaW5wdXQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pbnB1dC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXBsb2FkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXBsb2FkL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vc3dpdGNoL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc3dpdGNoL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbWVudS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL21lbnUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kaWFsb2cvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kaWFsb2cvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9icmVhZGNydW1iL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnJlYWRjcnVtYi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3RyZWV2aWV3L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdHJlZXZpZXcvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9zcGxpdHRlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NwbGl0dGVyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZ3JpZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2dyaWQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9saXN0dmlldy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2xpc3R2aWV3L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9maWxlbWFuYWdlci9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbGVNYW5hZ2VyXG5cbi8vLyBUaGUgc3BhY2UgYmV0d2VlbiB0aGUgRmlsZU1hbmFnZXIgaXRlbXMuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXNwYWNlcjogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBGaWxlTWFuYWdlci5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlci5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1ib3JkZXItd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBUb29sYmFyLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBUb29sYmFyLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItdG9vbGJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBGaWxlTWFuYWdlciBUb29sYmFyLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1wYWRkaW5nLXg6ICRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBOYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXBhZGRpbmcteTogJGtlbmRvLWZpbGUtbWFuYWdlci1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBGaWxlTWFuYWdlciBOYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXdpZHRoOiAyMCUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1ib3JkZXItd2lkdGg6ICRrZW5kby1maWxlLW1hbmFnZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBOYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBOYXZpZ2F0aW9uLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItYm9yZGVyLXdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgQnJlYWRjcnVtYi5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItYnJlYWRjcnVtYi1iZzogJGtlbmRvLXRvb2xiYXItYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIEJyZWFkY3J1bWIuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWJyZWFkY3J1bWItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBCcmVhZGNydW1iLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0Vmlldy5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3LlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3LlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIgTGlzdFZpZXcgaXRlbS5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS13aWR0aDogMTIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgRmlsZU1hbmFnZXIgTGlzdFZpZXcgaXRlbS5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1oZWlnaHQ6IDEyMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBMaXN0VmlldyBpdGVtLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTGlzdFZpZXcgaXRlbS5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgTGlzdFZpZXcgaXRlbSBpY29uLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay10cnktdGludCggJGtlbmRvLWZpbGUtbWFuYWdlci10ZXh0LCA0ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIExpc3RWaWV3IGl0ZW0gaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBzZWxlY3RlZCBMaXN0VmlldyBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1zZWxlY3RlZC1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBzZWxlY3RlZCBMaXN0VmlldyBpdGVtIGljb24uXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taWNvbi1zZWxlY3RlZC10ZXh0OiBpbmhlcml0ICFkZWZhdWx0O1xuLy8vIEJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgc2VsZWN0ZWQgTGlzdFZpZXcgaXRlbSBpY29uLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tc2VsZWN0ZWQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIEdyaWQuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWdyaWQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIEdyaWQuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLWdyaWQtdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBHcmlkLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1ncmlkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctcGFkZGluZy14OiAka2VuZG8tZmlsZS1tYW5hZ2VyLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXk6ICRrZW5kby1maWxlLW1hbmFnZXItc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy13aWR0aDogMjAlICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYm9yZGVyLXdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgZ2FwIGJldHdlZW4gdGhlIGNvbHVtbnMgaW4gdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcuXG4vLy8gQGdyb3VwIGZpbGVtYW5hZ2VyXG4ka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctY29sdW1uLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWJnOiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBGaWxlTWFuYWdlciBwcmV2aWV3LlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldy5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRmlsZU1hbmFnZXIgcHJldmlldyBpY29uLlxuLy8vIEBncm91cCBmaWxlbWFuYWdlclxuJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWljb24tYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcgaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1pY29uLXRleHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzdWJ0bGUgKSwgay10cnktdGludCggJGtlbmRvLWZpbGUtbWFuYWdlci10ZXh0LCA0ICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIEZpbGVNYW5hZ2VyIHByZXZpZXcgaWNvbi5cbi8vLyBAZ3JvdXAgZmlsZW1hbmFnZXJcbiRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1pY29uLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9maWxlbWFuYWdlci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmlsZW1hbmFnZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmlsZW1hbmFnZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZmlsZS1tYW5hZ2VyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEZpbGUgTWFuYWdlclxuICAgIC5rLWZpbGVtYW5hZ2VyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1maWxlLW1hbmFnZXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZpbGUtbWFuYWdlci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgfVxuXG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstZmlsZW1hbmFnZXItaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAuay1maWxlbWFuYWdlci10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXRvb2xiYXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuXG4gICAgLy8gQ29udGVudCBXcmFwcGVyXG4gICAgLmstZmlsZW1hbmFnZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1maWxlbWFuYWdlci1zcGxpdHRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG5cblxuICAgIC8vIE5hdmlnYXRpb25cbiAgICAuay1maWxlbWFuYWdlci1uYXZpZ2F0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWZpbGUtbWFuYWdlci1uYXZpZ2F0aW9uLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1wYWRkaW5nLXg7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24td2lkdGg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gICAgLmstZmlsZW1hbmFnZXItdHJlZXZpZXcge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cblxuICAgIC8vIENvbnRlbnRcbiAgICAuay1maWxlbWFuYWdlci1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gRmlsZW1hbmFnZXIgdmlld1xuICAgIC5rLWZpbGVtYW5hZ2VyLXZpZXcge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAvLyBCcmVhZGNydW1iXG4gICAgLmstZmlsZW1hbmFnZXItYnJlYWRjcnVtYiB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1maWxlLW1hbmFnZXItYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgbGlzdHZpZXdcbiAgICAuay1maWxlbWFuYWdlci1saXN0dmlldyB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgZmxleDogMSAxIDAlO1xuXG4gICAgICAgIC8vIExpc3R2aWV3IGl0ZW1cbiAgICAgICAgLmstbGlzdHZpZXctaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0tcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1wYWRkaW5nLXg7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWl0ZW0taGVpZ2h0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsZSBwcmV2aWV3XG4gICAgICAgIC5rLWZpbGUtcHJldmlldyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlsZSBuYW1lXG4gICAgICAgIC5rLWZpbGUtbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBrLW1hdGgtZGl2KCAka2VuZG8tZmlsZS1tYW5hZ2VyLXNwYWNlciwgMiApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRWRpdCBtb2RlXG4gICAgICAgIC5rLWZpbGUtZWRpdC1pbnB1dCBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgZ3JpZFxuICAgIC5rLWZpbGVtYW5hZ2VyLWdyaWQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcblxuICAgICAgICAvLyBGaWxlIHByZXZpZXdcbiAgICAgICAgLmstZmlsZS1wcmV2aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaWxlIGljb25cbiAgICAgICAgLmstZmlsZS1pY29uIHt9XG5cbiAgICAgICAgLy8gRmlsZSBuYW1lXG4gICAgICAgIC5rLWZpbGUtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBwcmV2aWV3XG4gICAgLmstZmlsZW1hbmFnZXItcHJldmlldyB7XG4gICAgICAgIHBhZGRpbmc6ICgka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctcGFkZGluZy15ICogMykgJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXBhZGRpbmcteCAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctcGFkZGluZy15O1xuICAgICAgICB3aWR0aDogJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXdpZHRoO1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1wYWRkaW5nLXkgKiA0fSArICN7JGtlbmRvLWljb24tc2l6ZS14eHhsfSAqIDIgKyAjeyRrZW5kby1maWxlLW1hbmFnZXItcHJldmlldy1zcGFjaW5nICogM30gKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgIC8vIEZpbGUgcHJldmlld1xuICAgICAgICAuay1maWxlLXByZXZpZXcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpbGUgbmFtZVxuICAgICAgICAuay1maWxlLW5hbWUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXNwYWNpbmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuay1uby1maWxlLXNlbGVjdGVkIHt9XG4gICAgICAgIC5rLXNpbmdsZS1maWxlLXNlbGVjdGVkIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgICAgLmstbXVsdGlwbGUtZmlsZXMtc2VsZWN0ZWQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4gICAgICAgIC8vIEZpbGUgTWV0YVxuICAgICAgICAuay1maWxlLW1ldGEge1xuICAgICAgICAgICAgbWFyZ2luOiAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctc3BhY2luZyAwIDA7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWNvbHVtbi1nYXA7XG4gICAgICAgIH1cbiAgICAgICAgLmstZmlsZS1tZXRhLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuay1maWxlLW1ldGEtdmFsdWUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLWZpbGUtdHlwZSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1saW5lLWJyZWFrIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXNwYWNpbmcgMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmVzaXppbmcgSGFuZGxlXG4gICAgLmstZmlsZW1hbmFnZXIgLmstc3BsaXRiYXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuXG4gICAgLy8gVXBsb2FkIERpYWxvZ1xuICAgIC5rLWZpbGVtYW5hZ2VyLXVwbG9hZC1kaWFsb2cgLmstdXBsb2FkLWZpbGVzIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG5cbiAgICAvLyBEcmFnIEhpbnRcbiAgICAvLyBUT0RPOiB1c2UgZHJhZy1oaW50IHN0eWxlc1xuICAgIC5rLWZpbGVtYW5hZ2VyLWRyYWctaGludCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZmlsZS1tYW5hZ2VyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsZS1tYW5hZ2VyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWZpbGUtbWFuYWdlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZpbGUtbWFuYWdlci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2ZpbGVtYW5hZ2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ZpbGVtYW5hZ2VyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZmlsZW1hbmFnZXIvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1maWxlLW1hbmFnZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBGaWxlbWFuYWdlclxuICAgIC5rLWZpbGVtYW5hZ2VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgdG9vbGJhclxuICAgIC5rLWZpbGVtYW5hZ2VyLXRvb2xiYXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXRvb2xiYXItYmcsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXRvb2xiYXItYm9yZGVyLFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci10b29sYmFyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvLyBGaWxlbWFuYWdlciBuYXZpZ2F0aW9uXG4gICAgLmstZmlsZW1hbmFnZXItbmF2aWdhdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLW5hdmlnYXRpb24tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1iZyxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItbmF2aWdhdGlvbi1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIEZpbGVtYW5hZ2VyIGJyZWFkY3J1bWJcbiAgICAuay1maWxlbWFuYWdlci1icmVhZGNydW1iIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItYnJlYWRjcnVtYi10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1icmVhZGNydW1iLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgbGlzdHZpZXdcbiAgICAuay1maWxlbWFuYWdlci1saXN0dmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWxpc3R2aWV3LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAuay1saXN0dmlldy1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1ib3JkZXJcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC5rLWZpbGUtaWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1saXN0dmlldy1pdGVtLWljb24tYmcsXG4gICAgICAgICAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItbGlzdHZpZXctaXRlbS1pY29uLWJvcmRlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1zZWxlY3RlZCAuay1maWxlLWljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgICAgIGluaGVyaXQsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgZ3JpZFxuICAgIC5rLWZpbGVtYW5hZ2VyLWdyaWQge1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLWdyaWQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItZ3JpZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1maWxlLW1hbmFnZXItZ3JpZC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgIH1cblxuXG4gICAgLy8gRmlsZW1hbmFnZXIgcHJldmlld1xuICAgIC5rLWZpbGVtYW5hZ2VyLXByZXZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYmcsXG4gICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLmstZmlsZS1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWZpbGUtbWFuYWdlci1wcmV2aWV3LWljb24tdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctaWNvbi1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tZmlsZS1tYW5hZ2VyLXByZXZpZXctaWNvbi1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1maWxlLW1hbmFnZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWZpbGUtbWFuYWdlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWZpbGUtbWFuYWdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsZS1tYW5hZ2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tZmlsZS1tYW5hZ2VyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJmaWxlLW1hbmFnZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZmlsZS1tYW5hZ2VyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZmlsZS1tYW5hZ2VyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsZS1tYW5hZ2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi90YXNrYm9hcmQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90YXNrYm9hcmQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwidGFzay1ib2FyZFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJmb3JtXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcImlucHV0XCIsXG4gICAgICAgIFwic2VhcmNoYm94XCIsXG4gICAgICAgIFwidGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZm9ybXMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9mb3Jtcy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90ZXh0Ym94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGV4dGJveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3NlYXJjaGJveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NlYXJjaGJveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2FyZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NhcmQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL3Rhc2tib2FyZC9fdmFyaWFibGVzLnNjc3Ncbi8vIFRhc2tCb2FyZFxuXG4vLy8gVGhlIHNwYWNpbmcgaW5kZXggb2YgdGhlIFRhc2tCb2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXNwYWNlcjogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgb2YgdGhlIFRhc2tCb2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIFRhc2tCb2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgVGFza0JvYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgVGFza0JvYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVGFza0JvYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVGFza0JvYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBUb29sYmFyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1wYWRkaW5nLXk6ICRrZW5kby10YXNrYm9hcmQtc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBUb29sYmFyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1wYWRkaW5nLXg6ICRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBUb29sYmFyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC10b29sYmFyLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgVGFza0JvYXJkIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC10b29sYmFyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgZ3JhZGllbnQgb2YgdGhlIFRhc2tCb2FyZCBUb29sYmFyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29udGVudC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbnRlbnQtcGFkZGluZy15OiAka2VuZG8tdGFza2JvYXJkLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29udGVudC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbnRlbnQtcGFkZGluZy14OiAka2VuZG8tdGFza2JvYXJkLWNvbnRlbnQtcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHNwYWNpbmcgb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4gY29udGFpbmVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNvbnRhaW5lci1zcGFjaW5nLXk6ICRrZW5kby10YXNrYm9hcmQtc3BhY2VyICogLjc1ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jb250YWluZXItcGFkZGluZy15OiAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbiBjb250YWluZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tY29udGFpbmVyLXBhZGRpbmcteDogJGtlbmRvLXRhc2tib2FyZC1zcGFjZXIgKiAuNzUgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW5zIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbnMtY29udGFpbmVyLWdhcDogJGtlbmRvLXRhc2tib2FyZC1zcGFjZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCB3aWR0aCBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbi5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi13aWR0aDogMzIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbi5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbi5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1ib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbi5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1cmZhY2UgKSwgaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAkZ3JheS05MDAsICRncmF5LTEwMCApKSAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIGNvbHVtbi5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4uXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBmb2N1c2VkIFRhc2tCb2FyZCBjb2x1bW4uXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tZm9jdXMtYmc6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIGZvY3VzZWQgVGFza0JvYXJkIGNvbHVtbi5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1mb2N1cy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGZvY3VzZWQgVGFza0JvYXJkIGNvbHVtbi5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1mb2N1cy1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstdHJ5LXNoYWRlKCAka2VuZG8tYmFzZS1ib3JkZXIsIDIuNSApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItcGFkZGluZy15OiAka2VuZG8tdGFza2JvYXJkLXNwYWNlciAqIC43NSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItcGFkZGluZy14OiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItZ2FwOiBrLW1hdGgtZGl2KCAka2VuZG8tdGFza2JvYXJkLXNwYWNlciwgNCApICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIGhlYWRlciBhY3Rpb25zLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1hY3Rpb25zLWdhcDogay1tYXRoLWRpdiggJGtlbmRvLXRhc2tib2FyZC1zcGFjZXIsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCB3ZWlnaHQgb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4gaGVhZGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1mb250LXdlaWdodDogNTAwICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIGhlYWRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIENhcmQgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jYXJkcy1wYWRkaW5nLXk6ICRrZW5kby10YXNrYm9hcmQtc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBjb2x1bW4gQ2FyZCB3cmFwcGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNhcmRzLXBhZGRpbmcteDogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBUYXNrQm9hcmQgY29sdW1uIENhcmQgd3JhcHBlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jYXJkcy1nYXA6ICRrZW5kby10YXNrYm9hcmQtc3BhY2VyICogLjc1ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIFRhc2tCb2FyZCBwYW5lLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS13aWR0aDogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4td2lkdGggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBwYW5lLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgVGFza0JvYXJkIHBhbmUuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBUYXNrQm9hcmQgcGFuZS5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBwYW5lLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIHBhbmUuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQgcGFuZS5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLXBhbmUtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgcGFuZSBoZWFkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1wYWRkaW5nLXk6ICggJGtlbmRvLXRhc2tib2FyZC1zcGFjZXIgKiAuNzUgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgcGFuZSBoZWFkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1wYWRkaW5nLXg6ICRrZW5kby10YXNrYm9hcmQtc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHdlaWdodCBvZiB0aGUgVGFza0JvYXJkIHBhbmUgaGVhZGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1oZWFkZXItZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgVGFza0JvYXJkIHBhbmUgaGVhZGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1oZWFkZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgcGFuZSBjb250ZW50LlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1jb250ZW50LXBhZGRpbmcteTogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBwYW5lIGNvbnRlbnQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLWNvbnRlbnQtcGFkZGluZy14OiAka2VuZG8tdGFza2JvYXJkLXNwYWNlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgcGFuZSBhY3Rpb25zLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtcGFuZS1hY3Rpb25zLXBhZGRpbmcteTogKCAka2VuZG8tdGFza2JvYXJkLXNwYWNlciAqIC43NSApICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRhc2tCb2FyZCBwYW5lIGFjdGlvbnMuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1wYW5lLWFjdGlvbnMtcGFkZGluZy14OiAka2VuZG8tdGFza2JvYXJkLXNwYWNlciAhZGVmYXVsdDtcblxuLy8vIFRoZSB2ZXJ0aWNhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtcGFkZGluZy15OiAka2VuZG8tdGFza2JvYXJkLXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtcGFkZGluZy14OiAka2VuZG8tdGFza2JvYXJkLWNhcmQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1ib3JkZXItd2lkdGg6ICRrZW5kby1jYXJkLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgVGFza0JvYXJkIENhcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jYXJkLWJvcmRlci1yYWRpdXM6ICRrZW5kby1jYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1iZzogJGtlbmRvLWNhcmQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC10ZXh0OiAka2VuZG8tY2FyZC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1ib3JkZXI6ICRrZW5kby1jYXJkLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBUYXNrQm9hcmQgQ2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtc2hhZG93OiAka2VuZG8tY2FyZC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZCBjYXRlZ29yeS5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtY2F0ZWdvcnktYm9yZGVyLXdpZHRoOiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBob3ZlcmVkIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1ob3Zlci1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstdHJ5LXNoYWRlKCAka2VuZG8tdGFza2JvYXJkLWNhcmQtYm9yZGVyLCAxMCUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIFRhc2tCb2FyZCBDYXJkLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1mb2N1cy1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGstdHJ5LXNoYWRlKCAka2VuZG8tdGFza2JvYXJkLWNhcmQtYm9yZGVyLCAxOCUgKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgZm9jdXNlZCBUYXNrQm9hcmQgQ2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtZm9jdXMtc2hhZG93OiAka2VuZG8tY2FyZC1mb2N1cy1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIG9mIHRoZSBzZWxlY3RlZCBUYXNrQm9hcmQgQ2FyZC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtc2VsZWN0ZWQtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1lbXBoYXNpcyApLCBrLWNvbG9yLXRpbnQoICRrZW5kby1jb2xvci1wcmltYXJ5LWxpZ2h0ZXIsIDggKSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgc2VsZWN0ZWQgVGFza0JvYXJkIENhcmQuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1jYXJkLXNlbGVjdGVkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZCBoZWFkZXIgdGV4dC5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWNhcmQtaGVhZGVyLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIFRhc2tCb2FyZCBDYXJkIGhlYWRlciB0ZXh0LlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1oZWFkZXItZm9jdXMtdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktZGFya2VyICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBmb2N1c2VkIFRhc2tCb2FyZCBDYXJkIGhlYWRlciB0ZXh0LlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtY2FyZC1oZWFkZXItaG92ZXItdGV4dDogJGtlbmRvLWNvbG9yLXByaW1hcnktZGFya2VyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgVGFza0JvYXJkIENhcmQgcGxhY2Vob2xkZXIuXG4vLy8gQGdyb3VwIHRhc2tib2FyZFxuJGtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBUYXNrQm9hcmQgQ2FyZCBwbGFjZWhvbGRlci5cbi8vLyBAZ3JvdXAgdGFza2JvYXJkXG4ka2VuZG8tdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXItYm9yZGVyLXJhZGl1czogJGtlbmRvLXRhc2tib2FyZC1jYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBDYXJkIHBsYWNlaG9sZGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtZHJhZy1wbGFjZWhvbGRlci1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDEwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICksIC4xICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFRhc2tCb2FyZCBDYXJkIHBsYWNlaG9sZGVyLlxuLy8vIEBncm91cCB0YXNrYm9hcmRcbiRrZW5kby10YXNrYm9hcmQtZHJhZy1wbGFjZWhvbGRlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3Rhc2tib2FyZC9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGFza2JvYXJkL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rhc2tib2FyZC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby10YXNrLWJvYXJkLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIFRhc2tCb2FyZFxuICAgIC5rLXRhc2tib2FyZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YXNrYm9hcmQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhc2tib2FyZC1wYWRkaW5nLXg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLXRhc2tib2FyZC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tdGFza2JvYXJkLWZvbnQtZmFtaWx5O1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRhc2tib2FyZC1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay10YXNrYm9hcmQtdG9vbGJhciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLXRhc2tib2FyZC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAka2VuZG8tdGFza2JvYXJkLXRvb2xiYXItcGFkZGluZy14ICRrZW5kby10YXNrYm9hcmQtY29udGVudC1wYWRkaW5nLXk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gQ29sdW1uc1xuICAgIC5rLXRhc2tib2FyZC1jb2x1bW5zLWNvbnRhaW5lciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGdhcDogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW5zLWNvbnRhaW5lci1nYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1wYWRkaW5nLXg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLWdhcDtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWhlYWRlci1hY3Rpb25zLWdhcDtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtY29sdW1uLWNhcmRzLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNvbnRhaW5lci1zcGFjaW5nLXk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNvbnRhaW5lci1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jb250YWluZXItcGFkZGluZy14O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1jYXJkcyB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNhcmRzLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWNhcmRzLXBhZGRpbmcteDtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1jYXJkcy1nYXAgMDtcbiAgICB9XG5cbiAgICAvLyBFZGl0L05ldyBDb2x1bW5zXG4gICAgLmstdGFza2JvYXJkLWNvbHVtbi1uZXcge1xuICAgICAgICAvLyBUT0RPOiB3ZSBuZWVkIGJldHRlciB3YXlcbiAgICAgICAgLy8gbWF4LWhlaWdodDogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tbmV3LWNhbGMtaGVpZ2h0O1xuICAgIH1cblxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4tbmV3LFxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4tZWRpdCB7XG4gICAgICAgIC5rLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFza2JvYXJkLWNvbHVtbi1oZWFkZXItdGV4dCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZpZXcvRWRpdCBQYW5lXG4gICAgLmstdGFza2JvYXJkLXBhbmUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGFza2JvYXJkLXBhbmUtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhc2tib2FyZC1wYW5lLXBhZGRpbmcteDtcbiAgICAgICAgd2lkdGg6ICRrZW5kby10YXNrYm9hcmQtcGFuZS13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGFza2JvYXJkLXBhbmUtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtcGFuZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGFza2JvYXJkLXBhbmUtaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YXNrYm9hcmQtcGFuZS1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICBmb250LXdlaWdodDogJGtlbmRvLXRhc2tib2FyZC1wYW5lLWhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtcGFuZS1oZWFkZXItdGV4dCB7XG4gICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLXBhbmUtaGVhZGVyLWFjdGlvbnMge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtcGFuZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXRhc2tib2FyZC1wYW5lLWNvbnRlbnQtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhc2tib2FyZC1wYW5lLWNvbnRlbnQtcGFkZGluZy14O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLmstdGFza2JvYXJkLXBhbmUtYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YXNrYm9hcmQtcGFuZS1hY3Rpb25zLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby10YXNrYm9hcmQtcGFuZS1hY3Rpb25zLXBhZGRpbmcteDtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtcGFuZS1zdGFydCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIENhcmRzXG4gICAgLmstdGFza2JvYXJkLWNhcmQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tdGFza2JvYXJkLWNhcmQtYm9yZGVyLXJhZGl1cyApO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10YXNrYm9hcmQtY2FyZC1ib3JkZXItd2lkdGg7XG5cbiAgICAgICAgJi5rLXRhc2tib2FyZC1jYXJkLWNhdGVnb3J5IHtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6ICRrZW5kby10YXNrYm9hcmQtY2FyZC1jYXRlZ29yeS1ib3JkZXItd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYXJkLWhlYWRlclxuICAgICAgICAuay1jYXJkLWJvZHksXG4gICAgICAgIC5rLWNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby10YXNrYm9hcmQtY2FyZC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRhc2tib2FyZC1jYXJkLXBhZGRpbmcteDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuay1jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQtaGVhZGVyLWFjdGlvbnMge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgRHJhZyBQbGFjZWhvbGRlclxuICAgIC5rLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlci1yYWRpdXMgKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGFza2JvYXJkLWRyYWctcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRhc2stYm9hcmQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YXNrLWJvYXJkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXRhc2stYm9hcmQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YXNrLWJvYXJkLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdGFza2JvYXJkL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rhc2tib2FyZC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Rhc2tib2FyZC9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRhc2stYm9hcmQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBUYXNrQm9hcmRcbiAgICAuay10YXNrYm9hcmQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC1iZyxcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVG9vbGJhclxuICAgIC5rLXRhc2tib2FyZC10b29sYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtdG9vbGJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC10b29sYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC10b29sYmFyLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtdG9vbGJhci1ncmFkaWVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENvbHVtbnNcbiAgICAuay10YXNrYm9hcmQtY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtY29sdW1uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1iZyxcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtY29sdW1uLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cbiAgICAuay10YXNrYm9hcmQtY29sdW1uOmZvY3VzLFxuICAgIC5rLXRhc2tib2FyZC1jb2x1bW4uay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1mb2N1cy10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4tZm9jdXMtYmcsXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLWNvbHVtbi1mb2N1cy1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtY29sdW1uLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXRhc2tib2FyZC1jb2x1bW4taGVhZGVyLXRleHQgKTtcbiAgICB9XG5cbiAgICAvLyBQcmV2aWV3L0VkaXQgUGFuZVxuICAgIC5rLXRhc2tib2FyZC1wYW5lIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLXBhbmUtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtcGFuZS1iZyxcbiAgICAgICAgICAgICRrZW5kby10YXNrYm9hcmQtcGFuZS1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay10YXNrYm9hcmQtcGFuZS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby10YXNrYm9hcmQtcGFuZS1oZWFkZXItdGV4dCApO1xuICAgIH1cblxuICAgIC8vIENhcmRzXG4gICAgLmstdGFza2JvYXJkLWNhcmQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXRhc2tib2FyZC1jYXJkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLWNhcmQtYmcsXG4gICAgICAgICAgICAka2VuZG8tdGFza2JvYXJkLWNhcmQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby10YXNrYm9hcmQtY2FyZC1zaGFkb3cgKTtcblxuICAgICAgICAuay1jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXRhc2tib2FyZC1jYXJkLWhlYWRlci10ZXh0ICk7XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXRhc2tib2FyZC1jYXJkLWhlYWRlci1mb2N1cy10ZXh0ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjb2xvcjogJGtlbmRvLXRhc2tib2FyZC1jYXJkLWhlYWRlci1ob3Zlci10ZXh0ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tdGFza2JvYXJkLWNhcmQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tdGFza2JvYXJkLWNhcmQtZm9jdXMtYm9yZGVyICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJvcmRlcjogJGtlbmRvLXRhc2tib2FyZC1jYXJkLWhvdmVyLWJvcmRlciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRib3JkZXI6ICRrZW5kby10YXNrYm9hcmQtY2FyZC1zZWxlY3RlZC1ib3JkZXIgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby10YXNrYm9hcmQtY2FyZC1zZWxlY3RlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkaXNhYmxlZCggJGtlbmRvLWRpc2FibGVkLXN0eWxpbmcgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgRHJhZyBQbGFjZWhvbGRlclxuICAgIC5rLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJnLFxuICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLXRhc2tib2FyZC1kcmFnLXBsYWNlaG9sZGVyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby10YXNrLWJvYXJkLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YXNrLWJvYXJkLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGFzay1ib2FyZC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFzay1ib2FyZC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXRhc2stYm9hcmQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInRhc2stYm9hcmRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGFzay1ib2FyZC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRhc2stYm9hcmQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby10YXNrLWJvYXJkLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIEVkaXRvcnNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZWRpdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZWRpdG9yL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcImVkaXRvclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNoZWNrYm94XCIsXG4gICAgICAgIFwiY29sb3ItcGlja2VyXCIsXG4gICAgICAgIFwiY29tYm9ib3hcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiZmlsZS1tYW5hZ2VyXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICAgICAgXCJ1cGxvYWRcIixcbiAgICAgICAgXCJ3aW5kb3dcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2hlY2tib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jaGVja2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbG9ycGlja2VyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29sb3JwaWNrZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21ib2JveC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbWJvYm94L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZHJvcGRvd25saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91cGxvYWQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91cGxvYWQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi93aW5kb3cvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy93aW5kb3cvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2VkaXRvci9fdmFyaWFibGVzLnNjc3Ncbi8vIEVkaXRvclxuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgYXJvdW5kIHRoZSDQlWRpdG9yLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSDQlWRpdG9yLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSDQlWRpdG9yLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUg0JVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUg0JVkaXRvciBwbGFjZWhvbGRlci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXBsYWNlaG9sZGVyLXRleHQ6ICRrZW5kby1pbnB1dC1wbGFjZWhvbGRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBvcGFjaXR5IG9mIHRoZSBFZGl0b3IgcGxhY2Vob2xkZXIuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1wbGFjZWhvbGRlci1vcGFjaXR5OiAka2VuZG8taW5wdXQtcGxhY2Vob2xkZXItb3BhY2l0eSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzZWxlY3RlZCB0ZXh0IGNvbG9yIG9mIHRoZSBFZGl0b3IuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1zZWxlY3RlZC10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeS1jb250cmFzdCAhZGVmYXVsdDtcbi8vLyBUaGUgc2VsZWN0ZWQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgRWRpdG9yLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3Itc2VsZWN0ZWQtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhpZ2hsaWdodGVkIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEVkaXRvci5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLWhpZ2hsaWdodGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1zdWJ0bGUgKSwgay1jb2xvci1taXgoICRrZW5kby1jb2xvci1wcmltYXJ5LCAjZmZmZmZmLCAyMCUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBtYXJnaW4gb2YgdGhlIEVkaXRvcidzIGV4cG9ydCB0b29sIGljb24uXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1leHBvcnQtdG9vbC1pY29uLW1hcmdpbi14OiAuMjVlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXplIG9mIHRoZSBFZGl0b3IncyByZXNpemUgaGFuZGxlLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1zaXplOiA4cHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgRWRpdG9yJ3MgcmVzaXplIGhhbmRsZS5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgRWRpdG9yJ3MgcmVzaXplIGhhbmRsZS5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYm9yZGVyOiAjMDAwMDAwICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBFZGl0b3IncyByZXNpemUgaGFuZGxlLlxuLy8vIEBncm91cCBlZGl0b3JcbiRrZW5kby1lZGl0b3ItcmVzaXplLWhhbmRsZS1iZzogI2ZmZmZmZiAhZGVmYXVsdDtcblxuLy8vICBUaGUgb3V0bGluZSB3aWR0aCBvZiB0aGUgRWRpdG9yJ3Mgc2VsZWN0ZWQgbm9kZS5cbi8vLyBAZ3JvdXAgZWRpdG9yXG4ka2VuZG8tZWRpdG9yLXNlbGVjdGVkbm9kZS1vdXRsaW5lLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4vLy8gVGhlIG91dGxpbmUgY29sb3Igb2YgdGhlIEVkaXRvcidzIHNlbGVjdGVkIG5vZGUuXG4vLy8gQGdyb3VwIGVkaXRvclxuJGtlbmRvLWVkaXRvci1zZWxlY3RlZG5vZGUtb3V0bGluZS1jb2xvcjogIzg4Y2NmZiAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9lZGl0b3IvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2VkaXRvci9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9lZGl0b3IvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tZWRpdG9yLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1lZGl0b3Ige1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1lZGl0b3ItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWVkaXRvci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZWRpdG9yLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1lZGl0b3ItbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJi5rLXJlYWRvbmx5IHtcbiAgICAgICAgICAgIC5rLWVkaXRvci1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZWRpdG9yLWNvbnRlbnQuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZS13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElubGluZSBlZGl0b3JcbiAgICAuay1lZGl0b3ItaW5saW5lIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLXNtLXg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIC8vIFJlc2l6YWJsZSBlZGl0b3JcbiAgICAuay1lZGl0b3ItcmVzaXphYmxlIHtcbiAgICAgICAgcmVzaXplOiBib3RoO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZXNpemFibGUgaW1hZ2VzXG4gICAgLmstZWRpdG9yLXJlc2l6ZS1oYW5kbGVzLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuay1lZGl0b3ItcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAmLm5vcnRod2VzdCB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IG53LXJlc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubm9ydGgge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IG4tcmVzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ub3J0aGVhc3Qge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBuZS1yZXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNvdXRod2VzdCB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgICAgICAgICAgIGN1cnNvcjogc3ctcmVzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zb3V0aCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBzLXJlc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc291dGhlYXN0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBzZS1yZXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmLndlc3Qge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IHctcmVzaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5lYXN0IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgICAgICAgY3Vyc29yOiBlLXJlc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAuUHJvc2VNaXJyb3Itc2VsZWN0ZWRub2RlIHtcbiAgICAgICAgb3V0bGluZS13aWR0aDogJGtlbmRvLWVkaXRvci1zZWxlY3RlZG5vZGUtb3V0bGluZS13aWR0aDtcbiAgICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG5cbiAgICB9XG4gICAgLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24ge1xuICAgICAgICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgKjo6c2VsZWN0aW9uLFxuICAgICAgICAqOjotbW96LXNlbGVjdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cblxuICAgIC8vIFRvb2xiYXJcbiAgICAuay1lZGl0b3ItdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aCAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAuay1lZGl0b3ItZXhwb3J0IHtcbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGtlbmRvLWVkaXRvci1leHBvcnQtdG9vbC1pY29uLW1hcmdpbi14O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1pY29uLFxuICAgICAgICAgICAgLmstZXhwb3J0LXRvb2wtdGV4dCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVkaXRvciBjb250ZW50XG4gICAgLmstZWRpdG9yLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICA+IC5rLWlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuUHJvc2VNaXJyb3IgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICBwYWRkaW5nOiAka2VuZG8tcGFkZGluZy1tZC14O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtcGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLWVkaXRvci1wbGFjZWhvbGRlci10ZXh0O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1lZGl0b3ItcGxhY2Vob2xkZXItb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIl0ge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogdW5zZXQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgICAgICAgIC5rLWVkaXRvci1yZXNpemUtaGFuZGxlcy13cmFwcGVyLFxuICAgICAgICAgICAgICAgIC5rLWVkaXRvci1yZXNpemUtaGFuZGxlLFxuICAgICAgICAgICAgICAgIC5yb3ctcmVzaXplLWhhbmRsZSxcbiAgICAgICAgICAgICAgICAuY29sdW1uLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyxcbiAgICAgICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgLlByb3NlTWlycm9yLXNlbGVjdGVkbm9kZSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUYWJsZSBzdHlsZXNcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQgcCxcbiAgICAgICAgdGggcCxcbiAgICAgICAgbGkgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDFlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDVweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdpdmUgc2VsZWN0ZWQgY2VsbHMgYSBibHVlIG92ZXJsYXlcbiAgICAgICAgLnNlbGVjdGVkQ2VsbDo6YWZ0ZXIgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuay1lZGl0LWZvcm0tY29udGVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAoLSRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15KTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogKC0ka2VuZG8td2luZG93LWlubmVyLXBhZGRpbmcteCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby13aW5kb3ctaW5uZXItcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXdpbmRvdy1pbm5lci1wYWRkaW5nLXg7XG4gICAgfVxuXG5cbiAgICAkY3QtY2VsbC1zaXplOiAyMHB4O1xuXG4gICAgLy8gSW5zZXJ0IHRhYmxlXG4gICAgLmstY3QtcG9wdXAge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogJGN0LWNlbGwtc2l6ZSAqIDEwIC0gay1tYXRoLWRpdiggJGN0LWNlbGwtc2l6ZSwgMiApO1xuICAgICAgICBwYWRkaW5nOiBrLW1hdGgtZGl2KCAkY3QtY2VsbC1zaXplLCA0ICk7XG5cbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY3QtY2VsbCB7XG4gICAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICAgIHdpZHRoOiAkY3QtY2VsbC1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkY3QtY2VsbC1zaXplO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1lZGl0b3IgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMTNweCAxM3B4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjdXJzb3I6IHNlLXJlc2l6ZTtcblxuICAgICAgICAuay1pLWFycm93LTQ1LWRvd24tcmlnaHQsXG4gICAgICAgIC5rLWktY2FyZXQtYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRmluZCBhbmQgcmVwbGFjZSBkaWFsb2dcbiAgICAuay1lZGl0b3ItZmluZC1yZXBsYWNlIHtcbiAgICAgICAgLmstY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1hY3Rpb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zZWFyY2gtb3B0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWF0Y2hlcy1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIFRleHQgYXJlYSBpbiBlZGl0b3IgZGlhbG9nXG4gICAgLmstdGV4dGFyZWEuay1lZGl0b3ItdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gRmlsZSBicm93c2VyXG4gICAgLy8gVE9ETzogcmVwbGFjZSB3aXRoIGZpbGUgbWFuYWdlciBjb21wb25lbnRcbiAgICAuay1maWxlYnJvd3NlciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAvLyBCcmVhZGNydW1icyBhbmQgc2VhcmNoXG4gICAgICAgIC5rLWZsb2F0d3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgICAgICAuay1icmVhZGNydW1icyB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNlYXJjaC13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApO1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5rLWlucHV0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsgLy8gZml4IHdpZHRoIGZvciBFZGdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpbGVicm93c2VyIHRvb2xiYXJcbiAgICAgICAgLmstZmlsZWJyb3dzZXItdG9vbGJhciB7XG4gICAgICAgICAgICBtYXJnaW46IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAwIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXVwbG9hZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgLmstdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay11cGxvYWQtc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdXBsb2FkLWZpbGVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaWxlc1xuICAgICAgICAuay10aWxlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGhlaWdodDogMzkwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApIDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuay10aWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCApO1xuXG4gICAgICAgICAgICAuay1pLWZpbGUsXG4gICAgICAgICAgICAuay1pLWZvbGRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGlsZS1lbXB0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAgICAgJi5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGh1bWIge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1wYWRkaW5nLXNtLXg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1icmVhZGNydW1icy13cmFwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6ICRrZW5kby1pbnB1dC1wYWRkaW5nLXg7XG4gICAgICAgICAgICB0b3A6ICRrZW5kby1pbnB1dC1wYWRkaW5nLXk7XG5cbiAgICAgICAgICAgIC5rLWljb24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIFRhYmxlIHdpemFyZCBkaWFsb2dcbiAgICAuay1lZGl0b3ItdGFibGUtd2l6YXJkLXdpbmRvdyB7XG5cbiAgICAgICAgLy8gVGFic3RyaXAgd3JhcHBlclxuICAgICAgICAuay10YWJzdHJpcC13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgICAgICAuay10YWJzdHJpcC5rLXJvb3QtdGFicyB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWVkaXQtZmllbGQgPiAuay1jaGVja2JveCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIGZpeCBzY3JvbGxpbmdcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLWVkaXRvci1pbmxpbmUge1xuXG4gICAgICAgIC5rLXRhYmxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxZW07XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmIHRkIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWVsZW1lbnQtcmVzaXplLWhhbmRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgLmstZWxlbWVudC1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmLmstcmVzaXplLWVhc3Qge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGUtcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtbm9ydGgge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG4tcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtbm9ydGhlYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBuZS1yZXNpemU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXJlc2l6ZS1ub3J0aHdlc3Qge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG53LXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstcmVzaXplLXNvdXRoIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBzLXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmstcmVzaXplLXNvdXRoZWFzdCB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogc2UtcmVzaXplO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuay1yZXNpemUtc291dGh3ZXN0IHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBzdy1yZXNpemU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5rLXJlc2l6ZS13ZXN0IHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1jb2x1bW4tcmVzaXplLWhhbmRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgLmstY29sdW1uLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5rLWNvbHVtbi1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJvdy1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGN1cnNvcjogcm93LXJlc2l6ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICAuay1yb3ctcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1yb3ctcmVzaXplLW1hcmtlci13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1yb3ctcmVzaXplLW1hcmtlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1lZGl0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZWRpdG9yLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZWRpdG9yLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvZWRpdG9yL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2VkaXRvci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2VkaXRvci9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLWVkaXRvci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC5rLWVkaXRvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNvbXBvbmVudC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmLmstcmVhZG9ubHkge1xuICAgICAgICAgICAgLmstZWRpdG9yLWNvbnRlbnQuay1mb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLWJvZHktdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElubGluZSBFZGl0b3JcbiAgICAuay1lZGl0b3ItaW5saW5lIHtcblxuICAgICAgICAuay10YWJsZSB7XG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJiB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZWxlbWVudC1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNvbHVtbi1yZXNpemUtaGFuZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgLmstY29sdW1uLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgIC5rLWNvbHVtbi1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjBmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1yb3ctcmVzaXplLWhhbmRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIC5rLXJvdy1yZXNpemUtbWFya2VyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiMGZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgJiBBY3RpdmUgc3RhdGVcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyLFxuICAgICAgICAmLmstYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNpemFibGUgaW1hZ2VzXG4gICAgLmstZWRpdG9yLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWVkaXRvci1yZXNpemUtaGFuZGxlLWJvcmRlcjtcbiAgICB9XG4gICAgLlByb3NlTWlycm9yLXNlbGVjdGVkbm9kZSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgb3V0bGluZS1jb2xvcjogJGtlbmRvLWVkaXRvci1zZWxlY3RlZG5vZGUtb3V0bGluZS1jb2xvcjtcbiAgICB9XG5cblxuICAgIC8vIEluc2VydCB0YWJsZVxuICAgIC5rLWN0LXBvcHVwIHtcbiAgICAgICAgLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGtlbmRvLXNlbGVjdGVkLXRleHQsICRrZW5kby1zZWxlY3RlZC1iZywgJGtlbmRvLXNlbGVjdGVkLWJvcmRlciwgbm9uZSApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLWVkaXRvci1jb250ZW50IHtcblxuICAgICAgICAvLyBTZWxlY3Rpb25cbiAgICAgICAgLmstdGV4dC1zZWxlY3RlZCxcbiAgICAgICAgJjo6c2VsZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGtlbmRvLWVkaXRvci1zZWxlY3RlZC10ZXh0LFxuICAgICAgICAgICAgICAgICRiZzogJGtlbmRvLWVkaXRvci1zZWxlY3RlZC1iZ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRleHQtaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZWRpdG9yLWhpZ2hsaWdodGVkLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGFibGUgc3R5bGVzXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNkZGRkZGQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWRDZWxsOjphZnRlciB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDI1NSwgLjQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWVkaXRvci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZWRpdG9yLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZWRpdG9yLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1lZGl0b3ItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImVkaXRvclwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1lZGl0b3ItLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ltYWdlZWRpdG9yL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW1hZ2VlZGl0b3IvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiaW1hZ2UtZWRpdG9yXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiY2hlY2tib3hcIixcbiAgICAgICAgXCJkcm9wZG93bi1saXN0XCIsXG4gICAgICAgIFwiZm9ybVwiLFxuICAgICAgICBcIm51bWVyaWMtdGV4dGJveFwiLFxuICAgICAgICBcInRvb2xiYXJcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdG9vbGJhci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Rvb2xiYXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9mb3Jtcy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Zvcm1zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZHJvcGRvd25saXN0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZHJvcGRvd25saXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbnVtZXJpY3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NoZWNrYm94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2hlY2tib3gvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2ltYWdlZWRpdG9yL192YXJpYWJsZXMuc2Nzc1xuLy8gSW1hZ2VlZGl0b3JcbiRrZW5kby1pbWFnZS1lZGl0b3ItbWFyZ2luLXk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLW1hcmdpbi14OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1wYWRkaW5nLXk6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLXBhZGRpbmcteDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLWltYWdlLWVkaXRvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4ka2VuZG8taW1hZ2UtZWRpdG9yLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbiRrZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA4ICkgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS13aWR0aDogaWYoICRrZW5kby1pbWFnZS1lZGl0b3ItY29udGVudC1ib3JkZXItd2lkdGggPT0gbnVsbCwgMjQwcHgsIGNhbGMoIDI0MHB4ICsgI3ska2VuZG8taW1hZ2UtZWRpdG9yLWNvbnRlbnQtYm9yZGVyLXdpZHRofSApICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXItc3R5bGU6IGRhc2hlZCAhZGVmYXVsdDtcblxuJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLW1hcmdpbi14OiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtbWFyZ2luLXk6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItcmVzaXplLWhhbmRsZS1ib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemU6IDE1cHggIWRlZmF1bHQ7XG5cbiRrZW5kby1pbWFnZS1lZGl0b3ItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJnOiAjYzZjNmM2ICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8taW1hZ2UtZWRpdG9yLWNvbnRlbnQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1iZzogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLWltYWdlLWVkaXRvci1jcm9wLWJvcmRlcjogd2hpdGUgIWRlZmF1bHQ7XG5cbiRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1vdmVybGF5LWJnOiByZ2JhKCBibGFjaywgLjMgKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9pbWFnZWVkaXRvci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW1hZ2VlZGl0b3IvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvaW1hZ2VlZGl0b3IvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8taW1hZ2UtZWRpdG9yLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEltYWdlIEVkaXRvclxuICAgIC5rLWltYWdlZWRpdG9yIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8taW1hZ2UtZWRpdG9yLW1hcmdpbi15O1xuICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8taW1hZ2UtZWRpdG9yLW1hcmdpbi14O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8taW1hZ2UtZWRpdG9yLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1pbWFnZS1lZGl0b3ItcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1pbWFnZS1lZGl0b3ItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWltYWdlLWVkaXRvci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8taW1hZ2UtZWRpdG9yLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1pbWFnZS1lZGl0b3ItbGluZS1oZWlnaHQ7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEltYWdlIGVkaXRvciB0b29sYmFyXG4gICAgLmstaW1hZ2VlZGl0b3ItdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXRvb2xiYXItYm9yZGVyLXdpZHRoO1xuICAgIH1cblxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLWltYWdlZWRpdG9yLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIH1cblxuXG4gICAgLy8gQ2FudmFzXG4gICAgLmstaW1hZ2VlZGl0b3ItY2FudmFzLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgICAuay1pbWFnZWVkaXRvci1jYW52YXMge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIEFjdGlvbiBQYW5lXG4gICAgLmstaW1hZ2VlZGl0b3ItYWN0aW9uLXBhbmUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1pbWFnZS1lZGl0b3ItYWN0aW9uLXBhbmUtcGFkZGluZy14O1xuICAgICAgICB3aWR0aDogJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgIC5rLWlucHV0LWlubmVyLFxuICAgICAgICAuay1pbnB1dC12YWx1ZS10ZXh0IHtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIENyb3AgVG9vbFxuICAgIC5rLWltYWdlZWRpdG9yLWNyb3Atb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5rLWltYWdlZWRpdG9yLWNyb3Age1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogJGtlbmRvLWltYWdlLWVkaXRvci1jcm9wLWJvcmRlci1zdHlsZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtbWFyZ2luLXk7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtbWFyZ2luLXg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLXN3LFxuICAgICAgICAuay1yZXNpemUtc2UsXG4gICAgICAgIC5rLXJlc2l6ZS1udyxcbiAgICAgICAgLmstcmVzaXplLW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtbixcbiAgICAgICAgLmstcmVzaXplLXMge1xuICAgICAgICAgICAgbGVmdDogY2FsYyggNTAlIC0gKCN7ay1tYXRoLWRpdiggJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemUsIDIgKX0pICk7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWltYWdlLWVkaXRvci1yZXNpemUtaGFuZGxlLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNpemUtdyxcbiAgICAgICAgLmstcmVzaXplLWUge1xuICAgICAgICAgICAgdG9wOiBjYWxjKCA1MCUgLSAoI3trLW1hdGgtZGl2KCAka2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZSwgMiApfSkgKTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8taW1hZ2UtZWRpdG9yLXJlc2l6ZS1oYW5kbGUtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1uZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLW53IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG5cblxuICAgICAgICAuay1yZXNpemUtc3cge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLW4ge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLXMge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVzaXplLXcge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1lIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWltYWdlLWVkaXRvci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWltYWdlLWVkaXRvci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1pbWFnZS1lZGl0b3ItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1pbWFnZS1lZGl0b3ItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9pbWFnZWVkaXRvci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9pbWFnZWVkaXRvci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2ltYWdlZWRpdG9yL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8taW1hZ2UtZWRpdG9yLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gSW1hZ2UgRWRpdG9yXG4gICAgLmstaW1hZ2VlZGl0b3Ige1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1iZyxcbiAgICAgICAgICAgICRrZW5kby1pbWFnZS1lZGl0b3ItYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLWltYWdlZWRpdG9yLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1jb250ZW50LXRleHQsXG4gICAgICAgICAgICAka2VuZG8taW1hZ2UtZWRpdG9yLWNvbnRlbnQtYmcsXG4gICAgICAgICAgICAka2VuZG8taW1hZ2UtZWRpdG9yLWNvbnRlbnQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ2FudmFzXG4gICAgLmstaW1hZ2VlZGl0b3ItY2FudmFzIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tlcmJvYXJkLWdyYWRpZW50KCk7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9uIFBhbmVcbiAgICAuay1pbWFnZWVkaXRvci1hY3Rpb24tcGFuZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLXRleHQsXG4gICAgICAgICAgICAka2VuZG8taW1hZ2UtZWRpdG9yLWFjdGlvbi1wYW5lLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1hY3Rpb24tcGFuZS1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDcm9wIFRvb2xcbiAgICAuay1pbWFnZWVkaXRvci1jcm9wIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1pbWFnZS1lZGl0b3ItY3JvcC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1jcm9wLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWltYWdlLWVkaXRvci1jcm9wLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENyb3AgT3ZlcmxheVxuICAgIC5rLWltYWdlZWRpdG9yLWNyb3Atb3ZlcmxheSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKFxuICAgICAgICAgICAgJGJnOiAka2VuZG8taW1hZ2UtZWRpdG9yLWNyb3Atb3ZlcmxheS1iZ1xuICAgICAgICApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1pbWFnZS1lZGl0b3ItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWltYWdlLWVkaXRvci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWltYWdlLWVkaXRvci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8taW1hZ2UtZWRpdG9yLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8taW1hZ2UtZWRpdG9yLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJpbWFnZS1lZGl0b3JcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8taW1hZ2UtZWRpdG9yLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8taW1hZ2UtZWRpdG9yLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8taW1hZ2UtZWRpdG9yLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFNjaGVkdWxpbmdcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZ2FudHQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9nYW50dC9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJnYW50dFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImRhdGUtdGltZS1waWNrZXJcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJudW1lcmljLXRleHRib3hcIixcbiAgICAgICAgXCJzcGxpdHRlclwiLFxuICAgICAgICBcInRyZWVsaXN0XCIsXG4gICAgICAgIFwidmFsaWRhdG9yXCIsXG4gICAgICAgIFwid2luZG93XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi92YWxpZGF0b3IvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy92YWxpZGF0b3IvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kYXRldGltZXBpY2tlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RhdGV0aW1lcGlja2VyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vbnVtZXJpY3RleHRib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9udW1lcmljdGV4dGJveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3dpbmRvdy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3dpbmRvdy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3NwbGl0dGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc3BsaXR0ZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90cmVlbGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3RyZWVsaXN0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9nYW50dC9fdmFyaWFibGVzLnNjc3Ncbi8vIEdhbnR0XG4ka2VuZG8tZ2FudHQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtZm9udC1mYW1pbHk6ICRrZW5kby1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuJGtlbmRvLWdhbnR0LWJnOiAka2VuZG8tY29tcG9uZW50LWJnICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tZ2FudHQtdHJlZWxpc3QtYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtdHJlZWxpc3QtdGV4dDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC10cmVlbGlzdC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1nYW50dC1ub253b3JrLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWJhc2UgKSAzJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tZ2FudHQtYmcgKSwgLjAyNSApKSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1ub253b3JrLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtbm9ud29yay1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1nYW50dC1saW5lLXNpemU6IDJweCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1saW5lLWZpbGw6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBvbi1iYXNlICksIGstY29sb3ItbWl4KCAka2VuZG8tZ2FudHQtdGV4dCwgJGtlbmRvLWdhbnR0LWJnICkpICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LWxpbmUtc2VsZWN0ZWQtZmlsbDogJGtlbmRvLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuXG4ka2VuZG8tZ2FudHQtZG90LXNpemU6IDhweCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1kb3Qtc3BhY2luZzogNHB4ICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LWRvdC1iZzogJGtlbmRvLWdhbnR0LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtZG90LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1kb3QtaG92ZXItYmc6ICRrZW5kby1nYW50dC1iZyAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1kb3QtaG92ZXItYm9yZGVyOiAka2VuZG8tZ2FudHQtdGV4dCAhZGVmYXVsdDtcblxuJGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2UgKSwgaWYoIGstaXMtbGlnaHQoICRrZW5kby1nYW50dC1iZyApLCAkZ3JheS0zMDAsICRncmF5LTcwMCApKSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1taWxlc3RvbmUtYm9yZGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYm9yZGVyLWFsdCApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1iZywgMiApKSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1taWxlc3RvbmUtc2VsZWN0ZWQtYmc6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1taWxlc3RvbmUtc2VsZWN0ZWQtYm9yZGVyOiAka2VuZG8tc2VsZWN0ZWQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tZ2FudHQtc3VtbWFyeS1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHN1YnRsZSApLCBrLWNvbG9yLW1peCggJGtlbmRvLWdhbnR0LXRleHQsICRrZW5kby1nYW50dC1iZyApKSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLWJnOiAka2VuZG8tZ2FudHQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1zdW1tYXJ5LXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1zdWJ0bGUtYWN0aXZlICksIGstY29sb3ItbWl4KCAka2VuZG8tc2VsZWN0ZWQtYmcsICRrZW5kby1nYW50dC1iZyApKSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1zdW1tYXJ5LXByb2dyZXNzLXNlbGVjdGVkLWJnOiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG5cbiRrZW5kby1nYW50dC10YXNrLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAxICkgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtdGFzay1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC10YXNrLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZSApLCBpZiggay1pcy1saWdodCggJGtlbmRvLWdhbnR0LWJnICksICRncmF5LTMwMCwgJGdyYXktNzAwICkpICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXRhc2stdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLWJhc2UgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLWdhbnR0LXRhc2stYmcgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtdGFzay1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBib3JkZXItYWx0ICksIGlmKCBrLWlzLWxpZ2h0KCAka2VuZG8tZ2FudHQtYmcgKSwgJGdyYXktNDAwLCAkZ3JheS02MDAgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtdGFzay1wcm9ncmVzcy1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJvcmRlci1hbHQgKSwgaWYoIGstaXMtbGlnaHQoICRrZW5kby1nYW50dC1iZyApLCAkZ3JheS00MDAsICRncmF5LTYwMCApKSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLWJnOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggcHJpbWFyeS1zdWJ0bGUtYWN0aXZlICksIGstY29sb3ItbWl4KCAka2VuZG8tc2VsZWN0ZWQtYmcsICRrZW5kby1nYW50dC1iZyApKSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLXRleHQ6ICRrZW5kby1zZWxlY3RlZC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXRhc2stc2VsZWN0ZWQtYm9yZGVyOiAka2VuZG8tc2VsZWN0ZWQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtdGFzay1wcm9ncmVzcy1zZWxlY3RlZC1iZzogJGtlbmRvLXNlbGVjdGVkLWJnICFkZWZhdWx0O1xuXG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1tYXJnaW4teTogLjM1ZW0gIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1wbGFubmVkLWxpbmUtaGVpZ2h0OiAuNzVlbSAhZGVmYXVsdDtcblxuJGtlbmRvLWdhbnR0LXBsYW5uZWQtZGVwZW5kZW5jeS1tYXJnaW4teTogLjZlbSAhZGVmYXVsdDtcblxuJGtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LXdpZHRoOiA2cHggIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtaGVpZ2h0OiAka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtd2lkdGggIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtYm9yZGVyLXJhZGl1czogY2FsYyggKCAjeyRrZW5kby1nYW50dC1wbGFubmVkLWJvcmRlci13aWR0aCAqIDJ9ICsgI3ska2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtd2lkdGh9ICkgLyAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtbGVmdC1tYXJnaW4teDogY2FsYyggI3trLW1hdGgtZGl2KCAka2VuZG8tZ2FudHQtcGxhbm5lZC1ib3JkZXItd2lkdGgsIDIgKX0gLSAjeyRrZW5kby1nYW50dC1wbGFubmVkLW1vbWVudC1ib3JkZXItcmFkaXVzfSApICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXBsYW5uZWQtbWlsZXN0b25lLW1vbWVudC1tYXJnaW4teDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LXdpZHRoICFkZWZhdWx0O1xuXG4ka2VuZG8tZ2FudHQtcGxhbm5lZC1kdXJhdGlvbi1oZWlnaHQ6ICRrZW5kby1nYW50dC1wbGFubmVkLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1wbGFubmVkLWR1cmF0aW9uLWhvdmVyLWhlaWdodDogY2FsYyggI3ska2VuZG8tZ2FudHQtcGxhbm5lZC1ib3JkZXItd2lkdGh9ICsgMXB4ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1nYW50dC1wbGFubmVkLXNpbmdsZS1kcmFnLWhpbnQtdG9wOiAuMzVlbSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1wbGFubmVkLXN1bW1hcnktZHJhZy1oaW50LXRvcDogMWVtICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXBsYW5uZWQtbWlsZXN0b25lLWRyYWctaGludC10b3A6IC44NWVtICFkZWZhdWx0O1xuXG4ka2VuZG8tZ2FudHQtcnRsLW1pbGVzdG9uZS13cmFwLW1hcmdpbi14OiAtMi4zZW0gIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtcnRsLW1pbGVzdG9uZS1wbGFubmVkLW1vbWVudC1tYXJnaW4teDogLjJlbSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1ydGwtbWlsZXN0b25lLWRvdC1zdGFydC1tYXJnaW4teDogLS4xZW0gIWRlZmF1bHQ7XG5cbiRrZW5kby1nYW50dC1wbGFubmVkLW9mZnNldC1yZXNpemUtaGFuZGxlci1tYXJnaW4teDogMS4yZW0gIWRlZmF1bHQ7XG5cbiRrZW5kby1nYW50dC1wbGFubmVkLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1wbGFubmVkLWJvcmRlcjogJGtlbmRvLWdhbnR0LXBsYW5uZWQtYmcgIWRlZmF1bHQ7XG5cbiRrZW5kby1nYW50dC1kZWxheWVkLWJnOiAka2VuZG8tY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG4ka2VuZG8tZ2FudHQtZGVsYXllZC1iZy1saWdodGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggZXJyb3ItZW1waGFzaXMgKSwgay1jb2xvci10aW50KCAka2VuZG8tZ2FudHQtZGVsYXllZC1iZywgNSApKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdhbnR0LWFkdmFuY2VkLWJnOiAka2VuZG8tY29sb3Itc3VjY2VzcyAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1hZHZhbmNlZC1iZy1saWdodGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc3VjY2Vzcy1lbXBoYXNpcyApLCBrLWNvbG9yLXRpbnQoICRrZW5kby1nYW50dC1hZHZhbmNlZC1iZywgNSApKSAhZGVmYXVsdDtcblxuJGtlbmRvLWdhbnR0LWFjdGlvbi1vbi1vZmZzZXQtdGV4dDogIzAwMDAwMCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC1vZmZzZXQtcmVzaXplLWhhbmRsZXItdG9wOiA0NSUgIWRlZmF1bHQ7XG5cbiRrZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1sYWJlbC13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRrZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtYm9yZGVyOiAjNjU2NTY1ICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC12YWxpZC1ib3JkZXI6ICRrZW5kby1jb2xvci1zdWNjZXNzICFkZWZhdWx0O1xuJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1pbnZhbGlkLWJvcmRlcjogJGtlbmRvLWNvbG9yLWVycm9yICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2dhbnR0L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9nYW50dC9fbGF5b3V0LnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9nYW50dC9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1nYW50dC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAkcm93LWhlaWdodDogI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICsgI3syICogJGtlbmRvLXRhYmxlLW1kLWNlbGwtcGFkZGluZy15fSArICN7JGtlbmRvLWdyaWQtY2VsbC1ob3Jpem9udGFsLWJvcmRlci13aWR0aH07XG5cbiAgICAuay1nYW50dCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWdhbnR0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1nYW50dC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZ2FudHQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWdhbnR0LWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdGhlclxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIgdHIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1saW5lLWhlaWdodC1lbX0gKyAjeyRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXkgKiAyfSArIDFweCApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLWhlYWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRyZWVsaXN0IC5rLWdyaWQtaGVhZGVyIC5rLWhlYWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1jb250ZW50IHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICsgI3ska2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteSAqIDJ9ICsgI3ska2VuZG8tZ3JpZC1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLWdhbnR0LXBsYW5uZWQgLmstZ3JpZC1jb250ZW50IHRyIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tbGluZS1oZWlnaHQtZW19ICogMS43ICsgI3ska2VuZG8tZ3JpZC1jZWxsLXBhZGRpbmcteSAqIDJ9ICsgI3ska2VuZG8tZ3JpZC1jZWxsLWhvcml6b250YWwtYm9yZGVyLXdpZHRofSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGF5b3V0XG4gICAgICAgIC5rLWdhbnR0LWxheW91dCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU3BsaXRiYXJcbiAgICAgICAgLmstc3BsaXRiYXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTcGxpdHRlclxuICAgICAgICAuay1nYW50dC1zcGxpdHRlciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZWFjdCBnYW50dFxuICAgICAgICAuay10cmVlbGlzdC1zY3JvbGxhYmxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyIC5rLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyIHRoLFxuICAgICAgICAgICAgLmstZ3JpZC1jb250ZW50LXN0aWNreSB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyIHRoLmstZ3JpZC1oZWFkZXItc3RpY2t5IHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstZ3JpZC1oZWFkZXIgdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICAgIHRib2R5IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWdyaWQtaGVhZGVyIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIC5rLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggJGtlbmRvLWdyaWQtY2VsbC12ZXJ0aWNhbC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ci5rLXNlbGVjdGVkID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRhc2tcbiAgICAgICAgICAgIC5rLXRhc2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIC5rLXRhc2stc3RhcnQsXG4gICAgICAgICAgICAgICAgJjpob3ZlciAuay10YXNrLWVuZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIgLmstdGFzay1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay10YXNrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1nYW50dC10YXNrLXBhZGRpbmcteTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWdhbnR0LXRhc2stcGFkZGluZy14O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstdGFzay1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTWlsZXN0b25lXG4gICAgICAgICAgICAuay10YXNrLW1pbGVzdG9uZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgICAgICAgLmstdGFzay1taWxlc3RvbmUtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTdW1tYXJ5XG4gICAgICAgICAgICAuay10YXNrLXN1bW1hcnkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oLTIwcHggMCwgY2FsYygxMDAlICsgMjBweCkgMCwgY2FsYygxMDAlICsgMjBweCkgMTAwJSwgMTAwJSAxMDAlLCBjYWxjKDEwMCUgLSA4cHgpIGNhbGMoMTAwJSAtIDVweCksIDhweCBjYWxjKDEwMCUgLSA1cHgpLCAwIDEwMCUsIC0yMHB4IDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERvdHNcbiAgICAgICAgICAgIC5rLXRhc2stc3RhcnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTQwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXRhc2stZW5kIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTQwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLW1hc3Rlci1yb3c6aG92ZXIgLmstdGFzay1kb3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUYWJsZSB3aXRoIGNvbHVtbnMgYm9yZGVyc1xuICAgICAgICAgICAgLmstZ2FudHQtY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlcGVuZGVuY3kgbGluZXMgU1ZHXG4gICAgICAgIC5rLWdhbnR0LWRlcGVuZGVuY2llcy1zdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICBwb2x5bGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAka2VuZG8tZ2FudHQtbGluZS1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyIGFuZCBmb290ZXJcbiAgICAuay1nYW50dC1oZWFkZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAka2VuZG8tdG9vbGJhci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB6LWluZGV4OiA2O1xuICAgIH1cbiAgICAuay1nYW50dC1mb290ZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuXG4gICAgLy8gVG9vbGJhclxuICAgIC5rLWdhbnR0LXRvb2xiYXIge31cblxuICAgIC5rLWdhbnR0LXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5rLWdhbnR0LWFkZCB7fVxuICAgIC5rLWdhbnR0LWNyZWF0ZSB7fVxuICAgIC5rLWdhbnR0LXZpZXdzIHt9XG5cblxuICAgIC8vIEdhbnR0IHZpZXdzXG4gICAgLmstZ2FudHQtdmlld3Mtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgIC5rLXZpZXdzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmVzcG9uc2l2ZSBnYW50dCB0b29sYmFyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcblxuICAgICAgICAuay1nYW50dC10b29sYmFyIHtcbiAgICAgICAgICAgIC5rLWdhbnR0LXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1nYW50dC1wZGYsXG4gICAgICAgICAgICAuay1nYW50dC1jcmVhdGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRrZW5kby1idXR0b24tcGFkZGluZy15O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tYnV0dG9uLWNhbGMtc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1idXR0b24tY2FsYy1zaXplO1xuXG4gICAgICAgICAgICAgICAgLmstYnV0dG9uLWljb24ge31cbiAgICAgICAgICAgICAgICAuay1idXR0b24tdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgLmstZ2FudHQtdmlld3Mtd3JhcHBlciAuay1nYW50dC12aWV3cyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmstZ2FudHQtdmlld3Mtd3JhcHBlciAuay12aWV3cy1kcm9wZG93biB7IGRpc3BsYXk6IGZsZXg7IH1cbiAgICB9XG5cblxuICAgIC8vIEdhbnR0IGNvbnRlbnRcbiAgICAuay1nYW50dC1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG5cbiAgICAvLyBUcmVlbGlzdFxuICAgIC5rLWdhbnR0LXRyZWVsaXN0IHtcblxuICAgICAgICAuay10cmVlbGlzdCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIsXG4gICAgICAgIC5rLWdyaWQtZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWhlYWRlciB0ciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxpbmUtaGVpZ2h0LWVtfSAqIDIgKyAjeyRrZW5kby1ncmlkLWhlYWRlci1wYWRkaW5nLXkgKiA0fSArIDJweCApO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgfVxuICAgICAgICAuay1ncmlkLWNvbnRlbnQgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAuay1nYW50dC10cmVlbGlzdC1uZXN0ZWQtY29sdW1ucyAuay1ncmlkLWhlYWRlciB0ciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoICN7JGtlbmRvLWxpbmUtaGVpZ2h0LWVtfSArICN7JGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteSAqIDJ9ICsgMXB4ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZ2FudHQtdHJlZWxpc3Qtc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICAuay1ncmlkLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRpbWVsaW5lXG4gICAgLmstZ2FudHQtdGltZWxpbmUtcGFuZSB7XG5cbiAgICAgICAgLmstZ2FudHQtdGltZWxpbmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgKixcbiAgICAgICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgICAgICo6OmFmdGVyLFxuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstZ3JpZC1oZWFkZXIge31cbiAgICAgICAgLmstZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgICAgfVxuICAgICAgICAuay1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLWdyaWQtaGVhZGVyLXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tZ3JpZC1oZWFkZXItcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4ICRrZW5kby1ncmlkLWNlbGwtdmVydGljYWwtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAvLyBUYWJsZXNcbiAgICAuay1nYW50dC10YWJsZXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmstZ2FudHQtcm93cyxcbiAgICAuay1nYW50dC1jb2x1bW5zIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLmstZ2FudHQtcm93cyB7fVxuXG5cbiAgICAvLyBEZXBzXG4gICAgLmstZ2FudHQtZGVwZW5kZW5jaWVzIHtcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIC8vIEFycm93c1xuICAgICAgICAuay1hcnJvdy1lLFxuICAgICAgICAuay1hcnJvdy13IHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstYXJyb3ctZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstYXJyb3ctdyB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZXBlbmRlbmN5IExpbmVzXG4gICAgLmstZ2FudHQtbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLmstZ2FudHQtbGluZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAuay1nYW50dC1saW5lLWgge1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby1nYW50dC1saW5lLXNpemU7XG4gICAgfVxuXG4gICAgLmstZ2FudHQtbGluZS12IHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1nYW50dC1saW5lLXNpemU7XG4gICAgfVxuXG4gICAgLmstZ2FudHQtZGVwZW5kZW5jeS1oaW50IHtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICB9XG5cblxuICAgIC8vIFRhc2tzXG4gICAgLmstZ2FudHQtdGFza3Mge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIC5rLXRhYmxlLXRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICAgIHRkOjphZnRlciB7IGNvbnRlbnQ6IFwiXFwyMDBiXCI7IH1cbiAgICB9XG5cbiAgICAuay10YXNrLXdyYXAge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IC0yMXB4O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiA1cHg7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAyMXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICAuay10YXNrLXdyYXAuay1kcmFnLWhpbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5rLXRhc2sge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cbiAgICAuay10YXNrLWRvdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAjeyRrZW5kby1nYW50dC1kb3Qtc2l6ZX0gKyAjeyRrZW5kby1nYW50dC1kb3Qtc3BhY2luZyAqIDJ9ICk7XG4gICAgICAgIGhlaWdodDogY2FsYyggI3ska2VuZG8tZ2FudHQtZG90LXNpemV9ICsgI3ska2VuZG8tZ2FudHQtZG90LXNwYWNpbmcgKiAyfSApO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICAgIC5rLXRhc2std3JhcDpob3ZlciAuay10YXNrLWRvdCxcbiAgICAuay10YXNrLXdyYXAuay1vcmlnaW4gLmstdGFzay1kb3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmstdGFzay1kb3Q6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tZ2FudHQtZG90LXNpemU7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLWdhbnR0LWRvdC1zaXplO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gICAgLmstdGFzay1kb3Q6aG92ZXI6OmJlZm9yZSxcbiAgICAuay10YXNrLWRvdC5rLWhvdmVyOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB9XG4gICAgLmstdGFzay1zdGFydCB7IGxlZnQ6IDA7IH1cbiAgICAuay10YXNrLWVuZCB7IHJpZ2h0OiAwOyB9XG4gICAgLmstdGFzay1kcmFnaGFuZGxlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBlLXJlc2l6ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICAuay10YXNrLXdyYXA6aG92ZXIgLmstdGFzay1kcmFnaGFuZGxlIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cblxuICAgIC8vIE1pbGVzdG9uZVxuICAgIC5rLW1pbGVzdG9uZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAtMmVtO1xuICAgIH1cbiAgICAuay10YXNrLW1pbGVzdG9uZSB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuXG4gICAgLy8gU3VtbWFyeVxuICAgIC5rLXN1bW1hcnktd3JhcCB7fVxuICAgIC5rLXRhc2stc3VtbWFyeSB7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgICAuay10YXNrLXN1bW1hcnksXG4gICAgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgIC5rLXRhc2stc3VtbWFyeS1wcm9ncmVzcyB7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgIC8vIFNpbmdsZSB0YXNrXG4gICAgLmstc2luZ2xlLXdyYXAge31cbiAgICAuay10YXNrLXNpbmdsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICk7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWdhbnR0LXRhc2stYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLWhhbmRsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLXcgeyBsZWZ0OiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS13OjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgICAgICAuay1yZXNpemUtZSB7IHJpZ2h0OiAwOyB9XG4gICAgICAgIC5rLXJlc2l6ZS1lOjpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC5rLXJlc2l6ZS1oYW5kbGUsXG4gICAgICAgICY6aG92ZXIgLmstdGFzay1hY3Rpb25zIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstdGFzay1jb21wbGV0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICk7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIC5rLXRhc2stY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLmstdGFzay10ZW1wbGF0ZSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1nYW50dC10YXNrLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1nYW50dC10YXNrLXBhZGRpbmcteDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuICAgIC5rLXRhc2stYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1wYWRkaW5nLXNtLXk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmstdGFzay1hY3Rpb25zID4gLmstbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIH1cblxuICAgIC5rLXJlc291cmNlcy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAuay1yZXNvdXJjZSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIFRhc2sgdG9vbHRpcFxuICAgIC5rLXRhc2stZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wYWRkaW5nLW1kLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGFkZGluZy1tZC14O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbGc7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmstdGFzay1wY3Qge1xuICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8taWNvbi1zaXplLXh4bDtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGxhbm5lZCBwb3NpdGlvblxuICAgIC5rLWdhbnR0LXBsYW5uZWQge1xuICAgICAgICAuay1nYW50dC1kZXBlbmRlbmNpZXMsXG4gICAgICAgIC5rLXRhc2stZG90LFxuICAgICAgICAuay1yZXNvdXJjZXMtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAka2VuZG8tZ2FudHQtcGxhbm5lZC1kZXBlbmRlbmN5LW1hcmdpbi15O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay13cmFwIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2staW5uZXItd3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2std3JhcC5rLWRyYWctaGludCB7XG4gICAgICAgICAgICB0b3A6ICRrZW5kby1nYW50dC1wbGFubmVkLXNpbmdsZS1kcmFnLWhpbnQtdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3VtbWFyeS13cmFwLmstZHJhZy1oaW50IHtcbiAgICAgICAgICAgIHRvcDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtc3VtbWFyeS1kcmFnLWhpbnQtdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWlsZXN0b25lLXdyYXAuay1kcmFnLWhpbnQge1xuICAgICAgICAgICAgdG9wOiAka2VuZG8tZ2FudHQtcGxhbm5lZC1taWxlc3RvbmUtZHJhZy1oaW50LXRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBsYW5uZWQgZWxlbWVudFxuICAgIC5rLXRhc2stcGxhbm5lZCB7XG4gICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1nYW50dC1wbGFubmVkLW1hcmdpbi15O1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLmstdGFzay1tb21lbnQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tZ2FudHQtcGxhbm5lZC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tZ2FudHQtcGxhbm5lZC1tb21lbnQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1nYW50dC1wbGFubmVkLW1vbWVudC1oZWlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtbW9tZW50LXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay1kdXJhdGlvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1nYW50dC1wbGFubmVkLWR1cmF0aW9uLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stbW9tZW50LmstbW9tZW50LWxlZnQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRrZW5kby1nYW50dC1wbGFubmVkLW1vbWVudC1sZWZ0LW1hcmdpbi14O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciAuay10YXNrLWR1cmF0aW9uIHtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtZHVyYXRpb24taG92ZXItaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstbWlsZXN0b25lLXdyYXAgLmstdGFzay1tb21lbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGtlbmRvLWdhbnR0LXBsYW5uZWQtbWlsZXN0b25lLW1vbWVudC1tYXJnaW4teDtcbiAgICB9XG5cbiAgICAvLyBQbGFubmVkIFRvb2x0aXBcbiAgICAuay1wbGFubmVkLXRvb2x0aXAge1xuICAgICAgICAuay10YXNrLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZWxheSBvZmZzZXRcbiAgICAuay10YXNrLW9mZnNldC13cmFwIC5rLXRhc2stY29udGVudCAuay1yZXNpemUtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmstdGFzay1vZmZzZXQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRrZW5kby1nYW50dC1wbGFubmVkLW9mZnNldC1yZXNpemUtaGFuZGxlci1tYXJnaW4teDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAka2VuZG8tZ2FudHQtb2Zmc2V0LXJlc2l6ZS1oYW5kbGVyLXRvcDtcbiAgICAgICAgICAgIGJvdHRvbTogLjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGFzay1zaW5nbGU6aG92ZXIgKyAuay10YXNrLW9mZnNldCAuay10YXNrLWFjdGlvbnMsXG4gICAgLmstdGFzay1vZmZzZXQ6aG92ZXIgLmstdGFzay1hY3Rpb25zLFxuICAgIC5rLXRhc2stc2luZ2xlOmhvdmVyICsgLmstdGFzay1vZmZzZXQgLmstcmVzaXplLWhhbmRsZSxcbiAgICAuay10YXNrLW9mZnNldDpob3ZlciAuay1yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cblxuICAgIC8vIERlcGVuZGVuY3kgVmFsaWRhdGlvbiBUb29sdGlwXG4gICAgLmstZ2FudHQtdG9vbHRpcC12YWxpZGF0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8tZ2FudHQtdmFsaWRhdGlvbi10b29sdGlwLXdpZHRoO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbi1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtaW4td2lkdGg6ICRrZW5kby1nYW50dC12YWxpZGF0aW9uLXRvb2x0aXAtbGFiZWwtd2lkdGg7XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2x0aXAtdmFsaWRhdGlvbi12YWx1ZSB7XG4gICAgICAgIC8vIFRPRE86IGV4dHJhY3QgdG8gdmFyaWFibGVcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRrZW5kby1mb250LXdlaWdodC1ib2xkO1xuICAgIH1cbiAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb24tbGFiZWwsXG4gICAgLmstZ2FudHQtdG9vbHRpcC12YWxpZGF0aW9uLXZhbHVlIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG5cblxuXG4gICAgLy8gR2FudHQgZXhwb3J0XG4gICAgLmstcGRmLWV4cG9ydC1zaGFkb3cge1xuICAgICAgICAuay1nYW50dCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdhbnR0LFxuICAgICAgICAuay1nYW50dC10aW1lbGluZS1wYW5lLFxuICAgICAgICAuay1nYW50dC1kZXBlbmRlbmNpZXMge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdhbnR0LXRyZWVsaXN0IC5rLXRyZWVsaXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQtbGF5b3V0Lmstc3BsaXRiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAvLyBHYW50dCBlZGl0IGZvcm1cbiAgICAuay1nYW50dC1lZGl0LWZvcm0ge31cblxuICAgIC5rLWdhbnR0LWVkaXQtZm9ybSAuay1nYW50dC11cGRhdGUge31cbiAgICAuay1nYW50dC1lZGl0LWZvcm0gLmstZ2FudHQtY2FuY2VsIHt9XG4gICAgLmstZ2FudHQtZWRpdC1mb3JtIC5rLWdhbnR0LWRlbGV0ZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuXG5cblxuICAgIC8vIEdhbnR0IFJUTFxuICAgIC5rLXJ0bCxcbiAgICBbZGlyPVwicnRsXCJdIHtcblxuICAgICAgICAuay1nYW50dC1yb3dzLFxuICAgICAgICAuay1nYW50dC1jb2x1bW5zIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2std3JhcDpub3QoLmstbWlsZXN0b25lLXdyYXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IC0yNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQtdGltZWxpbmUtcGFuZSB7XG4gICAgICAgICAgICAuay1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAka2VuZG8tZ3JpZC1jZWxsLXZlcnRpY2FsLWJvcmRlci13aWR0aCAxcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLWhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10YXNrLXN0YXJ0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10YXNrLWVuZCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stY29udGVudCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10YXNrLWNvbXBsZXRlIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRhc2stZHJhZ2hhbmRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdhbnR0LWRlcGVuZGVuY2llcyB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay1nYW50dC1kZWxldGUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay1vZmZzZXQtd3JhcCAuay10YXNrLWNvbnRlbnQge1xuICAgICAgICAgICAgLmstcmVzaXplLWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1yZXNpemUtdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW1pbGVzdG9uZS13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tZ2FudHQtcnRsLW1pbGVzdG9uZS13cmFwLW1hcmdpbi14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWlsZXN0b25lLXdyYXAgLmstdGFzay1tb21lbnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tZ2FudHQtcnRsLW1pbGVzdG9uZS1wbGFubmVkLW1vbWVudC1tYXJnaW4teDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWdhbnR0LXRpbWVsaW5lLXBhbmUgLmstbWlsZXN0b25lLXdyYXAgLmstdGFzay1zdGFydCB7XG4gICAgICAgICAgICByaWdodDogJGtlbmRvLWdhbnR0LXJ0bC1taWxlc3RvbmUtZG90LXN0YXJ0LW1hcmdpbi14O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZ2FudHQtdG9vbHRpcC12YWxpZGF0aW9uOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLWdhbnR0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZ2FudHQtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1nYW50dC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2dhbnR0L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2dhbnR0L190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZ2FudHQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1nYW50dC0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIEdhbnR0XG4gICAgLmstZ2FudHQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtYmcsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVhY3QgZ2FudHRcbiAgICAgICAgLmstdHJlZWxpc3Qtc2Nyb2xsYWJsZSB7XG4gICAgICAgICAgICAuay10YXNrLW1pbGVzdG9uZSAuay10YXNrLW1pbGVzdG9uZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1taWxlc3RvbmUtYmcsXG4gICAgICAgICAgICAgICAgICAgICRib3JkZXI6ICRrZW5kby1nYW50dC1taWxlc3RvbmUtYm9yZGVyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5rLXRhc2stbWlsZXN0b25lLmstc2VsZWN0ZWQgLmstdGFzay1taWxlc3RvbmUtY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgICAgICAgICAkYm9yZGVyOiAka2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJvcmRlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1nYW50dC1kZXBlbmRlbmNpZXMtc3ZnIHtcbiAgICAgICAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICAgICAgIHN0cm9rZTogJGtlbmRvLWdhbnR0LWxpbmUtZmlsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcG9seWxpbmUuay1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAka2VuZG8tZ2FudHQtbGluZS1zZWxlY3RlZC1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyIGFuZCBmb290ZXJcbiAgICAuay1nYW50dC1oZWFkZXIge31cbiAgICAuay1nYW50dC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCBub25lICk7XG4gICAgfVxuICAgIC5rLWdhbnR0LXRvb2xiYXIge31cblxuXG4gICAgLy8gVHJlZWxpc3RcbiAgICAuay1nYW50dC10cmVlbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtdHJlZWxpc3QtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1nYW50dC10cmVlbGlzdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1nYW50dC10cmVlbGlzdC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAuay10cmVlbGlzdCxcbiAgICAgICAgLmstZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBSb3dzIGFuZCBjb2xsc1xuICAgIC5rLWdhbnR0LXJvd3Mge31cbiAgICAuay1nYW50dC1jb2x1bW5zIHt9XG5cblxuICAgIC8vIE5vbiB3b3JrIGhvdXJzXG4gICAgLmstZ2FudHQgLmstbm9ud29yay1ob3VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1nYW50dC1ub253b3JrLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtbm9ud29yay1iZyxcbiAgICAgICAgICAgICRrZW5kby1nYW50dC1ub253b3JrLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8gVGFzayBkb3RcbiAgICAuay10YXNrLWRvdCB7fVxuICAgIC5rLXRhc2stZG90OjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtZG90LWJnLFxuICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLWdhbnR0LWRvdC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstdGFzay1kb3Q6aG92ZXI6OmJlZm9yZSxcbiAgICAuay10YXNrLWRvdC5rLWhvdmVyOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtZG90LWhvdmVyLWJnLFxuICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLWdhbnR0LWRvdC1ob3Zlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIE1pbGVzdG9uZVxuICAgIC5rLXRhc2stbWlsZXN0b25lIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1iZyxcbiAgICAgICAgICAgICRib3JkZXI6ICRrZW5kby1nYW50dC1taWxlc3RvbmUtYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJi5rLXRhc2stZGVsYXllZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXBlYXRpbmctc3RyaXBlZC1ncmFkaWVudCgka2VuZG8tZ2FudHQtZGVsYXllZC1iZywgJGtlbmRvLWJvZHktYmcsIDkwZGVnLCA0cHgsIDJweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGFzay1hZHZhbmNlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRiZzogJGtlbmRvLWdhbnR0LWFkdmFuY2VkLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXRhc2stbWlsZXN0b25lLmstc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtbWlsZXN0b25lLXNlbGVjdGVkLWJnLFxuICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLWdhbnR0LW1pbGVzdG9uZS1zZWxlY3RlZC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFN1bW1hcnlcbiAgICAuay10YXNrLXN1bW1hcnkge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LXN1bW1hcnktYmc7XG5cbiAgICAgICAgJi5rLXRhc2stZGVsYXllZCB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmctbGlnaHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10YXNrLWFkdmFuY2VkIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ2FudHQtYWR2YW5jZWQtYmctbGlnaHRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YXNrLXN1bW1hcnktY29tcGxldGUge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LXN1bW1hcnktcHJvZ3Jlc3MtYmc7XG4gICAgfVxuICAgIC5rLXRhc2stZGVsYXllZCAuay10YXNrLXN1bW1hcnktY29tcGxldGUge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LWRlbGF5ZWQtYmc7XG4gICAgfVxuICAgIC5rLXRhc2stYWR2YW5jZWQgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1nYW50dC1hZHZhbmNlZC1iZztcbiAgICB9XG4gICAgLmstdGFzay1zdW1tYXJ5Lmstc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LXN1bW1hcnktc2VsZWN0ZWQtYmc7XG5cbiAgICAgICAgLmstdGFzay1zdW1tYXJ5LWNvbXBsZXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ2FudHQtc3VtbWFyeS1wcm9ncmVzcy1zZWxlY3RlZC1iZztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGFza3NcbiAgICAuay10YXNrLXNpbmdsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtdGFzay10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLWdhbnR0LXRhc2stYmcsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtdGFzay1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmLmstdGFzay1kZWxheWVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGJnOiAka2VuZG8tZ2FudHQtZGVsYXllZC1iZy1saWdodGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXRhc2stYWR2YW5jZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1hZHZhbmNlZC1iZy1saWdodGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay1jb21wbGV0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ2FudHQtdGFzay1wcm9ncmVzcy1iZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay10YXNrLWRlbGF5ZWQgLmstdGFzay1jb21wbGV0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1kZWxheWVkLWJnXG4gICAgICAgICk7XG4gICAgfVxuICAgIC5rLXRhc2stYWR2YW5jZWQgLmstdGFzay1jb21wbGV0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1hZHZhbmNlZC1iZ1xuICAgICAgICApO1xuICAgIH1cbiAgICAuay10YXNrLXNpbmdsZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tZ2FudHQtdGFzay1zZWxlY3RlZC1iZyxcbiAgICAgICAgICAgICRrZW5kby1nYW50dC10YXNrLXNlbGVjdGVkLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC5rLXRhc2stY29tcGxldGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdhbnR0LXRhc2stcHJvZ3Jlc3Mtc2VsZWN0ZWQtYmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZXBlbmRlbmN5IExpbmVzXG4gICAgLmstZ2FudHQtbGluZSB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tZ2FudHQtbGluZS1maWxsO1xuICAgIH1cbiAgICAuay1nYW50dC1saW5lLmstc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogJGtlbmRvLWdhbnR0LWxpbmUtc2VsZWN0ZWQtZmlsbDtcbiAgICB9XG5cbiAgICAvLyBQbGFubmVkIGVsZW1lbnRcbiAgICAuay10YXNrLXBsYW5uZWQge1xuICAgICAgICAuay10YXNrLW1vbWVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRiZzogdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICAgICAgJGJvcmRlcjogJGtlbmRvLWdhbnR0LXBsYW5uZWQtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRhc2stZHVyYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1wbGFubmVkLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgLmstdGFzay1tb21lbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1wbGFubmVkLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVsYXkgb2Zmc2V0XG4gICAgLmstdGFzay1vZmZzZXQge1xuICAgICAgICBAaW5jbHVkZSByZXBlYXRpbmctc3RyaXBlZC1ncmFkaWVudCgka2VuZG8tZ2FudHQtZGVsYXllZC1iZywgJGtlbmRvLWJvZHktYmcsIDEzNWRlZywgNHB4LCAycHgpO1xuXG4gICAgICAgIC5rLXJlc2l6ZS1lOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAkYm9yZGVyOiAka2VuZG8tZ2FudHQtYWN0aW9uLW9uLW9mZnNldC10ZXh0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzay1hY3Rpb25zIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tZ2FudHQtYWN0aW9uLW9uLW9mZnNldC10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGFzay1vZmZzZXQ6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSByZXBlYXRpbmctc3RyaXBlZC1ncmFkaWVudCgka2VuZG8tZ2FudHQtZGVsYXllZC1iZy1saWdodGVyLCAka2VuZG8tYm9keS1iZywgMTM1ZGVnLCA0cHgsIDJweCk7XG4gICAgfVxuXG4gICAgLmstcGRmLWV4cG9ydCAuay10YXNrLW9mZnNldCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1nYW50dC1kZWxheWVkLWJnO1xuICAgIH1cblxuICAgIC8vIFRvb2x0aXBzXG4gICAgLmstb2Zmc2V0LXRvb2x0aXAtZGVsYXllZCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAkYmc6ICRrZW5kby1nYW50dC1kZWxheWVkLWJnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcGxhbm5lZC10b29sdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRiZzogJGtlbmRvLWdhbnR0LXBsYW5uZWQtYmdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1nYW50dC10b29sdGlwLXZhbGlkYXRpb24ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstZ2FudHQtdG9vbHRpcC12YWxpZCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tZ2FudHQtdmFsaWRhdGlvbi10b29sdGlwLXZhbGlkLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1nYW50dC10b29sdGlwLWludmFsaWQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWdhbnR0LXZhbGlkYXRpb24tdG9vbHRpcC1pbnZhbGlkLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1nYW50dC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1nYW50dC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1nYW50dC0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwiZ2FudHRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1nYW50dC0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLWdhbnR0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zY2hlZHVsZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9zY2hlZHVsZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwic2NoZWR1bGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiYWRhcHRpdmVcIixcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJkYXRlLXRpbWUtcGlja2VyXCIsXG4gICAgICAgIFwiZGlhbG9nXCIsXG4gICAgICAgIFwiZHJvcGRvd24tbGlzdFwiLFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJ0b29sdGlwXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9hZGFwdGl2ZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2FkYXB0aXZlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZGF0ZXRpbWVwaWNrZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9kYXRldGltZXBpY2tlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Ryb3Bkb3dubGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3dubGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2RpYWxvZy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RpYWxvZy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2x0aXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9zY2hlZHVsZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBTY2hlZHVsZXJcbiRrZW5kby1zY2hlZHVsZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuJGtlbmRvLXNjaGVkdWxlci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItYmc6ICRrZW5kby10b29sYmFyLWJnICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10b29sYmFyLXRleHQ6ICRrZW5kby10b29sYmFyLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItYm9yZGVyOiAka2VuZG8tdG9vbGJhci1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLXRvb2xiYXItZ3JhZGllbnQ6ICRrZW5kby10b29sYmFyLWdyYWRpZW50ICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1iZzogJGtlbmRvLXRvb2xiYXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci10ZXh0OiAka2VuZG8tdG9vbGJhci10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1mb290ZXItYm9yZGVyOiAka2VuZG8tdG9vbGJhci1ib3JkZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1ncmFkaWVudDogJGtlbmRvLXRvb2xiYXItZ3JhZGllbnQgIWRlZmF1bHQ7XG5cbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtbWluLWhlaWdodDogMjVweCAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXMtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWxpbmUtaGVpZ2h0OiBjYWxjKCAjeyRrZW5kby1zY2hlZHVsZXItZXZlbnQtbWluLWhlaWdodH0gLSAoMiAqICN7JGtlbmRvLXBhZGRpbmctc20teX0pICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBwcmltYXJ5ICksIGstY29sb3ItdGludCggJGtlbmRvLXNlbGVjdGVkLWJnLCAyICkpICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1ldmVudC10ZXh0OiAka2VuZG8tc2VsZWN0ZWQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci10ZXh0OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWhvdmVyLWdyYWRpZW50OiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtYmc6ICRrZW5kby1zZWxlY3RlZC1iZyAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtdGV4dDogJGtlbmRvLXNlbGVjdGVkLXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2VsZWN0ZWQtZ3JhZGllbnQ6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHJnYmEoIHdoaXRlLCAuNSApICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLWV2ZW50LW9uZ29pbmctc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxcHggI2ZmMDAwMCAhZGVmYXVsdDtcblxuJGtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1jZWxsLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1jZWxsLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LWVtICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci1kYXRlY29sdW1uLXdpZHRoOiAxMmVtICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10aW1lY29sdW1uLXdpZHRoOiAxMWVtICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLW5vbndvcmstYmc6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLXNjaGVkdWxlci1iZywgLjUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLW5vbndvcmstdGV4dDogbnVsbCAhZGVmYXVsdDtcblxuJGtlbmRvLXNjaGVkdWxlci13ZWVrZW5kLWJnOiBudWxsICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci13ZWVrZW5kLXRleHQ6IG51bGwgIWRlZmF1bHQ7XG5cbiRrZW5kby1zY2hlZHVsZXItb3RoZXJtb250aC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIGJhc2Utc3VidGxlICksIGstdHJ5LXNoYWRlKCAka2VuZG8tc2NoZWR1bGVyLWJnLCAuNSApKSAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItb3RoZXJtb250aC10ZXh0OiBudWxsICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1wYWRkaW5nLXk6ICRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctcGFkZGluZy14ICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWNhbGVuZGFyLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zaXplOiAzcHggIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1jYWxjLW9mZnNldC10b3A6IGNhbGMoICN7JGtlbmRvLWNhbGVuZGFyLWNlbGwtc2l6ZX0gLSAoI3ska2VuZG8tY2FsZW5kYXItY2VsbC1wYWRkaW5nLXl9ICogMikpICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItY2FsYy1vZmZzZXQtbGVmdDogY2FsYyggNTAlIC0gI3trLW1hdGgtZGl2KCAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zaXplLCAyKX0gKSAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLXNlbGVjdGVkLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeS1jb250cmFzdCAhZGVmYXVsdDtcblxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMyApICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnktY29udHJhc3QgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtdGV4dDogJGtlbmRvLWJhc2UtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtc2hhZG93OiBrLWVsZXZhdGlvbigyKSAhZGVmYXVsdDtcblxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXRpdGxlLW1hcmdpbi15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAzICkgIWRlZmF1bHQ7XG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtbW9udGgtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWRheS1mb250LXNpemU6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1tb250aC1mb250LXNpemUgKiAyICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnRzLW1heC1oZWlnaHQ6IDI1MHB4ICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50cy1nYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LWJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICFkZWZhdWx0O1xuJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuXG4ka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtY2FsbG91dC10ZXh0OiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc2NoZWR1bGVyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zY2hlZHVsZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2NoZWR1bGVyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXNjaGVkdWxlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBMYXlvdXRcbiAgICAuay1zY2hlZHVsZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zY2hlZHVsZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLXNjaGVkdWxlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tc2NoZWR1bGVyLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1zY2hlZHVsZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIHRhYmxlLFxuICAgICAgICB0aGVhZCxcbiAgICAgICAgdGZvb3QsXG4gICAgICAgIHRib2R5LFxuICAgICAgICB0cixcbiAgICAgICAgdGgsXG4gICAgICAgIHRkLFxuICAgICAgICBkaXYsXG4gICAgICAgIC5rLXNjaGVkdWxlci1lZGl0LWRpYWxvZyxcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGtlbmRvLXNjaGVkdWxlci5rLXNjaGVkdWxlciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJi5rLXJlYWRvbmx5LXNjaGVkdWxlciAuay1ldmVudC1kZWxldGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbW1vblxuICAgIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc2NoZWR1bGVyLWNlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zY2hlZHVsZXItY2VsbC1wYWRkaW5nLXg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1zY2hlZHVsZXItY2VsbC1oZWlnaHQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICB9XG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1taWRkbGUtcm93IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWxpbmsge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWxheW91dC1mbGV4IHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWhlYWQge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2NoZWR1bGVyLWJvZHkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWhlYWQsXG4gICAgICAgIC5rLXNjaGVkdWxlci1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxMDAlO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgLmstZ3JvdXAtY2VsbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWdyb3VwLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZ3JvdXAtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgLmstZ3JvdXAtY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2NoZWR1bGVyLXRpbWVsaW5lLXZpZXcgLmstc2NoZWR1bGVyLWJvZHkgLmstc2NoZWR1bGVyLWNlbGwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmstbW9yZS1ldmVudHMge1xuICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItY2VsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc2NoZWR1bGVyLWNlbGwtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1zY2hlZHVsZXItY2VsbC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgICAgICYuay1zbG90LWNlbGwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5rLWhlYWRpbmctY2VsbCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1zaWRlLWNlbGwge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1tYWpvci1jZWxsIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstbWlkZGxlLXJvdyAuay1zY2hlZHVsZXItY2VsbCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNvdXJjZS1jZWxsIHtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAuay1yZXNvdXJjZS1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc3RpY2t5LWNlbGwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEhlYWRlciBhbmQgZm9vdGVyXG4gICAgLmstc2NoZWR1bGVyLXRvb2xiYXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAuay13aWRnZXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3VycmVudCBkYXRlXG4gICAgICAgIC5rLW5hdi1jdXJyZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogJGtlbmRvLWljb24tc3BhY2luZztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gU2NoZWR1bGVyIHNlYXJjaFxuICAgICAgICAuay1zY2hlZHVsZXItc2VhcmNoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBTY2hlZHVsZXIgbmF2aWdhdGlvblxuICAgIC5rLXNjaGVkdWxlci1uYXZpZ2F0aW9uIHt9XG5cbiAgICAuay1zY2hlZHVsZXItdG9vbGJhciAuay12aWV3cy1kcm9wZG93biB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIFNjaGVkdWxlciBmb290ZXJcbiAgICAuay1zY2hlZHVsZXItZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRrZW5kby10b29sYmFyLWJvcmRlci13aWR0aDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC8vIExheW91dFxuICAgIC5rLXNjaGVkdWxlci1sYXlvdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgPiB0Ym9keSA+IHRyID4gdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5rLXNlbGVjdGVkLFxuICAgICAgICAuay1zY2hlZHVsZXItY2VsbC5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciBmcm9tIGZpcnN0IGNlbGwgb2YgaG91cnMgY2VsbHMgc3BhbmluZyBvbiB0d28gcm93c1xuICAgICAgICB0ciArIHRyLFxuICAgICAgICAuay1zY2hlZHVsZXItcGFuZSArIC5rLXNjaGVkdWxlci1wYW5lIHtcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci10aW1lcyB0ciB7XG4gICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1zbG90LWNlbGwsXG4gICAgICAgICAgICAgICAgLmstc2NoZWR1bGVyLXRpbWVzLWFsbC1kYXksXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLWxheW91dC5rLXNjaGVkdWxlci1mbGV4LWxheW91dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJi5rLXNjaGVkdWxlci13ZWVrdmlldyxcbiAgICAgICAgJi5rLXNjaGVkdWxlci1kYXl2aWV3IHtcbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1wYW5lOmZpcnN0LWNoaWxkIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2NoZWR1bGVyIHZpZXcgaGVhZGVyXG4gICAgLmstc2NoZWR1bGVyLWhlYWRlcixcbiAgICAuay1zY2hlZHVsZXItdmlldy1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWtlbmRvLXNjcm9sbGJhci13aWR0aCwgI3ska2VuZG8tc2Nyb2xsYmFyLXdpZHRofSk7XG4gICAgfVxuICAgIC5rLXNjaGVkdWxlci1oZWFkZXIgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWhlYWRlcixcbiAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAsXG4gICAgLmstc2NoZWR1bGVyLWhlYWRlci13cmFwID4gZGl2IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLXRpbWVzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHsgdGFibGUtbGF5b3V0OiBhdXRvOyB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNsb3QtY2VsbCxcbiAgICAgICAgLmstc2NoZWR1bGVyLXRpbWVzLWFsbC1kYXkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNsb3QtY2VsbC5rLWxhc3QtcmVzb3VyY2Uge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNsb3QtY2VsbC5rLWVtcHR5LXNsb3Qge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1kYXRlY29sdW1uIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1zY2hlZHVsZXItZGF0ZWNvbHVtbi13aWR0aDtcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLXRpbWVjb2x1bW4ge1xuICAgICAgICB3aWR0aDogJGtlbmRvLXNjaGVkdWxlci10aW1lY29sdW1uLXdpZHRoO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuXG4gICAgLy8gU2NoZWR1bGVyIGNvbnRlbnRcbiAgICAuay1zY2hlZHVsZXItY29udGVudCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEFwcG9pbnRtZW50c1xuICAgIGtlbmRvLXNjaGVkdWxlciAuay1ldmVudCxcbiAgICAuay1ldmVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRrZW5kby1zY2hlZHVsZXItZXZlbnQtbWluLWhlaWdodDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGtlbmRvLXBhZGRpbmctbWQteDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGVtcGxhdGVcbiAgICAgICAgLmstZXZlbnQtdGVtcGxhdGUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1zY2hlZHVsZXItZXZlbnQtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1tZC15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgICAgICAvLyBUT0RPOiBpbmNvbXBhdGlibGUgdW5pdHNcbiAgICAgICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6ICRrZW5kby1wYWRkaW5nLXNtLXggKyBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICk7XG4gICAgICAgIH1cbiAgICAgICAgLmstZXZlbnQtdGltZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NWVtO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEFjdGlvbnNcbiAgICAgICAgLmstZXZlbnQtYWN0aW9ucyB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6ICRrZW5kby1wYWRkaW5nLW1kLXg7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAuay1ldmVudC1kZWxldGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAgICAgLmstZXZlbnQtZGVsZXRlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEgeyBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBJbmRpY2F0b3JzXG4gICAgICAgIC5rLWV2ZW50LWFjdGlvbnM6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAka2VuZG8tcGFkZGluZy1zbS15IC40ZXggMCAka2VuZG8tcGFkZGluZy1zbS14O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gUmVzaXplIGhhbmRsZXNcbiAgICAgICAgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLWhhbmRsZTo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAgICAgLmstcmVzaXplLW4ge1xuICAgICAgICAgICAgaGVpZ2h0OiAuNWVtO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2l6ZS1zIHtcbiAgICAgICAgICAgIGhlaWdodDogLjVlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1yZXNpemUtbjo6YmVmb3JlLFxuICAgICAgICAuay1yZXNpemUtczo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA4ICk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLXcge1xuICAgICAgICAgICAgd2lkdGg6IC41ZW07XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlc2l6ZS1lIHtcbiAgICAgICAgICAgIHdpZHRoOiAuNWVtO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmstcmVzaXplLXc6OmJlZm9yZSxcbiAgICAgICAgLmstcmVzaXplLWU6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDggKTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEhvdmVyXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICAuay1ldmVudC1hY3Rpb25zIC5rLWV2ZW50LWRlbGV0ZSxcbiAgICAgICAgICAgIC5rLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstZXZlbnQtZHJhZy1oaW50IC5rLWV2ZW50LXRpbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ldmVudC10b3AtYWN0aW9ucyxcbiAgICAgICAgLmstZXZlbnQtYm90dG9tLWFjdGlvbnMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXZlbnQtYm90dG9tLWFjdGlvbnMge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBUYXNrc1xuICAgIC5rLXNjaGVkdWxlci1tYXJrIHtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cblxuICAgIC8vIE1vcmUgZXZlbnRzIGluZGljYXRvclxuICAgIC5rLW1vcmUtZXZlbnRzIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICA+IC5rLWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyYWdpbmcgaGludFxuICAgIC5rLWV2ZW50LWRyYWctaGludCB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5rLWV2ZW50LWFjdGlvbnMsXG4gICAgICAgIC5rLWV2ZW50LXRvcC1hY3Rpb25zLFxuICAgICAgICAuay1ldmVudC1ib3R0b20tYWN0aW9ucyxcbiAgICAgICAgLmstcmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXZlbnQtdGltZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gUmVzaXppbmdcbiAgICAuay1zY2hlZHVsZXItbWFycXVlZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuICAgICAgICAvLyBsYWJlbFxuICAgICAgICAuay1sYWJlbC10b3AsXG4gICAgICAgIC5rLWxhYmVsLWJvdHRvbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgIC5rLWxhYmVsLXRvcCB7XG4gICAgICAgICAgICBsZWZ0OiAka2VuZG8tcGFkZGluZy1zbS14O1xuICAgICAgICAgICAgdG9wOiAka2VuZG8tcGFkZGluZy1zbS15O1xuICAgICAgICB9XG4gICAgICAgIC5rLWxhYmVsLWJvdHRvbSB7XG4gICAgICAgICAgICByaWdodDogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgICAgIGJvdHRvbTogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFuZ2xlIHRpbmdpZVxuICAgICAgICAmLmstZmlyc3Q6OmJlZm9yZSxcbiAgICAgICAgJi5rLWxhc3Q6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLmstZmlyc3Q6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICYuay1sYXN0OjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIHNjcm9sbGJhcnMgZHVyaW5nIFBERiBleHBvcnRcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAuay1wZGYtZXhwb3J0LXNoYWRvdyAuay1zY2hlZHVsZXIsXG4gICAgLmstc2NoZWR1bGVyLXBkZi1leHBvcnQgLmstc2NoZWR1bGVyLWNvbnRlbnQsXG4gICAgLmstc2NoZWR1bGVyLXBkZi1leHBvcnQgLmstc2NoZWR1bGVyLXRpbWVzIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLXBkZi1leHBvcnQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5rLXNjaGVkdWxlci1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlci13cmFwIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLWhlYWRlciAuay1zY2hlZHVsZXItdGFibGUsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cblxuICAgIC8vIFRPRE86IGFkZCB0aGlzIGNsYXNzIHRvIGpRdWVyeSByZW5kZXJpbmdcbiAgICAvLyBhZnRlciByZWZhY3RvcmluZyBqUXVlcnkgc2NoZWR1bGVyIGxheW91dCB0byBiZSBmbGV4XG4gICAgLmstcmVjdXJyZW5jZS1lZGl0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBrZW5kby1zY2hlZHVsZXIgLmstcmVjdXJyZW5jZS1lZGl0b3Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuICAgIC8vIERheSB2aWV3XG4gICAgLmstc2NoZWR1bGVyLWRheXZpZXcge31cblxuXG4gICAgLy8gV29ya3dlZWsgdmlld1xuICAgIC5rLXNjaGVkdWxlci13b3JrV2Vla3ZpZXcge30gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuXG5cbiAgICAvLyBXZWVrIHZpZXdcbiAgICAuay1zY2hlZHVsZXItd2Vla3ZpZXcge31cblxuXG4gICAgLy8gTW9udGggdmlld1xuICAgIC5rLXNjaGVkdWxlci1tb250aHZpZXcge1xuXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHRkIHtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgfVxuICAgICAgICAuay1zY2hlZHVsZXItYm9keSAuay1zY2hlZHVsZXItY2VsbCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGlkZGVuIGNlbGxzIG11c3QgaGF2ZSBubyBsYXlvdXRcbiAgICAgICAgLmstaGlkZGVuIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItdGFibGUtYXV0byxcbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlLWF1dG8gdGQsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IC5rLXNjaGVkdWxlci10YWJsZS1hdXRvIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvcmNlIHZlcnRpY2FsIHNjcm9sbCBpbiBtb250aHZpZXcgZm9yIGpxdWVyeVxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIH1cbiAgICAgICAgJi5rLXNjaGVkdWxlci1mbGV4LWxheW91dCAuay1zY2hlZHVsZXItY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBBZ2VuZGEgdmlld1xuICAgIC5rLXNjaGVkdWxlci1hZ2VuZGF2aWV3IHtcblxuICAgICAgICAuay1zY2hlZHVsZXItbWFyayB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgICAgIHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkLmstZmlyc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGFzayA+IC5rLWV2ZW50LWRlbGV0ZSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tcGFkZGluZy1zbS15O1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmstaG92ZXIgLmstdGFzayA+IC5rLWV2ZW50LWRlbGV0ZSxcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHI6aG92ZXIgLmstZXZlbnQtZGVsZXRlLFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCAuay1zY2hlZHVsZXItcm93OmhvdmVyIC5rLWV2ZW50LWRlbGV0ZSxcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgLmstc2NoZWR1bGVyLXJvdy5rLWhvdmVyIC5rLWV2ZW50LWRlbGV0ZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rLXNjaGVkdWxlci1hZ2VuZGFkYXkge1xuICAgICAgICBtYXJnaW46IDAgLjJlbSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5rLXNjaGVkdWxlci1hZ2VuZGF3ZWVrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogLjRlbSAwIDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxuICAgIC5rLXNjaGVkdWxlci1hZ2VuZGFkYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICB9XG5cblxuICAgIC8vIFRpbWVsaW5lIHZpZXdcbiAgICAuay1zY2hlZHVsZXItdGltZWxpbmV2aWV3IHtcbiAgICAgICAgLmstc2xvdC1jZWxsIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY2hlZHVsZXItcGFuZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIC5rLXNjaGVkdWxlci1wYW5lIC5rLXNjaGVkdWxlci10aW1lcyB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItcGFuZSAuay1zY2hlZHVsZXItdGltZXMgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItcGFuZSAuay1zY2hlZHVsZXItaGVhZGVyLFxuICAgIC5rLXNjaGVkdWxlci1wYW5lIC5rLXNjaGVkdWxlci1jb250ZW50IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG5cbiAgICAvLyBZZWFyIHZpZXdcbiAgICAuay1zY2hlZHVsZXIteWVhcnZpZXcge1xuICAgICAgICAuay1zY2hlZHVsZXItYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LXBhZGRpbmcteDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FsZW5kYXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG5cbiAgICAgICAgICAgIC5rLWNhbGVuZGFyLXZpZXcge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6ICRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctY2FsZW5kYXItZ2FwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1saW5rIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay1kYXktaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWNhbGMtb2Zmc2V0LXRvcDtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zaXplO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6ICRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctaW5kaWNhdG9yLWNhbGMtb2Zmc2V0LWxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy8gU2NoZWR1bGVyIHRvb2x0aXBcbiAgICAuay1zY2hlZHVsZXItdG9vbHRpcCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgIC5rLXRvb2x0aXAtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLXRpdGxlLW1hcmdpbi15O1xuXG4gICAgICAgICAgICAuay1tb250aCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtbW9udGgtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWRheSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZGF5LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRvb2x0aXAtZXZlbnRzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRvb2x0aXAtZXZlbnRzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudHMtbWF4LWhlaWdodDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnRzLWdhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRvb2x0aXAtZXZlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LXBhZGRpbmcteTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtZXZlbnQtcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1ldmVudC1nYXA7XG4gICAgICAgIH1cbiAgICAgICAgLmstdG9vbHRpcC1ldmVudCAuay1ldmVudC10aW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLW5vLWRhdGEge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIFNjaGVkdWxlciBlZGl0IGRpYWxvZ1xuICAgIC5rLXNjaGVkdWxlci1lZGl0LWRpYWxvZyB7XG4gICAgICAgIC5rLWRpYWxvZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1lZGl0LWZvcm0ge1xuXG4gICAgICAgIC5rLWVkaXQtZm9ybS1jb250YWluZXIgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuay1lZGl0LWxhYmVsIHsgd2lkdGg6IDE3JTsgfVxuICAgICAgICAuay1lZGl0LWZpZWxkIHsgd2lkdGg6IDc3JTsgfVxuXG4gICAgICAgIC5rLWVkaXQtZmllbGQgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlY3VycmVuY2UtZWRpdG9yIHtcbiAgICAgICAgICAgIC5rLXJhZGlvLWxpc3QgLmstcmFkaW8td3JhcCxcbiAgICAgICAgICAgIC5rLWNoZWNrYm94LWxpc3QgLmstY2hlY2tib3gtd3JhcCB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstcmVjdXItaW50ZXJ2YWwsXG4gICAgICAgIC5rLXJlY3VyLWNvdW50LFxuICAgICAgICAuay1yZWN1ci1tb250aGRheSB7XG4gICAgICAgICAgICB3aWR0aDogNWVtO1xuICAgICAgICB9XG4gICAgICAgIC5rLXJlY3VyLXVudGlsLFxuICAgICAgICAuay1yZWN1ci1tb250aCxcbiAgICAgICAgLmstcmVjdXItd2Vla2RheSxcbiAgICAgICAgLmstcmVjdXItd2Vla2RheS1vZmZzZXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXItZGF0ZXRpbWUtcGlja2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBnYXA6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cblxuICAgIC8vIFNjaGVkdWxlciBydGxcbiAgICAuay1ydGwge1xuICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyIHRoLFxuICAgICAgICAuay1zY2hlZHVsZXItdGFibGUgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci10YWJsZSB7XG4gICAgICAgICAgICB0ZCxcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci10aW1lcyB0aCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2NoZWR1bGVyIC5rLXNjcm9sbGJhci12IC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmstZXZlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGtlbmRvLXBhZGRpbmctbWQteDtcblxuICAgICAgICAgICAgLmstcmVzaXplLXcge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJlc2l6ZS1lIHtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1ldmVudC1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWV2ZW50LWFjdGlvbnM6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGtlbmRvLXBhZGRpbmctc20teSAka2VuZG8tcGFkZGluZy1zbS14IDAgLjRleDtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstc2NoZWR1bGVyLWFnZW5kYXZpZXcgLmstdGFzayB7XG5cbiAgICAgICAgICAgID4gLmstZXZlbnQtZGVsZXRlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXNjaGVkdWxlci1tYXJrIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1tYXJxdWVlIC5rLWxhYmVsLXRvcCB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1tYXJxdWVlIC5rLWxhYmVsLWJvdHRvbSB7XG4gICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1lZGl0LWZvcm0gLmstc2NoZWR1bGVyLWRlbGV0ZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay1zY2hlZHVsZXIsXG4gICAgICAgICYuay1zY2hlZHVsZXIge1xuXG4gICAgICAgICAgICAuay1zY2hlZHVsZXItaGVhZGVyLXdyYXAge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWFnZW5kYWRheSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgLjJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstc2NoZWR1bGVyLWFnZW5kYXZpZXcgLmstc2NoZWR1bGVyLXRhYmxlIHtcbiAgICAgICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyICsgdHIge1xuICAgICAgICAgICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zYWZhcmkge1xuICAgICAgICAuay1zY2hlZHVsZXItdG9vbHRpcCAuay10b29sdGlwLWV2ZW50Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWV2ZW50LWdhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci15ZWFydmlldyAuay1jYWxlbmRhci12aWV3IC5rLW1vbnRoIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGstbWF0aC1kaXYoICRrZW5kby1zY2hlZHVsZXIteWVhcnZpZXctY2FsZW5kYXItZ2FwLCAyICk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc2NoZWR1bGVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNjaGVkdWxlci0tbGF5b3V0KCkge1xuXG4gICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLy8gQXBwb2ludG1lbnRzXG4gICAga2VuZG8tc2NoZWR1bGVyIC5rLWV2ZW50LFxuICAgIC5rLWV2ZW50IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAuay1ydGwgJiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbmd1bGFyIGZpeCBmb3Igc3Ryb25nZXIgc2VsZWN0b3IgYW5kIHNtYWxsZXIgcGFkZGluZ1xuICAgICAgICAuay1ldmVudC10ZW1wbGF0ZSB7XG4gICAgICAgICAgICAmIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wYWRkaW5nLXNtLXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wYWRkaW5nLXNtLXg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLXNtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstZXZlbnQtYWN0aW9ucyB7XG4gICAgICAgICAgICByaWdodDogJGtlbmRvLXBhZGRpbmctc20teDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAuMWV4IC40ZXggMCAka2VuZG8tcGFkZGluZy1zbS14O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zY2hlZHVsZXIvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2NoZWR1bGVyL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2NoZWR1bGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc2NoZWR1bGVyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQXBwZWFyYW5jZVxuICAgIC5rLXNjaGVkdWxlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBIZWFkZXIgYW5kIGZvb3RlclxuICAgIC5rLXNjaGVkdWxlci10b29sYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItdG9vbGJhci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci10b29sYmFyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci10b29sYmFyLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItdG9vbGJhci1ncmFkaWVudFxuICAgICAgICApO1xuICAgIH1cbiAgICAuay1zY2hlZHVsZXItZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItZm9vdGVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWZvb3Rlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItZm9vdGVyLWJvcmRlcixcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItZm9vdGVyLWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstc2NoZWR1bGVyLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1iYXNlLWJnO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1oZWFkZXItd3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zY2hlZHVsZXItYmc7XG4gICAgfVxuXG5cbiAgICAvLyBTY2hlZHVsZXIgbmF2aWdhdGlvblxuICAgIC5rLXNjaGVkdWxlci1uYXZpZ2F0aW9uIHt9XG5cblxuICAgIC8vIFZpZXcgc3dpdGNoZXJcbiAgICAuay1zY2hlZHVsZXItdmlld3Mge31cblxuXG4gICAgLy8gU2NoZWR1bGVyIGZvb3RlclxuICAgIC5rLXNjaGVkdWxlci1mb290ZXIge31cblxuXG4gICAgLy8gU2NoZWR1bGVyIGNvbnRlbnRcbiAgICAuay1zY2hlZHVsZXItY29udGVudCB7fVxuICAgIC5rLXNjaGVkdWxlci1ub253b3JrLFxuICAgIC5rLXNjaGVkdWxlciAuay1ub253b3JrLWhvdXIge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ub253b3JrLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLW5vbndvcmstYmdcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstc2NoZWR1bGVyLW90aGVyLW1vbnRoLFxuICAgIC5rLXNjaGVkdWxlciAuay1vdGhlci1tb250aCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLW90aGVybW9udGgtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItb3RoZXJtb250aC1iZ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1sYXlvdXQgdGQuay1zZWxlY3RlZCxcbiAgICAuay1zY2hlZHVsZXItbGF5b3V0IC5rLXNjaGVkdWxlci1jZWxsLmstc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIHByaW1hcnkgKSAyNSUsIHRyYW5zcGFyZW50KSwgcmdiYSgka2VuZG8tc2VsZWN0ZWQtYmcsIC4yNSkpO1xuICAgIH1cblxuICAgIC5rLXNjaGVkdWxlci1sYXlvdXQtZmxleCB7XG4gICAgICAgIC5rLXNjaGVkdWxlci1oZWFkLFxuICAgICAgICAuay1zdGlja3ktY2VsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc2NoZWR1bGVyLWJnO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBFdmVudHNcbiAgICAuay1ldmVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LWdyYWRpZW50XG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zY2hlZHVsZXItZXZlbnQtc2hhZG93ICk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zY2hlZHVsZXItZXZlbnQtaG92ZXItc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tc2NoZWR1bGVyLWV2ZW50LXNlbGVjdGVkLWdyYWRpZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXNjaGVkdWxlci1ldmVudC1zZWxlY3RlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1ldmVudC1pbnZlcnNlIHtcbiAgICAgICAgICAgIGNvbG9yOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSwgay1jb250cmFzdC1sZWdhY3koICRrZW5kby1zY2hlZHVsZXItZXZlbnQtdGV4dCApKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay1ldmVudC1vbmdvaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1zY2hlZHVsZXItZXZlbnQtb25nb2luZy1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRHJhZyBoaW50XG4gICAgLmstZXZlbnQtZHJhZy1oaW50IHt9XG5cblxuICAgIC8vIFJlc2l6aW5nXG4gICAgLmstc2NoZWR1bGVyLW1hcnF1ZWUge31cbiAgICAuay1zY2hlZHVsZXItbWFycXVlZTo6YmVmb3JlLFxuICAgIC5rLXNjaGVkdWxlci1tYXJxdWVlOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNvbG9yLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLy8gRWRpdCBkaWFsb2dcbiAgICAuay1zY2hlZHVsZXItZWRpdC1kaWFsb2cge1xuICAgICAgICAuay1kaWFsb2ctYWN0aW9ucyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1zY2hlZHVsZXItYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIERheSB2aWV3XG4gICAgLmstc2NoZWR1bGVyLWRheXZpZXcge31cblxuXG4gICAgLy8gV29ya3dlZWsgdmlld1xuICAgIC5rLXNjaGVkdWxlci13b3JrV2Vla3ZpZXcge30gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuXG5cbiAgICAvLyBXZWVrIHZpZXdcbiAgICAuay1zY2hlZHVsZXItd2Vla3ZpZXcge31cblxuXG4gICAgLy8gTW9udGggdmlld1xuICAgIC5rLXNjaGVkdWxlci1tb250aHZpZXcge31cblxuXG4gICAgLy8gQWdlbmRhIHZpZXdcbiAgICAuay1zY2hlZHVsZXItYWdlbmRhdmlldyB7XG5cbiAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHI6aG92ZXIsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyLmstaG92ZXIsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IC5rLXNjaGVkdWxlci1yb3c6aG92ZXIsXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IC5rLXNjaGVkdWxlci1yb3cuay1ob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1ob3Zlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8taG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1ob3Zlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyOmhvdmVyIC5rLXNjaGVkdWxlci1kYXRlY29sdW1uLFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCB0cjpob3ZlciAuay1zY2hlZHVsZXItZ3JvdXBjb2x1bW4sXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyLmstaG92ZXIgLmstc2NoZWR1bGVyLWRhdGVjb2x1bW4sXG4gICAgICAgIC5rLXNjaGVkdWxlci1jb250ZW50IHRyLmstaG92ZXIgLmstc2NoZWR1bGVyLWdyb3VwY29sdW1uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWxlY3RlZFxuICAgICAgICAuay1zY2hlZHVsZXItY29udGVudCB0ci5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggcHJpbWFyeSApIDI1JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCRrZW5kby1zZWxlY3RlZC1iZywgLjI1KSk7XG4gICAgICAgIH1cbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHIuay1zZWxlY3RlZCAuay1zY2hlZHVsZXItZGF0ZWNvbHVtbixcbiAgICAgICAgLmstc2NoZWR1bGVyLWNvbnRlbnQgdHIuay1zZWxlY3RlZCAuay1zY2hlZHVsZXItZ3JvdXBjb2x1bW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXNjaGVkdWxlci1iZztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGltZWxpbmUgdmlld1xuICAgIC5rLXNjaGVkdWxlci10aW1lbGluZXZpZXcge31cblxuXG4gICAgLy8gWWVhciB2aWV3XG4gICAgLmstc2NoZWR1bGVyLXllYXJ2aWV3IHtcblxuICAgICAgICAuay1kYXktaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXNjaGVkdWxlci15ZWFydmlldy1pbmRpY2F0b3ItYmcgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXNlbGVjdGVkIC5rLWRheS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJnOiAka2VuZG8tc2NoZWR1bGVyLXllYXJ2aWV3LWluZGljYXRvci1zZWxlY3RlZC1iZyApO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIFNjaGVkdWxlciB0b29sdGlwXG4gICAgLmstdG9vbHRpcC5rLXNjaGVkdWxlci10b29sdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXNjaGVkdWxlci10b29sdGlwLWJvcmRlclxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tc2NoZWR1bGVyLXRvb2x0aXAtc2hhZG93ICk7XG5cbiAgICAgICAgLmstY2FsbG91dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1zY2hlZHVsZXItdG9vbHRpcC1jYWxsb3V0LXRleHQgKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU2NoZWR1bGVyIGVkaXQgZm9ybVxuICAgIC5rLXNjaGVkdWxlci1lZGl0LWZvcm0ge31cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zY2hlZHVsZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjaGVkdWxlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNjaGVkdWxlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc2NoZWR1bGVyLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJzY2hlZHVsZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2NoZWR1bGVyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1pc2Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4vYWRhcHRpdmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9hZGFwdGl2ZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vY2hhdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NoYXQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiY2hhdFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwiaW5wdXRcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2lucHV0L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaW5wdXQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jYXJkL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY2FyZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90b29sYmFyL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdG9vbGJhci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvY2hhdC9fdmFyaWFibGVzLnNjc3Ncbi8vIENoYXRcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXBhZGRpbmcteDogMTZweCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcGFkZGluZy15OiAxNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSB3aWR0aCBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWhlaWdodDogNjAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteDogOHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBzcGFjaW5nIGJldHdlZW4gdGhlIGl0ZW1zIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoYXQgbWVzc2FnZSBsaXN0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy14OiAka2VuZG8tY2hhdC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENoYXQgbWVzc2FnZSBsaXN0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15OiAka2VuZG8tY2hhdC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIENoYXQgbWVzc2FnZSBsaXN0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3Qtc3BhY2luZzogJGtlbmRvLWNoYXQtaXRlbS1zcGFjaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBDaGF0IHRpbWVzdGFtcC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdGltZXN0YW1wLWZvbnQtc2l6ZTogc21hbGxlciAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENoYXQgdGltZXN0YW1wLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10aW1lc3RhbXAtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgdHJhbnNmb3JtIG9mIHRoZSBDaGF0IHRpbWVzdGFtcC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdGltZXN0YW1wLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDaGF0IHRpbWVzdGFtcC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdGltZXN0YW1wLXRleHQ6ICRrZW5kby1zdWJ0bGUtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hhdCB0aW1lc3RhbXAuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRpbWVzdGFtcC1iZzogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoYXQgYnViYmxlIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1wYWRkaW5nLXg6IDE2cHggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIENoYXQgYnViYmxlIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1wYWRkaW5nLXk6IDhweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgQ2hhdCBidWJibGUgbWVzc2FnZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLXNwYWNpbmc6IDJweCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENoYXQgYnViYmxlIG1lc3NhZ2UuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBDaGF0IGJ1YmJsZSBtZXNzYWdlLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLXJhZGl1czogMTJweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgQ2hhdCBzbWFsbCBidWJibGUgbWVzc2FnZVxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLXJhZGl1cy1zbTogMnB4ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIENoYXQgQXZhdGFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1hdmF0YXItc2l6ZTogMzJweCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgQ2hhdCBBdmF0YXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWF2YXRhci1zcGFjaW5nOiAka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoYXQgVG9vbGJhci5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdG9vbGJhci1wYWRkaW5nLXg6ICRrZW5kby10b29sYmFyLW1kLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBUb29sYmFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10b29sYmFyLXBhZGRpbmcteTogJGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBzcGFjaW5nIG9mIHRoZSBDaGF0IFRvb2xiYXIuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXRvb2xiYXItc3BhY2luZzogJGtlbmRvLXRvb2xiYXItbWQtc3BhY2luZyAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hhdCBUb29sYmFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10b29sYmFyLWJnOiAka2VuZG8tdG9vbGJhci1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hhdCBUb29sYmFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10b29sYmFyLXRleHQ6ICRrZW5kby10b29sYmFyLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ2hhdCBUb29sYmFyLlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC10b29sYmFyLWJvcmRlcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXBhZGRpbmcteDogMTJweCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktcGFkZGluZy15OiA4cHggIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXNwYWNpbmc6IDhweCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWxpbmUtaGVpZ2h0OiAka2VuZG8tY2hhdC1idWJibGUtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDaGF0LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1iZzogJGtlbmRvLWFwcC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hhdC5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtdGV4dDogJGtlbmRvLWFwcC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIENoYXQuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJvcmRlcjogJGtlbmRvLWFwcC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hhdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1iZzogJGtlbmRvLWJ1dHRvbi1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgQ2hhdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS10ZXh0OiAka2VuZG8tYnV0dG9uLXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgQ2hhdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1ib3JkZXI6ICRrZW5kby1jaGF0LWJ1YmJsZS1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm94IHNoYWRvdyBvZiB0aGUgQ2hhdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWJ1YmJsZS1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgaG92ZXJlZCBDaGF0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLWhvdmVyLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBzZWxlY3RlZCBDaGF0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYnViYmxlLXNlbGVjdGVkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBDaGF0IGFsdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWFsdC1idWJibGUtYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDaGF0IGFsdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWFsdC1idWJibGUtdGV4dDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIG9uLXByaW1hcnkgKSwgay1jb250cmFzdC1jb2xvciggJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1iZyApKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDaGF0IGFsdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWFsdC1idWJibGUtYm9yZGVyOiAka2VuZG8tY2hhdC1hbHQtYnViYmxlLWJnICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIENoYXQgYWx0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgaG92ZXJlZCBDaGF0IGFsdCBidWJibGUuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LWFsdC1idWJibGUtaG92ZXItc2hhZG93OiBub25lICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIHNlbGVjdGVkIENoYXQgYWx0IGJ1YmJsZS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1zZWxlY3RlZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS10ZXh0OiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBDaGF0IHF1aWNrIHJlcGx5LlxuLy8vIEBncm91cCBjaGF0XG4ka2VuZG8tY2hhdC1xdWljay1yZXBseS1ib3JkZXI6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhvdmVyZWQgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktaG92ZXItYmc6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBob3ZlcmVkIENoYXQgcXVpY2sgcmVwbHkuXG4vLy8gQGdyb3VwIGNoYXRcbiRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LWhvdmVyLXRleHQ6ICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGhvdmVyZWQgQ2hhdCBxdWljayByZXBseS5cbi8vLyBAZ3JvdXAgY2hhdFxuJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktaG92ZXItYm9yZGVyOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9jaGF0L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9jaGF0L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoYXQvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tY2hhdC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBDaGF0XG4gICAgLmstY2hhdCB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAka2VuZG8tY2hhdC13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tY2hhdC1oZWlnaHQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNoYXQtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBmb250LWZhbWlseTogJGtlbmRvLWNoYXQtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNoYXQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNoYXQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuXG4gICAgICAgIC8vIE1lc3NhZ2UgbGlzdFxuICAgICAgICAuay1tZXNzYWdlLWxpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgICAgICB9XG4gICAgICAgIC5rLW1lc3NhZ2UtbGlzdC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgID4gKiArICoge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1zcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWVzc2FnZSBncm91cFxuICAgICAgICAuay1tZXNzYWdlLWdyb3VwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIC5rLW1lc3NhZ2UtZ3JvdXA6bm90KC5rLWFsdCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcblxuICAgICAgICAgICAgLmstbWVzc2FnZS10aW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAka2VuZG8tY2hhdC1pdGVtLXNwYWNpbmcteDtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1tZXNzYWdlLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1maXJzdCAuay1jaGF0LWJ1YmJsZSxcbiAgICAgICAgICAgIC5rLW9ubHkgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRrZW5kby1jaGF0LWJ1YmJsZS1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstbWlkZGxlIC5rLWNoYXQtYnViYmxlLFxuICAgICAgICAgICAgLmstbGFzdCAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCAka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLXJhZGl1cy1zbSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLW1lc3NhZ2UtZ3JvdXAuay1hbHQge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgICAgICAgIC5rLW1lc3NhZ2UtdGltZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRrZW5kby1jaGF0LWl0ZW0tc3BhY2luZy14O1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1tZXNzYWdlLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZmlyc3QgLmstY2hhdC1idWJibGUsXG4gICAgICAgICAgICAuay1vbmx5IC5rLWNoYXQtYnViYmxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGtlbmRvLWNoYXQtYnViYmxlLWJvcmRlci1yYWRpdXMtc207XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1taWRkbGUgLmstY2hhdC1idWJibGUsXG4gICAgICAgICAgICAuay1sYXN0IC5rLWNoYXQtYnViYmxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCAka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyLXJhZGl1cy1zbSApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBNZXNzYWdlXG4gICAgICAgIC5rLW1lc3NhZ2Uge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAka2VuZG8tY2hhdC1idWJibGUtc3BhY2luZyAwIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gTWVzc2FnZSBtZXRhXG4gICAgICAgIC5rLW1lc3NhZ2UtdGltZSxcbiAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAuay1tZXNzYWdlLXRpbWUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmstbWVzc2FnZS1zdGF0dXMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLWNoYXQtYnViYmxlLXNwYWNpbmc7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQnViYmxlXG4gICAgICAgIC5rLWNoYXQtYnViYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1jaGF0LWJ1YmJsZS1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tY2hhdC1idWJibGUtcGFkZGluZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jaGF0LWJ1YmJsZS1wYWRkaW5nLXg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNoYXQtYnViYmxlLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gTWVzc2FnZSBzdGF0ZXNcbiAgICAgICAgLmstbWVzc2FnZS5rLXNlbGVjdGVkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby1jaGF0LWl0ZW0tc3BhY2luZy15O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgICAuay1tZXNzYWdlLXRpbWUgeyBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgICAuay1tZXNzYWdlLXN0YXR1cyB7IGhlaWdodDogMS4yZW07IH1cbiAgICAgICAgfVxuICAgICAgICAuay1tZXNzYWdlLWVycm9yLFxuICAgICAgICAuay1tZXNzYWdlLXNlbmRpbmcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGtlbmRvLWNoYXQtaXRlbS1zcGFjaW5nLXk7XG5cbiAgICAgICAgICAgIC5rLW1lc3NhZ2Utc3RhdHVzIHsgaGVpZ2h0OiAxLjJlbTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXZhdGFyXG4gICAgICAgIC5rLWF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIEBhdC1yb290IC5rLW1lc3NhZ2UtZ3JvdXA6bm90KC5rLWFsdCkgPiAuay1hdmF0YXIge1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAYXQtcm9vdCAuay1tZXNzYWdlLWdyb3VwLmstYWx0ID4gLmstYXZhdGFyIHtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuay1hdmF0YXJzIHtcbiAgICAgICAgICAgIC5rLW1lc3NhZ2UtZ3JvdXA6bm90KC5rLW5vLWF2YXRhcikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCAjeyRrZW5kby1jaGF0LWF2YXRhci1zaXplfSArICN7JGtlbmRvLWNoYXQtYXZhdGFyLXNwYWNpbmd9ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1tZXNzYWdlLWdyb3VwLmstYWx0Om5vdCguay1uby1hdmF0YXIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoICN7JGtlbmRvLWNoYXQtYXZhdGFyLXNpemV9ICsgI3ska2VuZG8tY2hhdC1hdmF0YXItc3BhY2luZ30gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEF1dGhvclxuICAgIC5rLWF1dGhvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICAuay1jaGF0IC5rLWF1dGhvciB7XG4gICAgICAgIG1hcmdpbjogMDsgLy8gRHVwbGljYXRlIHN0eWxlcyBiZWNhdXNlIG9mIHR5cG9ncmFwaHkgbW9kdWxlXG4gICAgfVxuXG5cbiAgICAvLyBUaW1lc3RhbXBcbiAgICAuay1jaGF0IC5rLXRpbWVzdGFtcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNoYXQtdGltZXN0YW1wLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1jaGF0LXRpbWVzdGFtcC1saW5lLWhlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRrZW5kby1jaGF0LXRpbWVzdGFtcC10cmFuc2Zvcm07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB9XG5cblxuICAgIC8vIFF1aWNrIHJlcGx5XG4gICAgLmstcXVpY2stcmVwbGllcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIElFIGZpeFxuICAgIH1cbiAgICAuay1xdWljay1yZXBseSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIDEwMHB4ICk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAka2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiBrLW1hdGgtZGl2KCAka2VuZG8tY2hhdC1xdWljay1yZXBseS1zcGFjaW5nLCAyICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tY2hhdC1xdWljay1yZXBseS1saW5lLWhlaWdodDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBTY3JvbGxhYmxlIHF1aWNrIHJlcGxpZXNcbiAgICAuay1zY3JvbGxhYmxlLXF1aWNrLXJlcGxpZXMge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtJGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXF1aWNrLXJlcGx5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICAuay1xdWljay1yZXBseSArIC5rLXF1aWNrLXJlcGx5IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIE1lc3NhZ2UgYm94XG4gICAgLmstbWVzc2FnZS1ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5wdXRcbiAgICAgICAgLmstaW5wdXQge31cblxuICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXJ0bCAmLFxuICAgICAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cbiAgICAvLyBDYXJkIGxpc3RcbiAgICAuay1jaGF0IC5rLWNhcmQtbGlzdCB7XG4gICAgICAgIG1hcmdpbjogJGtlbmRvLWNoYXQtYnViYmxlLXNwYWNpbmcgMCAwO1xuICAgIH1cblxuICAgIC5rLW1lc3NhZ2UtZ3JvdXAuay1hbHQgKyAuay1jYXJkLWxpc3QsXG4gICAgLmstbWVzc2FnZS1ncm91cC5rLWFsdCArIGtlbmRvLWNoYXQtbWVzc2FnZS1hdHRhY2htZW50cy5rLWNhcmQtbGlzdCB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5rLWNoYXQgLmstY2FyZC1kZWNrIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAjeyRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXkgKiAyfSk7IC8vIHByZXZlbnQgb3ZlcmZsb3dpbmcgaW4gdGhlIHBhcmVudCBlbGVtZW50XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLSRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXkgJGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteSAka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy14O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICB9XG4gICAgLmstY2hhdCAuay1jYXJkLWRlY2sgLmstY2FyZCB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG5cbiAgICAuay1jaGF0IC5rLWNhcmQtZGVjay1zY3JvbGx3cmFwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGtlbmRvLWNoYXQtbWVzc2FnZS1saXN0LXBhZGRpbmcteTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ka2VuZG8tY2hhdC1tZXNzYWdlLWxpc3QtcGFkZGluZy15O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRrZW5kby1jaGF0LW1lc3NhZ2UtbGlzdC1wYWRkaW5nLXk7XG4gICAgfVxuXG4gICAgLmstY2hhdCAuay1jYXJkLWRlY2stc2Nyb2xsd3JhcCA+IC5rLWNhcmQtZGVjayB7XG4gICAgICAgIC8vIGhpZGUgc2Nyb2xsYmFyIGluIGNoYXRcbiAgICAgICAgJHNjcm9sbGJhci1zaXplOiAyMHB4O1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kc2Nyb2xsYmFyLXNpemU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2Nyb2xsYmFyLXNpemU7XG4gICAgfVxuXG4gICAgLy8gRGVja1xuICAgIC5rLWNoYXQgLmstY2FyZC1kZWNrIC5rLWNhcmQtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyAvLyBhY2NvbW1vZGF0ZSBmb3IgZm9jdXNlZCBib3ggc2hhZG93IG9uIE9TWFxuXG4gICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTG9jYWwgdmFyaWFibGVzXG4gICAgJGtlbmRvLWNoYXQtdHlwaW5nLWluZGljYXRvci1kb3Qtc2l6ZTogOHB4ICFkZWZhdWx0O1xuICAgICRrZW5kby1jaGF0LXR5cGluZy1pbmRpY2F0b3ItZG90LXNwYWNpbmc6IDVweCAhZGVmYXVsdDtcblxuICAgIC8vIFR5cGluZyBpbmRpY2F0b3JcbiAgICAuay10eXBpbmctaW5kaWNhdG9yIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tY2hhdC10eXBpbmctaW5kaWNhdG9yLWRvdC1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tY2hhdC10eXBpbmctaW5kaWNhdG9yLWRvdC1zaXplO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgZmxleDogMCAwICRrZW5kby1jaGF0LXR5cGluZy1pbmRpY2F0b3ItZG90LXNpemU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNDtcbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IDFzIGstYW5pbWF0aW9uLWJsaW5rIGluZmluaXRlICgkaSAqIC4zMzMzcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNwYW4gKyBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tY2hhdC10eXBpbmctaW5kaWNhdG9yLWRvdC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBrLWFuaW1hdGlvbi1ibGluayB7XG4gICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gQ2hhdCB0b29sYmFyXG4gICAgLmstY2hhdC10b29sYmFyLFxuICAgIC5rLWNoYXQgLmstdG9vbGJhci1ib3gge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tY2hhdC10b29sYmFyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1jaGF0LXRvb2xiYXItcGFkZGluZy14O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGdhcDogJGtlbmRvLXRvb2xiYXItbWQtc3BhY2luZztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWJ1dHRvbi1saXN0IHtcbiAgICAgICAgICAgIC8vIE5lZWRlZCBmb3IgbmF0aXZlIHNjcm9sbGluZy4gV2lsbCB1bmNvbWVudCB3aGVuIGl0J3MgaW1wbGVtZW50ZWQuXG4gICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAvLyBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuay1idXR0b24ge1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmstc2Nyb2xsLWJ1dHRvbiB7XG4gICAgICAgICAgICAvLyBJTVBPUlRBTlQ6IGlmIHdlIGRvbid0IHNldCBwYWRkaW5nLCB0aGUgYnJvd3NlciB3aWxsIHNldCBmb3IgdXNcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRvcDogMDtcblxuICAgICAgICAgICAgLmstYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5rLXNjcm9sbC1idXR0b24tbGVmdCB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNjcm9sbC1idXR0b24tcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuXG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1jaGF0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhdC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1jaGF0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhdC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL2NoYXQvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvY2hhdC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2NoYXQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1jaGF0LS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gQ2hhdFxuICAgIC5rLWNoYXQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNoYXQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jaGF0LWJnLFxuICAgICAgICAgICAgJGtlbmRvLWNoYXQtYm9yZGVyXG4gICAgICAgICk7XG5cblxuICAgICAgICAvLyBNZXNzYWdlIG1ldGFcbiAgICAgICAgLmstdGltZXN0YW1wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtdGltZXN0YW1wLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtdGltZXN0YW1wLWJnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLWF1dGhvciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQnViYmxlc1xuICAgICAgICAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LWJ1YmJsZS10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LWJ1YmJsZS1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1idWJibGUtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNoYXQtYnViYmxlLXNoYWRvdyApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJGtlbmRvLXRyYW5zaXRpb247XG4gICAgICAgICAgICBvcmRlcjogLTE7XG5cbiAgICAgICAgICAgIGEgeyBjb2xvcjogJGtlbmRvLWxpbmstdGV4dDsgfVxuICAgICAgICAgICAgYTpob3ZlciB7IGNvbG9yOiAka2VuZG8tbGluay1ob3Zlci10ZXh0OyB9XG4gICAgICAgIH1cbiAgICAgICAgLmstY2hhdC1idWJibGU6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNoYXQtYnViYmxlLWhvdmVyLXNoYWRvdyApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXNlbGVjdGVkIC5rLWNoYXQtYnViYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1jaGF0LWJ1YmJsZS1zZWxlY3RlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWFsdCAuay1jaGF0LWJ1YmJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LWFsdC1idWJibGUtdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1hbHQtYnViYmxlLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LWFsdC1idWJibGUtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hbHQgLmstY2hhdC1idWJibGU6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1ob3Zlci1zaGFkb3cgKTtcbiAgICAgICAgfVxuICAgICAgICAuay1hbHQgLmstc2VsZWN0ZWQgLmstY2hhdC1idWJibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLWNoYXQtYWx0LWJ1YmJsZS1zZWxlY3RlZC1zaGFkb3cgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gUXVpY2sgcmVwbGllc1xuICAgICAgICAuay1xdWljay1yZXBseSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1jaGF0LXF1aWNrLXJlcGx5LXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5rLXF1aWNrLXJlcGx5OmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLWNoYXQtcXVpY2stcmVwbHktaG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1xdWljay1yZXBseS1ob3Zlci1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tY2hhdC1xdWljay1yZXBseS1ob3Zlci1ib3JkZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gVG9vbGJhclxuICAgIC5rLWNoYXQtdG9vbGJhcixcbiAgICAuay1jaGF0IC5rLXRvb2xiYXItYm94IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jaGF0LXRvb2xiYXItdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jaGF0LXRvb2xiYXItYmcsXG4gICAgICAgICAgICAka2VuZG8tY2hhdC10b29sYmFyLWJvcmRlclxuICAgICAgICApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1jaGF0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGF0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tY2hhdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhdC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLWNoYXQtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcImNoYXRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tY2hhdC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWNoYXQtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1jaGF0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9tZWRpYXBsYXllci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL21lZGlhcGxheWVyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIm1lZGlhLXBsYXllclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJzbGlkZXJcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3NsaWRlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NsaWRlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvbWVkaWFwbGF5ZXIvX3ZhcmlhYmxlcy5zY3NzXG4vLyBNZWRpYSBwbGF5ZXJcbiRrZW5kby1tZWRpYS1wbGF5ZXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tbWVkaWEtcGxheWVyLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8tbWVkaWEtcGxheWVyLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1tZWRpYS1wbGF5ZXItbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcblxuJGtlbmRvLW1lZGlhLXBsYXllci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbiRrZW5kby1tZWRpYS1wbGF5ZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLW1lZGlhLXBsYXllci1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4ka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuJGtlbmRvLW1lZGlhLXBsYXllci10aXRsZWJhci1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbiRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItYmc6IG51bGwgIWRlZmF1bHQ7XG4ka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLXRleHQ6ICRrZW5kby1tZWRpYS1wbGF5ZXItYmcgIWRlZmF1bHQ7XG4ka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItZ3JhZGllbnQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCAoIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDcwJSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSAwJSwgdHJhbnNwYXJlbnQpICksICggcmdiYSggJGtlbmRvLW1lZGlhLXBsYXllci10ZXh0LCAuNyApLCByZ2JhKCAka2VuZG8tbWVkaWEtcGxheWVyLXRleHQsIDAgKSApKSAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9tZWRpYXBsYXllci9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVkaWFwbGF5ZXIvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWVkaWFwbGF5ZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tbWVkaWEtcGxheWVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhc2VcbiAgICAuay1tZWRpYXBsYXllciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLW1lZGlhLXBsYXllci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tbWVkaWEtcGxheWVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1tZWRpYS1wbGF5ZXItZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1lZGlhLXBsYXllci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gaWZyYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVGl0bGUgYmFyXG4gICAgLmstbWVkaWFwbGF5ZXItdGl0bGViYXIge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItcGFkZGluZy14O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBUb29sYmFyXG4gICAgLmstbWVkaWFwbGF5ZXItdG9vbGJhci13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAuay1tZWRpYXBsYXllci10b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG5cbiAgICAgICAgLmstZHJvcGRvd24tbGlzdCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuay1tZWRpYXBsYXllci10aW1lLXdyYXAge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cbiAgICAuay1tZWRpYXBsYXllci12b2x1bWUtd3JhcCB7XG4gICAgICAgIC8vIFRPRE86IFdoZW4gc2xpZGVyIGRyYWdoYW5kbGUgc2l6ZSBpcyBleHBvc2VkLCB1c2UgaXQgaW5zdGVhZFxuICAgICAgICBwYWRkaW5nOiAwIGstbWF0aC1kaXYoIDE0cHgsIDIgKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgLmstbWVkaWFwbGF5ZXItdm9sdW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuXG4gICAgLy8gU2Vla2JhclxuICAgIC5rLXNsaWRlci5rLW1lZGlhcGxheWVyLXNlZWtiYXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSggLTUwJSApO1xuICAgIH1cbiAgICAuay1tZWRpYXBsYXllci1zZWVrYmFyIC5rLXNsaWRlci10cmFjayB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC5rLW1lZGlhcGxheWVyLXNlZWtiYXIgLmstc2xpZGVyLXNlbGVjdGlvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLmstbWVkaWFwbGF5ZXItZnVsbHNjcmVlbiB7XG4gICAgICAgIHotaW5kZXg6IDEwMDAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1lZGlhLXBsYXllci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lZGlhLXBsYXllci0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1tZWRpYS1wbGF5ZXItLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZWRpYS1wbGF5ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9tZWRpYXBsYXllci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tZWRpYXBsYXllci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL21lZGlhcGxheWVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbWVkaWEtcGxheWVyLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gVGhlbWVcbiAgICAuay1tZWRpYXBsYXllciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tbWVkaWEtcGxheWVyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tbWVkaWEtcGxheWVyLWJnLFxuICAgICAgICAgICAgJGtlbmRvLW1lZGlhLXBsYXllci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vIFRpdGxlIGJhclxuICAgIC5rLW1lZGlhcGxheWVyLXRpdGxlYmFyIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1tZWRpYS1wbGF5ZXItdGl0bGViYXItdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAka2VuZG8tbWVkaWEtcGxheWVyLXRpdGxlYmFyLWdyYWRpZW50ICk7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMnB4IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSggJGtlbmRvLW1lZGlhLXBsYXllci10ZXh0LCAuNSApKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tbWVkaWEtcGxheWVyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tZWRpYS1wbGF5ZXItLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1tZWRpYS1wbGF5ZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lZGlhLXBsYXllci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW1lZGlhLXBsYXllci0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwibWVkaWEtcGxheWVyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1lZGlhLXBsYXllci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW1lZGlhLXBsYXllci0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lZGlhLXBsYXllci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vdGltZWxpbmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90aW1lbGluZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJ0aW1lbGluZVwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImNhcmRcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NhcmQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jYXJkL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvdGltZWxpbmUvX3ZhcmlhYmxlcy5zY3NzXG4vLyBUaW1lbGluZVxuXG4vLy8gVGhlIGhvcml6b250YWwgc3BhY2luZyBvZiB0aGUgVGltZWxpbmUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtc3BhY2luZy14OiA0MHB4ICFkZWZhdWx0O1xuLy8vIFRoZSB2ZXJ0aWNhbCBzcGFjaW5nIG9mIHRoZSBUaW1lbGluZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1zcGFjaW5nLXk6IDQwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHBhZGRpbmcgYmV0d2VlbiB0aGUgVGltZWxpbmUncyB0cmFjayBpdGVtcy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1pdGVtcy1wYWRkaW5nOiAka2VuZG8tcGFkZGluZy1tZC14ICFkZWZhdWx0O1xuXG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBUaW1lbGluZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFRpbWVsaW5lLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFRpbWVsaW5lLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBzcGFjaW5nIG9mIHRoZSBtb2JpbGUgVGltZWxpbmUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtbW9iaWxlLXNwYWNpbmcteDogJGtlbmRvLXBhZGRpbmctbWQteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgc3BhY2luZyBvZiB0aGUgbW9iaWxlIFRpbWVsaW5lLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXk6ICRrZW5kby1wYWRkaW5nLW1kLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIFRpbWVsaW5lIHRyYWNrIGFycm93LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LXdpZHRoOiAzOHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFRpbWVsaW5lIHRyYWNrIGFycm93LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWhlaWdodDogMzhweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBUaW1lbGluZSB0cmFjayBhcnJvdy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1kaXNhYmxlZC1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApIDY1JSwgdHJhbnNwYXJlbnQpLCBrLXRydWUtbWl4KCAka2VuZG8tYnV0dG9uLWJnLCAka2VuZG8tYm9keS1iZywgNjUlICkpICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBUaW1lbGluZSB0cmFjayBhcnJvdy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1kaXNhYmxlZC10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWJhc2UgKSA2NSUsIHRyYW5zcGFyZW50KSwgay10cnVlLW1peCggJGtlbmRvLWJ1dHRvbi10ZXh0LCAka2VuZG8tYm9keS1iZywgNjUlICkpICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGRpc2FibGVkIFRpbWVsaW5lIHRyYWNrIGFycm93LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWRpc2FibGVkLWJvcmRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBib3JkZXIgKSAxNSUsIHRyYW5zcGFyZW50KSwgay10cnVlLW1peCggJGtlbmRvLWJ1dHRvbi1ib3JkZXIsICRrZW5kby1ib2R5LWJnLCA2NSUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2l6ZSBvZiB0aGUgVGltZWxpbmUgdHJhY2suXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stc2l6ZTogNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3R0b20gcGFkZGluZyBvZiB0aGUgVGltZWxpbmUncyB0cmFjayB3cmFwcGVyLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXdyYXAtcGFkZGluZy1ib3R0b206IGstbWF0aC1kaXYoICRrZW5kby10aW1lbGluZS10cmFjay1zaXplLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgVGltZWxpbmUgdHJhY2suXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIFRpbWVsaW5lIHRyYWNrLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLXRyYWNrLW1hcmdpbi1ib3R0b206IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIG9mZnNldCBvZiB0aGUgVGltZWxpbmUgdHJhY2suXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stYm90dG9tLWNhbGM6IGNhbGMoI3trLW1hdGgtZGl2KCAka2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctaGVpZ2h0LCAyICl9ICsgI3ska2VuZG8tdGltZWxpbmUtdHJhY2std3JhcC1wYWRkaW5nLWJvdHRvbX0pICFkZWZhdWx0O1xuLy8vIFRoZSBsZWZ0IG9mZnNldCBvZiB0aGUgVGltZWxpbmUgdHJhY2suXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stc3RhcnQtY2FsYzogY2FsYygjeyRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy13aWR0aH0gLSAyICogI3ska2VuZG8tdGltZWxpbmUtdHJhY2stYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4vLy8gVGhlIHJpZ2h0IG9mZnNldCBvZiB0aGUgVGltZWxpbmUgdHJhY2suXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtdHJhY2stZW5kLWNhbGM6IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctd2lkdGh9IC0gMiAqICN7JGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUaW1lbGluZSB0cmFjay5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1iZzogJGtlbmRvLWJ1dHRvbi1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBUaW1lbGluZSB0cmFjay5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1ib3JkZXItY29sb3I6ICRrZW5kby10aW1lbGluZS10cmFjay1iZyAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFRpbWVsaW5lJ3MgZm9jdXNlZCB0cmFjayBpdGVtcy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1pdGVtLWZvY3VzLXNoYWRvdzogay1lbGV2YXRpb24oMikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgb2Zmc2V0IG9mIHRoZSBUaW1lbGluZSB0cmFjayBldmVudC5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS10cmFjay1ldmVudC1vZmZzZXQ6IDM2cHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBUaW1lbGluZSBmbGFnLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZsYWctcGFkZGluZy14OiAka2VuZG8tYnV0dG9uLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgVGltZWxpbmUgZmxhZy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1mbGFnLXBhZGRpbmcteTogJGtlbmRvLWJ1dHRvbi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBUaW1lbGluZSBmbGFnLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZsYWctbGluZS1oZWlnaHQ6ICRrZW5kby1idXR0b24tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmltdW0gd2lkdGggb2YgdGhlIFRpbWVsaW5lIGZsYWcuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZmxhZy1taW4td2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgdGhlIFRpbWVsaW5lIGZsYWcuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZmxhZy1tYXgtd2lkdGg6IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtZmxhZy1taW4td2lkdGh9ICsgMiAqICN7JGtlbmRvLXRpbWVsaW5lLXNwYWNpbmcteH0pICFkZWZhdWx0O1xuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2JpbGUgVGltZWxpbmUgZmxhZy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1tb2JpbGUtZmxhZy1tYXgtd2lkdGg6IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtZmxhZy1taW4td2lkdGh9ICsgMiAqICN7JGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXh9KSAhZGVmYXVsdDtcbi8vLyBUaGUgbWluaW11bSB3aWR0aCBvZiB0aGUgaG9yaXpvbnRhbCBUaW1lbGluZSBmbGFnLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWhvcml6b250YWwtZmxhZy1taW4td2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFRpbWVsaW5lIGZsYWcuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZmxhZy1iZzogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFRpbWVsaW5lIGZsYWcuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZmxhZy10ZXh0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggb24tcHJpbWFyeSApLCBrLWNvbnRyYXN0LWNvbG9yKCAka2VuZG8tdGltZWxpbmUtZmxhZy1iZyApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgVGltZWxpbmUncyBmbGFnIGNhbGxvdXQuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZmxhZy1jYWxsb3V0LXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFRpbWVsaW5lJ3MgZmxhZyBjYWxsb3V0LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWZsYWctY2FsbG91dC1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm90dG9tIG9mZnNldCBvZiB0aGUgVGltZWxpbmUgZmxhZy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1mbGFnLW9mZnNldC1ib3R0b206IDRweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgVGltZWxpbmUgZmxhZy5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1mbGFnLW1hcmdpbi1ib3R0b20tY2FsYzogY2FsYygjeyRrZW5kby10aW1lbGluZS10cmFjay1zaXplfSArIDIgKiAjeyRrZW5kby10aW1lbGluZS10cmFjay1ib3JkZXItd2lkdGh9ICsgI3ska2VuZG8tdGltZWxpbmUtZmxhZy1vZmZzZXQtYm90dG9tfSArICN7JGtlbmRvLXRpbWVsaW5lLWZsYWctY2FsbG91dC1oZWlnaHR9KSAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgVGltZWxpbmUgZGF0ZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1kYXRlLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBUaW1lbGluZSBkYXRlLlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWRhdGUtbWFyZ2luLWJvdHRvbTogMTBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSB2ZXJ0aWNhbCBUaW1lbGluZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS12ZXJ0aWNhbC1wYWRkaW5nLWNhbGM6IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtc3BhY2luZy14fSArICgjeyRrZW5kby10aW1lbGluZS1mbGFnLW1pbi13aWR0aH0gLSAjeyRrZW5kby10aW1lbGluZS10cmFjay1zaXplfSkgLyAyKSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgdmVydGljYWwgVGltZWxpbmUgZGF0ZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS12ZXJ0aWNhbC1wYWRkaW5nLXdpdGgtZGF0ZXMtY2FsYzogY2FsYygjeyRrZW5kby10aW1lbGluZS12ZXJ0aWNhbC1wYWRkaW5nLWNhbGN9ICsgI3ska2VuZG8tdGltZWxpbmUtZGF0ZS13aWR0aH0pICFkZWZhdWx0O1xuLy8vIFRoZSBwYWRkaW5nIG9mIHRoZSB2ZXJ0aWNhbCBtb2JpbGUgVGltZWxpbmUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtbW9iaWxlLXZlcnRpY2FsLXBhZGRpbmctY2FsYzogY2FsYygjeyRrZW5kby10aW1lbGluZS1tb2JpbGUtc3BhY2luZy14fSArICgjeyRrZW5kby10aW1lbGluZS1mbGFnLW1pbi13aWR0aH0gLSAjeyRrZW5kby10aW1lbGluZS10cmFjay1zaXplfSkgLyAyKSAhZGVmYXVsdDtcbi8vLyBUaGUgcGFkZGluZyBvZiB0aGUgdmVydGljYWwgbW9iaWxlIFRpbWVsaW5lIGRhdGUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtbW9iaWxlLXZlcnRpY2FsLXBhZGRpbmctd2l0aC1kYXRlcy1jYWxjOiBjYWxjKCN7JGtlbmRvLXRpbWVsaW5lLW1vYmlsZS12ZXJ0aWNhbC1wYWRkaW5nLWNhbGN9ICsgI3ska2VuZG8tdGltZWxpbmUtZGF0ZS13aWR0aH0pICFkZWZhdWx0O1xuXG4vLy8gVGhlIHdpZHRoIG9mIHRoZSBUaW1lbGluZSBjaXJjbGUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtY2lyY2xlLXdpZHRoOiAxNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFRpbWVsaW5lIGNpcmNsZS5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1jaXJjbGUtaGVpZ2h0OiAxNnB4ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBUaW1lbGluZSBjaXJjbGUuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtY2lyY2xlLWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIFRpbWVsaW5lIGNvbGxhcHNlIGFycm93LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWNvbGxhcHNlLWFycm93LXBhZGRpbmcteDogJGtlbmRvLXBhZGRpbmctc20teCAhZGVmYXVsdDtcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgVGltZWxpbmUgZXZlbnQuXG4vLy8gQGdyb3VwIHRpbWVsaW5lXG4ka2VuZG8tdGltZWxpbmUtZXZlbnQtd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBoZWlnaHQgb2YgdGhlIFRpbWVsaW5lIGV2ZW50LlxuLy8vIEBncm91cCB0aW1lbGluZVxuJGtlbmRvLXRpbWVsaW5lLWV2ZW50LWhlaWdodDogNjAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbmltdW0gaGVpZ2h0IG9mIHRoZSBUaW1lbGluZSBldmVudC5cbi8vLyBAZ3JvdXAgdGltZWxpbmVcbiRrZW5kby10aW1lbGluZS1ldmVudC1taW4taGVpZ2h0LWNhbGM6IGNhbGMoMiAqICgjeyRrZW5kby10aW1lbGluZS10cmFjay1ldmVudC1vZmZzZXR9IC0gI3ska2VuZG8tY2FyZC1ib3JkZXItd2lkdGh9KSkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvdGltZWxpbmUvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVsaW5lL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3RpbWVsaW5lL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXRpbWVsaW5lLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXRpbWVsaW5lIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby10aW1lbGluZS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdGltZWxpbmUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRpbWVsaW5lLWxpbmUtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyLFxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtZmxhZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGltZWxpbmUtZmxhZy1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRpbWVsaW5lLWZsYWctcGFkZGluZy14O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGtlbmRvLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLXRpbWVsaW5lLWZsYWctbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICRrZW5kby10aW1lbGluZS1mbGFnLW1pbi13aWR0aDtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGtlbmRvLXRpbWVsaW5lLWZsYWctbWF4LXdpZHRoO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWNpcmNsZSB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXRpbWVsaW5lLWNpcmNsZS13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXRpbWVsaW5lLWNpcmNsZS1oZWlnaHQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGltZWxpbmUtZGF0ZXMtaGlkZGVuIHtcbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWRhdGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGltZWxpbmUtY29sbGFwc2libGUge1xuICAgICAgICAgICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstZXZlbnQtY29sbGFwc2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWNhcmQtaGVhZGVyICsgLmstY2FyZC1ib2R5IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstY2FyZC1ib2R5IHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLy8gU2Nyb2xsYmFyIHN0eWxlcyBmb3IgTW96aWxsYVxuICAgICAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcblxuICAgICAgICAgICAgICAgIC8vIFNjcm9sbGJhciBzdHlsZXMgZm9yIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWNhcmQtY2FsbG91dCB7XG4gICAgICAgICAgICAmLmstY2FsbG91dC13LFxuICAgICAgICAgICAgJi5rLWNhbGxvdXQtZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAka2VuZG8tdGltZWxpbmUtdHJhY2stZXZlbnQtb2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtdmVydGljYWwsXG4gICAgLmstdGltZWxpbmUtaG9yaXpvbnRhbCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdGltZWxpbmUtc3BhY2luZy14O1xuICAgICAgICBtYXJnaW4tYmxvY2s6ICRrZW5kby10aW1lbGluZS1zcGFjaW5nLXk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAuay10aW1lbGluZS12ZXJ0aWNhbCxcbiAgICAuay10aW1lbGluZS1ob3Jpem9udGFsIC5rLXRpbWVsaW5lLXRyYWNrLXdyYXAge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tdGltZWxpbmUtdHJhY2stYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLXZlcnRpY2FsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAka2VuZG8tdGltZWxpbmUtdmVydGljYWwtcGFkZGluZy13aXRoLWRhdGVzLWNhbGM7XG5cbiAgICAgICAgJi5rLXRpbWVsaW5lLWRhdGVzLWhpZGRlbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby10aW1lbGluZS12ZXJ0aWNhbC1wYWRkaW5nLWNhbGM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXNpemU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1sZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWZsYWctd3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRrZW5kby10aW1lbGluZS1zcGFjaW5nLXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1mbGFnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWRhdGUtd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRrZW5kby10aW1lbGluZS10cmFjay1ldmVudC1vZmZzZXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTUwJSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1ldmVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdGltZWxpbmUtc3BhY2luZy15O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGtlbmRvLXRpbWVsaW5lLWl0ZW1zLXBhZGRpbmc7XG5cbiAgICAgICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8tdGltZWxpbmUtZXZlbnQtbWluLWhlaWdodC1jYWxjO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tdGltZWxpbmUtZXZlbnQtd2lkdGg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tY2FyZC1ib3JkZXItcmFkaXVzOyAvLyBJbiB2ZXJ0aWNhbCBjb2xsYXBzZWQgbW9kZSB0aGVyZSBzaG9sZCBiZSBhIGJvdHRvbSBib3JkZXIgcmFkaXVzXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmstY2FyZC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgICAgICAuay1ldmVudC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLWV2ZW50LWNvbGxhcHNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IC0ka2VuZG8taWNvbi1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuay1jb2xsYXBzZWQge1xuICAgICAgICAgICAgICAgIC5rLWNhcmQtYm9keSxcbiAgICAgICAgICAgICAgICAuay1jYXJkLWFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5rLWV2ZW50LWNvbGxhcHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jaXJjbGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWV2ZW50LW9mZnNldDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtIGstbWF0aC1kaXYoICRrZW5kby10aW1lbGluZS1jaXJjbGUtd2lkdGgsIDIgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuay10aW1lbGluZS1hbHRlcm5hdGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby10aW1lbGluZS1zcGFjaW5nLXg7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWZsYWctd3JhcCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWZsYWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtZXZlbnQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgICYuay1yZXZlcnNlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAgICAgICAgIC5rLXRpbWVsaW5lLWRhdGUtd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby10aW1lbGluZS1pdGVtcy1wYWRkaW5nO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmstdGltZWxpbmUtY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmstY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAka2VuZG8tdGltZWxpbmUtaXRlbXMtcGFkZGluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtY2FyZCxcbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWRhdGUtd3JhcCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtZGF0ZS13cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmstdGltZWxpbmUtY2lyY2xlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtaG9yaXpvbnRhbCB7XG5cbiAgICAgICAgLmstdGltZWxpbmUtdHJhY2staXRlbSB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgMjAlOyAvLyAyMCUgYXJlIGRlZmF1bHQsIHRoaXMgd2lsbCBiZSBjYWxjdWxhdGVkIHdoZW4gcmVuZGVyZWRcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstdGltZWxpbmUtZmxhZy13cmFwOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1kYXRlLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRrZW5kby10aW1lbGluZS1kYXRlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jYXJkIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWV2ZW50cy1saXN0IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAka2VuZG8tdGltZWxpbmUtdHJhY2stbWFyZ2luLWJvdHRvbTtcblxuICAgICAgICAgICAgLmstdGltZWxpbmUtc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAka2VuZG8tdGltZWxpbmUtZXZlbnQtaGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgLmstdGltZWxpbmUtZXZlbnQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS10cmFjay13cmFwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGstbWF0aC1kaXYoICRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1oZWlnaHQsIDIgKSAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvdHRvbS1jYWxjO1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRrZW5kby10aW1lbGluZS10cmFjay1zdGFydC1jYWxjO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAka2VuZG8tdGltZWxpbmUtdHJhY2stZW5kLWNhbGM7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLXNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAka2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctd2lkdGg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICAuay10aW1lbGluZS1zY3JvbGxhYmxlLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10aW1lbGluZS1mbGFnIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAka2VuZG8tdGltZWxpbmUtZmxhZy1tYXJnaW4tYm90dG9tLWNhbGM7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJGtlbmRvLXRpbWVsaW5lLWhvcml6b250YWwtZmxhZy1taW4td2lkdGg7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tdGltZWxpbmUtZmxhZy1jYWxsb3V0LXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby10aW1lbGluZS1mbGFnLWNhbGxvdXQtaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstdGltZWxpbmUtc2Nyb2xsYWJsZS13cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAka2VuZG8tdGltZWxpbmUtdHJhY2std3JhcC1wYWRkaW5nLWJvdHRvbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtYXJyb3cge1xuICAgICAgICB3aWR0aDogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IGNhbGMoI3ska2VuZG8tdGltZWxpbmUtdHJhY2stc2l6ZX0gKyAjeyRrZW5kby10aW1lbGluZS10cmFjay13cmFwLXBhZGRpbmctYm90dG9tfSArIDIgKiAjeyRrZW5kby10aW1lbGluZS10cmFjay1ib3JkZXItd2lkdGh9KTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtYXJyb3ctbGVmdCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmstdGltZWxpbmUtYXJyb3ctcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuay10aW1lbGluZS1tb2JpbGUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXg7XG4gICAgICAgIG1hcmdpbi1ibG9jazogJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG5cbiAgICAgICAgLmstdGltZWxpbmUtZmxhZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRrZW5kby10aW1lbGluZS1tb2JpbGUtZmxhZy1tYXgtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGltZWxpbmUtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAuay10aW1lbGluZS1mbGFnLXdyYXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstdGltZWxpbmUtdmVydGljYWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAka2VuZG8tdGltZWxpbmUtbW9iaWxlLXZlcnRpY2FsLXBhZGRpbmctd2l0aC1kYXRlcy1jYWxjO1xuXG4gICAgICAgICAgICAmLmstdGltZWxpbmUtZGF0ZXMtaGlkZGVuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRrZW5kby10aW1lbGluZS1tb2JpbGUtdmVydGljYWwtcGFkZGluZy1jYWxjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstdGltZWxpbmUtYWx0ZXJuYXRpbmcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGtlbmRvLXRpbWVsaW5lLW1vYmlsZS1zcGFjaW5nLXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5rLXRpbWVsaW5lLWNhcmQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG5cbiAgICAgICAgICAgICAgICAuay1jYXJkIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXRpbWVsaW5lLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZWxpbmUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGltZWxpbmUtLWxheW91dCgpIHtcblxuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWVsaW5lLS1sYXlvdXQtYmFzZSgpO1xuXG4gICAgLmstdGltZWxpbmUtY2FyZCAuay1jYXJkLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAka2VuZG8tY2FyZC1oZWFkZXItcGFkZGluZy14O1xuICAgIH1cblxufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL190aGVtZS5zY3NzXCI7IC0+IHNjc3MvdGltZWxpbmUvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvdGltZWxpbmUvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy90aW1lbGluZS9fdGhlbWUuc2Nzc1xuQG1peGluIGtlbmRvLXRpbWVsaW5lLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLmstdGltZWxpbmUge1xuICAgICAgICAuay10aW1lbGluZS1mbGFnIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tdGltZWxpbmUtZmxhZy10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRpbWVsaW5lLWZsYWctYmc7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1jaXJjbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXRpbWVsaW5lLWNpcmNsZS1iZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXRpbWVsaW5lLWNhcmQge1xuICAgICAgICAgICAgLmstY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jYXJkLWJnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tY2FyZC10ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay1jYXJkLWJvZHkge1xuXG4gICAgICAgICAgICAgICAgLy8gU2Nyb2xsYmFyIHN0eWxlcyBmb3IgTW96aWxsYVxuICAgICAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogJGtlbmRvLWNhcmQtYm9yZGVyICRrZW5kby1jYXJkLWJnO1xuXG4gICAgICAgICAgICAgICAgLy8gU2Nyb2xsYmFyIHN0eWxlcyBmb3IgQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tY2FyZC1iZztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1jYXJkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlXG4gICAgICAgIC5rLXRpbWVsaW5lLWRhdGUge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1ib2R5LXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuay10aW1lbGluZS1hcnJvdy5rLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IC8vIFRoZSBhcnJvdyBidXR0b24gaW4gZGlzYWJsZWQgbW9kZSBzaG91bGQgaGF2ZSBhIHNvbGlkIGJhY2tncm91bmRcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tdGltZWxpbmUtdHJhY2stYXJyb3ctZGlzYWJsZWQtdGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10aW1lbGluZS10cmFjay1hcnJvdy1kaXNhYmxlZC1iZztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWFycm93LWRpc2FibGVkLWJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLXZlcnRpY2FsLFxuICAgIC5rLXRpbWVsaW5lLWhvcml6b250YWwgLmstdGltZWxpbmUtdHJhY2std3JhcCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby10aW1lbGluZS10cmFjay1iZztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLXRpbWVsaW5lLXRyYWNrLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXRpbWVsaW5lLWhvcml6b250YWwgLmstdGltZWxpbmUtZmxhZzo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tdGltZWxpbmUtZmxhZy1iZztcbiAgICB9XG5cbiAgICAuay10aW1lbGluZS10cmFjay1pdGVtLmstZm9jdXMgLmstdGltZWxpbmUtY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tdGltZWxpbmUtdHJhY2staXRlbS1mb2N1cy1zaGFkb3cgKTtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tdGltZWxpbmUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWVsaW5lLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tdGltZWxpbmUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWVsaW5lLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tdGltZWxpbmUtLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInRpbWVsaW5lXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXRpbWVsaW5lLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tdGltZWxpbmUtLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lbGluZS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vcGRmLXZpZXdlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3BkZi12aWV3ZXIvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicGRmLXZpZXdlclwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImNvbWJvYm94XCIsXG4gICAgICAgIFwiZGlhbG9nXCIsXG4gICAgICAgIFwiZHJvcHpvbmVcIixcbiAgICAgICAgXCJpY29uXCIsXG4gICAgICAgIFwicGFnZXJcIixcbiAgICAgICAgXCJ0b29sYmFyXCIsXG4gICAgICAgIFwid2luZG93XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tYm9ib3gvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21ib2JveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2xiYXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sYmFyL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vZGlhbG9nL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZGlhbG9nL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcGFnZXIvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wYWdlci9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2ljb25zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvaWNvbnMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9kcm9wem9uZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Ryb3B6b25lL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vd2luZG93L19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvd2luZG93L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9wZGYtdmlld2VyL192YXJpYWJsZXMuc2Nzc1xuLy8gUERGdmlld2VyXG5cbi8vLyBUaGUgYm9yZGVyIHdpZHRoIG9mIHRoZSBQREZWaWV3ZXIuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IGZhbWlseSBvZiB0aGUgUERGVmlld2VyLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgUERGVmlld2VyLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBERlZpZXdlci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci1iZzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUERGVmlld2VyIFRvb2xiYXIuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXRvb2xiYXItdGV4dDogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4vLy8gVGhlIGdyYWRpZW50IG9mIHRoZSBQREZWaWV3ZXIgVG9vbGJhci5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci1ncmFkaWVudDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgY2FudmFzLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1jYW52YXMtYmc6ICRrZW5kby1hcHAtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBERlZpZXdlciBjYW52YXMuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLWNhbnZhcy10ZXh0OiBudWxsICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFBERlZpZXdlciBjYW52YXMuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLWNhbnZhcy1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgUERGVmlld2VyIHBhZ2UuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXBhZ2Utc3BhY2luZzogMzBweCAhZGVmYXVsdDtcblxuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgcGFnZS5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItcGFnZS1iZzogd2hpdGUgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBERlZpZXdlciBwYWdlLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1wYWdlLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgcGFnZS5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItcGFnZS1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIFBERlZpZXdlciBwYWdlLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1wYWdlLXNoYWRvdzogay1lbGV2YXRpb24oMykgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQREZWaWV3ZXIgc2VhcmNoIHBhbmVsLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtcGFkZGluZy14OiAka2VuZG8tdG9vbGJhci1tZC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFBERlZpZXdlciBzZWFyY2ggcGFuZWwuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1wYWRkaW5nLXk6IGNhbGMoICN7JGtlbmRvLXRvb2xiYXItbWQtcGFkZGluZy14fSAqIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgUERGVmlld2VyIHNlYXJjaCBwYW5lbC5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLXNwYWNpbmc6ICRrZW5kby10b29sYmFyLW1kLXNwYWNpbmcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgUERGVmlld2VyIHNlYXJjaCBwYW5lbC5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBQREZWaWV3ZXIgc2VhcmNoIHBhbmVsLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLXJhZGl1czogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQREZWaWV3ZXIgc2VhcmNoIHBhbmVsLlxuLy8vIEBncm91cCBwZGYtdmlld2VyXG4ka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFBERlZpZXdlciBzZWFyY2ggcGFuZWwuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgUERGVmlld2VyIHNlYXJjaCBwYW5lbC5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNoYWRvdyBvZiB0aGUgUERGVmlld2VyIHNlYXJjaCBwYW5lbC5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgbWF0Y2hlcyBjb250YWluZXIgaW4gdGhlIFBERlZpZXdlciBzZWFyY2ggcGFuZWwuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1tYXRjaGVzLXNwYWNpbmc6ICRrZW5kby1wYWRkaW5nLXNtLXggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFBERlZpZXdlciBzZWxlY3Rpb24uXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXNlbGVjdGlvbi1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBERlZpZXdlciBoaWdobGlnaHQuXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1oaWdobGlnaHQtYmc6ICRrZW5kby1ib2R5LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFBERlZpZXdlciBoaWdobGlnaHQgbWFyay5cbi8vLyBAZ3JvdXAgcGRmLXZpZXdlclxuJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLWhpZ2hsaWdodC1tYXJrLWJnOiB5ZWxsb3cgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUERGVmlld2VyIGljb24uXG4vLy8gQGdyb3VwIHBkZi12aWV3ZXJcbiRrZW5kby1wZGYtdmlld2VyLWljb24tdGV4dDogJGtlbmRvLWRyb3B6b25lLWljb24tdGV4dCAhZGVmYXVsdDtcblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fbGF5b3V0LnNjc3NcIjsgLT4gc2Nzcy9wZGYtdmlld2VyL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wZGYtdmlld2VyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BkZi12aWV3ZXIvX2xheW91dC5zY3NzXG5AbWl4aW4ga2VuZG8tcGRmLXZpZXdlci0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBQREYgVmlld2VyXG4gICAgLmstcGRmLXZpZXdlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLXBkZi12aWV3ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tcGRmLXZpZXdlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tcGRmLXZpZXdlci1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tcGRmLXZpZXdlci1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50O1xuXG4gICAgICAgIC8vIFRvb2xiYXJcbiAgICAgICAgLmstdG9vbGJhciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgICAgLmstdG9vbGJhciAuay1wYWdlci13cmFwLFxuICAgICAgICAuay10b29sYmFyIC5rLXBhZ2VyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQ2FudmFzXG4gICAgICAgIC5rLWNhbnZhcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAgICAgJi5rLWVuYWJsZS10ZXh0LXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmstZW5hYmxlLXBhbm5pbmcge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZ3JhYjtcblxuICAgICAgICAgICAgICAgIHNwYW46OnNlbGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gUGFnZXNcbiAgICAgICAgLmstcGRmLXZpZXdlci1wYWdlcyB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLXBhZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAka2VuZG8tcGRmLXZpZXdlci1wYWdlLXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuXG4gICAgICAgICAgICBjYW52YXMge1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuay10ZXh0LWxheWVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjI7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1wZGYtdmlld2VyLXNlbGVjdGlvbi1saW5lLWhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuay1zZWFyY2gtaGlnaGxpZ2h0LW1hcmsge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstYmxhbmstcGFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAgIC5rLXVwbG9hZCxcbiAgICAgICAgICAgIC5rLWRyb3B6b25lLFxuICAgICAgICAgICAgLmstZHJvcHpvbmUtaW5uZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBTZWFyY2hcbiAgICAuay1wZGYtdmlld2VyLWNhbnZhcyA+IC5rLXNlYXJjaC1wYW5lbCB7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyggKCN7JGtlbmRvLWJ1dHRvbi1jYWxjLXNpemV9ICsgKCAyICogI3ska2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtYm9yZGVyLXdpZHRofSApICsgKCAyICogI3ska2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtcGFkZGluZy15fSApKSAqIC0xICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtcGFuZWwtcGFkZGluZy14O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1ib3JkZXItcmFkaXVzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6ICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1zcGFjaW5nO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgLmstc2VhcmNoLWRpYWxvZy1kcmFnaGFuZGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstdGV4dGJveCB7XG4gICAgICAgICAgICB3aWR0aDogMTBlbTtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG5cbiAgICAgICAgICAgIC5rLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmstc2VhcmNoLW1hdGNoZXMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBnYXA6ICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC1tYXRjaGVzLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcGRmLXZpZXdlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBkZi12aWV3ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcGRmLXZpZXdlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXBkZi12aWV3ZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9wZGYtdmlld2VyL190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3BkZi12aWV3ZXIvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wZGYtdmlld2VyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tcGRmLXZpZXdlci0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIFBERiBWaWV3ZXJcbiAgICAuay1wZGYtdmlld2VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci1iZyxcbiAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLWJvcmRlclxuICAgICAgICApO1xuXG5cbiAgICAgICAgLy8gVG9vbGJhclxuICAgICAgICAuay10b29sYmFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXRvb2xiYXItYmcsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItdG9vbGJhci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQ2FudmFzXG4gICAgICAgIC5rLWNhbnZhcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLWNhbnZhcy10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLWNhbnZhcy1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci1jYW52YXMtYm9yZGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBQYWdlXG4gICAgICAgIC5rLXBhZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci1wYWdlLXRleHQsXG4gICAgICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItcGFnZS1iZyxcbiAgICAgICAgICAgICAgICAka2VuZG8tcGRmLXZpZXdlci1wYWdlLWJvcmRlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1wZGYtdmlld2VyLXBhZ2Utc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAuay1ibGFuay1wYWdlID4gLmstaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY29sb3I6ICRrZW5kby1wZGYtdmlld2VyLWljb24tdGV4dCApO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTZWFyY2hcbiAgICAgICAgLmstc2VhcmNoLWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tcGRmLXZpZXdlci1zZWFyY2gtaGlnaGxpZ2h0LWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2VhcmNoLWhpZ2hsaWdodC1tYXJrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZzogJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLWhpZ2hsaWdodC1tYXJrLWJnICk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5rLXBkZi12aWV3ZXItY2FudmFzID4gLmstc2VhcmNoLXBhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1wZGYtdmlld2VyLXNlYXJjaC1wYW5lbC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLWJnLFxuICAgICAgICAgICAgJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLWJvcmRlcixcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXBkZi12aWV3ZXItc2VhcmNoLXBhbmVsLXNoYWRvdyApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wZGYtdmlld2VyLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wZGYtdmlld2VyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tcGRmLXZpZXdlci0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcGRmLXZpZXdlci0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXBkZi12aWV3ZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInBkZi12aWV3ZXJcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcGRmLXZpZXdlci0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXBkZi12aWV3ZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1wZGYtdmlld2VyLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9zY3JvbGxlci9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Njcm9sbGVyL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcInNjcm9sbGVyXCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiaWNvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9zY3JvbGxlci9fdmFyaWFibGVzLnNjc3Ncbi8vIFNjcm9sbGVyXG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvc2Nyb2xsZXIvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Njcm9sbGVyL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Njcm9sbGVyL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXNjcm9sbGVyLS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIExheW91dFxuICAgIC5rbS1zY3JvbGx2aWV3LFxuICAgIC5rbS1zY3JvbGwtY29udGFpbmVyIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgfVxuICAgIC5rbS1zY3JvbGwtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmttLXNjcm9sbC1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG5cbiAgICAvLyBQdWxsIHRvIHJlZnJlc2hcbiAgICAua20tc2Nyb2xsZXItcHVsbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsaW5lLWhlaWdodDogM2VtO1xuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTNlbSwgMCk7XG4gICAgfVxuICAgIC5rbS1zY3JvbGxlci1wdWxsIC5rbS10ZW1wbGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuICAgIC5rbS1sb2FkLW1vcmUgLmttLWljb24sXG4gICAgLmttLXdpZGdldCAua20tc2Nyb2xsZXItcHVsbCAua20taWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgbGluZWFyO1xuICAgIH1cbiAgICAua20td2lkZ2V0IC5rbS1zY3JvbGxlci1yZWxlYXNlIC5rbS1pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gICAgLmttLXdpZGdldCAua20tc2Nyb2xsZXItcmVmcmVzaCAua20taWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG5cbiAgICAvLyBTY3JvbGxiYXJcbiAgICAua20tdG91Y2gtc2Nyb2xsYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDIwMDAwMDtcbiAgICAgICAgaGVpZ2h0OiAuNGVtO1xuICAgICAgICB3aWR0aDogLjRlbTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBsaW5lYXI7XG5cbiAgICAgICAgLmstbWFwICYsXG4gICAgICAgIC5rLWRpYWdyYW0gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5rbS12ZXJ0aWNhbC1zY3JvbGxiYXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgLmttLWhvcml6b250YWwtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1zY3JvbGxlci0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbGVyLS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNjcm9sbGVyLS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsZXItLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zY3JvbGxlci9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9zY3JvbGxlci9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Njcm9sbGVyL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc2Nyb2xsZXItLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAua20tdG91Y2gtc2Nyb2xsYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc2Nyb2xsZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tc2Nyb2xsZXItLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbGVyLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tc2Nyb2xsZXItLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInNjcm9sbGVyXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbGVyLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsZXItLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGxlci0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vc2Nyb2xsdmlldy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3Njcm9sbHZpZXcvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwic2Nyb2xsdmlld1wiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcImljb25cIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvYnV0dG9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3Mvc2Nyb2xsdmlldy9fdmFyaWFibGVzLnNjc3Ncbi8vIFNjcm9sbFZpZXdcblxuLy8vIFRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgU2Nyb2xsVmlldy5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgZmFtaWx5IG9mIHRoZSBTY3JvbGxWaWV3LlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIFNjcm9sbFZpZXcuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIFNjcm9sbFZpZXcuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldy5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3LlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3LlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIFNjcm9sbFZpZXcgcGFnZSBidXR0b24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZTogMTBweCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldyBwYWdlIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1iZzogJGtlbmRvLWJ1dHRvbi1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3IHBhZ2UgYnV0dG9uLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLWJvcmRlcjogJGtlbmRvLWJ1dHRvbi1ib3JkZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHByaW1hcnkgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldyBwYWdlIGJ1dHRvbi5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1wcmltYXJ5LWJnOiAka2VuZG8tY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbi8vLyBUaGUgcHJpbWFyeSBib3JkZXIgY29sb3Igb2YgdGhlIFNjcm9sbFZpZXcgcGFnZSBidXR0b24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tcHJpbWFyeS1ib3JkZXI6ICRrZW5kby1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuLy8vIFRoZSBib3ggc2hhZG93IG9mIHRoZSBTY3JvbGxWaWV3IHBhZ2UgYnV0dG9uLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoIGJsYWNrLCAuMTMgKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBvZmZzZXQgb2YgdGhlIFNjcm9sbFZpZXcgcGFnZXIuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLW9mZnNldDogMCAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBTY3JvbGxWaWV3IHBhZ2VyIGl0ZW1zLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1wYWdlci1pdGVtLXNwYWNpbmc6IDIwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgU2Nyb2xsVmlldyBwYWdlciBpdGVtcy5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgaGVpZ2h0IG9mIHRoZSBTY3JvbGxWaWV3IHBhZ2VyLlxuLy8vIEBncm91cCBzY3JvbGx2aWV3XG4ka2VuZG8tc2Nyb2xsdmlldy1wYWdlci1oZWlnaHQ6IGNhbGMoICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1zaXplfSArICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1ib3JkZXItd2lkdGggKiAyfSArICN7JGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1zcGFjaW5nICogMn0gKSAhZGVmYXVsdDtcblxuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBoaWdobGlnaHQgb3ZlciB0aGUgdGFwcGVkIFNjcm9sbFZpZXcgbmF2aWdhdGlvbiBhcnJvd3MuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LWFycm93LXRhcC1oaWdobGlnaHQtY29sb3I6ICRrZW5kby1jb2xvci1yZ2JhLXRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8vIFRoZSBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldyBuYXZpZ2F0aW9uIGFycm93cy5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4vLy8gVGhlIGJveCBzaGFkb3cgb2YgdGhlIFNjcm9sbFZpZXcgbmF2aWdhdGlvbiBhcnJvd3MuXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24taWNvbi1zaGFkb3c6IHJnYmEoIGJsYWNrLCAuMyApIDAgMCAxNXB4ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3IG5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tYmc6IHJnYmEoIGJsYWNrLCAwICkgIWRlZmF1bHQ7XG4vLy8gVGhlIG9wYWNpdHkgb2YgdGhlIFNjcm9sbFZpZXcgbmF2aWdhdGlvbi5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1kZWZhdWx0LW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuLy8vIFRoZSBob3ZlciBvcGFjaXR5IG9mIHRoZSBTY3JvbGxWaWV3IG5hdmlnYXRpb24uXG4vLy8gQGdyb3VwIHNjcm9sbHZpZXdcbiRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24taG92ZXItb3BhY2l0eTogMSAhZGVmYXVsdDtcbi8vLyBUaGUgaG92ZXIgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgU2Nyb2xsVmlldyBuYXZpZ2F0aW9uIGFycm93cy5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1ob3Zlci1zcGFuLWJnOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFNjcm9sbFZpZXcgcGFnZXIgaW4gbGlnaHQgbW9kZS5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctbGlnaHQtYmc6IHJnYmEoIHdoaXRlLCAuNCApICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBTY3JvbGxWaWV3IHBhZ2VyIGluIGRhcmsgbW9kZS5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctZGFyay1iZzogcmdiYSggYmxhY2ssIC40ICkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZHVyYXRpb24gb2YgdGhlIFNjcm9sbFZpZXcgdHJhbnNpdGlvbi5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzICFkZWZhdWx0O1xuLy8vIFRoZSB0aW1pbmcgZnVuY3Rpb24gb2YgdGhlIFNjcm9sbFZpZXcgdHJhbnNpdGlvbi5cbi8vLyBAZ3JvdXAgc2Nyb2xsdmlld1xuJGtlbmRvLXNjcm9sbHZpZXctdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3Njcm9sbHZpZXcvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Njcm9sbHZpZXcvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2Nyb2xsdmlldy9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1zY3JvbGx2aWV3LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC5rLXNjcm9sbHZpZXcge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zY3JvbGx2aWV3LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1zY3JvbGx2aWV3LWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1zY3JvbGx2aWV3LWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1zY3JvbGx2aWV3LWxpbmUtaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgID4gLmstc2Nyb2xsdmlldy12aWV3IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy13cmFwLmstc2Nyb2xsdmlldy1hbmltYXRlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoIHZhcigtLWtlbmRvLXNjcm9sbHZpZXctdmlld3MsIDEpICogMTAwJSApO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAka2VuZG8tc2Nyb2xsdmlldy10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGtlbmRvLXNjcm9sbHZpZXctdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggY2FsYyggLTEwMCUgLyB2YXIoLS1rZW5kby1zY3JvbGx2aWV3LXZpZXdzLCAxKSAqICggdmFyKC0ta2VuZG8tc2Nyb2xsdmlldy1jdXJyZW50LCAxKSAtIDEpICkgKTtcblxuICAgICAgICBbZGlyPVwicnRsXCJdICYsXG4gICAgICAgIC5rLXJ0bCAmIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggY2FsYyggMTAwJSAvIHZhcigtLWtlbmRvLXNjcm9sbHZpZXctdmlld3MsIDEpICogKCB2YXIoLS1rZW5kby1zY3JvbGx2aWV3LWN1cnJlbnQsIDEpIC0gMSkgKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstc2Nyb2xsdmlldy12aWV3IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC8gdmFyKC0ta2VuZG8tc2Nyb2xsdmlldy12aWV3cywgMSkgKTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBjYWxjKCAxMDAlIC8gdmFyKC0ta2VuZG8tc2Nyb2xsdmlldy12aWV3cywgMSkgKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1uYXYtd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAka2VuZG8tc2Nyb2xsdmlldy1wYWdlci1vZmZzZXQ7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaGVpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAga2VuZG8tc2Nyb2xsdmlldy5rLXNjcm9sbHZpZXcga2VuZG8tc2Nyb2xsdmlldy1wYWdlciB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIGtlbmRvLXNjcm9sbHZpZXcuay1zY3JvbGx2aWV3IC5rLXNjcm9sbHZpZXctbmF2IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1uYXYge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWl0ZW0tc3BhY2luZztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXctbmF2ID4gLmstbGluayB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogay1tYXRoLWRpdiggJGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1zcGFjaW5nLCAyICk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNpemU7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1zaXplO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWl0ZW0tYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAoJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1zaXplICsgJGtlbmRvLXNjcm9sbHZpZXctcGFnZXItaXRlbS1zcGFjaW5nKTtcbiAgICAgICAgICAgIGhlaWdodDogKCRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2l6ZSArICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLWl0ZW0tc3BhY2luZyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3LW5leHQsXG4gICAgLmstc2Nyb2xsdmlldy1wcmV2IHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgICAgIHRvcDogMjAlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3LXByZXYge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1uZXh0IHtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICB9XG5cblxuICAgIC5rLXNjcm9sbHZpZXctYW5pbWF0aW9uIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1zY3JvbGx2aWV3LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsdmlldy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zY3JvbGx2aWV3LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsdmlldy0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3Njcm9sbHZpZXcvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2Nyb2xsdmlldy9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3Njcm9sbHZpZXcvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1zY3JvbGx2aWV3LS10aGVtZS1iYXNlKCkge1xuXG4gICAuay1zY3JvbGx2aWV3IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1zY3JvbGx2aWV3LXRleHQsXG4gICAgICAgICAgICAka2VuZG8tc2Nyb2xsdmlldy1iZyxcbiAgICAgICAgICAgICRrZW5kby1zY3JvbGx2aWV3LWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgICYuay1zY3JvbGx2aWV3LWRhcmsge1xuICAgICAgICAgICAga2VuZG8tc2Nyb2xsdmlldy1wYWdlcixcbiAgICAgICAgICAgIC5rLXNjcm9sbHZpZXctbmF2LXdyYXAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LWRhcmstYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuay1zY3JvbGx2aWV3LW5leHQsXG4gICAgICAgICAgICAuay1zY3JvbGx2aWV3LXByZXYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tc2Nyb2xsdmlldy1kYXJrLWJnO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmstc2Nyb2xsdmlldy1saWdodCB7XG4gICAgICAgICAgICBrZW5kby1zY3JvbGx2aWV3LXBhZ2VyLFxuICAgICAgICAgICAgLmstc2Nyb2xsdmlldy1uYXYtd3JhcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLXNjcm9sbHZpZXctbGlnaHQtYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNjcm9sbHZpZXc6Zm9jdXMsXG4gICAgLmstc2Nyb2xsdmlldy13cmFwOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgIH1cbiAgICAuay1zY3JvbGx2aWV3LWVsZW1lbnRzIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3I7XG4gICAgfVxuXG4gICAgLmstc2Nyb2xsdmlldy1uZXh0LFxuICAgIC5rLXNjcm9sbHZpZXctcHJldiB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWJnO1xuICAgICAgICB0ZXh0LXNoYWRvdzogJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1pY29uLXNoYWRvdztcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1kZWZhdWx0LW9wYWNpdHk7XG4gICAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLXNjcm9sbHZpZXctYXJyb3ctdGFwLWhpZ2hsaWdodC1jb2xvcjtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWhvdmVyLW9wYWNpdHk7XG5cbiAgICAgICAgICAgIC5rLWljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yKCAka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLXNoYWRvdyApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWNvbG9yO1xuICAgICAgICAgICAgb3BhY2l0eTogJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1ob3Zlci1vcGFjaXR5O1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyByZWZhY3RvciB3aGVuIGh0dHBzOi8vZ2l0aHViLmNvbS90ZWxlcmlrL2tlbmRvLWFuZ3VsYXItc2Nyb2xsdmlldy9pc3N1ZXMvMTMwIGlzIGRvbmVcbiAgICAuay1zY3JvbGx2aWV3LW5hdiA+IC5rLWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiAka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLWJnO1xuICAgICAgICBib3JkZXI6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tYm9yZGVyO1xuXG4gICAgICAgICYuay1wcmltYXJ5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tcHJpbWFyeS1iZztcbiAgICAgICAgICAgIGJvcmRlcjogJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1wcmltYXJ5LWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuay1mb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3IoICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2hhZG93ICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmstaG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc2Nyb2xsdmlldy0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsdmlldy0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXNjcm9sbHZpZXctLXRoZW1lKCkge1xuXG4gICAgLy8gcmVmYWN0b3Igd2hlbiBodHRwczovL2dpdGh1Yi5jb20vdGVsZXJpay9rZW5kby1hbmd1bGFyLXNjcm9sbHZpZXcvaXNzdWVzLzEzMCBpcyBkb25lXG4gICAgLmstc2Nyb2xsdmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tc2Nyb2xsdmlldy10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXNjcm9sbHZpZXctYmcsXG4gICAgICAgICAgICAka2VuZG8tc2Nyb2xsdmlldy1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmLmstc2Nyb2xsdmlldy1kYXJrIHtcbiAgICAgICAgICAgIGtlbmRvLXNjcm9sbHZpZXctcGFnZXIsXG4gICAgICAgICAgICAuay1zY3JvbGx2aWV3LW5hdi13cmFwIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc2Nyb2xsdmlldy1kYXJrLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmstc2Nyb2xsdmlldy1uZXh0LFxuICAgICAgICAgICAgLmstc2Nyb2xsdmlldy1wcmV2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGtlbmRvLXNjcm9sbHZpZXctZGFyay1iZztcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5rLXNjcm9sbHZpZXctbGlnaHQge1xuICAgICAgICAgICAga2VuZG8tc2Nyb2xsdmlldy1wYWdlcixcbiAgICAgICAgICAgIC5rLXNjcm9sbHZpZXctbmF2LXdyYXAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LWxpZ2h0LWJnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3OmZvY3VzLFxuICAgIC5rLXNjcm9sbHZpZXctd3JhcDpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICB9XG5cbiAgICAuay1zY3JvbGx2aWV3LW5leHQsXG4gICAgLmstc2Nyb2xsdmlldy1wcmV2IHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tYmc7XG4gICAgICAgIHRleHQtc2hhZG93OiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWljb24tc2hhZG93O1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWRlZmF1bHQtb3BhY2l0eTtcbiAgICAgICAgb3V0bGluZS13aWR0aDogMDtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmstZm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24tY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAka2VuZG8tc2Nyb2xsdmlldy1uYXZpZ2F0aW9uLWhvdmVyLW9wYWNpdHk7XG4gICAgICAgICAgICAuay1pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2hhZG93O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24taG92ZXItc3Bhbi1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuay1ob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLXNjcm9sbHZpZXctbmF2aWdhdGlvbi1jb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRrZW5kby1zY3JvbGx2aWV3LW5hdmlnYXRpb24taG92ZXItb3BhY2l0eTtcblxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuay1zY3JvbGx2aWV3LW5hdiA+IC5rLWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tc2Nyb2xsdmlldy1wYWdlYnV0dG9uLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tYm9yZGVyO1xuXG4gICAgICAgICYuay1wcmltYXJ5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tcHJpbWFyeS1iZztcbiAgICAgICAgICAgIGJvcmRlcjogJGtlbmRvLXNjcm9sbHZpZXctcGFnZWJ1dHRvbi1wcmltYXJ5LWJvcmRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5rLWhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRrZW5kby1zY3JvbGx2aWV3LXBhZ2VidXR0b24tc2hhZG93O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNjcm9sbHZpZXctLXN0eWxlcygpIHtcbiAgICBAaW5jbHVkZSBtb2R1bGUtcmVuZGVyKCBcInNjcm9sbHZpZXdcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsdmlldy0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbHZpZXctLXRoZW1lKCk7XG4gICAgfVxufVxuXG5AaWYgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zY3JvbGx2aWV3LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9wcm9tcHQvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wcm9tcHQvX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwicHJvbXB0XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvbW1vbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvbW1vbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb21wb25lbnRcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3ZhcmlhYmxlcy5zY3NzXCI7IC0+IHNjc3MvcHJvbXB0L192YXJpYWJsZXMuc2Nzc1xuLy8gUHJvbXB0XG5cbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUHJvbXB0LlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQcm9tcHQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQcm9tcHQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFByb21wdCBoZWFkZXIuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1oZWFkZXItdGV4dDogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgUHJvbXB0IGhlYWRlci5cbi8vLyBAZ3JvdXAgcHJvbXB0XG4ka2VuZG8tcHJvbXB0LWhlYWRlci1iZzogJGtlbmRvLWNvbXBvbmVudC1iZyAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBQcm9tcHQgaGVhZGVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtaGVhZGVyLWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFByb21wdCBjb250ZW50LlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtY29udGVudC1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBQcm9tcHQgY29udGVudC5cbi8vLyBAZ3JvdXAgcHJvbXB0XG4ka2VuZG8tcHJvbXB0LWNvbnRlbnQtcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgb2YgdGhlIFByb21wdCBjb250ZW50LlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtY29udGVudC1zcGFjaW5nOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIFByb21wdCBjb250ZW50LlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtY29udGVudC10ZXh0OiAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0ICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBQcm9tcHQgY29udGVudC5cbi8vLyBAZ3JvdXAgcHJvbXB0XG4ka2VuZG8tcHJvbXB0LWNvbnRlbnQtYmc6ICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGJvcmRlciBvZiB0aGUgUHJvbXB0IGNvbnRlbnQuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1jb250ZW50LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1oZWFkZXItYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgb2YgdGhlIFByb21wdCBjb250ZW50IGV4cGFuZGVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtZXhwYW5kZXItc3BhY2luZzogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMiApICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIFByb21wdCBzdWdnZXN0aW9uIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgcHJvbXB0XG4ka2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tcGFkZGluZy15OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgUHJvbXB0IHN1Z2dlc3Rpb24gY29udGFpbmVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgUHJvbXB0IHN1Z2dlc3Rpb24gY29udGFpbmVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1ib3JkZXItcmFkaXVzOiAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgdGV4dCBjb2xvciBvZiB0aGUgUHJvbXB0IHN1Z2dlc3Rpb24gY29udGFpbmVyLlxuLy8vIEBncm91cCBwcm9tcHRcbiRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi10ZXh0OiAka2VuZG8tY29tcG9uZW50LXRleHQgIWRlZmF1bHQ7XG4vLy8gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIFByb21wdCBzdWdnZXN0aW9uIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgcHJvbXB0XG4ka2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tYmc6ICRrZW5kby1ib2R5LWJnICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgY29sb3Igb2YgdGhlIFByb21wdCBzdWdnZXN0aW9uIGNvbnRhaW5lci5cbi8vLyBAZ3JvdXAgcHJvbXB0XG4ka2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgZWxldmF0aW9uIG9mIHRoZSBQcm9tcHQgc3VnZ2VzdGlvbiBjb250YWluZXIuXG4vLy8gQGdyb3VwIHByb21wdFxuJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXNoYWRvdzogay1lbGV2YXRpb24oMSkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvcHJvbXB0L19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wcm9tcHQvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvcHJvbXB0L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLXByb21wdC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBQcm9tcHRcbiAgICAuay1wcm9tcHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gQ29udGVudFxuICAgIC5rLXByb21wdC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXByb21wdC1jb250ZW50LXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wcm9tcHQtY29udGVudC1wYWRkaW5nLXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGdhcDogJGtlbmRvLXByb21wdC1jb250ZW50LXNwYWNpbmc7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIC5rLXByb21wdC12aWV3IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGdhcDogJGtlbmRvLXByb21wdC1jb250ZW50LXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLy8gUHJvbXB0IEV4cGFuZGVyXG4gICAgLmstcHJvbXB0LWV4cGFuZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogJGtlbmRvLXByb21wdC1leHBhbmRlci1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5rLXByb21wdC1leHBhbmRlci1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBnYXA6ICRrZW5kby1wcm9tcHQtZXhwYW5kZXItc3BhY2luZztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuay1wcm9tcHQtc3VnZ2VzdGlvbiB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAka2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1wYWRkaW5nLXg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuay1wcm9tcHQtc2V0dGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLy8gQWN0aW9uc1xuICAgIC5rLXByb21wdC1hY3Rpb25zLmstYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tcHJvbXB0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXByb21wdC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb21wdC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdGhlbWUuc2Nzc1wiOyAtPiBzY3NzL3Byb21wdC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wcm9tcHQvX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9wcm9tcHQvX3RoZW1lLnNjc3NcbkBtaXhpbiBrZW5kby1wcm9tcHQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAuay1wcm9tcHQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLXByb21wdC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXByb21wdC1iZyxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLmstcHJvbXB0LWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcHJvbXB0LWhlYWRlci10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLXByb21wdC1oZWFkZXItYmcsXG4gICAgICAgICAgICAka2VuZG8tcHJvbXB0LWhlYWRlci1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1wcm9tcHQtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcHJvbXB0LWNvbnRlbnQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtY29udGVudC1iZyxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtY29udGVudC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAuay1wcm9tcHQtc3VnZ2VzdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tcHJvbXB0LXN1Z2dlc3Rpb24tdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1iZyxcbiAgICAgICAgICAgICRrZW5kby1wcm9tcHQtc3VnZ2VzdGlvbi1ib3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggJGtlbmRvLXByb21wdC1zdWdnZXN0aW9uLXNoYWRvdyApO1xuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1wcm9tcHQtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb21wdC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLXByb21wdC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tcHJvbXB0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJwcm9tcHRcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tcHJvbXB0LS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIERhdGF2aXpcbi8vICNyZWdpb24gQGltcG9ydCBcIi4vZGF0YXZpei9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2RhdGF2aXovX2luZGV4LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vdXRpbHMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy91dGlscy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBNb2R1bGUgbWV0YVxuJF9rZW5kby1tb2R1bGUtbWV0YTogKFxuICAgIG5hbWU6IFwiZGF0YXZpelwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImljb25cIixcbiAgICAgICAgXCJwb3B1cFwiLFxuICAgICAgICBcInRvb2x0aXBcIixcbiAgICApXG4pO1xuXG5cbi8vIERlcGVuZGVuY2llc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vcG9wdXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9wb3B1cC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Rvb2x0aXAvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy90b29sdGlwL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9kYXRhdml6L192YXJpYWJsZXMuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vYnV0dG9uL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9fdmFyaWFibGVzLnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ2hhcnRcblxuLy8vIFRoZSBmaXJzdCBiYXNlIHNlcmllcyBjb2xvciBhbmQgaXRzIGxpZ2h0IGFuZCBkYXJrIHNoYWRlcy5cbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tc2VyaWVzLWE6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYSApLCAkYmx1ZSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWEtZGFyazogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1hLWJvbGQgKSwgay1jb2xvci1taXgoIGJsYWNrLCAka2VuZG8tc2VyaWVzLWEsIDI1JSApKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtYS1kYXJrZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYS1ib2xkZXIgKSwgay1jb2xvci1taXgoIGJsYWNrLCAka2VuZG8tc2VyaWVzLWEsIDUwJSApKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtYS1saWdodDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1hLXN1YnRsZSApLCBrLWNvbG9yLW1peCggd2hpdGUsICRrZW5kby1zZXJpZXMtYSwgMjUlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1hLWxpZ2h0ZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYS1zdWJ0bGVyICksIGstY29sb3ItbWl4KCB3aGl0ZSwgJGtlbmRvLXNlcmllcy1hLCA1MCUgKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgc2Vjb25kIGJhc2Ugc2VyaWVzIGNvbG9yIGFuZCBpdHMgbGlnaHQgYW5kIGRhcmsgc2hhZGVzLlxuLy8vIEBncm91cCBjaGFydHNcbiRrZW5kby1zZXJpZXMtYjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1iICksICRwdXJwbGUpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1iLWRhcms6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYi1ib2xkICksIGstY29sb3ItbWl4KCBibGFjaywgJGtlbmRvLXNlcmllcy1iLCAyNSUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWItZGFya2VyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWItYm9sZGVyICksIGstY29sb3ItbWl4KCBibGFjaywgJGtlbmRvLXNlcmllcy1iLCA1MCUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWItbGlnaHQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtYi1zdWJ0bGUgKSwgay1jb2xvci1taXgoIHdoaXRlLCAka2VuZG8tc2VyaWVzLWIsIDI1JSApKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtYi1saWdodGVyOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWItc3VidGxlciApLCBrLWNvbG9yLW1peCggd2hpdGUsICRrZW5kby1zZXJpZXMtYiwgNTAlICkpICFkZWZhdWx0O1xuXG4vLy8gVGhlIHRoaXJkIGJhc2Ugc2VyaWVzIGNvbG9yIGFuZCBpdHMgbGlnaHQgYW5kIGRhcmsgc2hhZGVzLlxuLy8vIEBncm91cCBjaGFydHNcbiRrZW5kby1zZXJpZXMtYzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1jICksICR0ZWFsKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtYy1kYXJrOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWMtYm9sZCApLCBrLWNvbG9yLW1peCggYmxhY2ssICRrZW5kby1zZXJpZXMtYywgMjUlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1jLWRhcmtlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1jLWJvbGRlciApLCBrLWNvbG9yLW1peCggYmxhY2ssICRrZW5kby1zZXJpZXMtYywgNTAlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1jLWxpZ2h0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWMtc3VidGxlICksIGstY29sb3ItbWl4KCB3aGl0ZSwgJGtlbmRvLXNlcmllcy1jLCAyNSUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWMtbGlnaHRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1jLXN1YnRsZXIgKSwgay1jb2xvci1taXgoIHdoaXRlLCAka2VuZG8tc2VyaWVzLWMsIDUwJSApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb3VydGggYmFzZSBzZXJpZXMgY29sb3IgYW5kIGl0cyBsaWdodCBhbmQgZGFyayBzaGFkZXMuXG4vLy8gQGdyb3VwIGNoYXJ0c1xuJGtlbmRvLXNlcmllcy1kOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWQgKSwgJGdyZWVuKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtZC1kYXJrOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWQtYm9sZCApLCBrLWNvbG9yLW1peCggYmxhY2ssICRrZW5kby1zZXJpZXMtZCwgMjUlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1kLWRhcmtlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1kLWJvbGRlciApLCBrLWNvbG9yLW1peCggYmxhY2ssICRrZW5kby1zZXJpZXMtZCwgNTAlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1kLWxpZ2h0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWQtc3VidGxlICksIGstY29sb3ItbWl4KCB3aGl0ZSwgJGtlbmRvLXNlcmllcy1kLCAyNSUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWQtbGlnaHRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1kLXN1YnRsZXIgKSwgay1jb2xvci1taXgoIHdoaXRlLCAka2VuZG8tc2VyaWVzLWQsIDUwJSApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBmaWZ0aCBiYXNlIHNlcmllcyBjb2xvciBhbmQgaXRzIGxpZ2h0IGFuZCBkYXJrIHNoYWRlcy5cbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tc2VyaWVzLWU6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtZSApLCAkeWVsbG93KSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtZS1kYXJrOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWUtYm9sZCApLCBrLWNvbG9yLW1peCggYmxhY2ssICRrZW5kby1zZXJpZXMtZSwgMjUlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1lLWRhcmtlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1lLWJvbGRlciApLCBrLWNvbG9yLW1peCggYmxhY2ssICRrZW5kby1zZXJpZXMtZSwgNTAlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1lLWxpZ2h0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWUtc3VidGxlICksIGstY29sb3ItbWl4KCB3aGl0ZSwgJGtlbmRvLXNlcmllcy1lLCAyNSUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWUtbGlnaHRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1lLXN1YnRsZXIgKSwgay1jb2xvci1taXgoIHdoaXRlLCAka2VuZG8tc2VyaWVzLWUsIDUwJSApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzaXh0aCBiYXNlIHNlcmllcyBjb2xvciBhbmQgaXRzIGxpZ2h0IGFuZCBkYXJrIHNoYWRlcy5cbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tc2VyaWVzLWY6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBzZXJpZXMtZiApLCAkcmVkKSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtZi1kYXJrOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWYtYm9sZCApLCBrLWNvbG9yLW1peCggYmxhY2ssICRrZW5kby1zZXJpZXMtZiwgMjUlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1mLWRhcmtlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1mLWJvbGRlciApLCBrLWNvbG9yLW1peCggYmxhY2ssICRrZW5kby1zZXJpZXMtZiwgNTAlICkpICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy1mLWxpZ2h0OiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggc2VyaWVzLWYtc3VidGxlICksIGstY29sb3ItbWl4KCB3aGl0ZSwgJGtlbmRvLXNlcmllcy1mLCAyNSUgKSkgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLWYtbGlnaHRlcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGstY29sb3IoIHNlcmllcy1mLXN1YnRsZXIgKSwgay1jb2xvci1taXgoIHdoaXRlLCAka2VuZG8tc2VyaWVzLWYsIDUwJSApKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBzZXJpZXMgY29sb3JzIGluIG9yZGVyOlxuLy8vIGJhc2UsIGxpZ2h0LCBkYXJrLCBsaWdodGVyLCBkYXJrZXJcbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tc2VyaWVzLTE6ICRrZW5kby1zZXJpZXMtYSAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMjogJGtlbmRvLXNlcmllcy1iICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0zOiAka2VuZG8tc2VyaWVzLWMgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTQ6ICRrZW5kby1zZXJpZXMtZCAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtNTogJGtlbmRvLXNlcmllcy1lICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy02OiAka2VuZG8tc2VyaWVzLWYgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTc6ICRrZW5kby1zZXJpZXMtYS1saWdodCAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtODogJGtlbmRvLXNlcmllcy1iLWxpZ2h0ICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy05OiAka2VuZG8tc2VyaWVzLWMtbGlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTEwOiAka2VuZG8tc2VyaWVzLWQtbGlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTExOiAka2VuZG8tc2VyaWVzLWUtbGlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTEyOiAka2VuZG8tc2VyaWVzLWYtbGlnaHQgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTEzOiAka2VuZG8tc2VyaWVzLWEtZGFyayAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMTQ6ICRrZW5kby1zZXJpZXMtYi1kYXJrICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0xNTogJGtlbmRvLXNlcmllcy1jLWRhcmsgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTE2OiAka2VuZG8tc2VyaWVzLWQtZGFyayAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMTc6ICRrZW5kby1zZXJpZXMtZS1kYXJrICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0xODogJGtlbmRvLXNlcmllcy1mLWRhcmsgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTE5OiAka2VuZG8tc2VyaWVzLWEtbGlnaHRlciAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMjA6ICRrZW5kby1zZXJpZXMtYi1saWdodGVyICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0yMTogJGtlbmRvLXNlcmllcy1jLWxpZ2h0ZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTIyOiAka2VuZG8tc2VyaWVzLWQtbGlnaHRlciAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMjM6ICRrZW5kby1zZXJpZXMtZS1saWdodGVyICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0yNDogJGtlbmRvLXNlcmllcy1mLWxpZ2h0ZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTI1OiAka2VuZG8tc2VyaWVzLWEtZGFya2VyICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0yNjogJGtlbmRvLXNlcmllcy1iLWRhcmtlciAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMjc6ICRrZW5kby1zZXJpZXMtYy1kYXJrZXIgIWRlZmF1bHQ7XG4ka2VuZG8tc2VyaWVzLTI4OiAka2VuZG8tc2VyaWVzLWQtZGFya2VyICFkZWZhdWx0O1xuJGtlbmRvLXNlcmllcy0yOTogJGtlbmRvLXNlcmllcy1lLWRhcmtlciAhZGVmYXVsdDtcbiRrZW5kby1zZXJpZXMtMzA6ICRrZW5kby1zZXJpZXMtZi1kYXJrZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1jaGFydC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1mb250LWZhbWlseTogJGtlbmRvLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZCAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LXNtLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1tZC1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtbGctZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LXRvb2x0aXAtZm9udC1zaXplOiAoJGtlbmRvLWZvbnQtc2l6ZS1tZCAqIC45MjkpICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWxhYmVsLWZvbnQtc2l6ZTogLjg1N2VtICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LXRpdGxlLWZvbnQtc2l6ZTogMS4xNDNlbSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1wYW5lLXRpdGxlLWZvbnQtc2l6ZTogJGtlbmRvLWNoYXJ0LWxhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1wYW5lLXRpdGxlLWZvbnQtd2VpZ2h0OiAka2VuZG8tZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGNvbG9yIG9mIHRoZSBDaGFydCBncmlkIGxpbmVzIChtYWpvcikuXG4vLy8gQGdyb3VwIGNoYXJ0c1xuJGtlbmRvLWNoYXJ0LW1ham9yLWxpbmVzOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgOCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuMDggKSkgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgY29sb3Igb2YgdGhlIENoYXJ0IGdyaWQgbGluZXMgKG1pbm9yKS5cbi8vLyBAZ3JvdXAgY2hhcnRzXG4ka2VuZG8tY2hhcnQtbWlub3ItbGluZXM6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA0JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICksIC4wNCApKSAhZGVmYXVsdDtcblxuJGtlbmRvLWNoYXJ0LWluYWN0aXZlOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNTAlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1ib2R5LXRleHQsIC41ICkpICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWFyZWEtb3BhY2l0eTogLjYgIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtYXJlYS1pbmFjdGl2ZS1vcGFjaXR5OiAuMSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1saW5lLWluYWN0aXZlLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuXG4ka2VuZG8tY2hhcnQtdG9vbHRpcC10cmFuc2l0aW9uOiBsZWZ0IDMwMG1zIGN1YmljLWJlemllcigwLCAuMzMsIC4xOSwgMSksIHRvcCAzMDBtcyBjdWJpYy1iZXppZXIoMCwgLjMzLCAuMTksIDEpICFkZWZhdWx0O1xuXG4ka2VuZG8tY2hhcnQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtdGV4dDogJGtlbmRvLWNvbXBvbmVudC10ZXh0ICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWJvcmRlcjogJGtlbmRvLWNvbXBvbmVudC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRrZW5kby1jaGFydC1jcm9zc2hhaXItYmFja2dyb3VuZDogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICksIC41ICkpICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWNyb3NzaGFpci1zaGFyZWQtdG9vbHRpcC1jb2xvcjogJGtlbmRvLWNoYXJ0LXRleHQgIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtY3Jvc3NoYWlyLXNoYXJlZC10b29sdGlwLWJhY2tncm91bmQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBrLWNvbG9yKCBiYXNlLXN1YnRsZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWNoYXJ0LWJnLCAxICkpICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LWNyb3NzaGFpci1zaGFyZWQtdG9vbHRpcC1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA4JSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICksIC4wOCApKSAhZGVmYXVsdDtcblxuJGtlbmRvLWNoYXJ0LW5vdGVzLWJhY2tncm91bmQ6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuNSApKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1ub3Rlcy1ib3JkZXI6IGlmKCRrZW5kby1lbmFibGUtY29sb3Itc3lzdGVtLCBjb2xvci1taXgoaW4gc3JnYiwgay1jb2xvciggb24tYXBwLXN1cmZhY2UgKSA1MCUsIHRyYW5zcGFyZW50KSwgcmdiYSggaWYoICRrZW5kby1pcy1kYXJrLXRoZW1lLCAka2VuZG8tY29sb3Itd2hpdGUsICRrZW5kby1jb2xvci1ibGFjayApLCAuNSApKSAhZGVmYXVsdDtcbiRrZW5kby1jaGFydC1ub3Rlcy1saW5lczogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDUwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCBpZiggJGtlbmRvLWlzLWRhcmstdGhlbWUsICRrZW5kby1jb2xvci13aGl0ZSwgJGtlbmRvLWNvbG9yLWJsYWNrICksIC41ICkpICFkZWZhdWx0O1xuXG4ka2VuZG8tY2hhcnQtZXJyb3ItYmFycy1iYWNrZ3JvdW5kOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgNTAlLCB0cmFuc3BhcmVudCksIHJnYmEoIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItYmxhY2sgKSwgLjUgKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemU6IDIycHggIWRlZmF1bHQ7XG4ka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWJvcmRlci1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBvbi1hcHAtc3VyZmFjZSApIDglLCB0cmFuc3BhcmVudCksIHJnYmEoIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItYmxhY2sgKSwgLjA4ICkpICFkZWZhdWx0O1xuJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1zaGFkb3c6IGluc2V0IDAgMXB4IDdweCBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgY29sb3ItbWl4KGluIHNyZ2IsIGstY29sb3IoIG9uLWFwcC1zdXJmYWNlICkgMTUlLCB0cmFuc3BhcmVudCksIHJnYmEoIGlmKCAka2VuZG8taXMtZGFyay10aGVtZSwgJGtlbmRvLWNvbG9yLXdoaXRlLCAka2VuZG8tY29sb3ItYmxhY2sgKSwgLjE1ICkpICFkZWZhdWx0O1xuXG5cbi8vIFRyZWVNYXBcbiRrZW5kby10cmVlbWFwLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4ka2VuZG8tdHJlZW1hcC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tdHJlZW1hcC1saW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL2RhdGF2aXovX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGF2aXovX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvZGF0YXZpei9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1kYXRhdml6LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIEJhcmNvZGVcbiAgICAuay1iYXJjb2RlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEV4cG9ydGVkIHZhcmlhYmxlc1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAuay12YXItLWNoYXJ0LWZvbnQge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGFydC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC10aXRsZS1mb250IHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhcnQtdGl0bGUtZm9udC1zaXplO1xuICAgIH1cblxuICAgIC5rLXZhci0tY2hhcnQtcGFuZS10aXRsZS1mb250IHtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhcnQtcGFuZS10aXRsZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAka2VuZG8tY2hhcnQtcGFuZS10aXRsZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LWxhYmVsLWZvbnQge1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1jaGFydC1sYWJlbC1mb250LXNpemU7XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVyblxuXG4gICAgLy8gRWxlbWVudHNcbiAgICAuay1jaGFydCxcbiAgICAuay1zcGFya2xpbmUsXG4gICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLWNoYXJ0LWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1jaGFydC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tY2hhcnQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWNoYXJ0LWxpbmUtaGVpZ2h0O1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJGtlbmRvLWNvbG9yLXJnYmEtdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstY2hhcnQsXG4gICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LXN1cmZhY2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstY2hhcnQgLmstcG9wdXAge1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcC13cmFwcGVyIC5rLWFuaW1hdGlvbi1jb250YWluZXItc2hvd24sXG4gICAgLmstY2hhcnQtdG9vbHRpcC13cmFwcGVyLmstYW5pbWF0aW9uLWNvbnRhaW5lci1zaG93biB7XG4gICAgICAgIHRyYW5zaXRpb246ICRrZW5kby1jaGFydC10b29sdGlwLXRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLmstc3BhcmtsaW5lLXRvb2x0aXAtd3JhcHBlcixcbiAgICAuay1jaGFydC10b29sdGlwLXdyYXBwZXIge1xuICAgICAgICB6LWluZGV4OiAxMjAwMDtcblxuICAgICAgICAuay1wb3B1cCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1jaGFydC10b29sdGlwIHRhYmxlIHtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWNoYXJ0LXRvb2x0aXAtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLWxpbmUtaGVpZ2h0LW1kO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tdG9vbHRpcC1wYWRkaW5nLXk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtdG9vbHRpcCB0aCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICB9XG5cbiAgICAuay1jaGFydC10b29sdGlwIHRkIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAka2VuZG8tcGFkZGluZy1zbS15O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuay1jaGFydC1jcm9zc2hhaXItdG9vbHRpcCxcbiAgICAuay1jaGFydC1zaGFyZWQtdG9vbHRpcCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cblxuICAgIC5rLWNoYXJ0LXNoYXJlZC10b29sdGlwIC5rLWNoYXJ0LXNoYXJlZC10b29sdGlwLW1hcmtlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0aW9uXG4gICAgLmstc2VsZWN0b3Ige1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB9XG5cbiAgICAuay1zZWxlY3Rpb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmstc2VsZWN0aW9uLWJnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5rLWhhbmRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoIDUwJSApO1xuICAgICAgICB3aWR0aDogJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG5cbiAgICAuay1oYW5kbGUgZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuay1sZWZ0LWhhbmRsZSB7XG4gICAgICAgIGxlZnQ6IC0gay1tYXRoLWRpdiggJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgMiApO1xuICAgIH1cblxuICAgIC5rLXJpZ2h0LWhhbmRsZSB7XG4gICAgICAgIHJpZ2h0OiAtIGstbWF0aC1kaXYoICRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUsIDIgKTtcbiAgICB9XG5cbiAgICAuay1sZWZ0LWhhbmRsZSBkaXYge1xuICAgICAgICBtYXJnaW46IC0oJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSkgMCAwICgtIGstbWF0aC1kaXYoICRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUsIDEuNSApKTtcbiAgICAgICAgcGFkZGluZzogKCRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUgKiAyKSAoay1tYXRoLWRpdiggJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgMS41ICkgKiAyKSAwIDA7XG4gICAgfVxuXG4gICAgLmstcmlnaHQtaGFuZGxlIGRpdiB7XG4gICAgICAgIG1hcmdpbjogLSgka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplKSAwIDAgKC0gay1tYXRoLWRpdiggJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgMS41ICkpO1xuICAgICAgICBwYWRkaW5nOiAoJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSAqIDIpIDAgMCAoay1tYXRoLWRpdiggJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSwgMS41ICkgKiAyKTtcbiAgICB9XG5cbiAgICAuay1sZWZ0LWhhbmRsZS5rLWhhbmRsZS1hY3RpdmUgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1oYW5kbGUtc2l6ZSAqIDIpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICgka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplICogMikgKyBrLW1hdGgtZGl2KCAka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWhhbmRsZS1zaXplLCAxLjUgKTtcbiAgICB9XG5cbiAgICAuay1yaWdodC1oYW5kbGUuay1oYW5kbGUtYWN0aXZlIGRpdiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUgKiAyKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogKCRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUgKiAyKSArIGstbWF0aC1kaXYoICRrZW5kby1jaGFydC1zZWxlY3Rpb24taGFuZGxlLXNpemUsIDEuNSApO1xuICAgIH1cblxuICAgIC5rLW1hc2sge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBOYXZpZ2F0b3IgaGludFxuICAgIC5rLW5hdmlnYXRvci1oaW50IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuay1uYXZpZ2F0b3ItaGludCAuay1zY3JvbGwge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tYm9yZGVyLXJhZGl1cy1tZCApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgIH1cblxuICAgIC5rLW5hdmlnYXRvci1oaW50IC5rLXRvb2x0aXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gU3BhcmtsaW5lc1xuICAgIC5rLXNwYXJrbGluZSxcbiAgICAuay1zcGFya2xpbmUgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuay1zcGFya2xpbmUgc3BhbiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmstY2hhcnQtZHJhZ2dpbmcge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAuay1jaGFydC1kb251dC1jZW50ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAuay1wZGYtZXhwb3J0IHtcbiAgICAgICAgLmstY2hhcnQsXG4gICAgICAgIC5rLXNwYXJrbGluZSxcbiAgICAgICAgLmstc3RvY2tjaGFydCB7XG4gICAgICAgICAgICAuay1hbmltYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLy8gRGlhZ3JhbVxuICAgIC5rLWRpYWdyYW0ge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIH1cblxuICAgIC5rLWRpYWdyYW0gLmttLXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWRpYWdyYW0gLmttLXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWNhbnZhcy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuXG5cblxuICAgIC8vIFRyZWVtYXBcbiAgICAuay10cmVlbWFwIHtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAka2VuZG8tdHJlZW1hcC1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAka2VuZG8tdHJlZW1hcC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAka2VuZG8tdHJlZW1hcC1saW5lLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAka2VuZG8tY29sb3ItcmdiYS10cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBUaWxlXG4gICAgICAgIC5rLXRyZWVtYXAtdGlsZSB7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHggMCAwIC0xcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgID4gLmstdHJlZW1hcC10aWxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRpdGxlXG4gICAgICAgIC5rLXRyZWVtYXAtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAka2VuZG8tcGFkZGluZy1zbS14O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLWZvbnQtc2l6ZS1tZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgfVxuICAgICAgICAuay10cmVlbWFwLXRpdGxlLXZlcnRpY2FsIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1wYWRkaW5nLXNtLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLXBhZGRpbmctc20teTtcbiAgICAgICAgICAgIHdpZHRoOiAka2VuZG8tbGluZS1oZWlnaHQtZW07XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFdyYXBcbiAgICAgICAgLmstdHJlZW1hcC13cmFwIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAuay10cmVlbWFwLXRpdGxlICsgLmstdHJlZW1hcC13cmFwIHtcbiAgICAgICAgICAgIHRvcDogY2FsYyggI3ska2VuZG8tcGFkZGluZy1zbS15ICogMn0gKyAoI3ska2VuZG8tbGluZS1oZWlnaHQtbWR9ICogI3ska2VuZG8tZm9udC1zaXplLW1kfSkgKyAxcHgpO1xuICAgICAgICB9XG4gICAgICAgIC5rLXRyZWVtYXAtdGl0bGUtdmVydGljYWwgKyAuay10cmVlbWFwLXdyYXAge1xuICAgICAgICAgICAgbGVmdDogY2FsYyggI3ska2VuZG8tcGFkZGluZy1zbS15ICogMn0gKyAoI3ska2VuZG8tbGluZS1oZWlnaHQtbWR9ICogI3ska2VuZG8tZm9udC1zaXplLW1kfSkgKyAxcHgpO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBMZWFmXG4gICAgICAgIC5rLWxlYWYge1xuICAgICAgICAgICAgcGFkZGluZzogJGtlbmRvLXBhZGRpbmctc20teDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIEdhdWdlXG4gICAgLmstZ2F1Z2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5rLWFyY2dhdWdlLFxuICAgIC5rLWNpcmN1bGFyZ2F1Z2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmstYXJjZ2F1Z2UtbGFiZWwsXG4gICAgLmstY2lyY3VsYXJnYXVnZS1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG5cbiAgICAvLyBxcmNvZGVcbiAgICAuay1xcmNvZGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC8vIGV4cG9ydCB2YXJpYWJsZXMgdG8gYWxsb3cgdXNlIGluIHNjcmlwdHNcbiAgICAkZXhwb3J0ZWQ6IChcbiAgICAgICAgcHJpbWFyeTogJGtlbmRvLWNvbG9yLXByaW1hcnksXG4gICAgICAgIHByaW1hcnktY29udHJhc3Q6ICRrZW5kby1jb2xvci1wcmltYXJ5LWNvbnRyYXN0LFxuICAgICAgICBiYXNlOiAka2VuZG8tYmFzZS1iZyxcbiAgICAgICAgYmFja2dyb3VuZDogJGtlbmRvLWNoYXJ0LWJnLFxuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kLFxuXG4gICAgICAgIG5vcm1hbC1iYWNrZ3JvdW5kOiAka2VuZG8tYmFzZS1iZyxcbiAgICAgICAgbm9ybWFsLXRleHQtY29sb3I6ICRrZW5kby1iYXNlLXRleHQsXG4gICAgICAgIGhvdmVyLWJhY2tncm91bmQ6ICRrZW5kby1ob3Zlci1iZyxcbiAgICAgICAgaG92ZXItdGV4dC1jb2xvcjogJGtlbmRvLWhvdmVyLXRleHQsXG4gICAgICAgIHNlbGVjdGVkLWJhY2tncm91bmQ6ICRrZW5kby1zZWxlY3RlZC1iZyxcbiAgICAgICAgc2VsZWN0ZWQtdGV4dC1jb2xvcjogJGtlbmRvLXNlbGVjdGVkLXRleHQsXG5cbiAgICAgICAgc3VjY2VzczogJGtlbmRvLWNvbG9yLXN1Y2Nlc3MsXG4gICAgICAgIGluZm86ICRrZW5kby1jb2xvci1pbmZvLFxuICAgICAgICB3YXJuaW5nOiAka2VuZG8tY29sb3Itd2FybmluZyxcbiAgICAgICAgZXJyb3I6ICRrZW5kby1jb2xvci1lcnJvcixcblxuICAgICAgICBzZXJpZXMtYTogJGtlbmRvLXNlcmllcy1hLFxuICAgICAgICBzZXJpZXMtYjogJGtlbmRvLXNlcmllcy1iLFxuICAgICAgICBzZXJpZXMtYzogJGtlbmRvLXNlcmllcy1jLFxuICAgICAgICBzZXJpZXMtZDogJGtlbmRvLXNlcmllcy1kLFxuICAgICAgICBzZXJpZXMtZTogJGtlbmRvLXNlcmllcy1lLFxuICAgICAgICBzZXJpZXMtZjogJGtlbmRvLXNlcmllcy1mLFxuXG4gICAgICAgIHNlcmllcy0xOiAka2VuZG8tc2VyaWVzLTEsXG4gICAgICAgIHNlcmllcy0yOiAka2VuZG8tc2VyaWVzLTIsXG4gICAgICAgIHNlcmllcy0zOiAka2VuZG8tc2VyaWVzLTMsXG4gICAgICAgIHNlcmllcy00OiAka2VuZG8tc2VyaWVzLTQsXG4gICAgICAgIHNlcmllcy01OiAka2VuZG8tc2VyaWVzLTUsXG4gICAgICAgIHNlcmllcy02OiAka2VuZG8tc2VyaWVzLTYsXG4gICAgICAgIHNlcmllcy03OiAka2VuZG8tc2VyaWVzLTcsXG4gICAgICAgIHNlcmllcy04OiAka2VuZG8tc2VyaWVzLTgsXG4gICAgICAgIHNlcmllcy05OiAka2VuZG8tc2VyaWVzLTksXG4gICAgICAgIHNlcmllcy0xMDogJGtlbmRvLXNlcmllcy0xMCxcbiAgICAgICAgc2VyaWVzLTExOiAka2VuZG8tc2VyaWVzLTExLFxuICAgICAgICBzZXJpZXMtMTI6ICRrZW5kby1zZXJpZXMtMTIsXG4gICAgICAgIHNlcmllcy0xMzogJGtlbmRvLXNlcmllcy0xMyxcbiAgICAgICAgc2VyaWVzLTE0OiAka2VuZG8tc2VyaWVzLTE0LFxuICAgICAgICBzZXJpZXMtMTU6ICRrZW5kby1zZXJpZXMtMTUsXG4gICAgICAgIHNlcmllcy0xNjogJGtlbmRvLXNlcmllcy0xNixcbiAgICAgICAgc2VyaWVzLTE3OiAka2VuZG8tc2VyaWVzLTE3LFxuICAgICAgICBzZXJpZXMtMTg6ICRrZW5kby1zZXJpZXMtMTgsXG4gICAgICAgIHNlcmllcy0xOTogJGtlbmRvLXNlcmllcy0xOSxcbiAgICAgICAgc2VyaWVzLTIwOiAka2VuZG8tc2VyaWVzLTIwLFxuICAgICAgICBzZXJpZXMtMjE6ICRrZW5kby1zZXJpZXMtMjEsXG4gICAgICAgIHNlcmllcy0yMjogJGtlbmRvLXNlcmllcy0yMixcbiAgICAgICAgc2VyaWVzLTIzOiAka2VuZG8tc2VyaWVzLTIzLFxuICAgICAgICBzZXJpZXMtMjQ6ICRrZW5kby1zZXJpZXMtMjQsXG4gICAgICAgIHNlcmllcy0yNTogJGtlbmRvLXNlcmllcy0yNSxcbiAgICAgICAgc2VyaWVzLTI2OiAka2VuZG8tc2VyaWVzLTI2LFxuICAgICAgICBzZXJpZXMtMjc6ICRrZW5kby1zZXJpZXMtMjcsXG4gICAgICAgIHNlcmllcy0yODogJGtlbmRvLXNlcmllcy0yOCxcbiAgICAgICAgc2VyaWVzLTI5OiAka2VuZG8tc2VyaWVzLTI5LFxuICAgICAgICBzZXJpZXMtMzA6ICRrZW5kby1zZXJpZXMtMzAsXG5cbiAgICAgICAgZ2F1Z2UtcG9pbnRlcjogJGtlbmRvLWNvbG9yLXByaW1hcnksXG4gICAgICAgIGdhdWdlLXRyYWNrOiBpZigka2VuZG8tZW5hYmxlLWNvbG9yLXN5c3RlbSwgay1jb2xvciggYmFzZSApLCBrLXRyeS1zaGFkZSggJGtlbmRvLWNoYXJ0LWJnICkpXG4gICAgKTtcblxuICAgIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGV4cG9ydGVkIHtcbiAgICAgICAgJHR5cGU6IGstbWV0YS10eXBlLW9mKCR2YWx1ZSk7XG5cbiAgICAgICAgLmstdmFyLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaWYgJHR5cGUgPT0gXCJjb2xvclwiIG9yICR0eXBlID09IFwic3RyaW5nXCIge1xuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3IgY2FuIHN0b3JlIGFueSBjb2xvclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2YWx1ZTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJHR5cGUgPT0gXCJudW1iZXJcIiB7XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcCBjYW4gc3RvcmUgcG9zaXRpdmUgJiBuZWdhdGl2ZSB2YWx1ZXNcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGF0YXZpei0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGF2aXotLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG5AbWl4aW4ga2VuZG8tZGF0YXZpei0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGF2aXotLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9kYXRhdml6L190aGVtZS5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL2RhdGF2aXovX3RoZW1lLnNjc3NcIjsgLT4gL2hvbWUvcnVubmVyL3dvcmsva2VuZG8tdGhlbWVzL2tlbmRvLXRoZW1lcy9ub2RlX21vZHVsZXMvQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9kYXRhdml6L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tZGF0YXZpei0tdGhlbWUtYmFzZSgpIHtcblxuICAgIC8vIEV4cG9ydGVkIHZhcmlhYmxlc1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlICBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuXG4gICAgLmstdmFyLS1jaGFydC1pbmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jaGFydC1pbmFjdGl2ZTtcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LW1ham9yLWxpbmVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNoYXJ0LW1ham9yLWxpbmVzO1xuICAgIH1cblxuICAgIC5rLXZhci0tY2hhcnQtbWlub3ItbGluZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2hhcnQtbWlub3ItbGluZXM7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC1hcmVhLW9wYWNpdHkge1xuICAgICAgICBvcGFjaXR5OiAka2VuZG8tY2hhcnQtYXJlYS1vcGFjaXR5O1xuICAgIH1cblxuICAgIC5rLXZhci0tY2hhcnQtYXJlYS1pbmFjdGl2ZS1vcGFjaXR5IHtcbiAgICAgICAgb3BhY2l0eTogJGtlbmRvLWNoYXJ0LWFyZWEtaW5hY3RpdmUtb3BhY2l0eTtcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LWxpbmUtaW5hY3RpdmUtb3BhY2l0eSB7XG4gICAgICAgIG9wYWNpdHk6ICRrZW5kby1jaGFydC1saW5lLWluYWN0aXZlLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC1ub3Rlcy1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLWNoYXJ0LW5vdGVzLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC1ub3Rlcy1ib3JkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2hhcnQtbm90ZXMtYm9yZGVyO1xuICAgIH1cblxuICAgIC5rLXZhci0tY2hhcnQtbm90ZXMtbGluZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2hhcnQtbm90ZXMtbGluZXM7XG4gICAgfVxuXG4gICAgLmstdmFyLS1jaGFydC1jcm9zc2hhaXItYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jaGFydC1jcm9zc2hhaXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAuay12YXItLWNoYXJ0LWVycm9yLWJhcnMtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jaGFydC1lcnJvci1iYXJzLWJhY2tncm91bmQ7XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cblxuICAgIC8vIEVsZW1lbnRzXG4gICAgLmstY2hhcnQsXG4gICAgLmstc3BhcmtsaW5lLFxuICAgIC5rLXN0b2NrY2hhcnQge1xuICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgJGtlbmRvLWNoYXJ0LXRleHQsXG4gICAgICAgICAgICB0cmFuc3BhcmVudCxcbiAgICAgICAgICAgICRrZW5kby1jaGFydC1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAuay1wb3B1cCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gVG9vbHRpcFxuICAgIC8vIFRPRE9cbiAgICAuay1jaGFydC10b29sdGlwIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jb2xvci13aGl0ZTtcbiAgICB9XG4gICAgLmstY2hhcnQtdG9vbHRpcC1pbnZlcnNlIHtcbiAgICAgICAgY29sb3I6ICRrZW5kby1jb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICAuay1jaGFydC1jcm9zc2hhaXItdG9vbHRpcCxcbiAgICAuay1jaGFydC1zaGFyZWQtdG9vbHRpcCB7XG4gICAgICAgIGNvbG9yOiAka2VuZG8tY2hhcnQtY3Jvc3NoYWlyLXNoYXJlZC10b29sdGlwLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2VuZG8tY2hhcnQtY3Jvc3NoYWlyLXNoYXJlZC10b29sdGlwLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGtlbmRvLWNoYXJ0LWNyb3NzaGFpci1zaGFyZWQtdG9vbHRpcC1ib3JkZXI7XG4gICAgfVxuXG4gICAgLmstc2VsZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAka2VuZG8tY2hhcnQtc2VsZWN0aW9uLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGtlbmRvLWNoYXJ0LXNlbGVjdGlvbi1zaGFkb3c7XG4gICAgfVxuXG4gICAgLmstc2VsZWN0aW9uLWJnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstaGFuZGxlIHtcbiAgICAgICAgY3Vyc29yOiBlLXJlc2l6ZTtcblxuICAgICAgICAvLyBUT0RPOiByZWZhY3RvciBhbmQgcmVtb3ZlIGJ1dHRvbiBkZXBlbmRlbmN5XG4gICAgICAgIEBpbmNsdWRlIGZpbGwoXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLXRleHQsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWJnLFxuICAgICAgICAgICAgJGtlbmRvLWJ1dHRvbi1ib3JkZXIsXG4gICAgICAgICAgICAka2VuZG8tYnV0dG9uLWdyYWRpZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24taG92ZXItdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWhvdmVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24taG92ZXItYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24taG92ZXItZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1oYW5kbGUgZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmstbWFzayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrZW5kby1jb21wb25lbnQtYmc7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgIH1cblxuXG5cblxuICAgIC8vIFRyZWVtYXBcbiAgICAuay10cmVlbWFwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtYmcsXG4gICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFRpdGxlXG4gICAgICAgIC5rLXRyZWVtYXAtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWhlYWRlci10ZXh0LFxuICAgICAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1jb21wb25lbnQtaGVhZGVyLWJvcmRlcixcbiAgICAgICAgICAgICAgICAka2VuZG8tY29tcG9uZW50LWhlYWRlci1ncmFkaWVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExlYWZcbiAgICAgICAgLmstbGVhZiB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWNvbXBvbmVudC1iZztcbiAgICAgICAgfVxuICAgICAgICAuay1sZWFmLmstaW52ZXJzZSB7XG4gICAgICAgICAgICBjb2xvcjogJGtlbmRvLWNvbXBvbmVudC10ZXh0O1xuICAgICAgICB9XG4gICAgICAgIC5rLWxlYWY6aG92ZXIsXG4gICAgICAgIC5rLWxlYWYuay1ob3ZlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggJGtlbmRvLWNvbXBvbmVudC1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tZGF0YXZpei0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0YXZpei0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLWRhdGF2aXotLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLWRhdGF2aXotLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIFJlZ2lzdGVyXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3NcIjsgLT4gc2Nzcy9jb3JlL21vZHVsZS1zeXN0ZW0vaW5kZXguaW1wb3J0LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5AaW5jbHVkZSBtb2R1bGUtcmVnaXN0ZXIoICRfa2VuZG8tbW9kdWxlLW1ldGEuLi4gKTtcblxuXG4vLyBFeHBvc2VcbkBtaXhpbiBrZW5kby1kYXRhdml6LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJkYXRhdml6XCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLWRhdGF2aXotLWxheW91dCgpO1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1kYXRhdml6LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0YXZpei0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vbWFwL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvbWFwL19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIm1hcFwiLFxuICAgIGRlcGVuZGVuY2llczogKFxuICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICBcInNjcm9sbGVyXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICAvLyBcInV0aWxzL2xheW91dC9wb3NpdGlvblwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb21tb24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9jb21tb24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyBAaW1wb3J0IFwiLi4vdXRpbHMvX3Bvc2l0aW9uLnNjc3NcIjtcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2J1dHRvbi9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2J1dHRvbi9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3Njcm9sbGVyL19pbmRleC5zY3NzXCI7IC0+IHNjc3Mvc2Nyb2xsZXIvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pY29ucy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2ljb25zL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9tYXAvX3ZhcmlhYmxlcy5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL2ltYWdlcy9tYXJrZXJzLnNjc3NcIjsgLT4gc2Nzcy9tYXAvaW1hZ2VzL21hcmtlcnMuc2Nzc1xuQGluY2x1ZGUgZXhwb3J0cyhcIm1hcmtlcnMucG5nXCIpIHtcbiAgICBAaW5jbHVkZSByZWdpc3Rlci1kYXRhLXVyaShcIm1hcmtlcnMucG5nXCIsIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCd0FBQUJRQ0FZQUFBQUtseFdEQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUEzNUpSRUZVZU5yc1dGMUlWRUVVUHU3YW1oS1VtcVVVa2hFWVluOVBhbWdiUk9LVEVFUkIxSE5QMHBNdkpVVmhaUWhDRUVRUFFpQUlraVFJUVNoRVptZzk5U2RMZ2lSSnBiR21HSXUvYVoyenpKWHJ2V2YyenR5N1BnVHp3UWQzWjg2Wjc5Nno1OHdNSitQcnVYeFF3Q0hrR2VScFpEYnlxQmgvajF4QTlpTjdrSis4RnNyd0VDU1J1OGhTVU1Nb3NnblpMVE1JU2NhTGtVUElweHBpSUd5ZkNOOWlWY0VvOGgyeUN2eWpTcXdSOVJJa2d6NWtIZ1JIbmxocmcyaW03YmxFaENQQ2VXODlmQkp5S3VvaHN2OElSUGFWNDZ1R1lmbkxoeVRuMy9iQzRzZVhuRnRFckZtQkhIY216U0N5MnVtUldWZ0MrWmZ2UTFiWjhaU2ZzeFFiZ2wrUHJzQ2ZxWEZ1K2pXeXhoN1NzNXhZMXNGS0tMemQ1eW1XdEVXYnBDMzZNS2dXR3V1Q3pkeVhGVFIyUUdoYnJ2S2ZScmJrUTc0TW1pM0JLSmY2RkVZZE1ic28rVXBLSmtwSlUrZEtrUElhTm95ck01TXcyM0VkbGo2L1dROTU3cVZiRU00cmNvV1gxbGdjR1hRdVVSZmk2bzJ5MFltVkgyTXcyWGdDNW9kNmtzSkVlcWF4bFcram9MSUdhWkZnR1ZjQ1RzeDEzWUcxeEt4cm5NWm9UbVVOMGlMQjdjN1I4TTQ5TGt0Sm5TV3h3TXh4YTVBV3U1ZitYVjZFelFJSnpuSEp3U1dTRE5sTStGYW52M09tY3lRWTQzWU5WeXpPWDJYTGhNWm9UdkV2aUpIZ3NIT1U5a1ludHV3dGhhTFdWNUJUV1EvaEhidVNwR2Nhb3ptVk5VaUw5bElxZk5mcjdMN1JxN1NseWZiVm56ZlpzamhGWHpnZ1R1b05vSTE0YmY2M3RoajVrSy9rTnZEQ3l0SW01eXp0K3ZGN0Y5amFrNHFoYmJ6MW91ekVhTEp2M3QzaUNOa1lHdHpDcHE3VnJtOWxLY05vMlRJSkovS2syM2tlSGhCM2tRTFBBeGhKVURpQUNYRWtKY01ZZDJ1enJoaVJOTlg1TXJKVzVBbDdweGtRQmpOcEVKdHhpc2x1YldSd2pLdFBEUXlMTlFaVTc2VVRJdTROUHNRYWhPK0V6a1hZd2dOdTYwdUJtUEFCM1p1M0hTMGFncDYyS29KZHN2QXdmME5YT2dRcHRkc1U3TnFFYldCQlFyc280RlFsMEs1NkFLc2dnWHpva1Z5SmRBcW1XalRobFpsK0JlT1NzRDMyQ0xkdlFTc3hWdTFYRjJTcjdpVktCNVQ2bmJiZm5Zb2w0MXZRV2R3dHVzNlpQZ1JwKzNwbWU5NTBRVjlmcGl0bytqU21UMlA2TktaUDQ3OVBFOUxwMDZqQzZ0TXdVTy9UNkNKd24wWVhnZnMwdXZqLytqUzZDTnluMFVYZ1BvMHVaSDBhRW56dWVydVJ3VUJmU2I1TXI1VFFiL28wcGs5aitqU21UMlA2TktaUFkvbzBwazlqK2pRKzhFK0FBUURwYk5IRXlXN0RUQUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1hcFxuJGtlbmRvLW1hcC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcblxuJGtlbmRvLW1hcC1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tbWFwLWxpbmUtaGVpZ2h0OiAka2VuZG8tbGluZS1oZWlnaHQtbWQgIWRlZmF1bHQ7XG4ka2VuZG8tbWFwLWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbiRrZW5kby1tYXAtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4ka2VuZG8tbWFwLXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbiRrZW5kby1tYXAtYm9yZGVyOiAka2VuZG8tY29tcG9uZW50LWJvcmRlciAhZGVmYXVsdDtcblxuJGtlbmRvLW1hcC1uYXZpZ2F0b3ItbWFyZ2luOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICkgIWRlZmF1bHQ7XG4ka2VuZG8tbWFwLW5hdmlnYXRvci1wYWRkaW5nOiAycHggIWRlZmF1bHQ7XG4ka2VuZG8tbWFwLW5hdmlnYXRvci13aWR0aDogY2FsYyggI3ska2VuZG8taWNvbi1zaXplICogM30gKyAjeyRrZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmcgKiAyfSApICFkZWZhdWx0O1xuJGtlbmRvLW1hcC1uYXZpZ2F0b3ItaGVpZ2h0OiAka2VuZG8tbWFwLW5hdmlnYXRvci13aWR0aCAhZGVmYXVsdDtcbiRrZW5kby1tYXAtbmF2aWdhdG9yLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4ka2VuZG8tbWFwLXpvb20tY29udHJvbC1tYXJnaW46IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDQgKSAhZGVmYXVsdDtcbiRrZW5kby1tYXAtem9vbS1jb250cm9sLWJ1dHRvbi1wYWRkaW5nLXg6ICRrZW5kby1idXR0b24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLW1hcC16b29tLWNvbnRyb2wtYnV0dG9uLXBhZGRpbmcteTogJGtlbmRvLW1hcC16b29tLWNvbnRyb2wtYnV0dG9uLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1wYWRkaW5nLXg6ICRrZW5kby1wYWRkaW5nLXNtLXggIWRlZmF1bHQ7XG4ka2VuZG8tbWFwLWF0dHJpYnV0aW9uLXBhZGRpbmcteTogJGtlbmRvLXBhZGRpbmctc20teSAhZGVmYXVsdDtcbiRrZW5kby1tYXAtYXR0cmlidXRpb24tZm9udC1zaXplOiAoJGtlbmRvLW1hcC1mb250LXNpemUgKiAuNzUpICFkZWZhdWx0O1xuJGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1iZzogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBhcHAtc3VyZmFjZSApIDgwJSwgdHJhbnNwYXJlbnQpLCByZ2JhKCAka2VuZG8tbWFwLWJnLCAuOCApKSAhZGVmYXVsdDtcblxuJGtlbmRvLW1hcC1tYXJrZXItZmlsbDogJGtlbmRvLWNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3MvbWFwL19sYXlvdXQuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9tYXAvX2xheW91dC5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWFwL19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW1hcC0tbGF5b3V0LWJhc2UoKSB7XG5cbiAgICAvLyBNYXBcbiAgICAuay1tYXAge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1tYXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBmb250LXNpemU6ICRrZW5kby1tYXAtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW1hcC1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1tYXAtZm9udC1mYW1pbHk7XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBTY3JvbGxcbiAgICAgICAgLmttLXNjcm9sbC13cmFwcGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgLmttLXNjcm9sbC1jb250YWluZXIgeyBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgLmstdG91Y2gtc2Nyb2xsYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC8vIExheWVyc1xuICAgICAgICAuay1sYXllciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFya2VyXG4gICAgICAgIC5rLW1hcmtlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQXR0cmlidXRpb25cbiAgICAgICAgLmstYXR0cmlidXRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1wYWRkaW5nLXk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1wYWRkaW5nLXg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1tYXAtYXR0cmlidXRpb24tZm9udC1zaXplO1xuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgfVxuXG5cbiAgICB9XG5cblxuICAgIC8vIENvbnRyb2xzXG4gICAgLmstbWFwLWNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuXG4gICAgLy8gTmF2aWdhdG9yXG4gICAgLmstbmF2aWdhdG9yIHtcbiAgICAgICAgbWFyZ2luOiAka2VuZG8tbWFwLW5hdmlnYXRvci1tYXJnaW47XG4gICAgICAgIHdpZHRoOiAka2VuZG8tbWFwLW5hdmlnYXRvci13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tbWFwLW5hdmlnYXRvci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tbWFwLW5hdmlnYXRvci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5rLXBkZi1leHBvcnQgJiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4gICAgICAgIC8vIEJ1dHRvbnNcbiAgICAgICAgLmstYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgLmstaWNvbiB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmstbmF2aWdhdG9yLW4sXG4gICAgICAgIC5rLW5hdmlnYXRvci11cCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0b3A6ICRrZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmc7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLmstbmF2aWdhdG9yLWUsXG4gICAgICAgIC5rLW5hdmlnYXRvci1yaWdodCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICByaWdodDogJGtlbmRvLW1hcC1uYXZpZ2F0b3ItcGFkZGluZztcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIC5rLW5hdmlnYXRvci1zLFxuICAgICAgICAuay1uYXZpZ2F0b3ItZG93biB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBib3R0b206ICRrZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmc7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLmstbmF2aWdhdG9yLXcsXG4gICAgICAgIC5rLW5hdmlnYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGxlZnQ6ICRrZW5kby1tYXAtbmF2aWdhdG9yLXBhZGRpbmc7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gWm9vbSBjb250cm9sXG4gICAgLmstem9vbS1jb250cm9sIHtcbiAgICAgICAgbWFyZ2luOiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCA0ICk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAuay1wZGYtZXhwb3J0ICYgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW1hcC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1hcC0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1tYXAtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXAtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9tYXAvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWFwL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3MvbWFwL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tbWFwLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gTWFwIHRoZW1lXG4gICAgLmstbWFwIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbChcbiAgICAgICAgICAgICRrZW5kby1tYXAtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1tYXAtYmcsXG4gICAgICAgICAgICAka2VuZG8tbWFwLWJvcmRlclxuICAgICAgICApO1xuXG4gICAgICAgIC5rLW5hdmlnYXRvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tdGV4dCxcbiAgICAgICAgICAgICAgICAka2VuZG8tYnV0dG9uLWJnLFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tYm9yZGVyLFxuICAgICAgICAgICAgICAgICRrZW5kby1idXR0b24tZ3JhZGllbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCAka2VuZG8tYnV0dG9uLXNoYWRvdyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstbWFya2VyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka2VuZG8tbWFwLW1hcmtlci1maWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstYXR0cmlidXRpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGtlbmRvLW1hcC1hdHRyaWJ1dGlvbi1iZztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbkBtaXhpbiBrZW5kby1tYXAtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW1hcC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW1hcC0tdGhlbWUoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWFwLS10aGVtZS1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBSZWdpc3RlclxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXCI7IC0+IHNjc3MvY29yZS9tb2R1bGUtc3lzdGVtL2luZGV4LmltcG9ydC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuQGluY2x1ZGUgbW9kdWxlLXJlZ2lzdGVyKCAkX2tlbmRvLW1vZHVsZS1tZXRhLi4uICk7XG5cblxuLy8gRXhwb3NlXG5AbWl4aW4ga2VuZG8tbWFwLS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJtYXBcIiApIHtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbWFwLS1sYXlvdXQoKTtcbiAgICAgICAgQGluY2x1ZGUga2VuZG8tbWFwLS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tbWFwLS1zdHlsZXMoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9vcmdjaGFydC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL29yZ2NoYXJ0L19pbmRleC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9jb3JlL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29yZS9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3V0aWxzL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdXRpbHMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gTW9kdWxlIG1ldGFcbiRfa2VuZG8tbW9kdWxlLW1ldGE6IChcbiAgICBuYW1lOiBcIm9yZ2NoYXJ0XCIsXG4gICAgZGVwZW5kZW5jaWVzOiAoXG4gICAgICAgIFwiY2FyZFwiLFxuICAgICAgICBcImRyb3Bkb3duLWxpc3RcIixcbiAgICAgICAgXCJmb3JtXCIsXG4gICAgICAgIFwiaWNvblwiLFxuICAgICAgICBcIm1lbnVcIixcbiAgICAgICAgXCJ0ZXh0Ym94XCIsXG4gICAgICAgIFwidXBsb2FkXCIsXG4gICAgICAgIFwid2luZG93XCIsXG4gICAgKVxuKTtcblxuXG4vLyBEZXBlbmRlbmNpZXNcbi8vIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiO1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29tbW9uL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvY29tbW9uL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vaWNvbnMvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9pY29ucy9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Zvcm1zL19pbmRleC5zY3NzXCI7IC0+IHNjc3MvZm9ybXMvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi90ZXh0Ym94L19pbmRleC5zY3NzXCI7IC0+IHNjc3MvdGV4dGJveC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2Ryb3Bkb3dubGlzdC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2Ryb3Bkb3dubGlzdC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL3VwbG9hZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3VwbG9hZC9faW5kZXguc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL21lbnUvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9tZW51L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY2FyZC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NhcmQvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi93aW5kb3cvX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy93aW5kb3cvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gQ29tcG9uZW50XG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL192YXJpYWJsZXMuc2Nzc1wiOyAtPiBzY3NzL29yZ2NoYXJ0L192YXJpYWJsZXMuc2Nzc1xuLy8gT3JnY2hhcnRcblxuLy8vIFRoZSBzcGFjaW5nIGluZGV4IG9mIHRoZSBPcmdDaGFydC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1zcGFjZXI6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDYgKSAhZGVmYXVsdDtcbi8vLyBUaGUgdmVydGljYWwgcGFkZGluZyBvZiB0aGUgT3JnQ2hhcnQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtcGFkZGluZy15OiAka2VuZG8tb3JnY2hhcnQtc3BhY2VyICFkZWZhdWx0O1xuLy8vIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgb2YgdGhlIE9yZ0NoYXJ0LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LXBhZGRpbmcteDogJGtlbmRvLW9yZ2NoYXJ0LXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBmYW1pbHkgb2YgdGhlIE9yZ0NoYXJ0LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWZvbnQtZmFtaWx5OiAka2VuZG8tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4vLy8gVGhlIGZvbnQgc2l6ZSBvZiB0aGUgT3JnQ2hhcnQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtZm9udC1zaXplOiAka2VuZG8tZm9udC1zaXplLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBsaW5lIGhlaWdodCBvZiB0aGUgT3JnQ2hhcnQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1tZCAhZGVmYXVsdDtcbi8vLyBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgT3JnQ2hhcnQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtYmc6ICRrZW5kby1jb21wb25lbnQtYmcgIWRlZmF1bHQ7XG4vLy8gVGhlIHRleHQgY29sb3Igb2YgdGhlIE9yZ0NoYXJ0LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LXRleHQ6ICRrZW5kby1jb21wb25lbnQtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBPcmdDaGFydC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ib3JkZXI6ICRrZW5kby1jb21wb25lbnQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIE9yZ0NoYXJ0IG5vZGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1nYXA6ICRrZW5kby1vcmdjaGFydC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIHNwYWNpbmcgb2YgdGhlIE9yZ0NoYXJ0IGdyb3VwLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWdyb3VwLWdhcDogJGtlbmRvLW9yZ2NoYXJ0LXNwYWNlciAhZGVmYXVsdDtcbi8vLyBUaGUgc3BhY2luZyBvZiB0aGUgT3JnQ2hhcnQgbm9kZSBjb250YWluZXIuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1jb250YWluZXItZ2FwOiAka2VuZG8tb3JnY2hhcnQtc3BhY2VyICFkZWZhdWx0O1xuXG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1wYWRkaW5nLXk6ICRrZW5kby1vcmdjaGFydC1zcGFjZXIgIWRlZmF1bHQ7XG4vLy8gVGhlIGhvcml6b250YWwgcGFkZGluZyBvZiB0aGUgT3JnQ2hhcnQgbm9kZSBncm91cC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXBhZGRpbmcteDogJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtcGFkZGluZy15ICFkZWZhdWx0O1xuLy8vIFRoZSBib3JkZXIgd2lkdGggb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgT3JnQ2hhcnQgbm9kZSBncm91cC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLWJvcmRlci1yYWRpdXM6ICRrZW5kby1ib3JkZXItcmFkaXVzLW1kICFkZWZhdWx0O1xuLy8vIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBPcmdDaGFydCBub2RlIGdyb3VwLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtYmc6ICRrZW5kby1iYXNlLWJnICFkZWZhdWx0O1xuLy8vIFRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBPcmdDaGFydCBub2RlIGdyb3VwLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGV4dDogJGtlbmRvLWJhc2UtdGV4dCAhZGVmYXVsdDtcbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBPcmdDaGFydCBub2RlIGdyb3VwLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtYm9yZGVyOiAka2VuZG8tYmFzZS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBmb2N1c2VkIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1mb2N1cy1ib3JkZXI6ICRrZW5kby1jYXJkLWZvY3VzLWJvcmRlciAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1mb2N1cy1zaGFkb3c6ICRrZW5kby1jYXJkLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAgdGl0bGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10aXRsZS1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAgdGl0bGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10aXRsZS1tYXJnaW4tYm90dG9tOiBrLW1hdGgtZGl2KCAka2VuZG8tb3JnY2hhcnQtc3BhY2VyLCA0ICkgIWRlZmF1bHQ7XG4vLy8gVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZSBPcmdDaGFydCBub2RlIGdyb3VwIHRpdGxlLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtbGluZS1oZWlnaHQ6ICRrZW5kby1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBPcmdDaGFydCBub2RlIGdyb3VwIHN1YnRpdGxlLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtc3VidGl0bGUtbWFyZ2luLWJvdHRvbTogJGtlbmRvLW9yZ2NoYXJ0LXNwYWNlciAhZGVmYXVsdDtcblxuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAgc3VidGl0bGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZS1mb250LXNpemU6ICRrZW5kby1mb250LXNpemUtbWQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZSBoZWlnaHQgb2YgdGhlIE9yZ0NoYXJ0IG5vZGUgZ3JvdXAgc3VidGl0bGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZS10ZXh0OiAka2VuZG8tc3VidGxlLXRleHQgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgd2lkdGggb2YgdGhlIE9yZ0NoYXJ0IENhcmQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4vLy8gVGhlIHZlcnRpY2FsIHBhZGRpbmcgb2YgdGhlIE9yZ0NoYXJ0IENhcmQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC1wYWRkaW5nLXk6ICRrZW5kby1jYXJkLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vLyBUaGUgaG9yaXpvbnRhbCBwYWRkaW5nIG9mIHRoZSBPcmdDaGFydCBDYXJkLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtcGFkZGluZy14OiAka2VuZG8tb3JnY2hhcnQtY2FyZC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgT3JnQ2hhcnQgQ2FyZC5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1jYXJkLWJvcmRlci13aWR0aDogJGtlbmRvLWNhcmQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8vIFRoZSBzaGFkb3cgb2YgdGhlIE9yZ0NoYXJ0IENhcmQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC1zaGFkb3c6ICRrZW5kby1jYXJkLXNoYWRvdyAhZGVmYXVsdDtcbi8vLyBUaGUgc2hhZG93IG9mIHRoZSBmb2N1c2VkIE9yZ0NoYXJ0IENhcmQuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC1mb2N1cy1zaGFkb3c6ICRrZW5kby1jYXJkLWZvY3VzLXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIFRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBPcmdDaGFydCBDYXJkIHRpdGxlLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtdGl0bGUtbWFyZ2luLWJvdHRvbTogMHB4ICFkZWZhdWx0O1xuLy8vIFRoZSBmb250IHNpemUgb2YgdGhlIE9yZ0NoYXJ0IENhcmQgdGl0bGUuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC10aXRsZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgT3JnQ2hhcnQgQ2FyZCBzdWJ0aXRsZS5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1jYXJkLXN1YnRpdGxlLW1hcmdpbi1ib3R0b206IDBweCAhZGVmYXVsdDtcbi8vLyBUaGUgZm9udCBzaXplIG9mIHRoZSBPcmdDaGFydCBDYXJkIHN1YnRpdGxlLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtc3VidGl0bGUtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gVGhlIGJvcmRlciB3aWR0aCBvZiB0aGUgT3JnQ2hhcnQgQ2FyZCBib2R5LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS1ib3JkZXItd2lkdGg6IDJweCAwIDAgIWRlZmF1bHQ7XG4vLy8gVGhlIGJvcmRlciBjb2xvciBvZiB0aGUgT3JnQ2hhcnQgQ2FyZCBib2R5LlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gVGhlIHJpZ2h0IG1hcmdpbiBvZiB0aGUgT3JnQ2hhcnQgQ2FyZCBib2R5IHRpdGxlIHdyYXAuXG4vLy8gQGdyb3VwIG9yZ2NoYXJ0XG4ka2VuZG8tb3JnY2hhcnQtY2FyZC1ib2R5LXZib3gtbWFyZ2luLXJpZ2h0OiBrLW1hdGgtZGl2KCAka2VuZG8tb3JnY2hhcnQtc3BhY2VyLCAyICkgIWRlZmF1bHQ7XG4vLy8gVGhlIG1pbiBoZWlnaHQgb2YgdGhlIE9yZ0NoYXJ0IENhcmQgYm9keSB0aXRsZSB3cmFwLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS12Ym94LW1pbi1oZWlnaHQ6ICRrZW5kby1jYXJkLWF2YXRhci1zaXplICFkZWZhdWx0O1xuXG4vLy8gVGhlIHNpemUgb2YgdGhlIE9yZ0NoYXJ0IGNvbm5lY3RpbmcgbGluZS5cbi8vLyBAZ3JvdXAgb3JnY2hhcnRcbiRrZW5kby1vcmdjaGFydC1saW5lLXNpemU6IDFweCAhZGVmYXVsdDtcbi8vLyBUaGUgZmlsbCBjb2xvciBvZiB0aGUgT3JnQ2hhcnQgY29ubmVjdGluZyBsaW5lLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWxpbmUtZmlsbDogJGtlbmRvLWJhc2UtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhlaWdodCBvZiB0aGUgT3JnQ2hhcnQgY29ubmVjdGluZyBsaW5lLlxuLy8vIEBncm91cCBvcmdjaGFydFxuJGtlbmRvLW9yZ2NoYXJ0LWxpbmUtdi1oZWlnaHQ6IDI1cHggIWRlZmF1bHQ7XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX2xheW91dC5zY3NzXCI7IC0+IHNjc3Mvb3JnY2hhcnQvX2xheW91dC5zY3NzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCJAcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL29yZ2NoYXJ0L19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL29yZ2NoYXJ0L19sYXlvdXQuc2Nzc1xuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS1sYXlvdXQtYmFzZSgpIHtcblxuICAgIC8vIE9yZ0NoYXJ0XG4gICAgLmstb3JnY2hhcnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGtlbmRvLW9yZ2NoYXJ0LXBhZGRpbmcteDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1vcmdjaGFydC1wYWRkaW5nLXk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW9yZ2NoYXJ0LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrZW5kby1vcmdjaGFydC1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRrZW5kby1vcmdjaGFydC1saW5lLWhlaWdodDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgKixcbiAgICAgICAgKjo6YmVmb3JlLFxuICAgICAgICAqOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gTm9kZXNcbiAgICAuay1vcmdjaGFydC1ncm91cCB7XG4gICAgICAgIGdhcDogJGtlbmRvLW9yZ2NoYXJ0LWdyb3VwLWdhcDtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1ncm91cC5rLXZzdGFjayA+IC5rLW9yZ2NoYXJ0LW5vZGUtY29udGFpbmVyIHtcbiAgICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgIC5rLW9yZ2NoYXJ0LW5vZGUtY29udGFpbmVyIHtcbiAgICAgICAgZ2FwOiAka2VuZG8tb3JnY2hhcnQtbm9kZS1nYXA7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXItcmFkaXVzICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXBhZGRpbmcteTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXBhZGRpbmcteDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1vcmdjaGFydC1ub2RlLWdyb3VwLXN1YnRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtc3VidGl0bGUtZm9udC1zaXplO1xuICAgIH1cblxuICAgIC8vIENhcmRcbiAgICAuay1vcmdjaGFydC1jYXJkIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1vcmdjaGFydC1jYXJkLXdpZHRoO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRrZW5kby1vcmdjaGFydC1jYXJkLWJvcmRlci13aWR0aDtcblxuICAgICAgICAuay1jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRrZW5kby1vcmdjaGFydC1jYXJkLXRpdGxlLW1hcmdpbi1ib3R0b207XG4gICAgICAgICAgICBmb250LXNpemU6ICRrZW5kby1vcmdjaGFydC1jYXJkLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rLWNhcmQtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtc3VidGl0bGUtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtc3VidGl0bGUtZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmstY2FyZC1ib2R5IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5rLWNhcmQtYm9keSAuay1jYXJkLXRpdGxlLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwICRrZW5kby1vcmdjaGFydC1jYXJkLWJvZHktdmJveC1tYXJnaW4tcmlnaHQgMCAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtYm9keS12Ym94LW1pbi1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaW5lc1xuICAgIC5rLW9yZ2NoYXJ0LWxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmstb3JnY2hhcnQtbGluZS1oIHtcbiAgICAgICAgaGVpZ2h0OiAka2VuZG8tb3JnY2hhcnQtbGluZS1zaXplO1xuICAgIH1cblxuICAgIC5rLW9yZ2NoYXJ0LWxpbmUtdiB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgd2lkdGg6ICRrZW5kby1vcmdjaGFydC1saW5lLXNpemU7XG4gICAgICAgIGhlaWdodDogJGtlbmRvLW9yZ2NoYXJ0LWxpbmUtdi1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uc1xuICAgIC5rLW9yZ2NoYXJ0LWJ1dHRvbiB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBrZW5kby1vcmdjaGFydC0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLW9yZ2NoYXJ0LS1sYXlvdXQtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS1sYXlvdXQoKSB7XG4gICAgQGluY2x1ZGUga2VuZG8tb3JnY2hhcnQtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9vcmdjaGFydC9fdGhlbWUuc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiQHByb2dyZXNzL2tlbmRvLXRoZW1lLWRlZmF1bHQvc2Nzcy9vcmdjaGFydC9fdGhlbWUuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL29yZ2NoYXJ0L190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tb3JnY2hhcnQtLXRoZW1lLWJhc2UoKSB7XG5cbiAgICAvLyBPcmdDaGFydFxuICAgIC5rLW9yZ2NoYXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tb3JnY2hhcnQtdGV4dCxcbiAgICAgICAgICAgICRrZW5kby1vcmdjaGFydC1iZyxcbiAgICAgICAgICAgICRrZW5kby1vcmdjaGFydC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDYXJkXG4gICAgLmstb3JnY2hhcnQtY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coICRrZW5kby1vcmdjaGFydC1jYXJkLXNoYWRvdyApO1xuXG4gICAgICAgIC5rLWNhcmQtYm9keSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYm9yZGVyOiAka2VuZG8tb3JnY2hhcnQtY2FyZC1ib2R5LWJvcmRlci1jb2xvciApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5rLWZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLW9yZ2NoYXJ0LWNhcmQtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcm91cFxuICAgIC5rLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCAoXG4gICAgICAgICAgICAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC10ZXh0LFxuICAgICAgICAgICAgJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtYmcsXG4gICAgICAgICAgICAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1ib3JkZXJcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1jb250YWluZXI6Zm9jdXMsXG4gICAgLmstb3JnY2hhcnQtbm9kZS1ncm91cC1jb250YWluZXIuay1mb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvciggJGtlbmRvLW9yZ2NoYXJ0LW5vZGUtZ3JvdXAtZm9jdXMtc2hhZG93ICk7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwgKCAkYm9yZGVyOiAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1mb2N1cy1ib3JkZXIgKTtcbiAgICB9XG5cbiAgICAuay1vcmdjaGFydC1ub2RlLWdyb3VwLXN1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tb3JnY2hhcnQtbm9kZS1ncm91cC1zdWJ0aXRsZS10ZXh0ICk7XG4gICAgfVxuXG4gICAgLy8gTGluZXNcbiAgICAuay1vcmdjaGFydC1saW5lLWgsXG4gICAgLmstb3JnY2hhcnQtbGluZS12IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNvbG9yOiAka2VuZG8tb3JnY2hhcnQtbGluZS1maWxsICk7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vcmdjaGFydC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1vcmdjaGFydC0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLW9yZ2NoYXJ0LS1zdHlsZXMoKSB7XG4gICAgQGluY2x1ZGUgbW9kdWxlLXJlbmRlciggXCJvcmdjaGFydFwiICkge1xuICAgICAgICBAaW5jbHVkZSBrZW5kby1vcmdjaGFydC0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLW9yZ2NoYXJ0LS10aGVtZSgpO1xuICAgIH1cbn1cblxuQGlmICRrZW5kby1hdXRvLWJvb3RzdHJhcCB7XG4gICAgQGluY2x1ZGUga2VuZG8tb3JnY2hhcnQtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL3NpZ25hdHVyZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3NpZ25hdHVyZS9faW5kZXguc2Nzc1xuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi4vY29yZS9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2NvcmUvX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi91dGlscy9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL3V0aWxzL19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIE1vZHVsZSBtZXRhXG4kX2tlbmRvLW1vZHVsZS1tZXRhOiAoXG4gICAgbmFtZTogXCJzaWduYXR1cmVcIixcbiAgICBkZXBlbmRlbmNpZXM6IChcbiAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgXCJpbnB1dFwiLFxuICAgIClcbik7XG5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9idXR0b24vX2luZGV4LnNjc3NcIjsgLT4gc2Nzcy9idXR0b24vX2luZGV4LnNjc3Ncbi8vIEZpbGUgYWxyZWFkeSBpbXBvcnRlZF9vbmNlLiBTa2lwcGluZyBvdXRwdXQuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuLi9pbnB1dC9faW5kZXguc2Nzc1wiOyAtPiBzY3NzL2lucHV0L19pbmRleC5zY3NzXG4vLyBGaWxlIGFscmVhZHkgaW1wb3J0ZWRfb25jZS4gU2tpcHBpbmcgb3V0cHV0LlxuLy8gI2VuZHJlZ2lvblxuXG5cbi8vIENvbXBvbmVudFxuLy8gI3JlZ2lvbiBAaW1wb3J0IFwiLi9fdmFyaWFibGVzLnNjc3NcIjsgLT4gc2Nzcy9zaWduYXR1cmUvX3ZhcmlhYmxlcy5zY3NzXG4ka2VuZG8tc2lnbmF0dXJlLXdpZHRoOiAyNDZweCAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtaGVpZ2h0OiAxMDhweCAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1sZy1taW4taGVpZ2h0OiAxMTBweCAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtaGVpZ2h0OiAyNTJweCAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1wYWRkaW5nLXg6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDMgKSAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy14OiBrLW1hcC1nZXQoICRrZW5kby1zcGFjaW5nLCAyICkgIWRlZmF1bHQ7XG4ka2VuZG8tc2lnbmF0dXJlLW1kLXBhZGRpbmcteDogJGtlbmRvLXNpZ25hdHVyZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4ka2VuZG8tc2lnbmF0dXJlLWxnLXBhZGRpbmcteDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgNCApICFkZWZhdWx0O1xuXG4ka2VuZG8tc2lnbmF0dXJlLXBhZGRpbmcteTogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1zbS1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDAuNSApICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1tZC1wYWRkaW5nLXk6ICRrZW5kby1zaWduYXR1cmUtcGFkZGluZy15ICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1sZy1wYWRkaW5nLXk6IGstbWFwLWdldCggJGtlbmRvLXNwYWNpbmcsIDIgKSAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1saW5lLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2VuZG8tc2lnbmF0dXJlLWxpbmUtc3R5bGU6IGRhc2hlZCAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtbGluZS1jb2xvcjogaWYoJGtlbmRvLWVuYWJsZS1jb2xvci1zeXN0ZW0sIGNvbG9yLW1peChpbiBzcmdiLCBrLWNvbG9yKCBpbmZvICkgMjQlLCB0cmFuc3BhcmVudCksIHJnYmEoICRrZW5kby1jb2xvci1pbmZvLCAuMjQgKSkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zaWduYXR1cmUtbGluZS1zaXplOiBjYWxjKCAxMDAlIC0gMiAqICN7JGtlbmRvLXNpZ25hdHVyZS1wYWRkaW5nLXh9ICkgIWRlZmF1bHQ7XG4ka2VuZG8tc2lnbmF0dXJlLXNtLWxpbmUtc2l6ZTogY2FsYyggMTAwJSAtIDIgKiAjeyRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy14fSApICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1tZC1saW5lLXNpemU6IGNhbGMoIDEwMCUgLSAyICogI3ska2VuZG8tc2lnbmF0dXJlLW1kLXBhZGRpbmcteH0gKSAhZGVmYXVsdDtcbiRrZW5kby1zaWduYXR1cmUtbGctbGluZS1zaXplOiBjYWxjKCAxMDAlIC0gMiAqICN7JGtlbmRvLXNpZ25hdHVyZS1sZy1wYWRkaW5nLXh9ICkgIWRlZmF1bHQ7XG5cbiRrZW5kby1zaWduYXR1cmUtbGluZS1ib3R0b20tb2Zmc2V0OiAzMyUgIWRlZmF1bHQ7XG5cbiRrZW5kby1zaWduYXR1cmUtc2l6ZXM6IChcbiAgICBzbTogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1zaWduYXR1cmUtc20tcGFkZGluZy15LFxuICAgICAgICBsaW5lLXNpemU6ICRrZW5kby1zaWduYXR1cmUtc20tbGluZS1zaXplXG4gICAgKSxcbiAgICBtZDogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1zaWduYXR1cmUtbWQtcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1zaWduYXR1cmUtbWQtcGFkZGluZy15LFxuICAgICAgICBsaW5lLXNpemU6ICRrZW5kby1zaWduYXR1cmUtbWQtbGluZS1zaXplXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICBwYWRkaW5nLXg6ICRrZW5kby1zaWduYXR1cmUtbGctcGFkZGluZy14LFxuICAgICAgICBwYWRkaW5nLXk6ICRrZW5kby1zaWduYXR1cmUtbGctcGFkZGluZy15LFxuICAgICAgICBsaW5lLXNpemU6ICRrZW5kby1zaWduYXR1cmUtbGctbGluZS1zaXplXG4gICAgKVxuKSAhZGVmYXVsdDtcblxuJGtlbmRvLXNpZ25hdHVyZS1hY3Rpb25zLWdhcDogay1tYXAtZ2V0KCAka2VuZG8tc3BhY2luZywgMSApICFkZWZhdWx0O1xuJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtbGluZS13aWR0aDogM3B4ICFkZWZhdWx0O1xuXG4vLyAjZW5kcmVnaW9uXG4vLyAjcmVnaW9uIEBpbXBvcnQgXCIuL19sYXlvdXQuc2Nzc1wiOyAtPiBzY3NzL3NpZ25hdHVyZS9fbGF5b3V0LnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2lnbmF0dXJlL19sYXlvdXQuc2Nzc1wiOyAtPiAvaG9tZS9ydW5uZXIvd29yay9rZW5kby10aGVtZXMva2VuZG8tdGhlbWVzL25vZGVfbW9kdWxlcy9AcHJvZ3Jlc3Mva2VuZG8tdGhlbWUtZGVmYXVsdC9zY3NzL3NpZ25hdHVyZS9fbGF5b3V0LnNjc3NcbkBtaXhpbiBrZW5kby1zaWduYXR1cmUtLWxheW91dC1iYXNlKCkge1xuXG4gICAgLmstc2lnbmF0dXJlIHtcbiAgICAgICAgd2lkdGg6ICRrZW5kby1zaWduYXR1cmUtd2lkdGg7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRrZW5kby1zaWduYXR1cmUtaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmLmstc2lnbmF0dXJlLW1heGltaXplZCB7XG4gICAgICAgICAgICB3aWR0aDogJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRrZW5kby1zaWduYXR1cmUtbWF4aW1pemVkLWhlaWdodDtcblxuICAgICAgICAgICAgPiAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGtlbmRvLXNpZ25hdHVyZS1tYXhpbWl6ZWQtbGluZS13aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5rLXNpZ25hdHVyZS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICBnYXA6ICRrZW5kby1zaWduYXR1cmUtYWN0aW9ucy1nYXA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmstc2lnbmF0dXJlLWNhbnZhcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAka2VuZG8tc2lnbmF0dXJlLWxpbmUtYm90dG9tLW9mZnNldDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRrZW5kby1zaWduYXR1cmUtbGluZS13aWR0aDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogJGtlbmRvLXNpZ25hdHVyZS1saW5lLXN0eWxlO1xuICAgIH1cblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICRzaXplLXByb3BzIGluICRrZW5kby1zaWduYXR1cmUtc2l6ZXMge1xuICAgICAgICAkX3BhZGRpbmcteDogay1tYXAtZ2V0KCRzaXplLXByb3BzLCBwYWRkaW5nLXgpO1xuICAgICAgICAkX3BhZGRpbmcteTogay1tYXAtZ2V0KCRzaXplLXByb3BzLCBwYWRkaW5nLXkpO1xuICAgICAgICAkX2xpbmUtc2l6ZTogay1tYXAtZ2V0KCRzaXplLXByb3BzLCBsaW5lLXNpemUpO1xuICAgICAgICAkX2xpbmUtb2Zmc2V0OiBrLW1hcC1nZXQoJHNpemUtcHJvcHMsIGxpbmUtb2Zmc2V0KTtcblxuICAgICAgICAuay1zaWduYXR1cmUtI3skc2l6ZX0ge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRfcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJF9wYWRkaW5nLXk7XG5cbiAgICAgICAgICAgIC5rLXNpZ25hdHVyZS1saW5lIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJF9saW5lLXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuay1zaWduYXR1cmUtbGcge1xuICAgICAgICBtaW4taGVpZ2h0OiAka2VuZG8tc2lnbmF0dXJlLWxnLW1pbi1oZWlnaHQ7XG4gICAgfVxuXG59XG5cblxuQG1peGluIGtlbmRvLXNpZ25hdHVyZS0tbGF5b3V0KCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tbGF5b3V0LWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zaWduYXR1cmUtLWxheW91dCgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zaWduYXR1cmUtLWxheW91dC1iYXNlKCk7XG59XG5cbi8vICNlbmRyZWdpb25cbi8vICNyZWdpb24gQGltcG9ydCBcIi4vX3RoZW1lLnNjc3NcIjsgLT4gc2Nzcy9zaWduYXR1cmUvX3RoZW1lLnNjc3Ncbi8vICNyZWdpb24gQGltcG9ydCBcIkBwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2lnbmF0dXJlL190aGVtZS5zY3NzXCI7IC0+IC9ob21lL3J1bm5lci93b3JrL2tlbmRvLXRoZW1lcy9rZW5kby10aGVtZXMvbm9kZV9tb2R1bGVzL0Bwcm9ncmVzcy9rZW5kby10aGVtZS1kZWZhdWx0L3Njc3Mvc2lnbmF0dXJlL190aGVtZS5zY3NzXG5AbWl4aW4ga2VuZG8tc2lnbmF0dXJlLS10aGVtZS1iYXNlKCkge1xuXG4gICAgLy8gU29saWQgc2lnbmF0dXJlXG4gICAgLmstc2lnbmF0dXJlIHtcblxuICAgICAgICAuay1zaWduYXR1cmUtbGluZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAka2VuZG8tc2lnbmF0dXJlLWxpbmUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWl4aW4ga2VuZG8tc2lnbmF0dXJlLS10aGVtZSgpIHtcbiAgICBAaW5jbHVkZSBrZW5kby1zaWduYXR1cmUtLXRoZW1lLWJhc2UoKTtcbn1cblxuLy8gI2VuZHJlZ2lvblxuXG5cbkBtaXhpbiBrZW5kby1zaWduYXR1cmUtLXRoZW1lKCkge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tdGhlbWUtYmFzZSgpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cblxuLy8gUmVnaXN0ZXJcbi8vICNyZWdpb24gQGltcG9ydCBcIi4uL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1wiOyAtPiBzY3NzL2NvcmUvbW9kdWxlLXN5c3RlbS9pbmRleC5pbXBvcnQuc2Nzc1xuLy8gRmlsZSBhbHJlYWR5IGltcG9ydGVkX29uY2UuIFNraXBwaW5nIG91dHB1dC5cbi8vICNlbmRyZWdpb25cbkBpbmNsdWRlIG1vZHVsZS1yZWdpc3RlciggJF9rZW5kby1tb2R1bGUtbWV0YS4uLiApO1xuXG5cbi8vIEV4cG9zZVxuQG1peGluIGtlbmRvLXNpZ25hdHVyZS0tc3R5bGVzKCkge1xuICAgIEBpbmNsdWRlIG1vZHVsZS1yZW5kZXIoIFwic2lnbmF0dXJlXCIgKSB7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tbGF5b3V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tdGhlbWUoKTtcbiAgICB9XG59XG5cbkBpZiAka2VuZG8tYXV0by1ib290c3RyYXAge1xuICAgIEBpbmNsdWRlIGtlbmRvLXNpZ25hdHVyZS0tc3R5bGVzKCk7XG59XG5cbi8vICNlbmRyZWdpb25cblxuXG4vLyBDb25maWd1cmF0aW9uXG5AbWl4aW4ga2VuZG8tdGhlbWUtLWNvbmZpZyggJGNvbmZpZzogbnVsbCApIHtcbn1cblxuXG4vLyBTdHlsZXNcbkBtaXhpbiBrZW5kby10aGVtZS0tc3R5bGVzKCkge1xuICAgIC8vIENvcmVcbiAgICBAaW5jbHVkZSBrZW5kby1jb3JlLS1zdHlsZXMoKTtcblxuICAgIC8vIENvbG9yIHN5c3RlbVxuXG4gICAgLy8gVHlwb2dyYXBoeSBhbmQgdXRpbHNcbiAgICBAaW5jbHVkZSBrZW5kby10eXBvZ3JhcGh5LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11dGlscy0tc3R5bGVzKCk7XG5cblxuICAgIC8vIEdlbmVyaWMgY29udGVudFxuICAgIEBpbmNsdWRlIGtlbmRvLWljb24tLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lc3NhZ2Vib3gtLXN0eWxlcygpO1xuXG5cbiAgICAvLyBQcmltaXRpdmUgY29tcG9uZW50c1xuICAgIEBpbmNsdWRlIGtlbmRvLWFjdGlvbnMtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3QtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rncm91cC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tb3ZlcmxheS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcG9wdXAtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXJpcHBsZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFibGUtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXZpcnR1YWwtc2Nyb2xsZXItLXN0eWxlcygpO1xuXG5cbiAgICAvLyBJbmRpY2F0b3JzXG4gICAgQGluY2x1ZGUga2VuZG8tYXZhdGFyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1iYWRnZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hpcC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcHJldmlldy0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tbG9hZGVyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1za2VsZXRvbi0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdG9vbHRpcC0tc3R5bGVzKCk7XG5cblxuICAgIC8vIEZvcm0gaGVscGVyc1xuICAgIEBpbmNsdWRlIGtlbmRvLWZvcm0tLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXZhbGlkYXRvci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZmxvYXRpbmctbGFiZWwtLXN0eWxlcygpO1xuXG5cbiAgICAvLyBOYXRpdmUgZm9ybXNcbiAgICBAaW5jbHVkZSBrZW5kby1idXR0b24tLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXNwbGl0LWJ1dHRvbi0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVudS1idXR0b24tLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWlucHV0LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10ZXh0Ym94LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10ZXh0YXJlYS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hlY2tib3gtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3Rib3gtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb2dyZXNzYmFyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1yYWRpby0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tc2xpZGVyLS1zdHlsZXMoKTtcblxuXG4gICAgLy8gRm9ybSByZXF1aXJlbWVudHNcbiAgICBAaW5jbHVkZSBrZW5kby1jYWxlbmRhci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGltZS1zZWxlY3Rvci0tc3R5bGVzKCk7XG5cblxuICAgIC8vIEF1Z21lbnRlZCBmb3Jtc1xuICAgIEBpbmNsdWRlIGtlbmRvLWF1dG9jb21wbGV0ZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY2FwdGNoYS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGFsZXR0ZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItZ3JhZGllbnQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWNvbG9yLWVkaXRvci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY29sb3ItcGlja2VyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1jb21ib2JveC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1pbnB1dC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1waWNrZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXRpbWUtcGlja2VyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lLWR1cmF0aW9uLXBpY2tlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS10aW1lLXBpY2tlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZGF0ZS1yYW5nZS1waWNrZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWdyaWQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLWxpc3QtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3Bkb3duLXRyZWUtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW1hc2tlZC10ZXh0Ym94LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1tdWx0aXNlbGVjdC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tbnVtZXJpYy10ZXh0Ym94LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1yYXRpbmctLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXNlYXJjaGJveC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tc3dpdGNoLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby11cGxvYWQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyb3B6b25lLS1zdHlsZXMoKTtcblxuXG4gICAgLy8gQ29tbWFuZCBpbnRlcmZhY2VzXG4gICAgQGluY2x1ZGUga2VuZG8tYXBwYmFyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1mYWItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW1lbnUtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXRvb2xiYXItLXN0eWxlcygpO1xuXG5cbiAgICAvLyBQb3B1cHMgYW5kIG1vZGFsc1xuICAgIEBpbmNsdWRlIGtlbmRvLXdpbmRvdy0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tYWN0aW9uLXNoZWV0LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1kaWFsb2ctLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRyYXdlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tbm90aWZpY2F0aW9uLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1wb3BvdmVyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1yZXNwb25zaXZlLXBhbmVsLS1zdHlsZXMoKTtcblxuXG4gICAgLy8gTmF2aWdhdGlvblxuICAgIEBpbmNsdWRlIGtlbmRvLWJvdHRvbS1uYXZpZ2F0aW9uLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1icmVhZGNydW1iLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1wYWdlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tc3RlcHBlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGFic3RyaXAtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXRyZWV2aWV3LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby13aXphcmQtLXN0eWxlcygpO1xuXG5cbiAgICAvLyBMYXlvdXQgJiBjb250YWluZXJzXG4gICAgQGluY2x1ZGUga2VuZG8tY2FyZC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZXhwYW5kZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXBhbmVsYmFyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1zcGxpdHRlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGlsZS1sYXlvdXQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWRvY2stbWFuYWdlci0tc3R5bGVzKCk7XG5cblxuICAgIC8vIERhdGEgbWFuYWdlbWVudFxuICAgIEBpbmNsdWRlIGtlbmRvLWdyaWQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLWxpc3R2aWV3LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1zcHJlYWRzaGVldC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcGl2b3RncmlkLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10cmVlbGlzdC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tZmlsdGVyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1maWxlLW1hbmFnZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXRhc2stYm9hcmQtLXN0eWxlcygpO1xuXG5cbiAgICAvLyBFZGl0b3JzXG4gICAgQGluY2x1ZGUga2VuZG8tZWRpdG9yLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1pbWFnZS1lZGl0b3ItLXN0eWxlcygpO1xuXG5cbiAgICAvLyBTY2hlZHVsaW5nXG4gICAgQGluY2x1ZGUga2VuZG8tZ2FudHQtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjaGVkdWxlci0tc3R5bGVzKCk7XG5cblxuICAgIC8vIE1pc2NcbiAgICBAaW5jbHVkZSBrZW5kby1hZGFwdGl2ZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tY2hhdC0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tbWVkaWEtcGxheWVyLS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby10aW1lbGluZS0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tcGRmLXZpZXdlci0tc3R5bGVzKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tc2Nyb2xsZXItLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXNjcm9sbHZpZXctLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLXByb21wdC0tc3R5bGVzKCk7XG5cblxuICAgIC8vIERhdGF2aXpcbiAgICBAaW5jbHVkZSBrZW5kby1kYXRhdml6LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1tYXAtLXN0eWxlcygpO1xuICAgIEBpbmNsdWRlIGtlbmRvLW9yZ2NoYXJ0LS1zdHlsZXMoKTtcbiAgICBAaW5jbHVkZSBrZW5kby1zaWduYXR1cmUtLXN0eWxlcygpO1xufVxuXG4vLyAjZW5kcmVnaW9uXG5cbkBpZiBub3QgJGtlbmRvLWF1dG8tYm9vdHN0cmFwIHtcbiAgICBAaW5jbHVkZSBrZW5kby10aGVtZS0tY29uZmlnKCk7XG4gICAgQGluY2x1ZGUga2VuZG8tdGhlbWUtLXN0eWxlcygpO1xufVxuIiwiLy8gXHJcbi8vIE5hdmJhclxyXG4vL1xyXG5cclxuXHJcbiN0b3BOYXYge1xyXG4gICAgLypcclxuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7Ki9cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IC4wNjI1cmVtIHNvbGlkICRncmF5LTYwMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAuMzEyNXJlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXRcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXI6Zm9jdXMge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyIC5uYXZiYXItdG9nZ2xlci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogIzAwMDAwMDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXIgLm5hdmJhci10b2dnbGVyLWRlZmF1bHQge1xyXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyIC5uYXZiYXItdG9nZ2xlci10b2dnbGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAubmF2YmFyLXRvZ2dsZXItZGVmYXVsdCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gLm5hdmJhci10b2dnbGVyLXRvZ2dsZWQge1xyXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1pdGVtIHtcclxuICAgICAgICAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktNjAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbiNzbWFsbE5hdiB7XHJcbiAgICAvKlxyXG4gICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsqL1xyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjVyZW07XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJzLXByaW1hcnkpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogLjA2MjVyZW0gc29saWQgJGdyYXktNjAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4zMTI1cmVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dFxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXIgLm5hdmJhci10b2dnbGVyLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlciAubmF2YmFyLXRvZ2dsZXItZGVmYXVsdCB7XHJcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXIgLm5hdmJhci10b2dnbGVyLXRvZ2dsZWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5uYXZiYXItdG9nZ2xlci1kZWZhdWx0IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItdG9nZ2xlclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAubmF2YmFyLXRvZ2dsZXItdG9nZ2xlZCB7XHJcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2LXBpbGxzIHtcclxuICAgICAgICAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktNjAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jbWFpbk5hdiB7XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNXJlbTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyOiAuMDYyNXJlbSBzb2xpZCAkZ3JheS02MDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjMxMjVyZW07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAubmF2YmFyLWJyYW5kIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGFsdC1mb250LWZhbWlseTtcclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAgIC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5uYXZiYXItdmVydGljYWwtZml4ZWQgLm5hdmJhci12ZXJ0aWNhbC1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLm5hdmJhci12ZXJ0aWNhbC1maXhlZCAubmF2YmFyLXZlcnRpY2FsLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubmF2YmFyLXZlcnRpY2FsLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubmF2YmFyLXZlcnRpY2FsLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubmF2YmFyLXZlcnRpY2FsLWNvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjg3NXJlbSk7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ubmF2YmFyLXZlcnRpY2FsLWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm5hdmJhci12ZXJ0aWNhbC1jb250ZW50IHtcclxuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy44NzVyZW0pO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLm5hdmJhci12ZXJ0aWNhbC1jb250ZW50IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbiosIDo6YWZ0ZXIsIDo6YmVmb3JlIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbiosIDo6YWZ0ZXIsIDo6YmVmb3JlIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5uYXYtcGlsbHMubmF2LWNvbGxhcHNlID4gLm5hdiB7XHJcbiAgICBtYXJnaW4tbGVmdDogMi4ycmVtO1xyXG59XHJcbi5uYXYtcGlsbHMubmF2LWNvbGxhcHNlID4gLm5hdiB1bCB7XHJcbiAgICAvKiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxLjMxMjVyZW07XHJcbiAgICB3aWR0aDogLjEyNXJlbTtcclxuICAgIGhlaWdodDogY2FsYygxMDAlIC0gLjI1cmVtKTtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzEsMjM0LDI0MywuNyk7Ki9cclxuICAgIC8qIGxpbmVzICovXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDJweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDNweDtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwcHggKTtcclxuICAgIH1cclxuXHJcbi8qICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxLjMxMjVyZW07XHJcbiAgICBib3R0b206IDBweDtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgLy9oZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogLjEyNXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMxLDIzNCwyNDMsLjcpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyovXHJcbn1cclxuXHJcbi5uYXYtdmVydGljYWwubmF2LXBpbGxzIC5uYXYtbGluay5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG5cclxuLm5hdmJhciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgcGFkZGluZy10b3A6IC41cmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IC41cmVtXHJcbn1cclxuXHJcbi5uYXZiYXIgPiAuY29udGFpbmVyLCAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCwgLm5hdmJhciA+IC5jb250YWluZXItbGcsIC5uYXZiYXIgPiAuY29udGFpbmVyLW1kLCAubmF2YmFyID4gLmNvbnRhaW5lci1zbSwgLm5hdmJhciA+IC5jb250YWluZXIteGwsIC5uYXZiYXIgPiAuY29udGFpbmVyLXh4bCB7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtbXMtZmxleC13cmFwOiBpbmhlcml0O1xyXG4gICAgZmxleC13cmFwOiBpbmhlcml0O1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuXHJcbn1cclxuXHJcbi5uYXZiYXItYnJhbmQge1xyXG4gICAgcGFkZGluZy10b3A6IC40MDYyNXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAuNDA2MjVyZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwXHJcbn1cclxuXHJcbi5uYXZiYXItbmF2IHtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lXHJcbn1cclxuXHJcbi5uYXZiYXItbmF2IC5uYXYtbGluayB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwXHJcbn1cclxuXHJcbi5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWNcclxufVxyXG5cclxuLm5hdmJhci10ZXh0IHtcclxuICAgIHBhZGRpbmctdG9wOiAuNXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbVxyXG59XHJcblxyXG4ubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXJcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyIHtcclxuICAgIHBhZGRpbmc6IC41cmVtIC41cmVtO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogLjA2MjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAuMzEyNXJlbTtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dFxyXG59XHJcblxyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKSB7XHJcbiAgICAubmF2YmFyLXRvZ2dsZXIge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmVcclxuICAgIH1cclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZVxyXG59XHJcblxyXG4ubmF2YmFyLXRvZ2dsZXI6Zm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJveC1zaGFkb3c6IDAgMFxyXG59XHJcblxyXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMS41ZW07XHJcbiAgICBoZWlnaHQ6IDEuNWVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCVcclxufVxyXG5cclxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcclxuICAgIG1heC1oZWlnaHQ6IHZhcigtLWJzLXNjcm9sbC1oZWlnaHQsNzV2aCk7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvXHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xyXG4gICAgLm5hdmJhci1leHBhbmQtc20ge1xyXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnRcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvd1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC43NXJlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IC43NXJlbVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2LXNjcm9sbCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcclxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQtc20gLm9mZmNhbnZhcy1oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzIHtcclxuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLXNtIC5vZmZjYW52YXMtYm90dG9tLCAubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzLXRvcCB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMFxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLXNtIC5vZmZjYW52YXMtYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgLm5hdmJhci1leHBhbmQtbWQge1xyXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnRcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvd1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC43NXJlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IC43NXJlbVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2LXNjcm9sbCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcclxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQtbWQgLm9mZmNhbnZhcy1oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1tZCAub2ZmY2FudmFzIHtcclxuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMtYm90dG9tLCAubmF2YmFyLWV4cGFuZC1tZCAub2ZmY2FudmFzLXRvcCB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMFxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMtYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xyXG4gICAgLm5hdmJhci1leHBhbmQtbGcge1xyXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnRcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvd1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC43NXJlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IC43NXJlbVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2LXNjcm9sbCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcclxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQtbGcgLm9mZmNhbnZhcy1oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAub2ZmY2FudmFzIHtcclxuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLWxnIC5vZmZjYW52YXMtYm90dG9tLCAubmF2YmFyLWV4cGFuZC1sZyAub2ZmY2FudmFzLXRvcCB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMFxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLWxnIC5vZmZjYW52YXMtYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgIC5uYXZiYXItZXhwYW5kLXhsIHtcclxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYge1xyXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3dcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW07XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNzVyZW1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdi1zY3JvbGwge1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87XHJcbiAgICAgICAgZmxleC1iYXNpczogYXV0b1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLXhsIC5vZmZjYW52YXMtaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcyB7XHJcbiAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmVcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC14bCAub2ZmY2FudmFzLWJvdHRvbSwgLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcy10b3Age1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDBcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC14bCAub2ZmY2FudmFzLWJvZHkge1xyXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDA7XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XHJcbiAgICAubmF2YmFyLWV4cGFuZC14eGwge1xyXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnRcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYge1xyXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3dcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC43NXJlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IC43NXJlbVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdi1zY3JvbGwge1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQteHhsIC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG9cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQteHhsIC5vZmZjYW52YXMtaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQteHhsIC5vZmZjYW52YXMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lXHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1leHBhbmQteHhsIC5vZmZjYW52YXMtYm90dG9tLCAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcy10b3Age1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDBcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcy1ib2R5IHtcclxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGVcclxuICAgIH1cclxufVxyXG5cclxuLm5hdmJhci1leHBhbmQge1xyXG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydFxyXG59XHJcblxyXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiB7XHJcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3dcclxufVxyXG5cclxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlXHJcbn1cclxuXHJcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IC43NXJlbVxyXG59XHJcblxyXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdi1zY3JvbGwge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGVcclxufVxyXG5cclxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87XHJcbiAgICBmbGV4LWJhc2lzOiBhdXRvXHJcbn1cclxuXHJcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICBkaXNwbGF5OiBub25lXHJcbn1cclxuXHJcbi5uYXZiYXItZXhwYW5kIC5vZmZjYW52YXMtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmVcclxufVxyXG5cclxuLm5hdmJhci1leHBhbmQgLm9mZmNhbnZhcyB7XHJcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmVcclxufVxyXG5cclxuLm5hdmJhci1leHBhbmQgLm9mZmNhbnZhcy1ib3R0b20sIC5uYXZiYXItZXhwYW5kIC5vZmZjYW52YXMtdG9wIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAwXHJcbn1cclxuXHJcbi5uYXZiYXItZXhwYW5kIC5vZmZjYW52YXMtYm9keSB7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMDtcclxuICAgIGZsZXgtZ3JvdzogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlXHJcbn1cclxuXHJcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZCB7XHJcbiAgICBjb2xvcjogIzY3Nzc4OFxyXG59XHJcblxyXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciB7XHJcbiAgICBjb2xvcjogIzY3Nzc4OFxyXG59XHJcblxyXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayB7XHJcbiAgICBjb2xvcjogIzY3Nzc4OFxyXG59XHJcblxyXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIge1xyXG4gICAgY29sb3I6ICMzNzdkZmZcclxufVxyXG5cclxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xyXG4gICAgY29sb3I6IHJnYmEoMCwwLDAsLjMpXHJcbn1cclxuXHJcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICBjb2xvcjogIzY3Nzc4OFxyXG59XHJcblxyXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICBjb2xvcjogIzY3Nzc4ODtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMSlcclxufVxyXG5cclxuLm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSclMjM2Nzc3ODgnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpXHJcbn1cclxuXHJcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IHtcclxuICAgIGNvbG9yOiAjNjc3Nzg4XHJcbn1cclxuXHJcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGEsIC5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICM2Nzc3ODhcclxufVxyXG5cclxuLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQge1xyXG4gICAgY29sb3I6ICNmZmZcclxufVxyXG5cclxuLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMsIC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmXHJcbn1cclxuXHJcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xyXG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KVxyXG59XHJcblxyXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmXHJcbn1cclxuXHJcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xyXG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjI1KVxyXG59XHJcblxyXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgIGNvbG9yOiAjZmZmXHJcbn1cclxuXHJcbi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXIge1xyXG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMSlcclxufVxyXG5cclxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnJTNlJTNjcGF0aCBzdHJva2U9J3JnYmElMjgyNTUsIDI1NSwgMjU1LCAwLjU1JTI5JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKVxyXG59XHJcblxyXG4ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IHtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41NSlcclxufVxyXG5cclxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhLCAubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6Zm9jdXMsIC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogI2ZmZlxyXG59XHJcblxyXG5cclxuXHJcblxyXG4jc2lkZWJhck5hdiB7XHJcbiAgICAvKm1hcmdpbi1ib3R0b206IDYwcHg7Ki9cclxufVxyXG5cclxuXHJcbi5zaWRlYmFyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiA1OHB4O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDEwMDsgLyogQmVoaW5kIHRoZSBuYXZiYXIgKi9cclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIC4xKTtcclxufVxyXG5cclxuLnNpZGViYXItc3RpY2t5IHtcclxuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICB0b3A6IDQ4cHg7IC8qIEhlaWdodCBvZiBuYXZiYXIgKi9cclxuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHgpO1xyXG4gICAgcGFkZGluZy10b3A6IC41cmVtO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bzsgLyogU2Nyb2xsYWJsZSBjb250ZW50cyBpZiB2aWV3cG9ydCBpcyBzaG9ydGVyIHRoYW4gY29udGVudC4gKi9cclxuICAgIG1hcmdpbi1ib3R0b206MS41cmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206Mi41ZW07XHJcbn1cclxuXHJcbi5zaWRlYmFyIC5uYXYtbGluayB7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbn1cclxuXHJcbi5zaWRlYmFyIC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KTtcclxufVxyXG5cclxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLCAubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgIGNvbG9yOiAjZmZmOyAgICBcclxufVxyXG5cclxuLnNpZGViYXIgLm5hdi1saW5rIC5mZWF0aGVyIHtcclxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbn1cclxuXHJcbi5zaWRlYmFyIC5uYXYtbGluay5hY3RpdmUge1xyXG59XHJcblxyXG4uc2lkZWJhciAubmF2LWxpbms6aG92ZXIgLmZlYXRoZXIsXHJcbi5zaWRlYmFyIC5uYXYtbGluay5hY3RpdmUgLmZlYXRoZXIge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5zaWRlYmFyLWhlYWRpbmcge1xyXG4gICAgZm9udC1zaXplOiAuNzVyZW07XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbiIsIu+7vy8vXHJcbi8vIERlbGl2ZXJpZXMgcGFnZVxyXG4vL1xyXG5cclxuI3JvdXRlLWRpcmVjdGlvbnMgLmxpc3R7XHJcbiAgICBtYXgtaGVpZ2h0OjIwMHB4O1xyXG4gICAgb3ZlcmZsb3c6YXV0bztcclxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/