/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-2.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-2.use[2]!./application/src/styles/bundles/styles-async.css ***!
  \*********************************************************************************************************************************************************************************************/
/**
 * ╒═══════════════════════════════════════╕
 * │           HoW tO wrItE CoDE           │
 * ╞═══════════════════╤═══════════════════╡
 * │          variable │ --like-this       │
 * │ cust. media query │ --[for|when]-[..] │
 * ├───────────────────┼───────────────────┤
 * │      layout, obj. │ .o-[..]           │
 * │    element, cmpt. │ .like-this        │
 * │         CSS state │ .[is|has]-[..]    │
 * │          JS state │ .js-[..]          │
 * │       theme, mod. │ .-like-this       │
 * └───────────────────┴───────────────────┘
 */

/* --- Styles --- */

:root {
    /* Colors - Base 16 Eighties */
    --black: #000000;
    --dark: #2d2d2d;
    --light-gray: #f5f5f5;
    --gray: #a09f93;
    --light: #ffffff;
    --red: #bf3227;
    --orange: #f99157;
    --yellow: #ffcc66;
    --green: #A0C757;
    --dark-green: #82A147;
    --light-green: #C4DA97;
    --cyan: #66cccc;
    --blue: #6699cc;
    --violet: #cc99cc;
    --magenta: #d27b53;

    --page-background: var(--light);

    /* Text - Default */
    --default-font-family: helium, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, sans-serif;
    --default-dark-text-color: var(--dark);
    --default-light-text-color: var(--light);
    --default-font-size: 16px;
    --default-font-weight: 400;
    --medium-font-weight: 500;
    /*--default-line-height: 1.33;*/
    --default-line-height: 25px;

    /* Text - Headings */
    --headings-font-family: var(--default-font-family);
    --headings-color: inherit;
    --headings-font-weight: 400;
    --headings-line-height: 1.2em;
    --headings-margin-bottom: 0.4em;
    --h1-line-height: 1.1em;

    --h1-margin-top: 0;
    --h1-margin-bottom: 0.4em;
    --h2-margin-top: 0;
    --h2-margin-bottom: 0.4em;
    --h3-margin-top: 0;
    --h3-margin-bottom: 0.4em;

    --h1-font-size: 25px;
    --home-h1-font-size: 40px;
    --h2-font-size: 20px;
    --h3-font-size: 20px;
    --h4-font-size: 16px;
    --h5-font-size: 15px;
    --button-font-size: 16px;
    --input-font-size: 16px; /* min font-size to avoid scaling on focus */
    --intro-font-size: 18px;
    --filter-element-diseases-font-size: 25px;


    --p-margin-bottom: 1.75em;
    --media-margin-height: 2em;

    /* Page - default, layout */
    --page-maxwidth: 120rem;
    --page-maxwidth-large: 128rem;

    --page-gutter-width: 1.5rem;
    --section-margin-height: 5rem;
    --component-margin-height: 3rem;

    --layout-gutter-width: 2rem;
    --big-layout-gutter-width: 4rem;
    --navi-gutter-width: 5rem;
    --layout-gutter-height: 2rem;

    --carousel-gutter-width: 3rem;

    /* Rwd */
    --rwd-margin-height:21px;
    --menu-toggle-height: 55px;
    --menu-toggle-height-reduced: 26px;

    /* Form */
    /*--form-default-color: 0, 0%, 32%;*/
    --form-default-color: var(--green);
    --form-border-color: var(--dark);
    --form-error-color: 359, 83%, 71%;
    --form-active-color: 210, 50%, 60%;
    --form-readonly-color: var(--gray);
    --form-invalid-color: 36, 100%, 50%;
    --form-error-border-color: 359, 83%, 71%;
    --form-valid-border-color: 85, 100%, 30%;
    --form-error-text-color: hsl(359, 100%, 50%);
    --form-error-background: 359, 83%, 71%;
    --form-success-color: #87fe6a;
    --form-input-background: #ffffff;
    --form-option-hover-color: #ededed;

    /* Button */
    --button-default-background: var(--black);
    --button-active-background: var(--dark);
    --button-default-color: var(--default-light-text-color);
    --button-active-color: var(--default-light-text-color);
    --button-border-color: var(--black);

    /* Timings */
    --default-timing: 250ms;

    /* Default space units */
    --zero-width-space: 0;                 /*   0  em | Allows line break, like <wbr> */
    --hair-space: 0.0417em;                /* 1/24 em | Width varies, but narrower than thin space */
    --fine-space: 0.125em;                 /* 1/8  em | For French punctuation */
    --six-per-em-space: 0.1667em;          /* 1/6  em | Might be suitable for grouping */
    --thin-space: 0.2em;                   /* 1/5  em | Recommended minimum width of space */
    --medium-mathematical-space: 0.2222em; /* 4/18 em | Around operators (according to Chicago) */
    --four-per-em-space: 0.25em;           /* 1/4  em | mid space: Average width of normal space */
    --thick-space: 0.2778em;               /* 5/18 em | Around relational operators (according to Chicago) */
    --three-per-em-space: 0.3333em;        /* 1/3  em | Width of space in a wide font */
    --en-space: 0.5em;                     /* 1/2  em | Recommended maximum width of space */
    --em-space: 1em;                       /*   1  em | One */

}

@media (min-width: 768px) {
    :root {
        --h1-font-size: calc(55px + (80 - 55) * (100vw - 768px) / (1280 - 768));
        --home-h1-font-size: calc(40px + (70 - 40) * (100vw - 768px) / (1280 - 768));
        --h2-font-size: calc(25px + (35 - 25) * (100vw - 768px) / (1280 - 768));
        --h3-font-size: calc(18px + (25 - 24) * (100vw - 768px) / (1280 - 768));
        --h4-font-size: calc(19px + (25 - 19) * (100vw - 768px) / (1280 - 768));
        --h5-font-size: calc(18px + (20 - 18) * (100vw - 768px) / (1280 - 768));
        --button-font-size: calc(16px + (18 - 16) * (100vw - 768px) / (1280 - 768));
        --input-font-size: calc(16px + (18 - 16) * (100vw - 768px) / (1280 - 768));
        --filter-element-diseases-font-size: calc(35px + (60 - 35) * (100vw - 768px) / (1280 - 768));


        --page-gutter-width: 8rem;
        --section-margin-height: 6.25vmin;
        --component-margin-height: 6.25vmin;

        --h2-margin-bottom: 105px;
    }
}

@media (min-width: 1280px) {
    :root {
        --h1-font-size: 80px;
        --home-h1-font-size: 70px;
        --h2-font-size: 35px;
        --h3-font-size: 25px;
        --h4-font-size: 25px;
        --h5-font-size: 20px;
        --button-font-size: 18px;
        --input-font-size: 18px;
        --filter-element-diseases-font-size: 60px;
    }
}

/* --- Themes --- */

.has-background.-grey {
    background: #a09f93;
    background: var(--gray);
}

.has-background.-white {
    background: white;
}

article ol,
article ul {
    list-style: disc;
    list-style-position: inside;
}

article .text ol,
article .text ul,
article .o-text ol,
article .o-text ul {
    list-style-position: outside;
    padding-left: 2rem;
}

.image {
    margin: 2.5rem 0;
    max-width: 640px;
}

@media (min-width: 1024px) {

.image {
        margin: 5rem 0
}
    }

.lead,
.text,
.o-editorial,
.intro,
.o-image {
    max-width: 78rem;
}

p.intro {
    margin-top: 3rem;
    margin-bottom: 5.5rem;
}

.list--parasites a,
.list--diseases a,
.list--apathogens a:hover {
    transition: 0.25s color;
}

.list--parasites a:hover,
.list--diseases a:hover,
.list--apathogens a:hover {
    color: #82A147;
    color: var(--dark-green);
}

.o-search {
    margin-bottom: 60px !important;
}

.o-search {
    list-style: none;
}

.o-search li {
    border-bottom: 1px solid #000000;
    padding: 10px 0;
}

.search-heading {
    margin-bottom: 5px;
    border-bottom: 5px solid #000000;
    font-weight: bold;
}

:root {
    --breadcrumb-space: 1em;
}

.o-breadcrumbs {
    margin-bottom: 1.5em;
}

.o-breadcrumbs li.splitter {
    margin: 0 1em;
    margin: 0 var(--breadcrumb-space);
}

.o-breadcrumbs li:last-child {
    display: none;
}

.o-breadcrumbs .link {
    transition: opacity 250ms;
    transition: opacity var(--default-timing);
    text-decoration: none;
    outline: 0;
    position: relative;
}

.o-breadcrumbs .has-svg-icon {
    line-height: inherit;
}

form,
form [class^="basis"] {
    position: relative;
}

fieldset {
    position: relative;
    display: inline-block;
    min-width: 100%;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    fieldset {
        margin-bottom: 3rem;
    }
}

fieldset:last-child {
    margin-bottom: 0;
}

.winnie {
    display: block;
    position: absolute;
    overflow: hidden;
    right: -2466px;
}

.winnie label {
    position: static;
}

fieldset .form-item {
    display: inline-block;
    margin-right: 2em;
    vertical-align: top;
}

button, input:not([type="radio"]):not([type="checkbox"]):not([type="range"]), textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
}

button:-moz-ui-invalid,
input:-moz-ui-invalid,
textarea:-moz-ui-invalid {
    box-shadow: 0 0;
}

button, input, textarea, label {
    transition: 350ms;
}

input, textarea {
    border-radius: 0;
    font-family: inherit;
    font-size: inherit;
}

form button,
label:not(.is-static),
input[type="radio"],
input[type="checkbox"],
input[type="submit"],
input[type="button"] {
    cursor: pointer;
}

input[type="radio"] {
    accent-color: #000000;
    position: relative;
    padding-left: 14px;
    display: inline;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

input[type="radio"]:before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    height: 14px;
    width: 14px;
    border: 1px solid black;
    border-radius: 7px;
}

input[type="radio"]:checked:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 5px;
    width: 5px;
    border-radius: 7px;
    background: black;
}

input[type="radio"]:checked + label {
    /*font-weight: bold;*/
    -webkit-text-stroke: 0.8px;
}

input[type="radio"] + label {
    padding-left: 5px;
    vertical-align: top;
    margin-top: 1px;
}

form button,
form button.has-svg-icon,
input[type="submit"],
input[type="button"] {
    padding: 0.75em 1em 0.85em 1em;
    border-radius: 4px;
    border: 1px solid #000000;
    border: 1px solid var(--button-border-color);
    line-height: 1.25em;
    background: #000000;
    background: var(--button-default-background);
    color: #fff;
}

form button.has-svg-icon {
    padding: 0.5em;
    min-height: 2.25em; /* line-height + padding */
    min-width: 2.25em;
}

form button.has-svg-icon > svg {
    max-height: 1em;
}

form button:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
    outline: 0;
    background: #2d2d2d;
    background: var(--button-active-background);
    box-shadow: 0 0 0 1px #ffffff, 0 0 0 4px hsla(210, 50%, 60%, 0.35);
    box-shadow: 0 0 0 1px var(--page-background), 0 0 0 4px hsla(var(--form-active-color), 0.35);
}

@media (hover:hover) {
    form button:hover,
    input[type="submit"]:hover,
    input[type="button"]:hover {
        background: #2d2d2d;
        background: var(--button-active-background);
    }
}

@media (hover:on-demand) {
    form button:active,
    input[type="submit"]:active,
    input[type="button"]:active {
        background: #2d2d2d;
        background: var(--button-active-background);
    }
}

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

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

textarea {
    resize: vertical;
    padding: 1em;
}

form label,
form legend {
    display: inline-block;
    line-height: 1.15em;
    margin-bottom: 1.15em;
}

select, option {
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    color: inherit;
    border: 0;
    border-radius: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

select option {
    height: auto!important;
}

select option {
    padding: 0.75em 2em 0.85em 1em;
    line-height: 1.25em;
    min-height: 3em;
}

select,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]),
textaret {
    box-shadow: 0 0 0 1000px #ffffff inset!important;
    box-shadow: 0 0 0 1000px var(--form-input-background) inset!important;
}

select,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]),
textaret {
    color: inherit;
    width: 100%;
    padding: 0.5em 1em 0.6em;
    line-height: 1.4em;
    background: transparent;
    border-radius: 4px;
    border: 1px solid #2d2d2d;
    border: 1px solid var(--form-border-color);
}

@media (min-width: 768px) {
    select,
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]),
    textaret {
        padding: 0.75em 2em 0.85em 1em;
        line-height: 1.25em;
    }
}

input[type="search"] {
    width: 100%;
    padding: 1em 5px;
    background: transparent;
    line-height: 1.25em;
    border-bottom: 1px solid black;
}

select:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]):focus,
textarea:focus {
    box-shadow: 0 0 4px hsla(210, 50%, 60%, 0.7), 0 0 0 1000px white inset!important;
    box-shadow: 0 0 4px hsla(var(--form-active-color), 0.7), 0 0 0 1000px white inset!important;
}

select:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]):focus,
textarea:focus {
    outline: 0;
    border-color: hsl(210, 50%, 60%);
    border-color: hsl(var(--form-active-color));
    background: hsl(210, 50%, 60%);
    background: hsl(var(--form-active-color));
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]).js-error,
textarea.js-error {
    outline: 0!important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]).js-error,
textarea.js-error {
    border-color: hsl(359, 83%, 71%);
    border-color: hsl(var(--form-error-border-color));
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]).js-error:focus,
textarea.js-error:focus {
     box-shadow: 0 0 4px hsla(359, 83%, 71%, 0.7), 0 0 0 1000px white inset!important;
     box-shadow: 0 0 4px hsla(var(--form-error-border-color), 0.7), 0 0 0 1000px white inset!important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]).js-valid,
textarea.js-valid {
    outline: 0!important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]).js-valid,
textarea.js-valid {
    border-color: hsl(85, 100%, 30%);
    border-color: hsl(var(--form-valid-border-color));
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]).js-valid:focus,
textarea.js-valid:focus {
     box-shadow: 0 0 4px hsla(85, 100%, 30%, 0.7), 0 0 0 1000px white inset!important;
     box-shadow: 0 0 4px hsla(var(--form-valid-border-color), 0.7), 0 0 0 1000px white inset!important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not([type="range"]).js-error:focus,
textarea.js-error:focus {
    outline: 0 0 4px hsla(210, 50%, 60%, 0.7)!important;
    outline: 0 0 4px hsla(var(--form-active-color), 0.7)!important;
}

input:disabled,
textarea:disabled {
    opacity: 0.35;
}

/*input:not([type="submit"]):read-only {*/

/*    background-color: var(--form-readonly-color) !important;*/

/*}*/

/* Checkbox + Radio */

input[type="checkbox"]{
    cursor: pointer;
    padding: 8px;
    background: white;
}

input[type="checkbox"]:focus{
    border-color: hsl(210, 50%, 60%);
    border-color: hsl(var(--form-active-color))
}

input[type="checkbox"]:checked {
}

form input[type="checkbox"] + label {
    position: relative;
    transform: none;
    transform: initial;
    line-height: 1.15em;
    min-height: 2em;
    margin-bottom: 0;
    padding: 0.25em 0 0 2em;
    font-size: 16px;
    width: 100%;
}

form input[type="checkbox"] + label::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    border: 1px solid #2d2d2d;
    border: 1px solid var(--form-border-color);
    background-color: #ffffff;
    background-color: var(--form-input-background);
}

input[type="checkbox"].js-error + label::before {
    border-color:  hsl(359, 83%, 71%);
    border-color:  hsl(var(--form-error-border-color));
}

input[type="checkbox"]:checked.js-valid + label::before{
    border-color:  hsl(85, 100%, 30%);
    border-color:  hsl(var(--form-valid-border-color));
}

form input[type="checkbox"] + label::before {
    border-radius: 3px;
}

form input[type="checkbox"]:checked + label::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5em;
    height: 1.5em;
    content: "\2714";
    color: currentColor;
    text-align: center;
    line-height: 1.4em;
}

form input[type="checkbox"]:disabled + label::before{
    border: 1px solid #a09f93;
    border: 1px solid var(--form-readonly-color);
}

form input[type="checkbox"]:checked:disabled + label::after {
    color: #a09f93;
    color: var(--form-readonly-color);
}

/* --- Label --- */

form label:not(.is-static) {
    margin-bottom: 1.15em;
}

label.js-error:not(.is-static) {
    color: hsl(359, 100%, 50%);
    color: var(--form-error-text-color);
}

label.as-placeholder {
    background-color: transparent!important;
    box-shadow: none!important;
    border: none!important;
}

label.as-placeholder {
    position: absolute;
    transform: translate3d(0, 0, 0);
    transform-origin: left bottom;
    opacity: 0.85;
    will-change: opacity, transform;
    transition: transform 150ms ease-in-out, opacity 150ms linear;
}

label.as-placeholder.active {
    color: hsl(210, 50%, 60%);
    color: hsl(var(--form-active-color));
    transform: translate3d(-0.5em, -2.5em, 0) scale(0.7);
    opacity: 1;
}

label span {
    white-space: nowrap;
}

input:invalid + label.active {
    color: hsl(359, 83%, 71%);
    color: hsl(var(--form-error-border-color));
}

.form-field {
    position: relative;
    line-height: 0;
}

[class^="field-error"] {
    font-size: 10px;
    line-height: 1.15em;
    white-space: normal;
    color: hsl(359, 100%, 50%);
    color: var(--form-error-text-color);
    display: inline-block;
}

[class^="field-error"] > p {
    margin: 0 0 0.5em 0;
    font-size: inherit;
    line-height: inherit;
}

[class^="field-error"]:not(.field-error-inline) {
    padding-top: 10px;
}

.form-message {
}

.form-message-error {
    color: hsl(359, 100%, 50%);
    color: var(--form-error-text-color);
}

.form-message-sending {
}

.form-message-success {
}

form .button-wrapper {
    text-align: right;
}

@media (min-width: 768px) {
    form .button-wrapper {
        text-align: left;
    }
}

form button,
form .button-wrapper .button,
form input[type="submit"] {
    margin: 0 0.5em;
    padding: 0.5em;
    border-radius: 5px;
    border: 1px solid #2d2d2d;
    border: 1px solid var(--form-border-color);
}

form input[type="search"] {
    border: 4px solid transparent;
    border-bottom: 4px solid #2d2d2d;
    border-bottom: 4px solid var(--form-border-color);
    border-radius: 4px;
}

form input[type="search"]:focus,
form input[type="search"].focus-visible {
    outline: none;
    border: 4px solid #A0C757;
    border: 4px solid var(--green);
}

form input[type="search"]:focus,
form input[type="search"].focus-visible {
    outline: none;
    border: 4px solid #A0C757;
    border: 4px solid var(--green);
}

form input[type="search"]:focus,
form input[type="search"]:focus-visible {
    outline: none;
    border: 4px solid #A0C757;
    border: 4px solid var(--green);
}

::-moz-placeholder {
    color: #a09f93;
    color: var(--gray);
}

::placeholder {
    color: #a09f93;
    color: var(--gray);
}

.oi-secondary-navigation-item {
    list-style: none;
}

.oi-secondary-navigation-item a {
    padding: 5px 2rem;
    height: 100%;
    width: 100%;
    border-radius: 3px;
}

.oi-secondary-navigation-item.is-navi a {
    padding: 5px 2rem;
}

body:not(.-home) .oi-secondary-navigation-item .text {
    display: none;
}

body.-home .oi-secondary-navigation-item:not(.is-navi) a {
    padding: 2rem 2rem 5rem;
}

body.-home .oi-secondary-navigation-item:not(.is-navi) .text {
    margin-top: 5px;
}

.oi-secondary-navigation-item a {
    background-color: #A0C757;
    background-color: var(--green);
    color: white;
    transition: 0.25s background-color;
}

.oi-secondary-navigation-item.is-active a {
    font-weight: bold;
}

.oi-secondary-navigation-item a:hover {
    background-color: #82A147;
    background-color: var(--dark-green);
}

/*body:not(.-home) .oi-secondary-navigation-item:not(.is-navi):not(.is-active) a {*/

/*    border: 1px solid #000;*/

/*}*/

.parasite-diagram {
    max-width: 15rem;
    margin-bottom: 5rem;
}

.parasite-image {
    margin-bottom: 3rem;
}

.oi-list:not(.no-margin-top) {
    margin-top: 5rem;
}

.has-big-border {
    border-bottom: 5px solid #A0C757;
    border-bottom: 5px solid var(--green);
    font-weight: bold;
}

.has-border {
    border-bottom: 1px solid #000000;
}

.oi-list ul {
    padding-left: 20px;
}

.oi-list ul.last-step {
    margin-bottom: 55px;
}

.oi-list ul:not(.last-step) {
    padding-top: 20px;
    padding-bottom: 20px;
}

.oi-list ul.last-step {
    padding-left: 0;
}

.oi-list > ul {
    padding-left: 0;
}

.oi-list-title.has-right-padding {
    padding-right: 0;
}

.oi-list-title .oi-list-link {
    padding: 10px 0;
}

.oi-list-title .oi-list-heading {
    padding: 5px 0;
    /*position: relative;*/
}

@media (min-width: 768px) {

    .oi-list:not(.no-margin-top) {
        margin-top: 10rem;
    }
    .oi-list-title.has-right-padding {
        padding-right: 2rem;
    }
    .oi-list ul {
        padding-left: 0;
    }
    .oi-list ul:not(.last-step) {
        padding-top: 0;
        padding-bottom: 0;
    }
}

.oi-filter-element-diseases {
    border-bottom: 1px solid #000000;
    list-style: none;
    padding: 15px 0;
}

.oi-filter-element-diseases .name {
        font-size: 25px;
        font-size: var(--filter-element-diseases-font-size);
    }

.oi-filter-element-diseases .subname {
        font-size: 15px;
    }

@media (min-width: 768px) {

.oi-filter-element-diseases {
        padding: 25px 0;
        line-height: 36px
}
    }

@media (min-width: 1024px) {

.oi-filter-element-diseases {
        padding: 50px 0
}
        .oi-filter-element-diseases .name {
            line-height: 72px;
        }
    }

.oi-filter-element-diseases a {
    transition: 0.25s color;
}

.oi-filter-element-diseases a:hover {
    color: #82A147;
    color: var(--dark-green);
}

.virtual-microscope select {
        margin-bottom: 1em;
        padding: 0.5em 1em;
    }

.virtual-microscope .select-input {
        margin-top: inherit;
    }

.virtual-microscope canvas {
        display: block;
    }

.virtual-microscope .main {
        display: flex;
        flex-wrap: wrap;
    }

.virtual-microscope .main > * {
        flex-direction: column;
        flex-wrap: wrap;
    }

.virtual-microscope .minimap {
        display: none;
    }

.virtual-microscope .microscope canvas,
    .virtual-microscope .minimap .container canvas + div {
        cursor: grab;
    }

.virtual-microscope.measuring .microscope canvas {
        cursor: crosshair;
    }

.virtual-microscope .microscope {
        position: relative;
        display: inline-block;
        overflow: hidden;
        border: 0px solid black;
        width: 75%;
        aspect-ratio: 4 / 3;
        border: 1px solid lightgray;
        isolation: isolate;
        flex-grow: 1;

    }

.virtual-microscope .microscope .poi {
            width: 250px;
            margin-left: 40px;
            margin-top: 20px;
            display: none;

        }

.virtual-microscope .microscope .poi > div {
                background: white;
                padding: 5px;
                border: 1px solid black;
            }

.virtual-microscope .microscope .poi .arrow {
                display: inline-block;
                width: 10px;
                height: 10px;
                position: absolute;
                right: 10px;
                top: 13px;
                transform: none;
            }

.virtual-microscope .microscope .poi .arrow svg {
                    position: absolute;
                    top: 0;
                    left: 0;
                }

.virtual-microscope .microscope .poi input {
                display: none;
            }

.virtual-microscope .microscope .poi::before {
                position: absolute;
                top: -20px;
                left: -40px;
                display: block;
                content: " ";
                width: 40px;
                height: 40px;
                border-left: 1px solid black;
                border-bottom: 1px solid black;
            }

.virtual-microscope .microscope .poi::after {
                position: absolute;
                top: -27px;
                left: -43px;
                display: block;
                content: " ";
                width: 7px;
                height: 7px;
                border-radius: 4px;
                border: 1px solid black;
            }

.virtual-microscope .microscope .poi.reverse-x {
                margin-left: -288px;
            }

.virtual-microscope .microscope .poi.reverse-x::before {
                    left: 249px;
                    border-left: 0;
                    border-right: 1px solid black;
                }

.virtual-microscope .microscope .poi.reverse-x::after {
                    left: 285px;
                }

.virtual-microscope .microscope .poi.reverse-y > div {
                    position: absolute;
                    bottom: 44px;
                    width: 100%;
                }

.virtual-microscope .microscope .poi.reverse-y::before {
                    top: -63px;
                    border-bottom: 0;
                    border-top: 1px solid black;
                }

.virtual-microscope .microscope .poi label {
                display: block;
                font-weight: bold;
            }

.virtual-microscope .microscope .poi label:hover {
                    cursor: pointer;
                }

.virtual-microscope .microscope .poi .text {
                display: none;
            }

.virtual-microscope .microscope .poi input[type="checkbox"]:checked + label + .text {
                margin-top: 1em;
                display: block;
            }

.virtual-microscope .microscope .poi input[type="checkbox"]:checked + label .arrow {
                transform: rotate(90deg);
            }

.virtual-microscope.show-labels .poi {
            display: block;
        }

.virtual-microscope .minimap .container {
        position: relative;
        border: 0px solid lightgray;
        cursor: crosshair;
    }

.virtual-microscope .minimap-viewport {
        background-color: rgba(160, 199, 87, 0.5) !important;
        opacity: 1 !important;
    }

.virtual-microscope .minimap-viewport {
        border: 2px solid rgba(160, 199, 87, 1);
    }

.virtual-microscope .slider {
        position: relative;
        padding: 10px 0;
        margin: 0 5px;
        border: 1px solid lightgray;
    }

.virtual-microscope #scale-input {
        appearance: slider-vertical;
        -moz-appearance: slider-vertical;
        -webkit-appearance: slider-vertical;
        height: 100%;
        width: 40px;
        cursor: grab;
    }

.virtual-microscope .mini-map .container {
        position: relative;
    }

.virtual-microscope .toolbar {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        align-content: center;
        margin: 0 5px;
        padding: 10px;
    }

.virtual-microscope [id*="btn-"] {
        margin: 0 10px 0 0;
        padding: 5px 10px;
        border-radius: 3px;
        border: 1px solid #000000;
        border: 1px solid var(--black);
        min-width: 60px;
    }

.virtual-microscope.show-labels #btn-labels,
    .virtual-microscope.measuring #btn-ruler {
        border: 1px solid #A0C757;
        border: 1px solid var(--green);
        background-color: #A0C757;
        background-color: var(--green);
        color: white;
    }

.virtual-microscope .toolbar, .virtual-microscope .info {
        display: none;
    }

.virtual-microscope.measuring .info {
        display: block;
    }

.virtual-microscope.measuring .info .pixel-value {
            display: none;
        }

.virtual-microscope.measuring .info.is-logged-in .pixel-value {
                display: block;
            }

.virtual-microscope table {
        font-size: 90%;
        margin: 0 10px 1em;
    }

.virtual-microscope table td, .virtual-microscope table th {
            text-align: left;
            padding: 0 5px;
        }

.exercise {
    margin-top: 4rem;


}

.exercise .message {
        display: none;
        margin-bottom: 1.5em;
        font-weight: bold;
    }

.exercise.wrong .message {
            color: #bf3227;
            color: var(--red);
            display: block;
        }

.exercise.partial .message {
            color: #f99157;
            color: var(--orange);
            display: block;
        }

.exercise.correct .message {
            color: #A0C757;
            color: var(--green);
            display: block;
        }

.exercise.easter-egg .message {
            color: #bf3227;
            color: var(--red);
            display: block;
        }

.exercise img {
        display: none;
        width: 320px;
        height: auto;
    }

.exercise.show-hint img {
        display: block;
    }

.exercise .flex {
        max-width: 900px;
        display: flex;
        justify-content: space-between;
    }

.exercise .question {
        font-weight: bold;
        margin-bottom: 1.5em;
    }

.exercise .answers label {
            line-height: 1.8em;
        }

.virtual-microscope-select:not(.js-show),
.virtual-microscope .main:not(.js-show),
.virtual-microscope .caption:not(.js-show) {
    display: none;
}

.virtual-microscope .main.js-show ~ .placeholder-text {
    display: none;
}

.placeholder-text {
    margin-top: 10rem;
}

.placeholder-text h2 {
    margin-top: 87px;
    margin-bottom: 3rem;
}

.placeholder-text.js-hide {
    display: none;
}

@media (min-width: 768px) {
        .virtual-microscope .main {
            display: flex;
            flex-wrap: nowrap;
        }

        .virtual-microscope .main > * {
            flex-direction: column;
            flex-wrap: nowrap;
        }

        .virtual-microscope .microscope {
            flex-grow: 0;
        }

        .virtual-microscope .minimap, .virtual-microscope .toolbar {
            display: block;
        }
}

.virtual-microscope-navi-component h2.title {
    margin-bottom: 30px;
    max-width: inherit;
}

.virtual-microscope-navi li {
    list-style: none;
    cursor: pointer;
}

.virtual-microscope-navi li.has-bottom-margin > .oi-list-title .oi-list-heading {
    margin-bottom: 2rem;
}

.virtual-microscope-navi ul.last-step.js-open {
    margin-bottom: 5rem;
}

.virtual-microscope-navi .arrow.js-open svg {
    transform: rotate(180deg);
}

.virtual-microscope-navi ul.has-margin {
    margin-left: 23px;
}

.virtual-microscope-navi ul {
    overflow: hidden;
}

.virtual-microscope-navi ul:not(.js-open) {
    height: 0;
}

.virtual-microscope-navi .oi-list-title {
    padding: 4px 0;
}

.virtual-microscope-navi.js-open {
    margin-bottom: 4rem !important;
}

@media (min-width: 768px) {
    .virtual-microscope-navi li.has-bottom-margin > .oi-list-title .oi-list-heading {
        margin-bottom: 5rem;
    }
}

.virtual-microscope-navi .has-gutter-padding-right {
    padding-right: calc(2rem / 2);
    padding-right: calc(var(--layout-gutter-width) / 2);
}

.exercise-decision-tree ul {
    list-style: none;
}

.exercise-element-item .exercise-title.answer.js-open:not(.is-correct) {
    color: #bf3227;
    color: var(--red);
}

.exercise-element-item .exercise-title.answer.js-open.is-correct {
    color: #A0C757;
    color: var(--green);
}

.exercise-element-item .exercise-title:hover {
    color: #82A147;
    color: var(--dark-green);
}

.exercise-decision-tree img {
    max-height: 200px;
}

@media (min-width: 768px) {
    .virtual-microscope-navi li.exercise-element-item.has-bottom-margin > .oi-list-title .oi-list-heading {
        margin-bottom: 3rem;
    }
}

.oi-list-heading.is-question,
.oi-list-title.is-question {
    background: #dddddd;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFDQTtJQUNJLGdCQUFnQjtJQUNoQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO1FBRVE7WUFDSSxhQUFhO1lBQ2IsaUJBQWlCO1FBQ3JCOztRQUVBO1lBQ0ksc0JBQXNCO1lBQ3RCLGlCQUFpQjtRQUNyQjs7UUFFQTtZQUNJLFlBQVk7UUFDaEI7O1FBRUE7WUFDSSxjQUFjO1FBQ2xCO0FBRVI7O0FDcldBO0lBQ0ksbUJBQW1CO0lBQ25CLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixlQUFlO0FBQ25COztBQUNBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUNBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUNBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUNBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksU0FBUztBQUNiOztBQUNBO0lBQ0ksY0FBYztBQUNsQjs7QUFDQTtJQUNJLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJO1FBQ0ksbUJBQW1CO0lBQ3ZCO0FBQ0o7O0FBRUE7SUFDSSw2QkFBbUQ7SUFBbkQsbURBQW1EO0FBQ3ZEOztBQzVDQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGNBQWlCO0lBQWpCLGlCQUFpQjtBQUNyQjs7QUFDQTtJQUNJLGNBQW1CO0lBQW5CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGNBQXdCO0lBQXhCLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJO1FBQ0ksbUJBQW1CO0lBQ3ZCO0FBQ0o7O0FBQ0E7O0lBRUksbUJBQW1CO0FBQ3ZCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3N0eWxlcy9idW5kbGVzL3N0eWxlcy1hc3luYy5jc3MiLCJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3ZhcmlhYmxlcy5jc3MiLCJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3N0eWxlcy9zdHlsZXMtYXN5bmMvYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3N0eWxlcy9zdHlsZXMtYXN5bmMvYXJ0aWNsZS5jc3MiLCJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3N0eWxlcy9zdHlsZXMtYXN5bmMvc2VhcmNoLmNzcyIsIndlYnBhY2s6Ly9oZWxpdW0vLi9hcHBsaWNhdGlvbi9zcmMvc3R5bGVzL3N0eWxlcy1hc3luYy9icmVhZGNydW1icy5jc3MiLCJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3N0eWxlcy9zdHlsZXMtYXN5bmMvZm9ybS5jc3MiLCJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3N0eWxlcy9zdHlsZXMtYXN5bmMvc2Vjb25kYXJ5LW5hdmlnYXRpb24uY3NzIiwid2VicGFjazovL2hlbGl1bS8uL2FwcGxpY2F0aW9uL3NyYy9zdHlsZXMvc3R5bGVzLWFzeW5jL3BhcmFzaXRlcy1kZXRhaWwuY3NzIiwid2VicGFjazovL2hlbGl1bS8uL2FwcGxpY2F0aW9uL3NyYy9zdHlsZXMvc3R5bGVzLWFzeW5jL2ZpbHRlci1lbGVtZW50LXBhcmFzaXRlcy5jc3MiLCJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3N0eWxlcy9zdHlsZXMtYXN5bmMvZmlsdGVyLWVsZW1lbnQtZGlzZWFzZXMuY3NzIiwid2VicGFjazovL2hlbGl1bS8uL2FwcGxpY2F0aW9uL3NyYy9zdHlsZXMvc3R5bGVzLWFzeW5jL3ZpcnR1YWwtbWljcm9zY29wZS5jc3MiLCJ3ZWJwYWNrOi8vaGVsaXVtLy4vYXBwbGljYXRpb24vc3JjL3N0eWxlcy9zdHlsZXMtYXN5bmMvdmlydHVhbC1taWNyb3Njb3BlLW5hdmkuY3NzIiwid2VicGFjazovL2hlbGl1bS8uL2FwcGxpY2F0aW9uL3NyYy9zdHlsZXMvc3R5bGVzLWFzeW5jL2V4ZXJjaXNlcy5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDilZLilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZVcbiAqIOKUgiAgICAgICAgICAgSG9XIHRPIHdySXRFIENvREUgICAgICAgICAgIOKUglxuICog4pWe4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWk4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWhXG4gKiDilIIgICAgICAgICAgdmFyaWFibGUg4pSCIC0tbGlrZS10aGlzICAgICAgIOKUglxuICog4pSCIGN1c3QuIG1lZGlhIHF1ZXJ5IOKUgiAtLVtmb3J8d2hlbl0tWy4uXSDilIJcbiAqIOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUpFxuICog4pSCICAgICAgbGF5b3V0LCBvYmouIOKUgiAuby1bLi5dICAgICAgICAgICDilIJcbiAqIOKUgiAgICBlbGVtZW50LCBjbXB0LiDilIIgLmxpa2UtdGhpcyAgICAgICAg4pSCXG4gKiDilIIgICAgICAgICBDU1Mgc3RhdGUg4pSCIC5baXN8aGFzXS1bLi5dICAgIOKUglxuICog4pSCICAgICAgICAgIEpTIHN0YXRlIOKUgiAuanMtWy4uXSAgICAgICAgICDilIJcbiAqIOKUgiAgICAgICB0aGVtZSwgbW9kLiDilIIgLi1saWtlLXRoaXMgICAgICAg4pSCXG4gKiDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJhcbiAqL1xuXG4vKiAtLS0gU3R5bGVzIC0tLSAqL1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL2Jhc2UuY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy9hcnRpY2xlLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvc2VhcmNoLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvYnJlYWRjcnVtYnMuY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy9mb3JtLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvc2Vjb25kYXJ5LW5hdmlnYXRpb24uY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy9wYXJhc2l0ZXMtZGV0YWlsLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvZmlsdGVyLWVsZW1lbnQtcGFyYXNpdGVzLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvZmlsdGVyLWVsZW1lbnQtZGlzZWFzZXMuY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy92aXJ0dWFsLW1pY3Jvc2NvcGUuY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy92aXJ0dWFsLW1pY3Jvc2NvcGUtbmF2aS5jc3MnO1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL2V4ZXJjaXNlcy5jc3MnO1xuIiwiOnJvb3Qge1xuICAgIC8qIENvbG9ycyAtIEJhc2UgMTYgRWlnaHRpZXMgKi9cbiAgICAtLWJsYWNrOiAjMDAwMDAwO1xuICAgIC0tZGFyazogIzJkMmQyZDtcbiAgICAtLWxpZ2h0LWdyYXk6ICNmNWY1ZjU7XG4gICAgLS1ncmF5OiAjYTA5ZjkzO1xuICAgIC0tbGlnaHQ6ICNmZmZmZmY7XG4gICAgLS1yZWQ6ICNiZjMyMjc7XG4gICAgLS1vcmFuZ2U6ICNmOTkxNTc7XG4gICAgLS15ZWxsb3c6ICNmZmNjNjY7XG4gICAgLS1ncmVlbjogI0EwQzc1NztcbiAgICAtLWRhcmstZ3JlZW46ICM4MkExNDc7XG4gICAgLS1saWdodC1ncmVlbjogI0M0REE5NztcbiAgICAtLWN5YW46ICM2NmNjY2M7XG4gICAgLS1ibHVlOiAjNjY5OWNjO1xuICAgIC0tdmlvbGV0OiAjY2M5OWNjO1xuICAgIC0tbWFnZW50YTogI2QyN2I1MztcblxuICAgIC0tcGFnZS1iYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG5cbiAgICAvKiBUZXh0IC0gRGVmYXVsdCAqL1xuICAgIC0tZGVmYXVsdC1mb250LWZhbWlseTogaGVsaXVtLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG4gICAgLS1kZWZhdWx0LWRhcmstdGV4dC1jb2xvcjogdmFyKC0tZGFyayk7XG4gICAgLS1kZWZhdWx0LWxpZ2h0LXRleHQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgICAtLWRlZmF1bHQtZm9udC1zaXplOiAxNnB4O1xuICAgIC0tZGVmYXVsdC1mb250LXdlaWdodDogNDAwO1xuICAgIC0tbWVkaXVtLWZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLyotLWRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuMzM7Ki9cbiAgICAtLWRlZmF1bHQtbGluZS1oZWlnaHQ6IDI1cHg7XG5cbiAgICAvKiBUZXh0IC0gSGVhZGluZ3MgKi9cbiAgICAtLWhlYWRpbmdzLWZvbnQtZmFtaWx5OiB2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5KTtcbiAgICAtLWhlYWRpbmdzLWNvbG9yOiBpbmhlcml0O1xuICAgIC0taGVhZGluZ3MtZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAtLWhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAtLWhlYWRpbmdzLW1hcmdpbi1ib3R0b206IDAuNGVtO1xuICAgIC0taDEtbGluZS1oZWlnaHQ6IDEuMWVtO1xuXG4gICAgLS1oMS1tYXJnaW4tdG9wOiAwO1xuICAgIC0taDEtbWFyZ2luLWJvdHRvbTogMC40ZW07XG4gICAgLS1oMi1tYXJnaW4tdG9wOiAwO1xuICAgIC0taDItbWFyZ2luLWJvdHRvbTogMC40ZW07XG4gICAgLS1oMy1tYXJnaW4tdG9wOiAwO1xuICAgIC0taDMtbWFyZ2luLWJvdHRvbTogMC40ZW07XG5cbiAgICAtLWgxLWZvbnQtc2l6ZTogMjVweDtcbiAgICAtLWhvbWUtaDEtZm9udC1zaXplOiA0MHB4O1xuICAgIC0taDItZm9udC1zaXplOiAyMHB4O1xuICAgIC0taDMtZm9udC1zaXplOiAyMHB4O1xuICAgIC0taDQtZm9udC1zaXplOiAxNnB4O1xuICAgIC0taDUtZm9udC1zaXplOiAxNXB4O1xuICAgIC0tYnV0dG9uLWZvbnQtc2l6ZTogMTZweDtcbiAgICAtLWlucHV0LWZvbnQtc2l6ZTogMTZweDsgLyogbWluIGZvbnQtc2l6ZSB0byBhdm9pZCBzY2FsaW5nIG9uIGZvY3VzICovXG4gICAgLS1pbnRyby1mb250LXNpemU6IDE4cHg7XG4gICAgLS1maWx0ZXItZWxlbWVudC1kaXNlYXNlcy1mb250LXNpemU6IDI1cHg7XG5cblxuICAgIC0tcC1tYXJnaW4tYm90dG9tOiAxLjc1ZW07XG4gICAgLS1tZWRpYS1tYXJnaW4taGVpZ2h0OiAyZW07XG5cbiAgICAvKiBQYWdlIC0gZGVmYXVsdCwgbGF5b3V0ICovXG4gICAgLS1wYWdlLW1heHdpZHRoOiAxMjByZW07XG4gICAgLS1wYWdlLW1heHdpZHRoLWxhcmdlOiAxMjhyZW07XG5cbiAgICAtLXBhZ2UtZ3V0dGVyLXdpZHRoOiAxLjVyZW07XG4gICAgLS1zZWN0aW9uLW1hcmdpbi1oZWlnaHQ6IDVyZW07XG4gICAgLS1jb21wb25lbnQtbWFyZ2luLWhlaWdodDogM3JlbTtcblxuICAgIC0tbGF5b3V0LWd1dHRlci13aWR0aDogMnJlbTtcbiAgICAtLWJpZy1sYXlvdXQtZ3V0dGVyLXdpZHRoOiA0cmVtO1xuICAgIC0tbmF2aS1ndXR0ZXItd2lkdGg6IDVyZW07XG4gICAgLS1sYXlvdXQtZ3V0dGVyLWhlaWdodDogMnJlbTtcblxuICAgIC0tY2Fyb3VzZWwtZ3V0dGVyLXdpZHRoOiAzcmVtO1xuXG4gICAgLyogUndkICovXG4gICAgLS1yd2QtbWFyZ2luLWhlaWdodDoyMXB4O1xuICAgIC0tbWVudS10b2dnbGUtaGVpZ2h0OiA1NXB4O1xuICAgIC0tbWVudS10b2dnbGUtaGVpZ2h0LXJlZHVjZWQ6IDI2cHg7XG5cbiAgICAvKiBGb3JtICovXG4gICAgLyotLWZvcm0tZGVmYXVsdC1jb2xvcjogMCwgMCUsIDMyJTsqL1xuICAgIC0tZm9ybS1kZWZhdWx0LWNvbG9yOiB2YXIoLS1ncmVlbik7XG4gICAgLS1mb3JtLWJvcmRlci1jb2xvcjogdmFyKC0tZGFyayk7XG4gICAgLS1mb3JtLWVycm9yLWNvbG9yOiAzNTksIDgzJSwgNzElO1xuICAgIC0tZm9ybS1hY3RpdmUtY29sb3I6IDIxMCwgNTAlLCA2MCU7XG4gICAgLS1mb3JtLXJlYWRvbmx5LWNvbG9yOiB2YXIoLS1ncmF5KTtcbiAgICAtLWZvcm0taW52YWxpZC1jb2xvcjogMzYsIDEwMCUsIDUwJTtcbiAgICAtLWZvcm0tZXJyb3ItYm9yZGVyLWNvbG9yOiAzNTksIDgzJSwgNzElO1xuICAgIC0tZm9ybS12YWxpZC1ib3JkZXItY29sb3I6IDg1LCAxMDAlLCAzMCU7XG4gICAgLS1mb3JtLWVycm9yLXRleHQtY29sb3I6IGhzbCgzNTksIDEwMCUsIDUwJSk7XG4gICAgLS1mb3JtLWVycm9yLWJhY2tncm91bmQ6IDM1OSwgODMlLCA3MSU7XG4gICAgLS1mb3JtLXN1Y2Nlc3MtY29sb3I6ICM4N2ZlNmE7XG4gICAgLS1mb3JtLWlucHV0LWJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgLS1mb3JtLW9wdGlvbi1ob3Zlci1jb2xvcjogI2VkZWRlZDtcblxuICAgIC8qIEJ1dHRvbiAqL1xuICAgIC0tYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdmFyKC0tYmxhY2spO1xuICAgIC0tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiB2YXIoLS1kYXJrKTtcbiAgICAtLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiB2YXIoLS1kZWZhdWx0LWxpZ2h0LXRleHQtY29sb3IpO1xuICAgIC0tYnV0dG9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tZGVmYXVsdC1saWdodC10ZXh0LWNvbG9yKTtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6IHZhcigtLWJsYWNrKTtcblxuICAgIC8qIFRpbWluZ3MgKi9cbiAgICAtLWRlZmF1bHQtdGltaW5nOiAyNTBtcztcblxuICAgIC8qIERlZmF1bHQgc3BhY2UgdW5pdHMgKi9cbiAgICAtLXplcm8td2lkdGgtc3BhY2U6IDA7ICAgICAgICAgICAgICAgICAvKiAgIDAgIGVtIHwgQWxsb3dzIGxpbmUgYnJlYWssIGxpa2UgPHdicj4gKi9cbiAgICAtLWhhaXItc3BhY2U6IDAuMDQxN2VtOyAgICAgICAgICAgICAgICAvKiAxLzI0IGVtIHwgV2lkdGggdmFyaWVzLCBidXQgbmFycm93ZXIgdGhhbiB0aGluIHNwYWNlICovXG4gICAgLS1maW5lLXNwYWNlOiAwLjEyNWVtOyAgICAgICAgICAgICAgICAgLyogMS84ICBlbSB8IEZvciBGcmVuY2ggcHVuY3R1YXRpb24gKi9cbiAgICAtLXNpeC1wZXItZW0tc3BhY2U6IDAuMTY2N2VtOyAgICAgICAgICAvKiAxLzYgIGVtIHwgTWlnaHQgYmUgc3VpdGFibGUgZm9yIGdyb3VwaW5nICovXG4gICAgLS10aGluLXNwYWNlOiAwLjJlbTsgICAgICAgICAgICAgICAgICAgLyogMS81ICBlbSB8IFJlY29tbWVuZGVkIG1pbmltdW0gd2lkdGggb2Ygc3BhY2UgKi9cbiAgICAtLW1lZGl1bS1tYXRoZW1hdGljYWwtc3BhY2U6IDAuMjIyMmVtOyAvKiA0LzE4IGVtIHwgQXJvdW5kIG9wZXJhdG9ycyAoYWNjb3JkaW5nIHRvIENoaWNhZ28pICovXG4gICAgLS1mb3VyLXBlci1lbS1zcGFjZTogMC4yNWVtOyAgICAgICAgICAgLyogMS80ICBlbSB8IG1pZCBzcGFjZTogQXZlcmFnZSB3aWR0aCBvZiBub3JtYWwgc3BhY2UgKi9cbiAgICAtLXRoaWNrLXNwYWNlOiAwLjI3NzhlbTsgICAgICAgICAgICAgICAvKiA1LzE4IGVtIHwgQXJvdW5kIHJlbGF0aW9uYWwgb3BlcmF0b3JzIChhY2NvcmRpbmcgdG8gQ2hpY2FnbykgKi9cbiAgICAtLXRocmVlLXBlci1lbS1zcGFjZTogMC4zMzMzZW07ICAgICAgICAvKiAxLzMgIGVtIHwgV2lkdGggb2Ygc3BhY2UgaW4gYSB3aWRlIGZvbnQgKi9cbiAgICAtLWVuLXNwYWNlOiAwLjVlbTsgICAgICAgICAgICAgICAgICAgICAvKiAxLzIgIGVtIHwgUmVjb21tZW5kZWQgbWF4aW11bSB3aWR0aCBvZiBzcGFjZSAqL1xuICAgIC0tZW0tc3BhY2U6IDFlbTsgICAgICAgICAgICAgICAgICAgICAgIC8qICAgMSAgZW0gfCBPbmUgKi9cblxufVxuXG5Ac2NyZWVuIG1kIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0taDEtZm9udC1zaXplOiBjYWxjKDU1cHggKyAoODAgLSA1NSkgKiAoMTAwdncgLSA3NjhweCkgLyAoMTI4MCAtIDc2OCkpO1xuICAgICAgICAtLWhvbWUtaDEtZm9udC1zaXplOiBjYWxjKDQwcHggKyAoNzAgLSA0MCkgKiAoMTAwdncgLSA3NjhweCkgLyAoMTI4MCAtIDc2OCkpO1xuICAgICAgICAtLWgyLWZvbnQtc2l6ZTogY2FsYygyNXB4ICsgKDM1IC0gMjUpICogKDEwMHZ3IC0gNzY4cHgpIC8gKDEyODAgLSA3NjgpKTtcbiAgICAgICAgLS1oMy1mb250LXNpemU6IGNhbGMoMThweCArICgyNSAtIDI0KSAqICgxMDB2dyAtIDc2OHB4KSAvICgxMjgwIC0gNzY4KSk7XG4gICAgICAgIC0taDQtZm9udC1zaXplOiBjYWxjKDE5cHggKyAoMjUgLSAxOSkgKiAoMTAwdncgLSA3NjhweCkgLyAoMTI4MCAtIDc2OCkpO1xuICAgICAgICAtLWg1LWZvbnQtc2l6ZTogY2FsYygxOHB4ICsgKDIwIC0gMTgpICogKDEwMHZ3IC0gNzY4cHgpIC8gKDEyODAgLSA3NjgpKTtcbiAgICAgICAgLS1oMi1tYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAtLWJ1dHRvbi1mb250LXNpemU6IGNhbGMoMTZweCArICgxOCAtIDE2KSAqICgxMDB2dyAtIDc2OHB4KSAvICgxMjgwIC0gNzY4KSk7XG4gICAgICAgIC0taW5wdXQtZm9udC1zaXplOiBjYWxjKDE2cHggKyAoMTggLSAxNikgKiAoMTAwdncgLSA3NjhweCkgLyAoMTI4MCAtIDc2OCkpO1xuICAgICAgICAtLWZpbHRlci1lbGVtZW50LWRpc2Vhc2VzLWZvbnQtc2l6ZTogY2FsYygzNXB4ICsgKDYwIC0gMzUpICogKDEwMHZ3IC0gNzY4cHgpIC8gKDEyODAgLSA3NjgpKTtcblxuXG4gICAgICAgIC0tcGFnZS1ndXR0ZXItd2lkdGg6IDhyZW07XG4gICAgICAgIC0tc2VjdGlvbi1tYXJnaW4taGVpZ2h0OiA2LjI1dm1pbjtcbiAgICAgICAgLS1jb21wb25lbnQtbWFyZ2luLWhlaWdodDogNi4yNXZtaW47XG5cbiAgICAgICAgLS1oMi1tYXJnaW4tYm90dG9tOiAxMDVweDtcbiAgICB9XG59XG5cblxuQHNjcmVlbiB4bCB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWgxLWZvbnQtc2l6ZTogODBweDtcbiAgICAgICAgLS1ob21lLWgxLWZvbnQtc2l6ZTogNzBweDtcbiAgICAgICAgLS1oMi1mb250LXNpemU6IDM1cHg7XG4gICAgICAgIC0taDMtZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAtLWg0LWZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgLS1oNS1mb250LXNpemU6IDIwcHg7XG4gICAgICAgIC0tYnV0dG9uLWZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgLS1pbnB1dC1mb250LXNpemU6IDE4cHg7XG4gICAgICAgIC0tZmlsdGVyLWVsZW1lbnQtZGlzZWFzZXMtZm9udC1zaXplOiA2MHB4O1xuICAgIH1cbn1cblxuXG4iLCJAaW1wb3J0IHVybCguLi8uLi92YXJpYWJsZXMuY3NzKTtcblxuLyogLS0tIFRoZW1lcyAtLS0gKi9cbi5oYXMtYmFja2dyb3VuZC4tZ3JleSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheSk7XG59XG5cbi5oYXMtYmFja2dyb3VuZC4td2hpdGUge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuIiwiQGltcG9ydCB1cmwoLi4vLi4vdmFyaWFibGVzLmNzcyk7XG5cbmFydGljbGUgb2wsXG5hcnRpY2xlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxuYXJ0aWNsZSAudGV4dCBvbCxcbmFydGljbGUgLnRleHQgdWwsXG5hcnRpY2xlIC5vLXRleHQgb2wsXG5hcnRpY2xlIC5vLXRleHQgdWwge1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4uaW1hZ2Uge1xuICAgIG1hcmdpbjogMi41cmVtIDA7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICBAc2NyZWVuIGxnIHtcbiAgICAgICAgbWFyZ2luOiA1cmVtIDA7XG4gICAgfVxufVxuXG4ubGVhZCxcbi50ZXh0LFxuLm8tZWRpdG9yaWFsLFxuLmludHJvLFxuLm8taW1hZ2Uge1xuICAgIG1heC13aWR0aDogNzhyZW07XG59XG5cblxucC5pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1LjVyZW07XG59XG5cbi5saXN0LS1wYXJhc2l0ZXMgYSxcbi5saXN0LS1kaXNlYXNlcyBhLFxuLmxpc3QtLWFwYXRob2dlbnMgYTpob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgY29sb3I7XG59XG4ubGlzdC0tcGFyYXNpdGVzIGE6aG92ZXIsXG4ubGlzdC0tZGlzZWFzZXMgYTpob3Zlcixcbi5saXN0LS1hcGF0aG9nZW5zIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrLWdyZWVuKTtcbn1cbiIsIkBpbXBvcnQgdXJsKC4uLy4uL3ZhcmlhYmxlcy5jc3MpO1xuXG4uby1zZWFyY2gge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xufVxuXG4uby1zZWFyY2ggbGkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuLnNlYXJjaC1oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5zZWFyY2gtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCJAaW1wb3J0IHVybCguLi8uLi92YXJpYWJsZXMuY3NzKTtcblxuOnJvb3Qge1xuICAgIC0tYnJlYWRjcnVtYi1zcGFjZTogMWVtO1xufVxuXG4uby1icmVhZGNydW1icyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbi5vLWJyZWFkY3J1bWJzIGxpLnNwbGl0dGVyIHtcbiAgICBtYXJnaW46IDAgdmFyKC0tYnJlYWRjcnVtYi1zcGFjZSk7XG59XG5cbi5vLWJyZWFkY3J1bWJzIGxpOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vLWJyZWFkY3J1bWJzIC5saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWRlZmF1bHQtdGltaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vLWJyZWFkY3J1bWJzIC5oYXMtc3ZnLWljb24ge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuIiwiQGltcG9ydCB1cmwoLi4vLi4vdmFyaWFibGVzLmNzcyk7XG5cbmZvcm0sXG5mb3JtIFtjbGFzc149XCJiYXNpc1wiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5maWVsZHNldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuQHNjcmVlbiBtZCB7XG4gICAgZmllbGRzZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cbn1cblxuZmllbGRzZXQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndpbm5pZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcmlnaHQ6IC0yNDY2cHg7XG59XG5cbi53aW5uaWUgbGFiZWwge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbmZpZWxkc2V0IC5mb3JtLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5idXR0b24sIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFuZ2VcIl0pLCB0ZXh0YXJlYSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYnV0dG9uOi1tb3otdWktaW52YWxpZCxcbmlucHV0Oi1tb3otdWktaW52YWxpZCxcbnRleHRhcmVhOi1tb3otdWktaW52YWxpZCB7XG4gICAgYm94LXNoYWRvdzogMCAwO1xufVxuXG5idXR0b24sIGlucHV0LCB0ZXh0YXJlYSwgbGFiZWwge1xuICAgIHRyYW5zaXRpb246IDM1MG1zO1xufVxuXG5pbnB1dCwgdGV4dGFyZWEge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG5mb3JtIGJ1dHRvbixcbmxhYmVsOm5vdCguaXMtc3RhdGljKSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYWNjZW50LWNvbG9yOiAjMDAwMDAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5pbnB1dFt0eXBlPVwicmFkaW9cIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDJweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB3aWR0aDogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbn1cbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwge1xuICAgIC8qZm9udC13ZWlnaHQ6IGJvbGQ7Ki9cbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwLjhweDtcbn1cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi10b3A6IDFweDtcbn1cblxuZm9ybSBidXR0b24sXG5mb3JtIGJ1dHRvbi5oYXMtc3ZnLWljb24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbSAwLjg1ZW0gMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG5mb3JtIGJ1dHRvbi5oYXMtc3ZnLWljb24ge1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIG1pbi1oZWlnaHQ6IDIuMjVlbTsgLyogbGluZS1oZWlnaHQgKyBwYWRkaW5nICovXG4gICAgbWluLXdpZHRoOiAyLjI1ZW07XG59XG5cbmZvcm0gYnV0dG9uLmhhcy1zdmctaWNvbiA+IHN2ZyB7XG4gICAgbWF4LWhlaWdodDogMWVtO1xufVxuXG5mb3JtIGJ1dHRvbjpmb2N1cyxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLXBhZ2UtYmFja2dyb3VuZCksIDAgMCAwIDRweCBoc2xhKHZhcigtLWZvcm0tYWN0aXZlLWNvbG9yKSwgMC4zNSk7XG59XG5cbkBzY3JlZW4gcG9pbnRpbmcge1xuICAgIGZvcm0gYnV0dG9uOmhvdmVyLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgfVxufVxuXG5Ac2NyZWVuIHRvdWNoIHtcbiAgICBmb3JtIGJ1dHRvbjphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idXR0b24tYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIH1cbn1cblxuW3R5cGU9XCJudW1iZXJcIl0geyAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAxZW07XG59XG5cbmZvcm0gbGFiZWwsXG5mb3JtIGxlZ2VuZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xNWVtO1xufVxuXG5zZWxlY3QsIG9wdGlvbiB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbnNlbGVjdCBvcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNzVlbSAyZW0gMC44NWVtIDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgIGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogM2VtO1xufVxuXG5zZWxlY3QsXG5pbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwic2VhcmNoXCJdKTpub3QoW3R5cGU9XCJyYW5nZVwiXSksXG50ZXh0YXJldCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtIDAuNmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZm9ybS1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCB2YXIoLS1mb3JtLWlucHV0LWJhY2tncm91bmQpIGluc2V0IWltcG9ydGFudDtcbn1cblxuQHNjcmVlbiBtZCB7XG4gICAgc2VsZWN0LFxuICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJzZWFyY2hcIl0pOm5vdChbdHlwZT1cInJhbmdlXCJdKSxcbiAgICB0ZXh0YXJldCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVlbSAyZW0gMC44NWVtIDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICB9XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDFlbSA1cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG59XG5cbnNlbGVjdDpmb2N1cyxcbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJzZWFyY2hcIl0pOm5vdChbdHlwZT1cInJhbmdlXCJdKTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1jb2xvcjogaHNsKHZhcigtLWZvcm0tYWN0aXZlLWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogaHNsKHZhcigtLWZvcm0tYWN0aXZlLWNvbG9yKSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDRweCBoc2xhKHZhcigtLWZvcm0tYWN0aXZlLWNvbG9yKSwgMC43KSwgMCAwIDAgMTAwMHB4IHdoaXRlIGluc2V0IWltcG9ydGFudDtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cInNlYXJjaFwiXSk6bm90KFt0eXBlPVwicmFuZ2VcIl0pLmpzLWVycm9yLFxudGV4dGFyZWEuanMtZXJyb3Ige1xuICAgIG91dGxpbmU6IDAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogaHNsKHZhcigtLWZvcm0tZXJyb3ItYm9yZGVyLWNvbG9yKSk7XG59XG5cbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJzZWFyY2hcIl0pOm5vdChbdHlwZT1cInJhbmdlXCJdKS5qcy1lcnJvcjpmb2N1cyxcbnRleHRhcmVhLmpzLWVycm9yOmZvY3VzIHtcbiAgICAgYm94LXNoYWRvdzogMCAwIDRweCBoc2xhKHZhcigtLWZvcm0tZXJyb3ItYm9yZGVyLWNvbG9yKSwgMC43KSwgMCAwIDAgMTAwMHB4IHdoaXRlIGluc2V0IWltcG9ydGFudDtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cInNlYXJjaFwiXSk6bm90KFt0eXBlPVwicmFuZ2VcIl0pLmpzLXZhbGlkLFxudGV4dGFyZWEuanMtdmFsaWQge1xuICAgIG91dGxpbmU6IDAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogaHNsKHZhcigtLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKSk7XG59XG5cbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJzZWFyY2hcIl0pOm5vdChbdHlwZT1cInJhbmdlXCJdKS5qcy12YWxpZDpmb2N1cyxcbnRleHRhcmVhLmpzLXZhbGlkOmZvY3VzIHtcbiAgICAgYm94LXNoYWRvdzogMCAwIDRweCBoc2xhKHZhcigtLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKSwgMC43KSwgMCAwIDAgMTAwMHB4IHdoaXRlIGluc2V0IWltcG9ydGFudDtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cInNlYXJjaFwiXSk6bm90KFt0eXBlPVwicmFuZ2VcIl0pLmpzLWVycm9yOmZvY3VzLFxudGV4dGFyZWEuanMtZXJyb3I6Zm9jdXMge1xuICAgIG91dGxpbmU6IDAgMCA0cHggaHNsYSh2YXIoLS1mb3JtLWFjdGl2ZS1jb2xvciksIDAuNykhaW1wb3J0YW50O1xufVxuXG5pbnB1dDpkaXNhYmxlZCxcbnRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM1O1xufVxuXG4vKmlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6cmVhZC1vbmx5IHsqL1xuLyogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS1yZWFkb25seS1jb2xvcikgIWltcG9ydGFudDsqL1xuLyp9Ki9cblxuLyogQ2hlY2tib3ggKyBSYWRpbyAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJde1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1c3tcbiAgICBib3JkZXItY29sb3I6IGhzbCh2YXIoLS1mb3JtLWFjdGl2ZS1jb2xvcikpXG59XG5cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xufVxuXG5mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB1bnNldDtcbiAgICBsaW5lLWhlaWdodDogMS4xNWVtO1xuICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuMjVlbSAwIDAgMmVtO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1mb3JtLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1iYWNrZ3JvdW5kKTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmpzLWVycm9yICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAgaHNsKHZhcigtLWZvcm0tZXJyb3ItYm9yZGVyLWNvbG9yKSk7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkLmpzLXZhbGlkICsgbGFiZWw6OmJlZm9yZXtcbiAgICBib3JkZXItY29sb3I6ICBoc2wodmFyKC0tZm9ybS12YWxpZC1ib3JkZXItY29sb3IpKTtcbn1cblxuZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbmZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMS41ZW07XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgICBjb250ZW50OiBcIlxcMjcxNFwiO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbn1cblxuZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbDo6YmVmb3Jle1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWZvcm0tcmVhZG9ubHktY29sb3IpO1xufVxuXG5mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmRpc2FibGVkICsgbGFiZWw6OmFmdGVyIHtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1yZWFkb25seS1jb2xvcik7XG59XG5cbi8qIC0tLSBMYWJlbCAtLS0gKi9cbmZvcm0gbGFiZWw6bm90KC5pcy1zdGF0aWMpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjE1ZW07XG59XG5cbmxhYmVsLmpzLWVycm9yOm5vdCguaXMtc3RhdGljKSB7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZXJyb3ItdGV4dC1jb2xvcik7XG59XG5cbmxhYmVsLmFzLXBsYWNlaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxubGFiZWwuYXMtcGxhY2Vob2xkZXIuYWN0aXZlIHtcbiAgICBjb2xvcjogaHNsKHZhcigtLWZvcm0tYWN0aXZlLWNvbG9yKSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMC41ZW0sIC0yLjVlbSwgMCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG5sYWJlbCBzcGFuIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5pbnB1dDppbnZhbGlkICsgbGFiZWwuYWN0aXZlIHtcbiAgICBjb2xvcjogaHNsKHZhcigtLWZvcm0tZXJyb3ItYm9yZGVyLWNvbG9yKSk7XG59XG5cbi5mb3JtLWZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbltjbGFzc149XCJmaWVsZC1lcnJvclwiXSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1lcnJvci10ZXh0LWNvbG9yKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbltjbGFzc149XCJmaWVsZC1lcnJvclwiXSA+IHAge1xuICAgIG1hcmdpbjogMCAwIDAuNWVtIDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5bY2xhc3NePVwiZmllbGQtZXJyb3JcIl06bm90KC5maWVsZC1lcnJvci1pbmxpbmUpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLmZvcm0tbWVzc2FnZSB7XG59XG5cbi5mb3JtLW1lc3NhZ2UtZXJyb3Ige1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWVycm9yLXRleHQtY29sb3IpO1xufVxuXG4uZm9ybS1tZXNzYWdlLXNlbmRpbmcge1xufVxuXG4uZm9ybS1tZXNzYWdlLXN1Y2Nlc3Mge1xufVxuXG5mb3JtIC5idXR0b24td3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBzY3JlZW4gbWQge1xuICAgIGZvcm0gLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbmZvcm0gYnV0dG9uLFxuZm9ybSAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbixcbmZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWFyZ2luOiAwIDAuNWVtO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1mb3JtLWJvcmRlci1jb2xvcik7XG59XG5cbmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHZhcigtLWZvcm0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLWdyZWVuKTtcbn1cblxuOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWdyYXkpO1xufVxuIiwiQGltcG9ydCB1cmwoLi4vLi4vdmFyaWFibGVzLmNzcyk7XG5cbi5vaS1zZWNvbmRhcnktbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm9pLXNlY29uZGFyeS1uYXZpZ2F0aW9uLWl0ZW0gYSB7XG4gICAgcGFkZGluZzogNXB4IDJyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5vaS1zZWNvbmRhcnktbmF2aWdhdGlvbi1pdGVtLmlzLW5hdmkgYSB7XG4gICAgcGFkZGluZzogNXB4IDJyZW07XG59XG5cbmJvZHk6bm90KC4taG9tZSkgLm9pLXNlY29uZGFyeS1uYXZpZ2F0aW9uLWl0ZW0gLnRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuLWhvbWUgLm9pLXNlY29uZGFyeS1uYXZpZ2F0aW9uLWl0ZW06bm90KC5pcy1uYXZpKSBhIHtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gNXJlbTtcbn1cbmJvZHkuLWhvbWUgLm9pLXNlY29uZGFyeS1uYXZpZ2F0aW9uLWl0ZW06bm90KC5pcy1uYXZpKSAudGV4dCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG5cbi5vaS1zZWNvbmRhcnktbmF2aWdhdGlvbi1pdGVtIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgYmFja2dyb3VuZC1jb2xvcjtcbn1cbi5vaS1zZWNvbmRhcnktbmF2aWdhdGlvbi1pdGVtLmlzLWFjdGl2ZSBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4ub2ktc2Vjb25kYXJ5LW5hdmlnYXRpb24taXRlbSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWdyZWVuKTtcbn1cblxuLypib2R5Om5vdCguLWhvbWUpIC5vaS1zZWNvbmRhcnktbmF2aWdhdGlvbi1pdGVtOm5vdCguaXMtbmF2aSk6bm90KC5pcy1hY3RpdmUpIGEgeyovXG4vKiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyovXG4vKn0qL1xuIiwiQGltcG9ydCB1cmwoLi4vLi4vdmFyaWFibGVzLmNzcyk7XG5cbi5wYXJhc2l0ZS1kaWFncmFtIHtcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG59XG5cbi5wYXJhc2l0ZS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cbiIsIkBpbXBvcnQgdXJsKC4uLy4uL3ZhcmlhYmxlcy5jc3MpO1xuXG4ub2ktbGlzdDpub3QoLm5vLW1hcmdpbi10b3ApIHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtO1xufVxuXG4uaGFzLWJpZy1ib3JkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB2YXIoLS1ncmVlbik7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uaGFzLWJvcmRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7XG59XG5cbi5vaS1saXN0IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5vaS1saXN0IHVsLmxhc3Qtc3RlcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbn1cblxuLm9pLWxpc3QgdWw6bm90KC5sYXN0LXN0ZXApIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbi5vaS1saXN0IHVsLmxhc3Qtc3RlcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLm9pLWxpc3QgPiB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLm9pLWxpc3QtdGl0bGUuaGFzLXJpZ2h0LXBhZGRpbmcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5vaS1saXN0LXRpdGxlIC5vaS1saXN0LWxpbmsge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuLm9pLWxpc3QtdGl0bGUgLm9pLWxpc3QtaGVhZGluZyB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgLypwb3NpdGlvbjogcmVsYXRpdmU7Ki9cbn1cblxuQG1lZGlhIHNjcmVlbihtZCkge1xuXG4gICAgLm9pLWxpc3Q6bm90KC5uby1tYXJnaW4tdG9wKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcmVtO1xuICAgIH1cbiAgICAub2ktbGlzdC10aXRsZS5oYXMtcmlnaHQtcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgfVxuICAgIC5vaS1saXN0IHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAub2ktbGlzdCB1bDpub3QoLmxhc3Qtc3RlcCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxufVxuIiwiQGltcG9ydCB1cmwoLi4vLi4vdmFyaWFibGVzLmNzcyk7XG5cbi5vaS1maWx0ZXItZWxlbWVudC1kaXNlYXNlcyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZmlsdGVyLWVsZW1lbnQtZGlzZWFzZXMtZm9udC1zaXplKTtcbiAgICB9XG5cbiAgICAuc3VibmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG5cbiAgICBAc2NyZWVuIG1kIHtcbiAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICB9XG4gICAgQHNjcmVlbiBsZyB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDcycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLm9pLWZpbHRlci1lbGVtZW50LWRpc2Vhc2VzIGEge1xuICAgIHRyYW5zaXRpb246IDAuMjVzIGNvbG9yO1xufVxuXG4ub2ktZmlsdGVyLWVsZW1lbnQtZGlzZWFzZXMgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWRhcmstZ3JlZW4pO1xufVxuIiwiLnZpcnR1YWwtbWljcm9zY29wZSB7XG4gICAgJiBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICB9XG5cbiAgICAmIC5zZWxlY3QtaW5wdXQge1xuICAgICAgICBtYXJnaW4tdG9wOiBpbmhlcml0O1xuICAgIH1cblxuICAgICYgY2FudmFzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJiAubWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmIC5tYWluID4gKiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmIC5taW5pbWFwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmIC5taWNyb3Njb3BlIGNhbnZhcyxcbiAgICAmIC5taW5pbWFwIC5jb250YWluZXIgY2FudmFzICsgZGl2IHtcbiAgICAgICAgY3Vyc29yOiBncmFiO1xuICAgIH1cblxuICAgICYubWVhc3VyaW5nIC5taWNyb3Njb3BlIGNhbnZhcyB7XG4gICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xuICAgIH1cblxuICAgICYgLm1pY3Jvc2NvcGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyOiAwcHggc29saWQgYmxhY2s7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogNCAvIDM7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbiAgICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgJiAucG9pIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0yMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0yN3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC00M3B4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnJldmVyc2UteCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yODhweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI0OXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyODVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucmV2ZXJzZS15IHtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA0NHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtNjNweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgLnRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCArIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCAuYXJyb3cge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLnNob3ctbGFiZWxzIHtcbiAgICAgICAgJiAucG9pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiAubWluaW1hcCAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDBweCBzb2xpZCBsaWdodGdyYXk7XG4gICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xuICAgIH1cblxuICAgICYgLm1pbmltYXAtdmlld3BvcnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2MCwgMTk5LCA4NywgMC41KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDE2MCwgMTk5LCA4NywgMSk7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmIC5zbGlkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xuICAgIH1cblxuICAgICYgI3NjYWxlLWlucHV0IHtcbiAgICAgICAgYXBwZWFyYW5jZTogc2xpZGVyLXZlcnRpY2FsO1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHNsaWRlci12ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBzbGlkZXItdmVydGljYWw7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICB9XG5cbiAgICAmIC5taW5pLW1hcCAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYgLnRvb2xiYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuXG4gICAgJiBbaWQqPVwiYnRuLVwiXSB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmxhY2spO1xuICAgICAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgfVxuXG4gICAgJi5zaG93LWxhYmVscyAjYnRuLWxhYmVscyxcbiAgICAmLm1lYXN1cmluZyAjYnRuLXJ1bGVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JlZW4pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbik7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAudG9vbGJhciwgLmluZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYubWVhc3VyaW5nIC5pbmZvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLnBpeGVsLXZhbHVlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWxvZ2dlZC1pbiB7XG4gICAgICAgICAgICAucGl4ZWwtdmFsdWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB0YWJsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgICBtYXJnaW46IDAgMTBweCAxZW07XG5cbiAgICAgICAgJiB0ZCwgJiB0aCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmV4ZXJjaXNlIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgJi53cm9uZyB7XG4gICAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yZWQpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBhcnRpYWwge1xuICAgICAgICAubWVzc2FnZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tb3JhbmdlKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jb3JyZWN0IHtcbiAgICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5lYXN0ZXItZWdnIHtcbiAgICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXJlZCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICYuc2hvdy1oaW50IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5mbGV4IHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5xdWVzdGlvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICB9XG5cbiAgICAuYW5zd2VycyB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG5cbn1cblxuLnZpcnR1YWwtbWljcm9zY29wZS1zZWxlY3Q6bm90KC5qcy1zaG93KSxcbi52aXJ0dWFsLW1pY3Jvc2NvcGUgLm1haW46bm90KC5qcy1zaG93KSxcbi52aXJ0dWFsLW1pY3Jvc2NvcGUgLmNhcHRpb246bm90KC5qcy1zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnZpcnR1YWwtbWljcm9zY29wZSAubWFpbi5qcy1zaG93IH4gLnBsYWNlaG9sZGVyLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbGFjZWhvbGRlci10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHJlbTtcbn1cbi5wbGFjZWhvbGRlci10ZXh0IGgyIHtcbiAgICBtYXJnaW4tdG9wOiA4N3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5wbGFjZWhvbGRlci10ZXh0LmpzLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4obWQpIHtcbiAgICAudmlydHVhbC1taWNyb3Njb3BlIHtcbiAgICAgICAgJiAubWFpbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmIC5tYWluID4gKiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAubWljcm9zY29wZSB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWluaW1hcCwgLnRvb2xiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0IHVybCguLi8uLi92YXJpYWJsZXMuY3NzKTtcblxuLnZpcnR1YWwtbWljcm9zY29wZS1uYXZpLWNvbXBvbmVudCBoMi50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG59XG5cbi52aXJ0dWFsLW1pY3Jvc2NvcGUtbmF2aSBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udmlydHVhbC1taWNyb3Njb3BlLW5hdmkgbGkuaGFzLWJvdHRvbS1tYXJnaW4gPiAub2ktbGlzdC10aXRsZSAub2ktbGlzdC1oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLnZpcnR1YWwtbWljcm9zY29wZS1uYXZpIHVsLmxhc3Qtc3RlcC5qcy1vcGVuIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xufVxuLnZpcnR1YWwtbWljcm9zY29wZS1uYXZpIC5hcnJvdy5qcy1vcGVuIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLnZpcnR1YWwtbWljcm9zY29wZS1uYXZpIHVsLmhhcy1tYXJnaW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xufVxuLnZpcnR1YWwtbWljcm9zY29wZS1uYXZpIHVsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udmlydHVhbC1taWNyb3Njb3BlLW5hdmkgdWw6bm90KC5qcy1vcGVuKSB7XG4gICAgaGVpZ2h0OiAwO1xufVxuLnZpcnR1YWwtbWljcm9zY29wZS1uYXZpIC5vaS1saXN0LXRpdGxlIHtcbiAgICBwYWRkaW5nOiA0cHggMDtcbn1cbi52aXJ0dWFsLW1pY3Jvc2NvcGUtbmF2aS5qcy1vcGVuIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4obWQpIHtcbiAgICAudmlydHVhbC1taWNyb3Njb3BlLW5hdmkgbGkuaGFzLWJvdHRvbS1tYXJnaW4gPiAub2ktbGlzdC10aXRsZSAub2ktbGlzdC1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICB9XG59XG5cbi52aXJ0dWFsLW1pY3Jvc2NvcGUtbmF2aSAuaGFzLWd1dHRlci1wYWRkaW5nLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWxheW91dC1ndXR0ZXItd2lkdGgpIC8gMik7XG59XG4iLCJAaW1wb3J0IHVybCguLi8uLi92YXJpYWJsZXMuY3NzKTtcblxuLmV4ZXJjaXNlLWRlY2lzaW9uLXRyZWUgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5leGVyY2lzZS1lbGVtZW50LWl0ZW0gLmV4ZXJjaXNlLXRpdGxlLmFuc3dlci5qcy1vcGVuOm5vdCguaXMtY29ycmVjdCkge1xuICAgIGNvbG9yOiB2YXIoLS1yZWQpO1xufVxuLmV4ZXJjaXNlLWVsZW1lbnQtaXRlbSAuZXhlcmNpc2UtdGl0bGUuYW5zd2VyLmpzLW9wZW4uaXMtY29ycmVjdCB7XG4gICAgY29sb3I6IHZhcigtLWdyZWVuKTtcbn1cblxuLmV4ZXJjaXNlLWVsZW1lbnQtaXRlbSAuZXhlcmNpc2UtdGl0bGU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrLWdyZWVuKTtcbn1cblxuLmV4ZXJjaXNlLWRlY2lzaW9uLXRyZWUgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbn1cblxuQG1lZGlhIHNjcmVlbihtZCkge1xuICAgIC52aXJ0dWFsLW1pY3Jvc2NvcGUtbmF2aSBsaS5leGVyY2lzZS1lbGVtZW50LWl0ZW0uaGFzLWJvdHRvbS1tYXJnaW4gPiAub2ktbGlzdC10aXRsZSAub2ktbGlzdC1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG59XG4ub2ktbGlzdC1oZWFkaW5nLmlzLXF1ZXN0aW9uLFxuLm9pLWxpc3QtdGl0bGUuaXMtcXVlc3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNkZGRkZGQ7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/