@charset "UTF-8";
[data-theme=light],
:root:not([data-theme=dark]) {
  --mt-commenti-form-background: #f5f5f5;
  --mt-necrolori-form-background: #f5f5f5;
  --mt-homepage-opening-background: color-mix(in srgb, var(--pico-primary) 10%, #fff 90%);
  --mt-gallery-background: color-mix(in srgb, var(--pico-primary) 5%, #fff 95%);
}

[data-theme=dark],
:root[data-theme=dark] {
  --mt-commenti-form-background: #121212;
  --mt-necrolori-form-background: #121212;
  --mt-homepage-opening-background: color-mix(in srgb, var(--pico-primary) 10%, #000 90%);
  --mt-gallery-background: color-mix(in srgb, var(--pico-primary) 5%, #000 95%);
}

@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/inter/inter-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/inter/inter-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/inter/inter-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/inter/inter-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/merriweather/merriweather-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/merriweather/merriweather-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/merriweather/merriweather-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/merriweather/merriweather-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/noto-sans/noto-sans-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/noto-sans/noto-sans-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/noto-sans/noto-sans-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/noto-sans/noto-sans-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/noto-serif/noto-serif-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/noto-serif/noto-serif-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/noto-serif/noto-serif-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/noto-serif/noto-serif-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/open-sans/open-sans-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/open-sans/open-sans-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/open-sans/open-sans-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/open-sans/open-sans-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/roboto/roboto-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/roboto/roboto-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/roboto/roboto-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/roboto/roboto-700italic.woff2") format("woff2");
}
/*!
 * Pico CSS ✨ v2.1.1 (https://picocss.com)
 * Copyright 2019-2025 - Licensed under MIT
 */
/**
 * Styles
 */
:root,
:host {
  --pico-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --pico-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--pico-font-family-emoji);
  --pico-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--pico-font-family-emoji);
  --pico-font-family: var(--pico-font-family-sans-serif);
  --pico-line-height: 1.5;
  --pico-font-weight: 400;
  --pico-font-size: 100%;
  --pico-text-underline-offset: 0.1rem;
  --pico-border-radius: 0.25rem;
  --pico-border-width: 0.0625rem;
  --pico-outline-width: 0.125rem;
  --pico-transition: 0.2s ease-in-out;
  --pico-spacing: 1rem;
  --pico-typography-spacing-vertical: 1rem;
  --pico-block-spacing-vertical: var(--pico-spacing);
  --pico-block-spacing-horizontal: var(--pico-spacing);
  --pico-grid-column-gap: var(--pico-spacing);
  --pico-grid-row-gap: var(--pico-spacing);
  --pico-form-element-spacing-vertical: 0.75rem;
  --pico-form-element-spacing-horizontal: 1rem;
  --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
  --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color);
  --pico-nav-element-spacing-vertical: 1rem;
  --pico-nav-element-spacing-horizontal: 0.5rem;
  --pico-nav-link-spacing-vertical: 0.5rem;
  --pico-nav-link-spacing-horizontal: 0.5rem;
  --pico-nav-breadcrumb-divider: ">";
  --pico-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
  --pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
}
@media (min-width: 576px) {
  :root,
  :host {
    --pico-font-size: 106.25%;
  }
}
@media (min-width: 768px) {
  :root,
  :host {
    --pico-font-size: 112.5%;
  }
}
@media (min-width: 1024px) {
  :root,
  :host {
    --pico-font-size: 118.75%;
  }
}
@media (min-width: 1280px) {
  :root,
  :host {
    --pico-font-size: 125%;
  }
}
@media (min-width: 1536px) {
  :root,
  :host {
    --pico-font-size: 131.25%;
  }
}

a {
  --pico-text-decoration: underline;
}
a.secondary, a.contrast {
  --pico-text-decoration: underline;
}

small {
  --pico-font-size: 0.875em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --pico-font-weight: 700;
}

h1 {
  --pico-font-size: 2rem;
  --pico-line-height: 1.125;
  --pico-typography-spacing-top: 3rem;
}

h2 {
  --pico-font-size: 1.75rem;
  --pico-line-height: 1.15;
  --pico-typography-spacing-top: 2.625rem;
}

h3 {
  --pico-font-size: 1.5rem;
  --pico-line-height: 1.175;
  --pico-typography-spacing-top: 2.25rem;
}

h4 {
  --pico-font-size: 1.25rem;
  --pico-line-height: 1.2;
  --pico-typography-spacing-top: 1.874rem;
}

h5 {
  --pico-font-size: 1.125rem;
  --pico-line-height: 1.225;
  --pico-typography-spacing-top: 1.6875rem;
}

h6 {
  --pico-font-size: 1rem;
  --pico-line-height: 1.25;
  --pico-typography-spacing-top: 1.5rem;
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:where(select, textarea) {
  --pico-outline-width: 0.0625rem;
}

[type=search] {
  --pico-border-radius: 5rem;
}

[type=checkbox],
[type=radio] {
  --pico-border-width: 0.125rem;
}

[type=checkbox][role=switch] {
  --pico-border-width: 0.1875rem;
}

details.dropdown summary:not([role=button]) {
  --pico-outline-width: 0.0625rem;
}

nav details.dropdown summary:focus-visible {
  --pico-outline-width: 0.125rem;
}

[role=search] {
  --pico-border-radius: 5rem;
}

[role=search]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus),
[role=group]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus) {
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}
[role=search]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus),
[role=group]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus) {
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=button],
[role=group] [role=button] {
  --pico-form-element-spacing-horizontal: 2rem;
}

details summary[role=button]:not(.outline)::after {
  filter: brightness(0) invert(1);
}

/**
 * Color schemes
 */
[data-theme=light],
:root:not([data-theme=dark]),
:host(:not([data-theme=dark])) {
  color-scheme: light;
  --pico-background-color: #fff;
  --pico-color: #373c44;
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: #0172ad;
  --pico-primary-background: #0172ad;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(1, 114, 173, 0.5);
  --pico-primary-hover: #015887;
  --pico-primary-hover-background: #02659a;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(2, 154, 232, 0.5);
  --pico-primary-inverse: #fff;
  --pico-secondary: #5d6b89;
  --pico-secondary-background: #525f7a;
  --pico-secondary-border: var(--pico-secondary-background);
  --pico-secondary-underline: rgba(93, 107, 137, 0.5);
  --pico-secondary-hover: #48536b;
  --pico-secondary-hover-background: #48536b;
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
  --pico-secondary-focus: rgba(93, 107, 137, 0.25);
  --pico-secondary-inverse: #fff;
  --pico-contrast: #181c25;
  --pico-contrast-background: #181c25;
  --pico-contrast-border: var(--pico-contrast-background);
  --pico-contrast-underline: rgba(24, 28, 37, 0.5);
  --pico-contrast-hover: #000;
  --pico-contrast-hover-background: #000;
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
  --pico-contrast-hover-underline: var(--pico-secondary-hover);
  --pico-contrast-focus: rgba(93, 107, 137, 0.25);
  --pico-contrast-inverse: #fff;
  --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015);
  --pico-h1-color: #2d3138;
  --pico-h2-color: #373c44;
  --pico-h3-color: #424751;
  --pico-h4-color: #4d535e;
  --pico-h5-color: #5c6370;
  --pico-h6-color: #646b79;
  --pico-mark-background-color: rgb(252.5, 230.5, 191.5);
  --pico-mark-color: #0f1114;
  --pico-ins-color: rgb(28.5, 105.5, 84);
  --pico-del-color: rgb(136, 56.5, 53);
  --pico-blockquote-border-color: var(--pico-muted-border-color);
  --pico-blockquote-footer-color: var(--pico-muted-color);
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-form-element-background-color: rgb(251, 251.5, 252.25);
  --pico-form-element-selected-background-color: #dfe3eb;
  --pico-form-element-border-color: #cfd5e2;
  --pico-form-element-color: #23262c;
  --pico-form-element-placeholder-color: var(--pico-muted-color);
  --pico-form-element-active-background-color: #fff;
  --pico-form-element-active-border-color: var(--pico-primary-border);
  --pico-form-element-focus-color: var(--pico-primary-border);
  --pico-form-element-disabled-opacity: 0.5;
  --pico-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5);
  --pico-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25);
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
  --pico-form-element-valid-border-color: rgb(76, 154.5, 137.5);
  --pico-form-element-valid-active-border-color: rgb(39, 152.75, 118.75);
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
  --pico-switch-background-color: #bfc7d9;
  --pico-switch-checked-background-color: var(--pico-primary-background);
  --pico-switch-color: #fff;
  --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-accordion-border-color: var(--pico-muted-border-color);
  --pico-accordion-active-summary-color: var(--pico-primary-hover);
  --pico-accordion-close-summary-color: var(--pico-color);
  --pico-accordion-open-summary-color: var(--pico-muted-color);
  --pico-card-background-color: var(--pico-background-color);
  --pico-card-border-color: var(--pico-muted-border-color);
  --pico-card-box-shadow: var(--pico-box-shadow);
  --pico-card-sectioning-background-color: rgb(251, 251.5, 252.25);
  --pico-dropdown-background-color: #fff;
  --pico-dropdown-border-color: #eff1f4;
  --pico-dropdown-box-shadow: var(--pico-box-shadow);
  --pico-dropdown-color: var(--pico-color);
  --pico-dropdown-hover-background-color: #eff1f4;
  --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme=light] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:root:not([data-theme=dark]) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:host(:not([data-theme=dark])) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --pico-form-element-focus-color: var(--pico-primary-focus);
}

@media only screen and (prefers-color-scheme: dark) {
  :root:not([data-theme]),
  :host(:not([data-theme])) {
    color-scheme: dark;
    --pico-background-color: rgb(19, 22.5, 30.5);
    --pico-color: #c2c7d0;
    --pico-text-selection-color: rgba(1, 170, 255, 0.1875);
    --pico-muted-color: #7b8495;
    --pico-muted-border-color: #202632;
    --pico-primary: #01aaff;
    --pico-primary-background: #0172ad;
    --pico-primary-border: var(--pico-primary-background);
    --pico-primary-underline: rgba(1, 170, 255, 0.5);
    --pico-primary-hover: #79c0ff;
    --pico-primary-hover-background: #017fc0;
    --pico-primary-hover-border: var(--pico-primary-hover-background);
    --pico-primary-hover-underline: var(--pico-primary-hover);
    --pico-primary-focus: rgba(1, 170, 255, 0.375);
    --pico-primary-inverse: #fff;
    --pico-secondary: #969eaf;
    --pico-secondary-background: #525f7a;
    --pico-secondary-border: var(--pico-secondary-background);
    --pico-secondary-underline: rgba(150, 158, 175, 0.5);
    --pico-secondary-hover: #b3b9c5;
    --pico-secondary-hover-background: #5d6b89;
    --pico-secondary-hover-border: var(--pico-secondary-hover-background);
    --pico-secondary-hover-underline: var(--pico-secondary-hover);
    --pico-secondary-focus: rgba(144, 158, 190, 0.25);
    --pico-secondary-inverse: #fff;
    --pico-contrast: #dfe3eb;
    --pico-contrast-background: #eff1f4;
    --pico-contrast-border: var(--pico-contrast-background);
    --pico-contrast-underline: rgba(223, 227, 235, 0.5);
    --pico-contrast-hover: #fff;
    --pico-contrast-hover-background: #fff;
    --pico-contrast-hover-border: var(--pico-contrast-hover-background);
    --pico-contrast-hover-underline: var(--pico-contrast-hover);
    --pico-contrast-focus: rgba(207, 213, 226, 0.25);
    --pico-contrast-inverse: #000;
    --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
    --pico-h1-color: #f0f1f3;
    --pico-h2-color: #e0e3e7;
    --pico-h3-color: #c2c7d0;
    --pico-h4-color: #b3b9c5;
    --pico-h5-color: #a4acba;
    --pico-h6-color: #8891a4;
    --pico-mark-background-color: #014063;
    --pico-mark-color: #fff;
    --pico-ins-color: #62af9a;
    --pico-del-color: rgb(205.5, 126, 123);
    --pico-blockquote-border-color: var(--pico-muted-border-color);
    --pico-blockquote-footer-color: var(--pico-muted-color);
    --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-form-element-background-color: rgb(28, 33, 43.5);
    --pico-form-element-selected-background-color: #2a3140;
    --pico-form-element-border-color: #2a3140;
    --pico-form-element-color: #e0e3e7;
    --pico-form-element-placeholder-color: #8891a4;
    --pico-form-element-active-background-color: rgb(26, 30.5, 40.25);
    --pico-form-element-active-border-color: var(--pico-primary-border);
    --pico-form-element-focus-color: var(--pico-primary-border);
    --pico-form-element-disabled-opacity: 0.5;
    --pico-form-element-invalid-border-color: rgb(149.5, 74, 80);
    --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
    --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
    --pico-form-element-valid-border-color: #2a7b6f;
    --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5);
    --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
    --pico-switch-background-color: #333c4e;
    --pico-switch-checked-background-color: var(--pico-primary-background);
    --pico-switch-color: #fff;
    --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-accordion-border-color: var(--pico-muted-border-color);
    --pico-accordion-active-summary-color: var(--pico-primary-hover);
    --pico-accordion-close-summary-color: var(--pico-color);
    --pico-accordion-open-summary-color: var(--pico-muted-color);
    --pico-card-background-color: #181c25;
    --pico-card-border-color: var(--pico-card-background-color);
    --pico-card-box-shadow: var(--pico-box-shadow);
    --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25);
    --pico-dropdown-background-color: #181c25;
    --pico-dropdown-border-color: #202632;
    --pico-dropdown-box-shadow: var(--pico-box-shadow);
    --pico-dropdown-color: var(--pico-color);
    --pico-dropdown-hover-background-color: #202632;
    --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  }
  :root:not([data-theme]) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]),
  :host(:not([data-theme])) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]) {
    --pico-form-element-focus-color: var(--pico-primary-focus);
  }
  :root:not([data-theme]) details summary[role=button].contrast:not(.outline)::after,
  :host(:not([data-theme])) details summary[role=button].contrast:not(.outline)::after {
    filter: brightness(0);
  }
}
[data-theme=dark] {
  color-scheme: dark;
  --pico-background-color: rgb(19, 22.5, 30.5);
  --pico-color: #c2c7d0;
  --pico-text-selection-color: rgba(1, 170, 255, 0.1875);
  --pico-muted-color: #7b8495;
  --pico-muted-border-color: #202632;
  --pico-primary: #01aaff;
  --pico-primary-background: #0172ad;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(1, 170, 255, 0.5);
  --pico-primary-hover: #79c0ff;
  --pico-primary-hover-background: #017fc0;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(1, 170, 255, 0.375);
  --pico-primary-inverse: #fff;
  --pico-secondary: #969eaf;
  --pico-secondary-background: #525f7a;
  --pico-secondary-border: var(--pico-secondary-background);
  --pico-secondary-underline: rgba(150, 158, 175, 0.5);
  --pico-secondary-hover: #b3b9c5;
  --pico-secondary-hover-background: #5d6b89;
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
  --pico-secondary-focus: rgba(144, 158, 190, 0.25);
  --pico-secondary-inverse: #fff;
  --pico-contrast: #dfe3eb;
  --pico-contrast-background: #eff1f4;
  --pico-contrast-border: var(--pico-contrast-background);
  --pico-contrast-underline: rgba(223, 227, 235, 0.5);
  --pico-contrast-hover: #fff;
  --pico-contrast-hover-background: #fff;
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
  --pico-contrast-hover-underline: var(--pico-contrast-hover);
  --pico-contrast-focus: rgba(207, 213, 226, 0.25);
  --pico-contrast-inverse: #000;
  --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
  --pico-h1-color: #f0f1f3;
  --pico-h2-color: #e0e3e7;
  --pico-h3-color: #c2c7d0;
  --pico-h4-color: #b3b9c5;
  --pico-h5-color: #a4acba;
  --pico-h6-color: #8891a4;
  --pico-mark-background-color: #014063;
  --pico-mark-color: #fff;
  --pico-ins-color: #62af9a;
  --pico-del-color: rgb(205.5, 126, 123);
  --pico-blockquote-border-color: var(--pico-muted-border-color);
  --pico-blockquote-footer-color: var(--pico-muted-color);
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-form-element-background-color: rgb(28, 33, 43.5);
  --pico-form-element-selected-background-color: #2a3140;
  --pico-form-element-border-color: #2a3140;
  --pico-form-element-color: #e0e3e7;
  --pico-form-element-placeholder-color: #8891a4;
  --pico-form-element-active-background-color: rgb(26, 30.5, 40.25);
  --pico-form-element-active-border-color: var(--pico-primary-border);
  --pico-form-element-focus-color: var(--pico-primary-border);
  --pico-form-element-disabled-opacity: 0.5;
  --pico-form-element-invalid-border-color: rgb(149.5, 74, 80);
  --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
  --pico-form-element-valid-border-color: #2a7b6f;
  --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5);
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
  --pico-switch-background-color: #333c4e;
  --pico-switch-checked-background-color: var(--pico-primary-background);
  --pico-switch-color: #fff;
  --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-accordion-border-color: var(--pico-muted-border-color);
  --pico-accordion-active-summary-color: var(--pico-primary-hover);
  --pico-accordion-close-summary-color: var(--pico-color);
  --pico-accordion-open-summary-color: var(--pico-muted-color);
  --pico-card-background-color: #181c25;
  --pico-card-border-color: var(--pico-card-background-color);
  --pico-card-box-shadow: var(--pico-box-shadow);
  --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25);
  --pico-dropdown-background-color: #181c25;
  --pico-dropdown-border-color: #202632;
  --pico-dropdown-box-shadow: var(--pico-box-shadow);
  --pico-dropdown-color: var(--pico-color);
  --pico-dropdown-hover-background-color: #202632;
  --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme=dark] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --pico-form-element-focus-color: var(--pico-primary-focus);
}
[data-theme=dark] details summary[role=button].contrast:not(.outline)::after {
  filter: brightness(0);
}

progress,
[type=checkbox],
[type=radio],
[type=range] {
  accent-color: var(--pico-primary);
}

/**
 * Document
 * Content-box & Responsive typography
 */
*,
*::before,
*::after {
  box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

:where(:root),
:where(:host) {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: var(--pico-font-size);
  line-height: var(--pico-line-height);
  font-family: var(--pico-font-family);
  text-underline-offset: var(--pico-text-underline-offset);
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
}

/**
 * Landmarks
 */
body {
  width: 100%;
  margin: 0;
}

main {
  display: block;
}

body > header,
body > main,
body > footer {
  padding-block: var(--pico-block-spacing-vertical);
}

/**
 * Section
 */
section {
  margin-bottom: var(--pico-block-spacing-vertical);
}

/**
 * Container
 */
.container,
.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--pico-spacing);
  padding-left: var(--pico-spacing);
}

@media (min-width: 576px) {
  .container {
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1280px;
  }
}

/**
 * Grid
 * Minimal grid system with auto-layout columns
 */
.grid {
  grid-column-gap: var(--pico-grid-column-gap);
  grid-row-gap: var(--pico-grid-row-gap);
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
  }
}
.grid > * {
  min-width: 0;
}

/**
 * Overflow auto
 */
.overflow-auto {
  overflow: auto;
}

/**
 * Typography
 */
b,
strong {
  font-weight: bolder;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

address,
blockquote,
dl,
ol,
p,
pre,
table,
ul {
  margin-top: 0;
  margin-bottom: var(--pico-typography-spacing-vertical);
  color: var(--pico-color);
  font-style: normal;
  font-weight: var(--pico-font-weight);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: var(--pico-typography-spacing-vertical);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: var(--pico-font-size);
  line-height: var(--pico-line-height);
  font-family: var(--pico-font-family);
}

h1 {
  --pico-color: var(--pico-h1-color);
}

h2 {
  --pico-color: var(--pico-h2-color);
}

h3 {
  --pico-color: var(--pico-h3-color);
}

h4 {
  --pico-color: var(--pico-h4-color);
}

h5 {
  --pico-color: var(--pico-h5-color);
}

h6 {
  --pico-color: var(--pico-h6-color);
}

:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) {
  margin-top: var(--pico-typography-spacing-top);
}

p {
  margin-bottom: var(--pico-typography-spacing-vertical);
}

hgroup {
  margin-bottom: var(--pico-typography-spacing-vertical);
}
hgroup > * {
  margin-top: 0;
  margin-bottom: 0;
}
hgroup > *:not(:first-child):last-child {
  --pico-color: var(--pico-muted-color);
  --pico-font-weight: unset;
  font-size: 1rem;
}

:where(ol, ul) li {
  margin-bottom: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
  margin-top: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

ul li {
  list-style: square;
}

mark {
  padding: 0.125rem 0.25rem;
  background-color: var(--pico-mark-background-color);
  color: var(--pico-mark-color);
  vertical-align: baseline;
}

blockquote {
  display: block;
  margin: var(--pico-typography-spacing-vertical) 0;
  padding: var(--pico-spacing);
  border-right: none;
  border-left: 0.25rem solid var(--pico-blockquote-border-color);
  border-inline-start: 0.25rem solid var(--pico-blockquote-border-color);
  border-inline-end: none;
}
blockquote footer {
  margin-top: calc(var(--pico-typography-spacing-vertical) * 0.5);
  color: var(--pico-blockquote-footer-color);
}

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

ins {
  color: var(--pico-ins-color);
  text-decoration: none;
}

del {
  color: var(--pico-del-color);
}

::-moz-selection {
  background-color: var(--pico-text-selection-color);
}

::selection {
  background-color: var(--pico-text-selection-color);
}

/**
 * Link
 */
:where(a:not([role=button])),
[role=link] {
  --pico-color: var(--pico-primary);
  --pico-background-color: transparent;
  --pico-underline: var(--pico-primary-underline);
  outline: none;
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  -webkit-text-decoration: var(--pico-text-decoration);
          text-decoration: var(--pico-text-decoration);
  text-decoration-color: var(--pico-underline);
  text-underline-offset: 0.125em;
  transition: background-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition);
}
:where(a:not([role=button])):is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-primary-hover);
  --pico-underline: var(--pico-primary-hover-underline);
  --pico-text-decoration: underline;
}
:where(a:not([role=button])):focus-visible,
[role=link]:focus-visible {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}
:where(a:not([role=button])).secondary,
[role=link].secondary {
  --pico-color: var(--pico-secondary);
  --pico-underline: var(--pico-secondary-underline);
}
:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-secondary-hover);
  --pico-underline: var(--pico-secondary-hover-underline);
}
:where(a:not([role=button])).contrast,
[role=link].contrast {
  --pico-color: var(--pico-contrast);
  --pico-underline: var(--pico-contrast-underline);
}
:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-contrast-hover);
  --pico-underline: var(--pico-contrast-hover-underline);
}

a[role=button] {
  display: inline-block;
}

/**
 * Button
 */
button {
  margin: 0;
  overflow: visible;
  font-family: inherit;
  text-transform: none;
}

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

button,
[type=submit],
[type=reset],
[type=button],
[type=file]::file-selector-button,
[role=button] {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  --pico-color: var(--pico-primary-inverse);
  --pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: 1rem;
  line-height: var(--pico-line-height);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}
button:is([aria-current]:not([aria-current=false])), button:is(:hover, :active, :focus),
[type=submit]:is([aria-current]:not([aria-current=false])),
[type=submit]:is(:hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false])),
[type=reset]:is(:hover, :active, :focus),
[type=button]:is([aria-current]:not([aria-current=false])),
[type=button]:is(:hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),
[type=file]::file-selector-button:is(:hover, :active, :focus),
[role=button]:is([aria-current]:not([aria-current=false])),
[role=button]:is(:hover, :active, :focus) {
  --pico-background-color: var(--pico-primary-hover-background);
  --pico-border-color: var(--pico-primary-hover-border);
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  --pico-color: var(--pico-primary-inverse);
}
button:focus, button:is([aria-current]:not([aria-current=false])):focus,
[type=submit]:focus,
[type=submit]:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=button]:focus,
[type=button]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,
[role=button]:focus,
[role=button]:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}

[type=submit],
[type=reset],
[type=button] {
  margin-bottom: var(--pico-spacing);
}

:is(button, [type=submit], [type=button], [role=button]).secondary,
[type=reset],
[type=file]::file-selector-button {
  --pico-background-color: var(--pico-secondary-background);
  --pico-border-color: var(--pico-secondary-border);
  --pico-color: var(--pico-secondary-inverse);
  cursor: pointer;
}
:is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-secondary-hover-background);
  --pico-border-color: var(--pico-secondary-hover-border);
  --pico-color: var(--pico-secondary-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).secondary:focus, :is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}

:is(button, [type=submit], [type=button], [role=button]).contrast {
  --pico-background-color: var(--pico-contrast-background);
  --pico-border-color: var(--pico-contrast-border);
  --pico-color: var(--pico-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-contrast-hover-background);
  --pico-border-color: var(--pico-contrast-hover-border);
  --pico-color: var(--pico-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:focus, :is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus);
}

:is(button, [type=submit], [type=button], [role=button]).outline,
[type=reset].outline {
  --pico-background-color: transparent;
  --pico-color: var(--pico-primary);
  --pico-border-color: var(--pico-primary);
}
:is(button, [type=submit], [type=button], [role=button]).outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: transparent;
  --pico-color: var(--pico-primary-hover);
  --pico-border-color: var(--pico-primary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.secondary,
[type=reset].outline {
  --pico-color: var(--pico-secondary);
  --pico-border-color: var(--pico-secondary);
}
:is(button, [type=submit], [type=button], [role=button]).outline.secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-secondary-hover);
  --pico-border-color: var(--pico-secondary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.contrast {
  --pico-color: var(--pico-contrast);
  --pico-border-color: var(--pico-contrast);
}
:is(button, [type=submit], [type=button], [role=button]).outline.contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-contrast-hover);
  --pico-border-color: var(--pico-contrast-hover);
}

:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled],
:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]) {
  opacity: 0.5;
  pointer-events: none;
}

/**
 * Embedded content
 */
:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

:where(iframe) {
  border-style: none;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

svg:not(:root),
svg:not(:host) {
  overflow: hidden;
}

/**
 * Figure
 */
figure {
  display: block;
  margin: 0;
  padding: 0;
}
figure figcaption {
  padding: calc(var(--pico-spacing) * 0.5) 0;
  color: var(--pico-muted-color);
}

/**
 * Misc
 */
hr {
  height: 0;
  margin: var(--pico-typography-spacing-vertical) 0;
  border: 0;
  border-top: 1px solid var(--pico-muted-border-color);
  color: inherit;
}

[hidden],
template {
  display: none !important;
}

canvas {
  display: inline-block;
}

/**
 * Basics form elements
 */
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 1rem;
  line-height: var(--pico-line-height);
  font-family: inherit;
  letter-spacing: inherit;
}

input {
  overflow: visible;
}

select {
  text-transform: none;
}

legend {
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  padding: 0;
}

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

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

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

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

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

:-moz-focusring {
  outline: none;
}

:-moz-ui-invalid {
  box-shadow: none;
}

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

[type=file],
[type=range] {
  padding: 0;
  border-width: 0;
}

input:not([type=checkbox], [type=radio], [type=range]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
}

fieldset {
  width: 100%;
  margin: 0;
  margin-bottom: var(--pico-spacing);
  padding: 0;
  border: 0;
}

label,
fieldset legend {
  display: block;
  margin-bottom: calc(var(--pico-spacing) * 0.375);
  color: var(--pico-color);
  font-weight: var(--pico-form-label-font-weight, var(--pico-font-weight));
}

fieldset legend {
  margin-bottom: calc(var(--pico-spacing) * 0.5);
}

input:not([type=checkbox], [type=radio]),
button[type=submit],
select,
textarea {
  width: 100%;
}

input:not([type=checkbox], [type=radio], [type=range], [type=file]),
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
}

input,
select,
textarea {
  --pico-background-color: var(--pico-form-element-background-color);
  --pico-border-color: var(--pico-form-element-border-color);
  --pico-color: var(--pico-form-element-color);
  --pico-box-shadow: none;
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --pico-background-color: var(--pico-form-element-active-background-color);
}

input:not([type=submit], [type=button], [type=reset], [role=switch], [readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-active-border-color);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=range],
[type=file],
[readonly]):focus,
:where(select, textarea):not([readonly]):focus {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
}

input:not([type=submit], [type=button], [type=reset])[disabled],
select[disabled],
textarea[disabled],
label[aria-disabled=true],
:where(fieldset[disabled]) :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) {
  opacity: var(--pico-form-element-disabled-opacity);
  pointer-events: none;
}

label[aria-disabled=true] input[disabled] {
  opacity: 1;
}

:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid] {
  padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
  padding-left: var(--pico-form-element-spacing-horizontal);
  padding-inline-start: var(--pico-form-element-spacing-horizontal) !important;
  padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=false]:not(select) {
  background-image: var(--pico-icon-valid);
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=true]:not(select) {
  background-image: var(--pico-icon-invalid);
}
:where(input, select, textarea)[aria-invalid=false] {
  --pico-border-color: var(--pico-form-element-valid-border-color);
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-valid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color) !important;
}
:where(input, select, textarea)[aria-invalid=true] {
  --pico-border-color: var(--pico-form-element-invalid-border-color);
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-invalid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color) !important;
}

[dir=rtl] :where(input, select, textarea):not([type=checkbox], [type=radio]):is([aria-invalid], [aria-invalid=true], [aria-invalid=false]) {
  background-position: center left 0.75rem;
}

input::placeholder,
input::-webkit-input-placeholder,
textarea::placeholder,
textarea::-webkit-input-placeholder,
select:invalid {
  color: var(--pico-form-element-placeholder-color);
  opacity: 1;
}

input:not([type=checkbox], [type=radio]),
select,
textarea {
  margin-bottom: var(--pico-spacing);
}

select::-ms-expand {
  border: 0;
  background-color: transparent;
}
select:not([multiple], [size]) {
  padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
  padding-left: var(--pico-form-element-spacing-horizontal);
  padding-inline-start: var(--pico-form-element-spacing-horizontal);
  padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
  background-image: var(--pico-icon-chevron);
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
select[multiple] option:checked {
  background: var(--pico-form-element-selected-background-color);
  color: var(--pico-form-element-color);
}

[dir=rtl] select:not([multiple], [size]) {
  background-position: center left 0.75rem;
}

textarea {
  display: block;
  resize: vertical;
}
textarea[aria-invalid] {
  --pico-icon-height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
  background-position: top right 0.75rem !important;
  background-size: 1rem var(--pico-icon-height) !important;
}

:where(input, select, textarea, fieldset, .grid) + small {
  display: block;
  width: 100%;
  margin-top: calc(var(--pico-spacing) * -0.75);
  margin-bottom: var(--pico-spacing);
  color: var(--pico-muted-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=false] + small {
  color: var(--pico-ins-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=true] + small {
  color: var(--pico-del-color);
}

label > :where(input, select, textarea) {
  margin-top: calc(var(--pico-spacing) * 0.25);
}

/**
 * Checkboxes, Radios and Switches
 */
label:has([type=checkbox], [type=radio]) {
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
}

[type=checkbox],
[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.25em;
  height: 1.25em;
  margin-top: -0.125em;
  margin-inline-end: 0.5em;
  border-width: var(--pico-border-width);
  vertical-align: middle;
  cursor: pointer;
}
[type=checkbox]::-ms-check,
[type=radio]::-ms-check {
  display: none;
}
[type=checkbox]:checked, [type=checkbox]:checked:active, [type=checkbox]:checked:focus,
[type=radio]:checked,
[type=radio]:checked:active,
[type=radio]:checked:focus {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  background-image: var(--pico-icon-checkbox);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}
[type=checkbox] ~ label,
[type=radio] ~ label {
  display: inline-block;
  margin-bottom: 0;
  cursor: pointer;
}
[type=checkbox] ~ label:not(:last-of-type),
[type=radio] ~ label:not(:last-of-type) {
  margin-inline-end: 1em;
}

[type=checkbox]:indeterminate {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  background-image: var(--pico-icon-minus);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}

[type=radio] {
  border-radius: 50%;
}
[type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus {
  --pico-background-color: var(--pico-primary-inverse);
  border-width: 0.35em;
  background-image: none;
}

[type=checkbox][role=switch] {
  --pico-background-color: var(--pico-switch-background-color);
  --pico-color: var(--pico-switch-color);
  width: 2.25em;
  height: 1.25em;
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: 1.25em;
  background-color: var(--pico-background-color);
  line-height: 1.25em;
}
[type=checkbox][role=switch]:not([aria-invalid]) {
  --pico-border-color: var(--pico-switch-background-color);
}
[type=checkbox][role=switch]:before {
  display: block;
  aspect-ratio: 1;
  height: 100%;
  border-radius: 50%;
  background-color: var(--pico-color);
  box-shadow: var(--pico-switch-thumb-box-shadow);
  content: "";
  transition: margin 0.1s ease-in-out;
}
[type=checkbox][role=switch]:focus {
  --pico-background-color: var(--pico-switch-background-color);
  --pico-border-color: var(--pico-switch-background-color);
}
[type=checkbox][role=switch]:checked {
  --pico-background-color: var(--pico-switch-checked-background-color);
  --pico-border-color: var(--pico-switch-checked-background-color);
  background-image: none;
}
[type=checkbox][role=switch]:checked::before {
  margin-inline-start: calc(2.25em - 1.25em);
}
[type=checkbox][role=switch][disabled] {
  --pico-background-color: var(--pico-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --pico-background-color: var(--pico-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --pico-background-color: var(--pico-form-element-invalid-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=radio][aria-invalid=false]:checked,
[type=radio][aria-invalid=false]:checked:active,
[type=radio][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --pico-border-color: var(--pico-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=radio]:checked[aria-invalid=true],
[type=radio]:checked:active[aria-invalid=true],
[type=radio]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --pico-border-color: var(--pico-form-element-invalid-border-color);
}

/**
 * Input type search
 */
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] {
  padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);
  background-image: var(--pico-icon-search);
  background-position: center left calc(var(--pico-form-element-spacing-horizontal) + 0.125rem);
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] {
  padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem) !important;
  background-position: center left 1.125rem, center right 0.75rem;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=false] {
  background-image: var(--pico-icon-search), var(--pico-icon-valid);
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=true] {
  background-image: var(--pico-icon-search), var(--pico-icon-invalid);
}

[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] {
  background-position: center right 1.125rem;
}
[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] {
  background-position: center right 1.125rem, center left 0.75rem;
}

/**
 * Accordion (<details>)
 */
details {
  display: block;
  margin-bottom: var(--pico-spacing);
}
details summary {
  line-height: 1rem;
  list-style-type: none;
  cursor: pointer;
  transition: color var(--pico-transition);
}
details summary:not([role]) {
  color: var(--pico-accordion-close-summary-color);
}
details summary::-webkit-details-marker {
  display: none;
}
details summary::marker {
  display: none;
}
details summary::-moz-list-bullet {
  list-style-type: none;
}
details summary::after {
  display: block;
  width: 1rem;
  height: 1rem;
  margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5);
  float: right;
  transform: rotate(-90deg);
  background-image: var(--pico-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
  transition: transform var(--pico-transition);
}
details summary:focus {
  outline: none;
}
details summary:focus:not([role]) {
  color: var(--pico-accordion-active-summary-color);
}
details summary:focus-visible:not([role]) {
  outline: var(--pico-outline-width) solid var(--pico-primary-focus);
  outline-offset: calc(var(--pico-spacing, 1rem) * 0.5);
  color: var(--pico-primary);
}
details summary[role=button] {
  width: 100%;
  text-align: left;
}
details summary[role=button]::after {
  height: calc(1rem * var(--pico-line-height, 1.5));
}
details[open] > summary {
  margin-bottom: var(--pico-spacing);
}
details[open] > summary:not([role]):not(:focus) {
  color: var(--pico-accordion-open-summary-color);
}
details[open] > summary::after {
  transform: rotate(0);
}

[dir=rtl] details summary {
  text-align: right;
}
[dir=rtl] details summary::after {
  float: left;
  background-position: left center;
}

/**
 * Card (<article>)
 */
article {
  margin-bottom: var(--pico-block-spacing-vertical);
  padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
  border-radius: var(--pico-border-radius);
  background: var(--pico-card-background-color);
  box-shadow: var(--pico-card-box-shadow);
}
article > header,
article > footer {
  margin-right: calc(var(--pico-block-spacing-horizontal) * -1);
  margin-left: calc(var(--pico-block-spacing-horizontal) * -1);
  padding: calc(var(--pico-block-spacing-vertical) * 0.66) var(--pico-block-spacing-horizontal);
  background-color: var(--pico-card-sectioning-background-color);
}
article > header {
  margin-top: calc(var(--pico-block-spacing-vertical) * -1);
  margin-bottom: var(--pico-block-spacing-vertical);
  border-bottom: var(--pico-border-width) solid var(--pico-card-border-color);
  border-top-right-radius: var(--pico-border-radius);
  border-top-left-radius: var(--pico-border-radius);
}
article > footer {
  margin-top: var(--pico-block-spacing-vertical);
  margin-bottom: calc(var(--pico-block-spacing-vertical) * -1);
  border-top: var(--pico-border-width) solid var(--pico-card-border-color);
  border-bottom-right-radius: var(--pico-border-radius);
  border-bottom-left-radius: var(--pico-border-radius);
}

/**
 * Dropdown (details.dropdown)
 */
details.dropdown {
  position: relative;
  border-bottom: none;
}
details.dropdown > summary::after,
details.dropdown > button::after,
details.dropdown > a::after {
  display: block;
  width: 1rem;
  height: calc(1rem * var(--pico-line-height, 1.5));
  margin-inline-start: 0.25rem;
  float: right;
  transform: rotate(0deg) translateX(0.2rem);
  background-image: var(--pico-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
}

nav details.dropdown {
  margin-bottom: 0;
}

details.dropdown > summary:not([role]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  border: var(--pico-border-width) solid var(--pico-form-element-border-color);
  border-radius: var(--pico-border-radius);
  background-color: var(--pico-form-element-background-color);
  color: var(--pico-form-element-placeholder-color);
  line-height: inherit;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}
details.dropdown > summary:not([role]):active, details.dropdown > summary:not([role]):focus {
  border-color: var(--pico-form-element-active-border-color);
  background-color: var(--pico-form-element-active-background-color);
}
details.dropdown > summary:not([role]):focus {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
}
details.dropdown > summary:not([role]):focus-visible {
  outline: none;
}
details.dropdown > summary:not([role])[aria-invalid=false] {
  --pico-form-element-border-color: var(--pico-form-element-valid-border-color);
  --pico-form-element-active-border-color: var(--pico-form-element-valid-focus-color);
  --pico-form-element-focus-color: var(--pico-form-element-valid-focus-color);
}
details.dropdown > summary:not([role])[aria-invalid=true] {
  --pico-form-element-border-color: var(--pico-form-element-invalid-border-color);
  --pico-form-element-active-border-color: var(--pico-form-element-invalid-focus-color);
  --pico-form-element-focus-color: var(--pico-form-element-invalid-focus-color);
}

nav details.dropdown {
  display: inline;
  margin: calc(var(--pico-nav-element-spacing-vertical) * -1) 0;
}
nav details.dropdown > summary::after {
  transform: rotate(0deg) translateX(0rem);
}
nav details.dropdown > summary:not([role]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2);
  padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal);
}
nav details.dropdown > summary:not([role]):focus-visible {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}

details.dropdown > summary + ul {
  display: flex;
  z-index: 99;
  position: absolute;
  left: 0;
  flex-direction: column;
  width: 100%;
  min-width: -moz-fit-content;
  min-width: fit-content;
  margin: 0;
  margin-top: var(--pico-outline-width);
  padding: 0;
  border: var(--pico-border-width) solid var(--pico-dropdown-border-color);
  border-radius: var(--pico-border-radius);
  background-color: var(--pico-dropdown-background-color);
  box-shadow: var(--pico-dropdown-box-shadow);
  color: var(--pico-dropdown-color);
  white-space: nowrap;
  opacity: 0;
  transition: opacity var(--pico-transition), transform 0s ease-in-out 1s;
}
details.dropdown > summary + ul[dir=rtl] {
  right: 0;
  left: auto;
}
details.dropdown > summary + ul li {
  width: 100%;
  margin-bottom: 0;
  padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal);
  list-style: none;
}
details.dropdown > summary + ul li:first-of-type {
  margin-top: calc(var(--pico-form-element-spacing-vertical) * 0.5);
}
details.dropdown > summary + ul li:last-of-type {
  margin-bottom: calc(var(--pico-form-element-spacing-vertical) * 0.5);
}
details.dropdown > summary + ul li a {
  display: block;
  margin: calc(var(--pico-form-element-spacing-vertical) * -0.5) calc(var(--pico-form-element-spacing-horizontal) * -1);
  padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal);
  overflow: hidden;
  border-radius: 0;
  color: var(--pico-dropdown-color);
  text-decoration: none;
  text-overflow: ellipsis;
}
details.dropdown > summary + ul li a:hover, details.dropdown > summary + ul li a:focus, details.dropdown > summary + ul li a:active, details.dropdown > summary + ul li a:focus-visible, details.dropdown > summary + ul li a[aria-current]:not([aria-current=false]) {
  background-color: var(--pico-dropdown-hover-background-color);
}
details.dropdown > summary + ul li label {
  width: 100%;
}
details.dropdown > summary + ul li:has(label):hover {
  background-color: var(--pico-dropdown-hover-background-color);
}

details.dropdown[open] > summary {
  margin-bottom: 0;
}

details.dropdown[open] > summary + ul {
  transform: scaleY(1);
  opacity: 1;
  transition: opacity var(--pico-transition), transform 0s ease-in-out 0s;
}

details.dropdown[open] > summary::before {
  display: block;
  z-index: 1;
  position: fixed;
  width: 100vw;
  height: 100vh;
  inset: 0;
  background: none;
  content: "";
  cursor: default;
}

label > details.dropdown {
  margin-top: calc(var(--pico-spacing) * 0.25);
}

/**
 * Group ([role="group"], [role="search"])
 */
[role=search],
[role=group] {
  display: inline-flex;
  position: relative;
  width: 100%;
  margin-bottom: var(--pico-spacing);
  border-radius: var(--pico-border-radius);
  box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  vertical-align: middle;
  transition: box-shadow var(--pico-transition);
}
[role=search] > *,
[role=search] input:not([type=checkbox], [type=radio]),
[role=search] select,
[role=group] > *,
[role=group] input:not([type=checkbox], [type=radio]),
[role=group] select {
  position: relative;
  flex: 1 1 auto;
  margin-bottom: 0;
}
[role=search] > *:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] > *:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
[role=search] > *:not(:last-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=search] select:not(:last-child),
[role=group] > *:not(:last-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=group] select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[role=search] > *:focus,
[role=search] input:not([type=checkbox], [type=radio]):focus,
[role=search] select:focus,
[role=group] > *:focus,
[role=group] input:not([type=checkbox], [type=radio]):focus,
[role=group] select:focus {
  z-index: 2;
}
[role=search] button:not(:first-child),
[role=search] [type=submit]:not(:first-child),
[role=search] [type=reset]:not(:first-child),
[role=search] [type=button]:not(:first-child),
[role=search] [role=button]:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] button:not(:first-child),
[role=group] [type=submit]:not(:first-child),
[role=group] [type=reset]:not(:first-child),
[role=group] [type=button]:not(:first-child),
[role=group] [role=button]:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: calc(var(--pico-border-width) * -1);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=reset],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=reset],
[role=group] [type=button],
[role=group] [role=button] {
  width: auto;
}
@supports selector(:has(*)) {
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) {
    --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button);
  }
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select,
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select {
    border-color: transparent;
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus),
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) {
    --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input);
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button] {
    --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border);
    --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border);
  }
  [role=search] button:focus,
  [role=search] [type=submit]:focus,
  [role=search] [type=reset]:focus,
  [role=search] [type=button]:focus,
  [role=search] [role=button]:focus,
  [role=group] button:focus,
  [role=group] [type=submit]:focus,
  [role=group] [type=reset]:focus,
  [role=group] [type=button]:focus,
  [role=group] [role=button]:focus {
    box-shadow: none;
  }
}

[role=search] > *:first-child {
  border-top-left-radius: 5rem;
  border-bottom-left-radius: 5rem;
}
[role=search] > *:last-child {
  border-top-right-radius: 5rem;
  border-bottom-right-radius: 5rem;
}

/**
 * Nav
 */
:where(nav li)::before {
  float: left;
  content: "​";
}

nav,
nav ul {
  display: flex;
}

nav {
  justify-content: space-between;
  overflow: visible;
}
nav ol,
nav ul {
  align-items: center;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
nav ol:first-of-type,
nav ul:first-of-type {
  margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1);
}
nav ol:last-of-type,
nav ul:last-of-type {
  margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1);
}
nav li {
  display: inline-block;
  margin: 0;
  padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal);
}
nav li :where(a, [role=link]) {
  display: inline-block;
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);
  padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
  border-radius: var(--pico-border-radius);
}
nav li :where(a, [role=link]):not(:hover) {
  text-decoration: none;
}
nav li button,
nav li [role=button],
nav li [type=button],
nav li input:not([type=checkbox], [type=radio], [type=range], [type=file]),
nav li select {
  height: auto;
  margin-right: inherit;
  margin-bottom: 0;
  margin-left: inherit;
  padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] {
  align-items: center;
  justify-content: start;
}
nav[aria-label=breadcrumb] ul li:not(:first-child) {
  margin-inline-start: var(--pico-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] ul li a {
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0;
  margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
}
nav[aria-label=breadcrumb] ul li:not(:last-child)::after {
  display: inline-block;
  position: absolute;
  width: calc(var(--pico-nav-link-spacing-horizontal) * 4);
  margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1);
  content: var(--pico-nav-breadcrumb-divider);
  color: var(--pico-muted-color);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

aside nav,
aside ol,
aside ul,
aside li {
  display: block;
}
aside li {
  padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5) var(--pico-nav-element-spacing-horizontal);
}
aside li a {
  display: block;
}
aside li [role=button] {
  margin: inherit;
}

[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after {
  content: "\\";
}

/**
 * Accessibility & User interaction
 */
[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

[dir=rtl] {
  direction: rtl;
}

/**
 * Reduce Motion Features
 */
@media (prefers-reduced-motion: reduce) {
  *:not([aria-busy=true]),
  :not([aria-busy=true])::before,
  :not([aria-busy=true])::after {
    background-attachment: initial !important;
    animation-duration: 1ms !important;
    animation-delay: -1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}
[data-theme=light],
:root:not([data-theme=dark]) {
  --pico-background-color: var(--mt-background-color, #fff);
  --pico-color: var(--mt-color, #373c44);
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: var(--mt-primary-color, #00599c);
  --pico-primary-background: var(--mt-primary-color, #00599c);
  --pico-primary-hover-background: var(--mt-primary-color-darken, rgb(0, 59.9038461538, 105));
  --pico-primary-hover-underline: var(--mt-primary-color, #00599c);
  --pico-primary-border: var(--mt-primary-color, #00599c);
  --pico-primary-hover: var(--mt-primary-color-darken, rgb(0, 59.9038461538, 105));
  --pico-primary-underline: var(--mt-primary-color-lighten, rgb(0, 118.0961538462, 207));
  --pico-primary-focus: var(--mt-primary-color-lighten, rgb(0, 118.0961538462, 207));
  --pico-primary-inverse: var(--mt-primary-inverse-color, #ffffff);
  --pico-secondary: var(--mt-secondary-color, #737987);
  --pico-secondary-background: var(--mt-secondary-color, #737987);
  --pico-secondary-hover-background: var(--mt-secondary-color-darken, rgb(91.54, 96.316, 107.46));
  --pico-secondary-hover-underline: var(--mt-secondary-color, #737987);
  --pico-secondary-border: var(--mt-secondary-color, #737987);
  --pico-secondary-hover: var(--mt-secondary-color-darken, rgb(91.54, 96.316, 107.46));
  --pico-secondary-underline: var(--mt-secondary-color-lighten, rgb(142.14, 147.156, 158.86));
  --pico-secondary-focus: var(--mt-secondary-color-lighten, rgb(142.14, 147.156, 158.86));
  --pico-secondary-inverse: var(--mt-secondary-inverse-color, #ffffff);
  --pico-contrast: var(--mt-contrast-color, #181c25);
  --pico-contrast-background: var(--mt-contrast-color, #181c25);
  --pico-contrast-hover-background: var(--mt-contrast-color-darken, rgb(3.9344262295, 4.5901639344, 6.0655737705));
  --pico-contrast-hover-underline: var(--mt-contrast-color, #181c25);
  --pico-contrast-border: var(--mt-contrast-color, #181c25);
  --pico-contrast-hover: var(--mt-contrast-color-darken, rgb(3.9344262295, 4.5901639344, 6.0655737705));
  --pico-contrast-underline: var(--mt-contrast-color-lighten, rgb(44.0655737705, 51.4098360656, 67.9344262295));
  --pico-contrast-focus: var(--mt-contrast-color-lighten, rgb(44.0655737705, 51.4098360656, 67.9344262295));
  --pico-contrast-inverse: var(--mt-contrast-inverse-color, #ffffff);
  --pico-font-family: var(--mt-font-family, Inter, Tahoma, Verdana, sans-serif);
  --pico-font-size: var(--mt-font-size, 1rem);
  --pico-line-height: var(--mt-line-height, 1.4rem);
  --pico-font-weight: var(--mt-font-weight, 400);
  --pico-heading-font-weight: var(--mt-heading-font-weight, 700);
  --pico-letter-spacing: var(--mt-letter-spacing, normal);
  --pico-block-spacing-vertical: 1.5rem;
}

[data-theme=dark],
:root[data-theme=dark] {
  --pico-background-color: var(--mt-tdark-background-color, #1d2327);
  --pico-color: var(--mt-tdark-color, #1d2327);
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-background: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-hover-background: var(--mt-tdark-primary-color-lighten, rgb(133.6734693878, 199.5153061224, 231.3265306122));
  --pico-primary-hover-underline: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-border: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-hover: var(--mt-tdark-primary-color-lighten, rgb(133.6734693878, 199.5153061224, 231.3265306122));
  --pico-primary-underline: var(--mt-tdark-primary-color-darken, rgb(48.3265306122, 160.4846938776, 214.6734693878));
  --pico-primary-focus: var(--mt-tdark-primary-color-darken, rgb(48.3265306122, 160.4846938776, 214.6734693878));
  --pico-primary-inverse: var(--mt-tdark-primary-inverse-color, #121212);
  --pico-secondary: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-background: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-hover-background: var(--mt-tdark-secondary-color-lighten, rgb(191.6097560976, 195.743902439, 205.3902439024));
  --pico-secondary-hover-underline: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-border: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-hover: var(--mt-tdark-secondary-color-lighten, rgb(191.6097560976, 195.743902439, 205.3902439024));
  --pico-secondary-underline: var(--mt-tdark-secondary-color-darken, rgb(134.3902439024, 142.256097561, 160.6097560976));
  --pico-secondary-focus: var(--mt-tdark-secondary-color-darken, rgb(134.3902439024, 142.256097561, 160.6097560976));
  --pico-secondary-inverse: var(--mt-tdark-secondary-inverse-color, #121212);
  --pico-contrast: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-background: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-hover-background: var(--mt-tdark-contrast-color-lighten, hsl(216, 33.3333333333%, 107.0588235294%));
  --pico-contrast-hover-underline: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-border: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-hover: var(--mt-tdark-contrast-color-lighten, hsl(216, 33.3333333333%, 107.0588235294%));
  --pico-contrast-underline: var(--mt-tdark-contrast-color-darken, rgb(211, 219.8, 233));
  --pico-contrast-focus: var(--mt-tdark-contrast-color-darken, rgb(211, 219.8, 233));
  --pico-contrast-inverse: var(--mt-tdark-contrast-inverse-color, #121212);
  --pico-font-family: var(--mt-font-family, Inter, Tahoma, Verdana, sans-serif);
  --pico-font-size: var(--mt-font-size, 1rem);
  --pico-line-height: var(--mt-line-height, 1.4rem);
  --pico-font-weight: var(--mt-font-weight, 400);
  --pico-heading-font-weight: var(--mt-heading-font-weight, 700);
  --pico-letter-spacing: var(--mt-letter-spacing, normal);
  --pico-block-spacing-vertical: 1.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--mt-heading-font-family, Roboto, Georgia, serif);
}

ul li {
  list-style: disc;
}

blockquote, blockquote p {
  font-style: italic;
}

html {
  scroll-behavior: smooth;
  position: relative;
  margin-top: 0 !important;
}
html body {
  padding-top: var(--wp-admin--admin-bar--height, 0px);
}
html body > .site-header,
html body > .header-nav-menu,
html body > .main-grid,
html body > .site-footer,
html body > .top-grid,
html body > .pre-main-content {
  box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
}

.logo-light,
.logo-light-and-dark {
  display: block;
}

.logo-dark {
  display: none;
}

[data-theme=dark] .logo-light {
  display: none;
}

[data-theme=dark] .logo-dark {
  display: block;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.brid *[role=button],
.brid-close *[role=button] {
  background: initial;
  border: initial;
}

.brid *[role=button]:focus,
.brid-close *[role=button]:focus {
  outline: none;
  box-shadow: none;
}

body > .site-header {
  background-color: var(--pico-primary);
  color: var(--pico-primary-inverse);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  height: 64px;
  padding-left: calc(var(--pico-spacing) / 4);
  padding-right: calc(var(--pico-spacing) / 4);
  z-index: 9999999;
}
body > .site-header.is-sticky {
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0);
  left: 0;
  right: 0;
}
body > .site-header .header-left,
body > .site-header .header-right {
  width: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body > .site-header .header-left .menu-toggle,
body > .site-header .header-right .menu-toggle {
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
body > .site-header .header-left .menu-toggle .hamburger-icon,
body > .site-header .header-right .menu-toggle .hamburger-icon {
  position: relative;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  display: block;
  transition: background 0.2s ease;
}
body > .site-header .header-left .menu-toggle .hamburger-icon::before, body > .site-header .header-left .menu-toggle .hamburger-icon::after,
body > .site-header .header-right .menu-toggle .hamburger-icon::before,
body > .site-header .header-right .menu-toggle .hamburger-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform 0.2s ease;
}
body > .site-header .header-left .menu-toggle .hamburger-icon::before,
body > .site-header .header-right .menu-toggle .hamburger-icon::before {
  top: -7px;
}
body > .site-header .header-left .menu-toggle .hamburger-icon::after,
body > .site-header .header-right .menu-toggle .hamburger-icon::after {
  top: 7px;
}
body > .site-header .header-left .menu-toggle:hover, body > .site-header .header-left .menu-toggle:focus,
body > .site-header .header-right .menu-toggle:hover,
body > .site-header .header-right .menu-toggle:focus {
  border: none;
  opacity: 0.8;
  box-shadow: none;
}
body > .site-header .header-left .menu-toggle.is-active .hamburger-icon,
body > .site-header .header-right .menu-toggle.is-active .hamburger-icon {
  background: transparent;
}
body > .site-header .header-left .menu-toggle.is-active .hamburger-icon::before,
body > .site-header .header-right .menu-toggle.is-active .hamburger-icon::before {
  top: 0;
  transform: rotate(45deg);
}
body > .site-header .header-left .menu-toggle.is-active .hamburger-icon::after,
body > .site-header .header-right .menu-toggle.is-active .hamburger-icon::after {
  top: 0;
  transform: rotate(-45deg);
}
body > .site-header .header-left .header-live-button,
body > .site-header .header-right .header-live-button {
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  line-height: 1;
}
body > .site-header .header-left .header-live-button:hover, body > .site-header .header-left .header-live-button:focus,
body > .site-header .header-right .header-live-button:hover,
body > .site-header .header-right .header-live-button:focus {
  opacity: 0.8;
  box-shadow: none;
  text-decoration: none;
}
body > .site-header .header-left .header-live-button__play,
body > .site-header .header-right .header-live-button__play {
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.15rem solid currentColor;
  margin-bottom: 0.1rem;
}
body > .site-header .header-left .header-live-button__label,
body > .site-header .header-right .header-live-button__label {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body > .site-header .header-center {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
body > .site-header .header-center > a > img {
  max-height: 50px;
  min-height: 44px;
  width: 100%;
}
body > .site-header .header-center > a strong {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--pico-primary-inverse);
}

body > .site-footer {
  padding: 0;
}
body > .site-footer .footer-separator {
  height: var(--pico-spacing);
  background-color: var(--pico-primary);
  margin-bottom: calc(var(--pico-spacing) / 2);
}
body > .site-footer .footer-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pico-spacing);
  padding: var(--pico-spacing);
}
@media (min-width: 576px) {
  body > .site-footer .footer-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--pico-spacing) * 1.5);
  }
}
@media (min-width: 1024px) {
  body > .site-footer .footer-columns {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2rem;
  }
}
body > .site-footer .footer-columns .footer-col > strong {
  margin-bottom: 0.75rem;
  display: block;
  text-align: center;
  font-size: 1.2rem;
}
@media (min-width: 576px) {
  body > .site-footer .footer-columns .footer-col > strong {
    text-align: left;
  }
}
body > .site-footer .footer-columns .footer-col .w3c-logo {
  margin-bottom: var(--pico-spacing);
}
body > .site-footer .footer-columns .footer-col ul {
  padding: 0;
}
body > .site-footer .footer-columns .footer-col ul li {
  list-style: none;
  margin-bottom: calc(var(--pico-spacing) / 2);
  font-size: 0.95rem;
}
body > .site-footer .footer-columns .footer-col ul li strong {
  display: block;
  font-size: 0.95rem;
}
body > .site-footer .footer-columns .footer-col ul a {
  text-decoration: none;
}
body > .site-footer .footer-columns .footer-col ul small {
  font-weight: bold;
}
body > .site-footer .footer-credits {
  background-color: var(--pico-background-color);
  text-align: center;
  padding: calc(var(--pico-spacing) / 4) var(--pico-spacing);
}
body > .site-footer .footer-credits small {
  font-size: 0.8rem;
}

body.admin-bar .sidebar-hamburger {
  top: 0;
}
@media (min-width: 600px) {
  body.admin-bar .sidebar-hamburger {
    top: 46px;
  }
}
@media (min-width: 782px) {
  body.admin-bar .sidebar-hamburger {
    top: 32px;
  }
}

.sidebar-hamburger {
  position: fixed;
  top: 0;
  left: 0;
  width: 85vw;
  max-width: 560px;
  height: 100vh;
  background: var(--pico-background-color);
  color: var(--pico-color);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow: hidden;
  padding: var(--pico-spacing);
  display: flex;
  flex-direction: column;
  z-index: 99999999;
}
.sidebar-hamburger.open {
  transform: translateX(0);
}
.sidebar-hamburger-overlay {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1900;
  display: none;
}
.sidebar-hamburger-overlay.visible {
  display: block;
}
.sidebar-hamburger-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: calc(var(--pico-spacing) / 2);
  padding-bottom: calc(var(--pico-spacing) / 2);
  border-bottom: 1px solid var(--pico-blockquote-border-color);
}
.sidebar-hamburger-logo img {
  height: 48px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.sidebar-hamburger-close {
  --pico-color: var(--pico-color);
  color: var(--pico-color);
  background: none;
  border: none;
  font-size: 1.5rem;
  padding: 0;
  margin-left: var(--pico-spacing);
}
.sidebar-hamburger-close:hover, .sidebar-hamburger-close:focus {
  box-shadow: none;
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-controls {
  margin: var(--pico-spacing) 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--pico-spacing);
  flex-wrap: wrap;
}
.sidebar-hamburger-controls .font-size-controls button {
  font-size: 1rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2);
}
.sidebar-hamburger-controls .theme-toggle {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.sidebar-hamburger-controls .theme-toggle label,
.sidebar-hamburger-controls .theme-toggle input {
  margin: 0;
}
.sidebar-hamburger-search {
  margin: var(--pico-spacing) 0;
}
.sidebar-hamburger-search > *:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.sidebar-hamburger-search > *:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.sidebar-hamburger-menu {
  margin: var(--pico-spacing) 0;
  flex: 1 1 auto;
  overflow-y: auto;
}
.sidebar-hamburger-menu .accordion {
  border-bottom: 1px solid var(--pico-blockquote-border-color);
}
.sidebar-hamburger-menu .accordion:last-child {
  border-bottom: none;
}
.sidebar-hamburger-menu .accordion-toggle, .sidebar-hamburger-menu .accordion-link {
  --pico-color: var(--pico-color);
  color: var(--pico-color);
  background: none;
  border: none;
  font-size: 1.1rem;
  padding: 0;
  margin: var(--pico-spacing) auto;
  display: block;
  width: 100%;
  text-align: left;
  font-weight: 700;
  transition: color 0.2s ease;
  cursor: pointer;
  text-decoration: none;
}
.sidebar-hamburger-menu .accordion-toggle:hover, .sidebar-hamburger-menu .accordion-toggle:focus, .sidebar-hamburger-menu .accordion-link:hover, .sidebar-hamburger-menu .accordion-link:focus {
  --pico-color: var(--pico-color);
  box-shadow: none;
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-menu .accordion-content {
  display: none;
  padding: 0;
  margin-bottom: var(--pico-spacing);
}
.sidebar-hamburger-menu .accordion-content.open {
  display: block;
}
.sidebar-hamburger-menu .accordion-content a {
  --pico-color: var(--pico-color);
  display: block;
  padding: 0;
  color: var(--pico-color);
  text-decoration: none;
  transition: color 0.2s ease;
}
.sidebar-hamburger-menu .accordion-content a:hover {
  --pico-color: var(--pico-color);
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-menu .accordion-content.columns-2 {
  display: none;
}
.sidebar-hamburger-menu .accordion-content.columns-2.open {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pico-spacing);
}
.sidebar-hamburger-menu .accordion-content.social-links {
  display: none;
}
.sidebar-hamburger-menu .accordion-content.social-links.open {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: calc(var(--pico-spacing) * 1.5);
  align-items: start;
}
.sidebar-hamburger-menu .accordion-content.social-links a {
  --pico-color: var(--pico-color);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: calc(var(--pico-spacing) / 3);
  color: var(--pico-color);
  text-decoration: none;
  text-align: center;
  font-size: 0.85rem;
  line-height: 1.2;
  transition: color 0.2s ease, transform 0.2s ease;
}
.sidebar-hamburger-menu .accordion-content.social-links a:hover {
  --pico-color: var(--pico-color);
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-menu .accordion-content.social-links a:hover .social-links-icon {
  transform: translateY(-2px);
}
.sidebar-hamburger-menu .accordion-content.social-links .social-links-icon {
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.sidebar-hamburger-menu .accordion-content.social-links .social-links-icon svg {
  width: 1.4rem;
  height: 1.4rem;
  display: block;
  fill: currentColor;
}
.sidebar-hamburger-menu .accordion-content.social-links .social-links-label {
  display: block;
  text-align: center;
  word-break: break-word;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=facebook] .social-links-icon {
  background: #1877f2;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=facebook] .social-links-icon svg {
  transform: scale(1.18);
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=google] .social-links-icon {
  background: #f9f0f0;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=google] .social-links-icon svg {
  transform: scale(1.22);
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=x] .social-links-icon {
  background: #000;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=instagram] .social-links-icon {
  background: linear-gradient(135deg, #833ab4, #e1306c, #fd1d1d, #fcb045);
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=whatsapp] .social-links-icon {
  background: #25d366;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=telegram] .social-links-icon {
  background: #229ed9;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=tiktok] .social-links-icon {
  background: linear-gradient(135deg, #000 0%, #111 100%);
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=linkedin] .social-links-icon {
  background: #0a66c2;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=youtube] .social-links-icon {
  background: #ff0000;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=google_news] .social-links-icon {
  background: #f9f0f0;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=google_news] .social-links-icon svg {
  transform: scale(1.22);
}

body > .header-nav-menu {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 1.33);
  border-bottom: 1px solid var(--pico-blockquote-border-color);
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 100, 100, 0.2) transparent;
}
body > .header-nav-menu::-webkit-scrollbar {
  height: 6px;
}
body > .header-nav-menu::-webkit-scrollbar-track {
  background: transparent;
}
body > .header-nav-menu::-webkit-scrollbar-thumb {
  background-color: rgba(100, 100, 100, 0.2);
  border-radius: 5px;
}
body > .header-nav-menu .menu-scroll-wrapper {
  display: flex;
  gap: var(--pico-spacing);
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: space-between;
}
body > .header-nav-menu .menu-scroll-wrapper li {
  padding: calc(var(--pico-spacing) / 4);
}
body > .header-nav-menu .menu-scroll-wrapper li a {
  text-decoration: none;
  padding: calc(var(--pico-spacing) / 2);
  border-radius: 4px;
  transition: background 0.3s;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: -0.01rem;
}
body > .header-nav-menu .menu-scroll-wrapper li a:hover, body > .header-nav-menu .menu-scroll-wrapper li a:focus {
  background-color: var(--primary-hover);
  color: var(--contrast);
}

.main-grid {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 100vh;
  padding: var(--pico-spacing) 0 0 0;
}
.main-grid.with-sidebar {
  gap: 0;
}
@media (min-width: 1024px) {
  .main-grid.with-sidebar {
    grid-template-columns: 1fr 370px;
  }
}

.pre-main-content {
  padding: calc(var(--pico-spacing) * 2) var(--pico-spacing) 0 var(--pico-spacing);
  overflow: hidden;
}

.top-grid {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: calc(var(--pico-spacing) * -1);
  padding: var(--pico-spacing) 0 0 0;
  gap: 0;
}
@media (min-width: 1024px) {
  .top-grid {
    grid-template-columns: 1fr 370px;
  }
}
.top-grid .top-content {
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
  overflow: hidden;
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .top-grid .top-content {
    padding: 0 var(--pico-spacing);
  }
}
.top-grid .top-sidebar {
  padding: 0 var(--pico-spacing);
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .top-grid .top-sidebar {
    box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
  }
}

.main-content {
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
  overflow: hidden;
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .main-content {
    padding: 0 var(--pico-spacing);
  }
}
.main-content .page-title {
  position: relative;
  display: flex;
  align-items: start;
  gap: 0.2rem;
  margin-bottom: 1.5rem;
  flex-direction: column;
}
@media (min-width: 576px) {
  .main-content .page-title {
    flex-direction: row;
    align-items: end;
  }
}
.main-content .page-title.has-logo {
  max-width: 75%;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
}
@media (min-width: 576px) {
  .main-content .page-title.has-logo {
    max-width: 100%;
    align-items: end;
  }
}
.main-content .page-title img {
  max-height: 42px;
  width: auto;
  flex-shrink: 0;
}
@media (min-width: 576px) {
  .main-content .page-title img {
    margin-right: 0.4rem;
  }
}
.main-content .page-title h1 {
  position: relative;
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 0;
  font-weight: 700;
}
@media (min-width: 576px) {
  .main-content .page-title h1 {
    font-size: 2rem;
  }
}
.main-content .page-title .h1-subtitle {
  display: inline-block;
  margin-left: 0rem;
  font-size: 1.1rem;
  font-weight: 600;
  opacity: 0.9;
  color: var(--pico-muted-color);
}
.main-content .page-title:not(.has-logo) h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 70px;
  height: 4px;
  border-radius: 2px;
  background: var(--pico-primary-focus);
}

.main-sidebar {
  padding: 0 var(--pico-spacing);
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .main-sidebar {
    box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
  }
}
.main-sidebar > .widget {
  margin-left: auto;
  margin-right: auto;
}
.main-sidebar .widget.nk-feed-reader-list-feed-rubrica {
  height: auto !important;
}
.main-sidebar .widget-sidebar-featured-poi-lista article {
  padding: 0;
  margin: 0 auto calc(var(--pico-spacing) / 2) auto;
}
.main-sidebar .widget-sidebar-featured-poi-lista article a {
  color: inherit;
  text-decoration: none;
  display: block;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article a {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article a {
    display: block;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article figure {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: var(--pico-border-radius) var(--pico-border-radius) 0 0;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article figure {
    aspect-ratio: 16/10;
    flex: 1;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article figure {
    flex: none;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article .post-meta {
    flex: 3;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article .post-meta {
    flex: none;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article .post-meta .lancio {
  padding: 0.7rem;
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  color: var(--pico-muted-color);
  margin-bottom: calc(var(--pico-spacing) * -1.5);
}
.main-sidebar .widget-sidebar-featured-poi-lista article .post-meta h3 {
  padding: 0.7rem;
  margin: 0;
  font-size: 1rem;
}
.main-sidebar .widget-sidebar-featured-poi-lista article.featured .post-meta h2 {
  font-size: 1rem;
  font-weight: bold;
}
.main-sidebar .widget-sidebar-featured-poi-lista article.compact .post-meta h2 {
  font-size: 1rem;
}

.widget .widget-title-img,
.widget .widget-title {
  position: relative;
  text-align: center;
  display: block;
  margin-bottom: calc(var(--pico-spacing) / 2);
}
.widget .widget-title-img > img,
.widget .widget-title-img > span,
.widget .widget-title > img,
.widget .widget-title > span {
  position: relative;
}
.widget .widget-title-img img,
.widget .widget-title img {
  max-width: 200px;
  max-height: 44px;
  margin: 0 auto;
  padding-left: var(--pico-spacing);
  padding-right: var(--pico-spacing);
  background-color: var(--pico-background-color);
  z-index: 10;
}
.widget .widget-title-img a,
.widget .widget-title a {
  display: block;
  background-color: transparent;
}
.widget .widget-title-img > span,
.widget .widget-title > span {
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  z-index: 100;
  display: inline-block;
  position: relative;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 1.5);
  font-size: 1.2rem;
  text-transform: uppercase;
  font-weight: 700;
  max-width: 70%;
}
.widget .widget-title-img::before,
.widget .widget-title::before {
  border-top: 2px solid var(--pico-primary-focus);
  content: "";
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 50%;
  display: inline-block;
  height: 1px;
  z-index: 1;
}
.widget .widget-title-img {
  margin-bottom: var(--pico-spacing);
}
.widget .widget-footer {
  text-align: right;
  margin-top: var(--pico-spacing);
}
.widget .widget-footer a[role=button] {
  --pico-color: var(--pico-color);
  padding: calc(var(--pico-spacing) / 4) var(--pico-spacing);
  color: var(--pico-color) !important;
  border: none !important;
  background: none !important;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}
.widget .widget-footer a[role=button]::after {
  content: "›";
  font-size: 1.25rem;
}
.widget .widget-footer a[role=button]:focus, .widget .widget-footer a[role=button]:hover {
  --pico-color: color-mix(in srgb, var(--pico-color) 10%, #000 95%);
  border: none !important;
  box-shadow: none !important;
}

.container.top-grid .top-sidebar .widget:last-child {
  position: sticky;
  top: calc(64px + var(--wp-admin--admin-bar--height, 0px) + 1rem);
}

blockquote {
  padding: 0 0 0 var(--pico-spacing);
  margin: 0;
  display: block;
  font-style: italic;
}

@keyframes blinker {
  50% {
    opacity: 0.3;
  }
}
.comment-form-url {
  display: none;
}

.wp-caption {
  max-width: 100%;
  width: auto !important;
}

.wp-caption img,
img.size-full,
img.size-large,
img.size-medium,
img.size-thumbnail {
  max-width: 100%;
  height: auto;
}

img.alignright,
figure.alignright,
div.wp-caption.alignright {
  float: none;
  margin: 0.2rem auto var(--pico-spacing);
  display: block;
  text-align: right;
}
@media (min-width: 576px) {
  img.alignright,
  figure.alignright,
  div.wp-caption.alignright {
    float: right;
    margin: 0.2rem 0 var(--pico-spacing) var(--pico-spacing);
    max-width: 100%;
    height: auto;
  }
}
img.alignleft,
figure.alignleft,
div.wp-caption.alignleft {
  float: none;
  margin: 0.2rem auto var(--pico-spacing);
  display: block;
  text-align: left;
}
@media (min-width: 576px) {
  img.alignleft,
  figure.alignleft,
  div.wp-caption.alignleft {
    float: left;
    margin: 0.2rem var(--pico-spacing) var(--pico-spacing) 0;
    max-width: 100%;
    height: auto;
  }
}
img.alignnone,
figure.alignnone,
div.wp-caption.alignnone {
  margin: 0.2rem var(--pico-spacing) var(--pico-spacing) 0;
  max-width: 100%;
  height: auto;
}
img.aligncenter,
figure.aligncenter,
div.wp-caption.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: 100%;
  height: auto;
  text-align: center;
}

.wp-caption-text {
  font-size: 0.8rem;
  margin: 0;
  padding: calc(var(--pico-spacing) / 2);
  text-align: center;
}

#wpadminbar {
  z-index: 9999999;
  position: fixed !important;
}

iframe {
  max-width: 100%;
}

.container.container-ldb1 {
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
  box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
}

.main-sidebar .widget-nk-adv-print:not(:has(> *:not(:empty))) {
  margin: 0;
}

div[id^=flx-] {
  text-align: center;
  margin: 0 auto;
}

div[id^=flx_necro] {
  margin-bottom: calc(var(--pico-spacing) * 2);
}

div[id^=flx-iniziative] {
  margin: var(--pico-spacing) auto var(--pico-spacing) auto;
}

div[id^=flx-iniziative]:not(:has(> *:not(:empty))) {
  margin: 0;
}

div[id^=flx-infeed] {
  margin: var(--pico-spacing) auto var(--pico-spacing) auto;
}

div[id^=flx-infeed]:not(:has(> *:not(:empty))) {
  margin: 0;
}

#onesignal-slidedown-container.slide-up, #onesignal-popover-container.slide-up {
  z-index: 2147483640 !important;
}

.carousel-cards {
  overflow: hidden;
  position: relative;
  container-type: inline-size;
  container-name: carousel-cards;
}
.carousel-cards__track {
  display: flex;
  gap: var(--pico-spacing);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  align-items: stretch;
  padding: var(--pico-spacing) 0;
  scrollbar-width: none;
}
.carousel-cards__track::-webkit-scrollbar {
  display: none;
}
.carousel-cards__arrow {
  position: absolute;
  top: 35%;
  z-index: 10;
  width: 3rem;
  height: 3rem;
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  backdrop-filter: blur(4px);
  transition: opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
  font-size: 2rem;
  line-height: 1;
  font-weight: 300;
  opacity: 0.75;
}
.carousel-cards__arrow:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.7);
  transform: scale(1.05);
}
.carousel-cards__arrow:active {
  transform: scale(0.96);
}
.carousel-cards__arrow:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.carousel-cards__arrow--prev {
  left: 0;
  border-radius: 0 0.5rem 0.5rem 0;
}
.carousel-cards__arrow--next {
  right: 0;
  border-radius: 0.5rem 0 0 0.5rem;
}
.carousel-cards__arrow svg {
  width: 1.4rem;
  height: 1.4rem;
  pointer-events: none;
}
.carousel-cards__item {
  flex: 0 0 100%;
  scroll-snap-align: start;
  overflow: hidden;
  margin: 0;
  padding: 0;
  display: flex;
  height: auto;
}
.carousel-cards__item a {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
  position: relative;
  width: 100%;
  height: 100%;
}
@container carousel-cards (min-width: 520px) {
  .carousel-cards__item {
    flex-basis: calc((100% - var(--pico-spacing)) / 2);
  }
  .carousel-cards__arrow {
    width: 3.25rem;
    height: 3.25rem;
  }
}
@container carousel-cards (min-width: 820px) {
  .carousel-cards__item {
    flex-basis: calc((100% - var(--pico-spacing) * 2) / 3);
  }
}
.carousel-cards__figure {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
  margin: 0;
  flex-shrink: 0;
}
.carousel-cards__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.carousel-cards__meta {
  padding: calc(var(--pico-spacing) / 2) var(--pico-spacing);
  line-height: 1.3;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.carousel-cards__title {
  font-size: 1.1rem;
  line-height: 1.25;
  margin: 0;
}
.carousel-cards__cat {
  border-radius: calc(var(--pico-spacing) / 1.8);
  display: inline-block;
  background: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
  align-self: flex-start;
}
.carousel-cards__lancio {
  color: var(--pico-primary);
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  margin-top: auto;
  padding-top: calc(var(--pico-spacing) / 2);
}
.carousel-cards__item-video .carousel-cards__figure::before {
  content: "";
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #fff;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.carousel-cards__item-gallery .carousel-cards__figure::before, .carousel-cards__item-gallery .carousel-cards__figure::after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.carousel-cards__item-gallery .carousel-cards__figure::after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.carousel-cards__item-diretta .carousel-cards__figure::before {
  content: "LIVE";
  position: absolute;
  top: 0.1rem;
  left: 0.1rem;
  background: #e53e3e;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 calc(var(--pico-spacing) / 2);
}

@media (min-width: 576px) {
  body.home main.main-content .widget .widget-title-img,
  body.home main.main-content .widget .widget-title {
    padding-left: 2rem;
    text-align: left;
  }
}
body.home main.main-content .widget_mt_list_posts:first-child .mosaico {
  background-color: var(--mt-homepage-opening-background);
  padding: var(--pico-spacing);
  margin: 0 calc(var(--pico-spacing) * -1) var(--pico-spacing);
}

.mosaico {
  display: grid;
  gap: var(--pico-spacing);
  grid-template-columns: 1fr;
}
.mosaico__item {
  overflow: hidden;
  padding: 0;
  margin: 0;
}
.mosaico__item figure {
  aspect-ratio: 16/10;
  overflow: hidden;
  display: block;
  position: relative;
  margin: 0;
}
.mosaico__item figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.mosaico__item-video figure:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #ffffff;
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.mosaico__item-gallery figure:before,
.mosaico__item-gallery figure:after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.mosaico__item-gallery figure:after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.mosaico__item-diretta figure:before {
  content: "LIVE";
  background-color: #e53e3e;
  top: 0.1rem;
  left: 0.1rem;
  display: inline-block;
  position: absolute;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0rem calc(var(--pico-spacing) / 2);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.mosaico__item a {
  display: block;
  color: inherit;
  text-decoration: none;
  position: relative;
}
.mosaico__item h2 {
  font-size: 1.1rem;
  margin: 0;
}
.mosaico__item--main figure {
  aspect-ratio: 16/10;
}
@media (min-width: 576px) {
  .mosaico__item--main figure {
    aspect-ratio: 16/12;
  }
}
.mosaico__item--main h2 {
  font-size: 1.1rem;
}
@media (min-width: 576px) {
  .mosaico__item--main h2 {
    font-size: 1.6rem;
  }
}
.mosaico__meta {
  padding: calc(var(--pico-spacing) / 2) var(--pico-spacing);
  inset: auto 0 0 0;
  z-index: 2;
  line-height: 1.3;
}
.mosaico__cat {
  border-radius: calc(var(--pico-spacing) / 3);
  display: inline-block;
  background-color: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.mosaico__lancio {
  color: var(--pico-muted-color);
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  padding: 0 0 0.15rem;
}
@media (min-width: 576px) {
  .mosaico--1 .mosaico__item--main figure {
    aspect-ratio: 16/10;
  }
}
@media (min-width: 576px) {
  .mosaico--1 .mosaico__item--main .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
.mosaico--2 .mosaico__item--main figure {
  aspect-ratio: 16/10;
}
@media (min-width: 576px) {
  .mosaico--2 .mosaico__item--main h2 {
    font-size: 1.1rem;
  }
}
@media (min-width: 576px) {
  .mosaico--2 .mosaico__item .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
@media (min-width: 576px) {
  .mosaico--2 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 576px) {
  .mosaico--multi .mosaico__item--main .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
@media (min-width: 576px) {
  .mosaico--multi {
    grid-template-columns: repeat(2, 2fr);
  }
  .mosaico--multi > .mosaico__item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
  }
}
@media (min-width: 768px) {
  .mosaico--multi {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .mosaico--multi {
    grid-template-columns: repeat(2, 2fr);
  }
}
@media (min-width: 1280px) {
  .mosaico--multi {
    grid-template-columns: repeat(3, 1fr);
  }
}

.post-list-vertical__item {
  display: flex;
  flex-direction: column;
  gap: var(--pico-spacing);
  margin: 0 auto var(--pico-spacing) auto;
  padding: 0;
  overflow: hidden;
}
@media (min-width: 576px) {
  .post-list-vertical__item {
    flex-direction: row;
    align-items: flex-start;
  }
}
.post-list-vertical__item-private {
  opacity: 0.7;
  border: 1px dashed var(--pico-color);
}
.post-list-vertical__link {
  display: block;
  text-decoration: none;
  color: inherit;
  --pico-color: var(--pico-color);
}
.post-list-vertical__link:hover {
  --pico-color: var(--pico-color);
}
.post-list-vertical__link .post-list-vertical__content:first-child {
  padding-left: var(--pico-spacing);
}
@media (min-width: 576px) {
  .post-list-vertical__link {
    display: flex;
    flex-direction: row;
    gap: var(--pico-spacing);
  }
}
.post-list-vertical__thumb {
  margin-bottom: calc(var(--pico-spacing) / 2);
  flex: 0 0 220px;
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
@media (min-width: 576px) {
  .post-list-vertical__thumb {
    max-width: 220px;
    margin-bottom: 0rem;
  }
}
.post-list-vertical__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.post-list-vertical__item-diretta .post-list-vertical__thumb:before {
  content: "LIVE";
  background-color: #e53e3e;
  top: 0.1rem;
  left: 0.1rem;
  display: inline-block;
  position: absolute;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0rem calc(var(--pico-spacing) / 2);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.post-list-vertical__item-gallery .post-list-vertical__thumb:before,
.post-list-vertical__item-gallery .post-list-vertical__thumb:after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.post-list-vertical__item-gallery .post-list-vertical__thumb:after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.post-list-vertical__item-video .post-list-vertical__thumb:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #ffffff;
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.post-list-vertical__content {
  flex: 1;
  padding: 0 var(--pico-spacing) calc(var(--pico-spacing) / 2);
}
@media (min-width: 576px) {
  .post-list-vertical__content {
    padding: var(--pico-spacing) var(--pico-spacing) var(--pico-spacing) 0;
  }
}
.post-list-vertical__cat {
  border-radius: calc(var(--pico-spacing) / 3);
  display: inline-block;
  background: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.post-list-vertical__lancio {
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  color: var(--pico-muted-color);
  margin-bottom: calc(var(--pico-spacing) / 4);
}
.post-list-vertical__title {
  font-size: 1.1rem;
  margin: 0 0 calc(var(--pico-spacing) / 4);
}
@media (min-width: 576px) {
  .post-list-vertical__title {
    font-size: 1.3rem;
  }
}
.post-list-vertical__vertical__excerpt {
  font-size: 1.1rem;
  margin: 0 0 calc(var(--pico-spacing) / 4);
}
@media (min-width: 576px) {
  .post-list-vertical__vertical__excerpt {
    font-size: 1.3rem;
  }
}

.h3cards {
  display: grid;
  gap: var(--pico-spacing);
  grid-template-columns: 1fr;
  align-items: start;
}
@media (min-width: 576px) {
  .h3cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
.h3cards__item {
  overflow: hidden;
  margin: 0;
  padding: 0;
  height: 100%;
  /* Badge/overlay formati speciali */
}
.h3cards__item a {
  display: block;
  color: inherit;
  text-decoration: none;
  position: relative;
}
.h3cards__item .h3cards__figure {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
  margin: 0;
}
.h3cards__item .h3cards__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.h3cards__item .h3cards__title {
  font-size: 1.1rem;
  line-height: 1.25;
  margin: 0;
}
.h3cards__item-video .h3cards__figure:before {
  content: "";
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #fff;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.h3cards__item-gallery .h3cards__figure:before, .h3cards__item-gallery .h3cards__figure:after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.h3cards__item-gallery .h3cards__figure:after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.h3cards__item-diretta .h3cards__figure:before {
  content: "LIVE";
  position: absolute;
  top: 0.1rem;
  left: 0.1rem;
  background: #e53e3e;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 calc(var(--pico-spacing) / 2);
}
.h3cards__meta {
  padding: calc(var(--pico-spacing) / 2) var(--pico-spacing);
  inset: auto 0 0 0;
  z-index: 2;
  line-height: 1.3;
}
.h3cards__cat {
  border-radius: calc(var(--pico-spacing) / 3);
  display: inline-block;
  background: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
}
.h3cards__lancio {
  color: var(--pico-muted-color);
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
}

.featured-with-list {
  display: grid;
  gap: var(--pico-spacing);
  grid-template-columns: 1fr;
  align-items: start;
}
@media (min-width: 1024px) {
  .featured-with-list {
    grid-template-columns: 1.8fr 1.2fr;
  }
}
.featured-with-list > .featured-post {
  height: 100%;
}
@media (min-width: 1024px) {
  .featured-with-list > .featured-post .post-list-vertical__thumb {
    max-width: 354px;
    flex: 0 0 354px;
    aspect-ratio: 16/14;
  }
}
.featured-with-list > .featured-post .post-list-vertical {
  height: 100%;
}
.featured-with-list > .featured-post .post-list-vertical__item {
  height: 100%;
  margin: 0 auto;
}
.featured-with-list > .featured-post .post-list-vertical__title {
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .featured-with-list > .featured-post .post-list-vertical__title {
    font-size: 1.7rem;
  }
}
.featured-with-list > .featured-post .post-list-vertical__link {
  height: 100%;
}
.featured-with-list > .featured-post-list {
  height: 100%;
}
.featured-with-list > .featured-post-list .post-list-vertical__item:not(:first-child) {
  display: none;
}
@media (min-width: 768px) {
  .featured-with-list > .featured-post-list .post-list-vertical__item:not(:first-child) {
    display: flex;
  }
}
.featured-with-list > .featured-post-list .post-list-vertical__item:last-child {
  margin-bottom: 0;
}
.featured-with-list > .featured-post-list .post-list-vertical__link {
  display: flex;
  flex-direction: row;
  gap: var(--pico-spacing);
}
.featured-with-list > .featured-post-list .post-list-vertical__thumb {
  max-width: 115px;
  flex: 0 0 115px;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .featured-with-list > .featured-post-list .post-list-vertical__thumb {
    max-width: 148px;
    flex: 0 0 148px;
  }
}
.featured-with-list > .featured-post-list .post-list-vertical__content {
  padding: calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 2) 0;
}
@media (min-width: 768px) {
  .featured-with-list > .featured-post-list .post-list-vertical__content {
    padding: var(--pico-spacing) var(--pico-spacing) var(--pico-spacing) 0;
  }
}
@media (min-width: 1024px) {
  .featured-with-list > .featured-post-list .post-list-vertical__title {
    font-size: 1.1rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUuY3NzIiwiY29uZmlncy9fdmFyaWFibGVzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL2ludGVyL19pbnRlci5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvYXNzZXRzLXNyYy9mb250cy9tZXJyaXdlYXRoZXIvX21lcnJpd2VhdGhlci5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvYXNzZXRzLXNyYy9mb250cy9ub3RvLXNhbnMvX25vdG8tc2Fucy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvYXNzZXRzLXNyYy9mb250cy9ub3RvLXNlcmlmL19ub3RvLXNlcmlmLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL29wZW4tc2Fucy9fb3Blbi1zYW5zLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL3JvYm90by9fcm9ib3RvLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2hlbHBlcnMvX2NvcHlyaWdodC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy90aGVtZXMvZGVmYXVsdC9fc3R5bGVzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19zY2hlbWVzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19saWdodC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy90aGVtZXMvZGVmYXVsdC9fZGFyay5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2RvY3VtZW50LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2xheW91dC9fbGFuZG1hcmtzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2xheW91dC9fc2VjdGlvbi5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2NvbnRhaW5lci5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2dyaWQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvbGF5b3V0L19vdmVyZmxvdy1hdXRvLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX3R5cG9ncmFwaHkuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fbGluay5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb250ZW50L19idXR0b24uc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fZW1iZWRkZWQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fZmlndXJlLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX21pc2Muc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvZm9ybXMvX2Jhc2ljcy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9mb3Jtcy9fY2hlY2tib3gtcmFkaW8tc3dpdGNoLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2Zvcm1zL19pbnB1dC1zZWFyY2guc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fZ3JvdXAuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fbmF2LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3V0aWxpdGllcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy91dGlsaXRpZXMvX3JlZHVjZS1tb3Rpb24uc2NzcyIsImNvbmZpZ3MvX3BpY28tdmFyaWFibGVzLnNjc3MiLCJsYXlvdXQvX3R5cG9ncmFwaHkuc2NzcyIsImxheW91dC9fZ2xvYmFsLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsIm1peGlucy9fbWVkaWFfbWluX3dpZHRoLnNjc3MiLCJsYXlvdXQvX3NpZGViYXItaGFtYnVyZ2VyLnNjc3MiLCJsYXlvdXQvX2hlYWRlci1uYXYtbWVudS5zY3NzIiwibGF5b3V0L19tYWluLWdyaWQuc2NzcyIsImxheW91dC9fcHJlLW1haW4tY29udGVudC5zY3NzIiwibGF5b3V0L190b3AtZ3JpZC5zY3NzIiwibGF5b3V0L19tYWluLWNvbnRlbnQuc2NzcyIsImxheW91dC9fbWFpbi1zaWRlYmFyLnNjc3MiLCJsYXlvdXQvX3dpZGdldHMuc2NzcyIsImxheW91dC9fd3Atc3RhbmRhcmQuc2NzcyIsImxheW91dC9fYWR2LnNjc3MiLCJsYXlvdXQvX29uZXNpZ25hbC1yZXNldC5zY3NzIiwicGFydGlhbHMvbGlzdC1wb3N0cy9fY2Fyb3VzZWwtY2FyZHMuc2NzcyIsInBhZ2UvX2hvbWUuc2NzcyIsInBhcnRpYWxzL2xpc3QtcG9zdHMvX21vc2FpY28uc2NzcyIsInBhcnRpYWxzL2xpc3QtcG9zdHMvX2xpc3RhLnNjc3MiLCJwYXJ0aWFscy9saXN0LXBvc3RzL19ob3Jpem9udGFsLTMtY2FyZHMuc2NzcyIsInBhcnRpYWxzL2xpc3QtcG9zdHMvX2ZlYXR1cmVkLXdpdGgtbGlzdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ2tGaEI7O0VBR0Usc0NBQUE7RUFDQSx1Q0FBQTtFQUNBLHVGQUFBO0VBQ0EsNkVBQUE7QURqRkY7O0FDc0ZBOztFQUVFLHNDQUFBO0VBQ0EsdUNBQUE7RUFDQSx1RkFBQTtFQUNBLDZFQUFBO0FEbkZGOztBRWZBO0VBQ0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnRUFBQTtBRmtCRjtBRWZBO0VBQ0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSwrREFBQTtBRmlCRjtBRWRBO0VBQ0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw0REFBQTtBRmdCRjtBRWJBO0VBQ0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrRUFBQTtBRmVGO0FHNUNBO0VBQ0Usa0JBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw4RUFBQTtBSDhDRjtBRzNDQTtFQUNFLGtCQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsNkVBQUE7QUg2Q0Y7QUcxQ0E7RUFDRSxrQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLDBFQUFBO0FINENGO0FHekNBO0VBQ0Usa0JBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFB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O0F6RDA4SE47QXdDcitISTtFaUIwQkE7SUFJSSxpQkFBQTtFekQyOEhOO0FBQ0Y7QXlEeDhISTtFQUNFLFlBQUE7QXpEMDhITjtBeURyOEhFO0VBQ0UsWUFBQTtBekR1OEhKO0F5RHI4SEk7RUFDRSxhQUFBO0F6RHU4SE47QXdDbi9ISTtFaUIyQ0E7SUFJSSxhQUFBO0V6RHc4SE47QUFDRjtBeURyOEhJO0VBQ0UsZ0JBQUE7QXpEdThITjtBeURwOEhJO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0Esd0JBQUE7QXpEczhITjtBeURuOEhJO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QXpEcThITjtBd0NyZ0lJO0VpQjZEQTtJQU1JLGdCQUFBO0lBQ0EsZUFBQTtFekRzOEhOO0FBQ0Y7QXlEbDhISTtFQUNFLG9HQUFBO0F6RG84SE47QXdDOWdJSTtFaUJ5RUE7SUFJSSxzRUFBQTtFekRxOEhOO0FBQ0Y7QXdDbmhJSTtFaUJxRkU7SUFDRSxpQkFBQTtFekRpOEhOO0FBQ0YiLCJmaWxlIjoiaG9tZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5bZGF0YS10aGVtZT1saWdodF0sXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9ZGFya10pIHtcbiAgLS1tdC1jb21tZW50aS1mb3JtLWJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIC0tbXQtbmVjcm9sb3JpLWZvcm0tYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDEwJSwgI2ZmZiA5MCUpO1xuICAtLW10LWdhbGxlcnktYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgNSUsICNmZmYgOTUlKTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10sXG46cm9vdFtkYXRhLXRoZW1lPWRhcmtdIHtcbiAgLS1tdC1jb21tZW50aS1mb3JtLWJhY2tncm91bmQ6ICMxMjEyMTI7XG4gIC0tbXQtbmVjcm9sb3JpLWZvcm0tYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDEwJSwgIzAwMCA5MCUpO1xuICAtLW10LWdhbGxlcnktYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgNSUsICMwMDAgOTUlKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvaW50ZXIvaW50ZXItcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL2ludGVyL2ludGVyLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL2ludGVyL2ludGVyLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL2ludGVyL2ludGVyLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJNZXJyaXdlYXRoZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJNZXJyaXdlYXRoZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJNZXJyaXdlYXRoZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci03MDBpdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2Fucy9ub3RvLXNhbnMtaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2Fucy9ub3RvLXNhbnMtNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2Fucy9ub3RvLXNhbnMtNzAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy03MDBpdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL3JvYm90by9yb2JvdG8taXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL3JvYm90by9yb2JvdG8tNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL3JvYm90by9yb2JvdG8tNzAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuLyohXG4gKiBQaWNvIENTUyDinKggdjIuMS4xIChodHRwczovL3BpY29jc3MuY29tKVxuICogQ29weXJpZ2h0IDIwMTktMjAyNSAtIExpY2Vuc2VkIHVuZGVyIE1JVFxuICovXG4vKipcbiAqIFN0eWxlc1xuICovXG46cm9vdCxcbjpob3N0IHtcbiAgLS1waWNvLWZvbnQtZmFtaWx5LWVtb2ppOiBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIC0tcGljby1mb250LWZhbWlseS1zYW5zLXNlcmlmOiBzeXN0ZW0tdWksIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYsIHZhcigtLXBpY28tZm9udC1mYW1pbHktZW1vamkpO1xuICAtLXBpY28tZm9udC1mYW1pbHktbW9ub3NwYWNlOiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBcIlNGIE1vbm9cIiwgTWVubG8sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBtb25vc3BhY2UsIHZhcigtLXBpY28tZm9udC1mYW1pbHktZW1vamkpO1xuICAtLXBpY28tZm9udC1mYW1pbHk6IHZhcigtLXBpY28tZm9udC1mYW1pbHktc2Fucy1zZXJpZik7XG4gIC0tcGljby1saW5lLWhlaWdodDogMS41O1xuICAtLXBpY28tZm9udC13ZWlnaHQ6IDQwMDtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMTAwJTtcbiAgLS1waWNvLXRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xcmVtO1xuICAtLXBpY28tYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgLS1waWNvLWJvcmRlci13aWR0aDogMC4wNjI1cmVtO1xuICAtLXBpY28tb3V0bGluZS13aWR0aDogMC4xMjVyZW07XG4gIC0tcGljby10cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAtLXBpY28tc3BhY2luZzogMXJlbTtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbDogMXJlbTtcbiAgLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWw6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIC0tcGljby1ibG9jay1zcGFjaW5nLWhvcml6b250YWw6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIC0tcGljby1ncmlkLWNvbHVtbi1nYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIC0tcGljby1ncmlkLXJvdy1nYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMC43NXJlbTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWw6IDFyZW07XG4gIC0tcGljby1ncm91cC1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvbjogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xuICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWlucHV0OiAwIDAgMCAwLjA2MjVyZW0gdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctdmVydGljYWw6IDFyZW07XG4gIC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWw6IDAuNXJlbTtcbiAgLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWw6IDAuNXJlbTtcbiAgLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbDogMC41cmVtO1xuICAtLXBpY28tbmF2LWJyZWFkY3J1bWItZGl2aWRlcjogXCI+XCI7XG4gIC0tcGljby1pY29uLWNoZWNrYm94OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDI1NSwgMjU1LCAyNTUpJyBzdHJva2Utd2lkdGg9JzQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcGljby1pY29uLW1pbnVzOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDI1NSwgMjU1LCAyNTUpJyBzdHJva2Utd2lkdGg9JzQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NsaW5lIHgxPSc1JyB5MT0nMTInIHgyPScxOScgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLS1waWNvLWljb24tY2hldnJvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigxMzYsIDE0NSwgMTY0KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOSclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAtLXBpY28taWNvbi1zZWFyY2g6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMTM2LCAxNDUsIDE2NCknIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMScgY3k9JzExJyByPSc4JyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScyMScgeTE9JzIxJyB4Mj0nMTYuNjUnIHkyPScxNi42NSclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAtLXBpY28tZm9udC1zaXplOiAxMDYuMjUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAtLXBpY28tZm9udC1zaXplOiAxMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAtLXBpY28tZm9udC1zaXplOiAxMTguNzUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLS1waWNvLWZvbnQtc2l6ZTogMTI1JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE1MzZweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcGljby1mb250LXNpemU6IDEzMS4yNSU7XG4gIH1cbn1cblxuYSB7XG4gIC0tcGljby10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbmEuc2Vjb25kYXJ5LCBhLmNvbnRyYXN0IHtcbiAgLS1waWNvLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5zbWFsbCB7XG4gIC0tcGljby1mb250LXNpemU6IDAuODc1ZW07XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIC0tcGljby1mb250LXdlaWdodDogNzAwO1xufVxuXG5oMSB7XG4gIC0tcGljby1mb250LXNpemU6IDJyZW07XG4gIC0tcGljby1saW5lLWhlaWdodDogMS4xMjU7XG4gIC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAzcmVtO1xufVxuXG5oMiB7XG4gIC0tcGljby1mb250LXNpemU6IDEuNzVyZW07XG4gIC0tcGljby1saW5lLWhlaWdodDogMS4xNTtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDIuNjI1cmVtO1xufVxuXG5oMyB7XG4gIC0tcGljby1mb250LXNpemU6IDEuNXJlbTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjE3NTtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDIuMjVyZW07XG59XG5cbmg0IHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjI7XG4gIC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjg3NHJlbTtcbn1cblxuaDUge1xuICAtLXBpY28tZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjIyNTtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuNjg3NXJlbTtcbn1cblxuaDYge1xuICAtLXBpY28tZm9udC1zaXplOiAxcmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMjU7XG4gIC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjVyZW07XG59XG5cbmlucHV0Om5vdChbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWZpbGVdKSxcbjp3aGVyZShzZWxlY3QsIHRleHRhcmVhKSB7XG4gIC0tcGljby1vdXRsaW5lLXdpZHRoOiAwLjA2MjVyZW07XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtLXBpY28tYm9yZGVyLXJhZGl1czogNXJlbTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgLS1waWNvLWJvcmRlci13aWR0aDogMC4xMjVyZW07XG59XG5cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF0ge1xuICAtLXBpY28tYm9yZGVyLXdpZHRoOiAwLjE4NzVyZW07XG59XG5cbmRldGFpbHMuZHJvcGRvd24gc3VtbWFyeTpub3QoW3JvbGU9YnV0dG9uXSkge1xuICAtLXBpY28tb3V0bGluZS13aWR0aDogMC4wNjI1cmVtO1xufVxuXG5uYXYgZGV0YWlscy5kcm9wZG93biBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAtLXBpY28tb3V0bGluZS13aWR0aDogMC4xMjVyZW07XG59XG5cbltyb2xlPXNlYXJjaF0ge1xuICAtLXBpY28tYm9yZGVyLXJhZGl1czogNXJlbTtcbn1cblxuW3JvbGU9c2VhcmNoXTpoYXMoYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcblt0eXBlPXN1Ym1pdF0uc2Vjb25kYXJ5OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5zZWNvbmRhcnk6Zm9jdXMsXG5bcm9sZT1idXR0b25dLnNlY29uZGFyeTpmb2N1cyksXG5bcm9sZT1ncm91cF06aGFzKGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdLnNlY29uZGFyeTpmb2N1cyxcblt0eXBlPWJ1dHRvbl0uc2Vjb25kYXJ5OmZvY3VzLFxuW3JvbGU9YnV0dG9uXS5zZWNvbmRhcnk6Zm9jdXMpIHtcbiAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1zZWNvbmRhcnktZm9jdXMpO1xufVxuW3JvbGU9c2VhcmNoXTpoYXMoYnV0dG9uLmNvbnRyYXN0OmZvY3VzLFxuW3R5cGU9c3VibWl0XS5jb250cmFzdDpmb2N1cyxcblt0eXBlPWJ1dHRvbl0uY29udHJhc3Q6Zm9jdXMsXG5bcm9sZT1idXR0b25dLmNvbnRyYXN0OmZvY3VzKSxcbltyb2xlPWdyb3VwXTpoYXMoYnV0dG9uLmNvbnRyYXN0OmZvY3VzLFxuW3R5cGU9c3VibWl0XS5jb250cmFzdDpmb2N1cyxcblt0eXBlPWJ1dHRvbl0uY29udHJhc3Q6Zm9jdXMsXG5bcm9sZT1idXR0b25dLmNvbnRyYXN0OmZvY3VzKSB7XG4gIC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtYnV0dG9uOiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tY29udHJhc3QtZm9jdXMpO1xufVxuW3JvbGU9c2VhcmNoXSBidXR0b24sXG5bcm9sZT1zZWFyY2hdIFt0eXBlPXN1Ym1pdF0sXG5bcm9sZT1zZWFyY2hdIFt0eXBlPWJ1dHRvbl0sXG5bcm9sZT1zZWFyY2hdIFtyb2xlPWJ1dHRvbl0sXG5bcm9sZT1ncm91cF0gYnV0dG9uLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPXN1Ym1pdF0sXG5bcm9sZT1ncm91cF0gW3R5cGU9YnV0dG9uXSxcbltyb2xlPWdyb3VwXSBbcm9sZT1idXR0b25dIHtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWw6IDJyZW07XG59XG5cbmRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl06bm90KC5vdXRsaW5lKTo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuXG4vKipcbiAqIENvbG9yIHNjaGVtZXNcbiAqL1xuW2RhdGEtdGhlbWU9bGlnaHRdLFxuOnJvb3Q6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSxcbjpob3N0KDpub3QoW2RhdGEtdGhlbWU9ZGFya10pKSB7XG4gIGNvbG9yLXNjaGVtZTogbGlnaHQ7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtLXBpY28tY29sb3I6ICMzNzNjNDQ7XG4gIC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgyLCAxNTQsIDIzMiwgMC4yNSk7XG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG4gIC0tcGljby1wcmltYXJ5OiAjMDE3MmFkO1xuICAtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMDE3MmFkO1xuICAtLXBpY28tcHJpbWFyeS1ib3JkZXI6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiByZ2JhKDEsIDExNCwgMTczLCAwLjUpO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogIzAxNTg4NztcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogIzAyNjU5YTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHJnYmEoMiwgMTU0LCAyMzIsIDAuNSk7XG4gIC0tcGljby1wcmltYXJ5LWludmVyc2U6ICNmZmY7XG4gIC0tcGljby1zZWNvbmRhcnk6ICM1ZDZiODk7XG4gIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogIzUyNWY3YTtcbiAgLS1waWNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tc2Vjb25kYXJ5LXVuZGVybGluZTogcmdiYSg5MywgMTA3LCAxMzcsIDAuNSk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXI6ICM0ODUzNmI7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogIzQ4NTM2YjtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWZvY3VzOiByZ2JhKDkzLCAxMDcsIDEzNywgMC4yNSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1waWNvLWNvbnRyYXN0OiAjMTgxYzI1O1xuICAtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZDogIzE4MWMyNTtcbiAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogcmdiYSgyNCwgMjgsIDM3LCAwLjUpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6ICMwMDA7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiAjMDAwO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG4gIC0tcGljby1jb250cmFzdC1mb2N1czogcmdiYSg5MywgMTA3LCAxMzcsIDAuMjUpO1xuICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogI2ZmZjtcbiAgLS1waWNvLWJveC1zaGFkb3c6IDAuMDE0NXJlbSAwLjAyOXJlbSAwLjE3NHJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDE2OTgpLCAwLjAzMzVyZW0gMC4wNjdyZW0gMC40MDJyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAyNCksIDAuMDYyNXJlbSAwLjEyNXJlbSAwLjc1cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wMyksIDAuMTEyNXJlbSAwLjIyNXJlbSAxLjM1cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wMzYpLCAwLjIwODVyZW0gMC40MTdyZW0gMi41MDJyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjA0MzAyKSwgMC41cmVtIDFyZW0gNnJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDYpLCAwIDAgMCAwLjA2MjVyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAxNSk7XG4gIC0tcGljby1oMS1jb2xvcjogIzJkMzEzODtcbiAgLS1waWNvLWgyLWNvbG9yOiAjMzczYzQ0O1xuICAtLXBpY28taDMtY29sb3I6ICM0MjQ3NTE7XG4gIC0tcGljby1oNC1jb2xvcjogIzRkNTM1ZTtcbiAgLS1waWNvLWg1LWNvbG9yOiAjNWM2MzcwO1xuICAtLXBpY28taDYtY29sb3I6ICM2NDZiNzk7XG4gIC0tcGljby1tYXJrLWJhY2tncm91bmQtY29sb3I6IHJnYigyNTIuNSwgMjMwLjUsIDE5MS41KTtcbiAgLS1waWNvLW1hcmstY29sb3I6ICMwZjExMTQ7XG4gIC0tcGljby1pbnMtY29sb3I6IHJnYigyOC41LCAxMDUuNSwgODQpO1xuICAtLXBpY28tZGVsLWNvbG9yOiByZ2IoMTM2LCA1Ni41LCA1Myk7XG4gIC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tYmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAtLXBpY28tYnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUxLCAyNTEuNSwgMjUyLjI1KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiAjZGZlM2ViO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcjogI2NmZDVlMjtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1jb2xvcjogIzIzMjYyYztcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcjogcmdiKDE4My41LCAxMDUuNSwgMTA2LjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDIwMC4yNSwgNzkuMjUsIDcyLjI1KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogcmdiKDc2LCAxNTQuNSwgMTM3LjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6IHJnYigzOSwgMTUyLjc1LCAxMTguNzUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjYmZjN2Q5O1xuICAtLXBpY28tc3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tc3dpdGNoLWNvbG9yOiAjZmZmO1xuICAtLXBpY28tc3dpdGNoLXRodW1iLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIC0tcGljby1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gIC0tcGljby1hY2NvcmRpb24tY2xvc2Utc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIC0tcGljby1hY2NvcmRpb24tb3Blbi1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1waWNvLWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1jYXJkLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gIC0tcGljby1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MSwgMjUxLjUsIDI1Mi4yNSk7XG4gIC0tcGljby1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtLXBpY28tZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjZWZmMWY0O1xuICAtLXBpY28tZHJvcGRvd24tYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgLS1waWNvLWRyb3Bkb3duLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgLS1waWNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICNlZmYxZjQ7XG4gIC0tcGljby1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDc2LCAxNTQuNSwgMTM3LjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcGljby1pY29uLWludmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMjAwLjI1LCA3OS4yNSwgNzIuMjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzgnIHgyPScxMicgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNicgeDI9JzEyLjAxJyB5Mj0nMTYnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xufVxuW2RhdGEtdGhlbWU9bGlnaHRdIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZmlsZV0pLFxuOnJvb3Q6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWZpbGVdKSxcbjpob3N0KDpub3QoW2RhdGEtdGhlbWU9ZGFya10pKSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWZpbGVdKSB7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIDpyb290Om5vdChbZGF0YS10aGVtZV0pLFxuICA6aG9zdCg6bm90KFtkYXRhLXRoZW1lXSkpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG4gICAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHJnYigxOSwgMjIuNSwgMzAuNSk7XG4gICAgLS1waWNvLWNvbG9yOiAjYzJjN2QwO1xuICAgIC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgxLCAxNzAsIDI1NSwgMC4xODc1KTtcbiAgICAtLXBpY28tbXV0ZWQtY29sb3I6ICM3Yjg0OTU7XG4gICAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgICAtLXBpY28tcHJpbWFyeTogIzAxYWFmZjtcbiAgICAtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMDE3MmFkO1xuICAgIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgIC0tcGljby1wcmltYXJ5LXVuZGVybGluZTogcmdiYSgxLCAxNzAsIDI1NSwgMC41KTtcbiAgICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogIzc5YzBmZjtcbiAgICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjMDE3ZmMwO1xuICAgIC0tcGljby1wcmltYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAgIC0tcGljby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgICAtLXBpY28tcHJpbWFyeS1mb2N1czogcmdiYSgxLCAxNzAsIDI1NSwgMC4zNzUpO1xuICAgIC0tcGljby1wcmltYXJ5LWludmVyc2U6ICNmZmY7XG4gICAgLS1waWNvLXNlY29uZGFyeTogIzk2OWVhZjtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICM1MjVmN2E7XG4gICAgLS1waWNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAgIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiByZ2JhKDE1MCwgMTU4LCAxNzUsIDAuNSk7XG4gICAgLS1waWNvLXNlY29uZGFyeS1ob3ZlcjogI2IzYjljNTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICM1ZDZiODk7XG4gICAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAgIC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogcmdiYSgxNDQsIDE1OCwgMTkwLCAwLjI1KTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6ICNmZmY7XG4gICAgLS1waWNvLWNvbnRyYXN0OiAjZGZlM2ViO1xuICAgIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiAjZWZmMWY0O1xuICAgIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogcmdiYSgyMjMsIDIyNywgMjM1LCAwLjUpO1xuICAgIC0tcGljby1jb250cmFzdC1ob3ZlcjogI2ZmZjtcbiAgICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI2ZmZjtcbiAgICAtLXBpY28tY29udHJhc3QtaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAgIC0tcGljby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXIpO1xuICAgIC0tcGljby1jb250cmFzdC1mb2N1czogcmdiYSgyMDcsIDIxMywgMjI2LCAwLjI1KTtcbiAgICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogIzAwMDtcbiAgICAtLXBpY28tYm94LXNoYWRvdzogMC4wMTQ1cmVtIDAuMDI5cmVtIDAuMTc0cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMTY5OCksIDAuMDMzNXJlbSAwLjA2N3JlbSAwLjQwMnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDI0KSwgMC4wNjI1cmVtIDAuMTI1cmVtIDAuNzVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAzKSwgMC4xMTI1cmVtIDAuMjI1cmVtIDEuMzVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAzNiksIDAuMjA4NXJlbSAwLjQxN3JlbSAyLjUwMnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDQzMDIpLCAwLjVyZW0gMXJlbSA2cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wNiksIDAgMCAwIDAuMDYyNXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDE1KTtcbiAgICAtLXBpY28taDEtY29sb3I6ICNmMGYxZjM7XG4gICAgLS1waWNvLWgyLWNvbG9yOiAjZTBlM2U3O1xuICAgIC0tcGljby1oMy1jb2xvcjogI2MyYzdkMDtcbiAgICAtLXBpY28taDQtY29sb3I6ICNiM2I5YzU7XG4gICAgLS1waWNvLWg1LWNvbG9yOiAjYTRhY2JhO1xuICAgIC0tcGljby1oNi1jb2xvcjogIzg4OTFhNDtcbiAgICAtLXBpY28tbWFyay1iYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MDYzO1xuICAgIC0tcGljby1tYXJrLWNvbG9yOiAjZmZmO1xuICAgIC0tcGljby1pbnMtY29sb3I6ICM2MmFmOWE7XG4gICAgLS1waWNvLWRlbC1jb2xvcjogcmdiKDIwNS41LCAxMjYsIDEyMyk7XG4gICAgLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgLS1waWNvLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgICAtLXBpY28tYnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcjogcmdiKDI4LCAzMywgNDMuNSk7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiAjMmEzMTQwO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjMmEzMTQwO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtY29sb3I6ICNlMGUzZTc7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogIzg4OTFhNDtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjYsIDMwLjUsIDQwLjI1KTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eTogMC41O1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3I6IHJnYigxNDkuNSwgNzQsIDgwKTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDE4My4yNSwgNjMuNSwgNTkpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogIzJhN2I2ZjtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6IHJnYigyMiwgMTM3LCAxMDUuNSk7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjMzMzYzRlO1xuICAgIC0tcGljby1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXN3aXRjaC1jb2xvcjogI2ZmZjtcbiAgICAtLXBpY28tc3dpdGNoLXRodW1iLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLS1waWNvLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBpY28tYWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAgIC0tcGljby1hY2NvcmRpb24tY2xvc2Utc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgLS1waWNvLWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAgIC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3I6ICMxODFjMjU7XG4gICAgLS1waWNvLWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgLS1waWNvLWNhcmQtYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgICAtLXBpY28tY2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMzAuNSwgNDAuMjUpO1xuICAgIC0tcGljby1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYzI1O1xuICAgIC0tcGljby1kcm9wZG93bi1ib3JkZXItY29sb3I6ICMyMDI2MzI7XG4gICAgLS1waWNvLWRyb3Bkb3duLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gICAgLS1waWNvLWRyb3Bkb3duLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAtLXBpY28tZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogIzIwMjYzMjtcbiAgICAtLXBpY28taWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYig0MiwgMTIzLCAxMTEpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gICAgLS1waWNvLWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigxNDkuNSwgNzQsIDgwKScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuICA6cm9vdDpub3QoW2RhdGEtdGhlbWVdKSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuICBbdHlwZT1idXR0b25dLFxuICBbdHlwZT1yZXNldF0sXG4gIFt0eXBlPWNoZWNrYm94XSxcbiAgW3R5cGU9cmFkaW9dLFxuICBbdHlwZT1maWxlXSksXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcbiAgW3R5cGU9YnV0dG9uXSxcbiAgW3R5cGU9cmVzZXRdLFxuICBbdHlwZT1jaGVja2JveF0sXG4gIFt0eXBlPXJhZGlvXSxcbiAgW3R5cGU9ZmlsZV0pIHtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xuICB9XG4gIDpyb290Om5vdChbZGF0YS10aGVtZV0pIGRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl0uY29udHJhc3Q6bm90KC5vdXRsaW5lKTo6YWZ0ZXIsXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkgZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXS5jb250cmFzdDpub3QoLm91dGxpbmUpOjphZnRlciB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xuICB9XG59XG5bZGF0YS10aGVtZT1kYXJrXSB7XG4gIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHJnYigxOSwgMjIuNSwgMzAuNSk7XG4gIC0tcGljby1jb2xvcjogI2MyYzdkMDtcbiAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjE4NzUpO1xuICAtLXBpY28tbXV0ZWQtY29sb3I6ICM3Yjg0OTU7XG4gIC0tcGljby1tdXRlZC1ib3JkZXItY29sb3I6ICMyMDI2MzI7XG4gIC0tcGljby1wcmltYXJ5OiAjMDFhYWZmO1xuICAtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMDE3MmFkO1xuICAtLXBpY28tcHJpbWFyeS1ib3JkZXI6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjUpO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogIzc5YzBmZjtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogIzAxN2ZjMDtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHJnYmEoMSwgMTcwLCAyNTUsIDAuMzc1KTtcbiAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1waWNvLXNlY29uZGFyeTogIzk2OWVhZjtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjNTI1ZjdhO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiByZ2JhKDE1MCwgMTU4LCAxNzUsIDAuNSk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXI6ICNiM2I5YzU7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogIzVkNmI4OTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWZvY3VzOiByZ2JhKDE0NCwgMTU4LCAxOTAsIDAuMjUpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6ICNmZmY7XG4gIC0tcGljby1jb250cmFzdDogI2RmZTNlYjtcbiAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6ICNlZmYxZjQ7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZCk7XG4gIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHJnYmEoMjIzLCAyMjcsIDIzNSwgMC41KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyOiAjZmZmO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI2ZmZjtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlcik7XG4gIC0tcGljby1jb250cmFzdC1mb2N1czogcmdiYSgyMDcsIDIxMywgMjI2LCAwLjI1KTtcbiAgLS1waWNvLWNvbnRyYXN0LWludmVyc2U6ICMwMDA7XG4gIC0tcGljby1ib3gtc2hhZG93OiAwLjAxNDVyZW0gMC4wMjlyZW0gMC4xNzRyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAxNjk4KSwgMC4wMzM1cmVtIDAuMDY3cmVtIDAuNDAycmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMjQpLCAwLjA2MjVyZW0gMC4xMjVyZW0gMC43NXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDMpLCAwLjExMjVyZW0gMC4yMjVyZW0gMS4zNXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDM2KSwgMC4yMDg1cmVtIDAuNDE3cmVtIDIuNTAycmVtIHJnYmEoNywgOC41LCAxMiwgMC4wNDMwMiksIDAuNXJlbSAxcmVtIDZyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjA2KSwgMCAwIDAgMC4wNjI1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMTUpO1xuICAtLXBpY28taDEtY29sb3I6ICNmMGYxZjM7XG4gIC0tcGljby1oMi1jb2xvcjogI2UwZTNlNztcbiAgLS1waWNvLWgzLWNvbG9yOiAjYzJjN2QwO1xuICAtLXBpY28taDQtY29sb3I6ICNiM2I5YzU7XG4gIC0tcGljby1oNS1jb2xvcjogI2E0YWNiYTtcbiAgLS1waWNvLWg2LWNvbG9yOiAjODg5MWE0O1xuICAtLXBpY28tbWFyay1iYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MDYzO1xuICAtLXBpY28tbWFyay1jb2xvcjogI2ZmZjtcbiAgLS1waWNvLWlucy1jb2xvcjogIzYyYWY5YTtcbiAgLS1waWNvLWRlbC1jb2xvcjogcmdiKDIwNS41LCAxMjYsIDEyMyk7XG4gIC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tYmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAtLXBpY28tYnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjgsIDMzLCA0My41KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiAjMmEzMTQwO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcjogIzJhMzE0MDtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1jb2xvcjogI2UwZTNlNztcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogIzg4OTFhNDtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LCAzMC41LCA0MC4yNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcjogcmdiKDE0OS41LCA3NCwgODApO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDE4My4yNSwgNjMuNSwgNTkpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiAjMmE3YjZmO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6IHJnYigyMiwgMTM3LCAxMDUuNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3I6ICMzMzNjNGU7XG4gIC0tcGljby1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1zd2l0Y2gtY29sb3I6ICNmZmY7XG4gIC0tcGljby1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1waWNvLWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgLS1waWNvLWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAtLXBpY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYzI1O1xuICAtLXBpY28tY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1waWNvLWNhcmQtYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgLS1waWNvLWNhcmQtc2VjdGlvbmluZy1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjYsIDMwLjUsIDQwLjI1KTtcbiAgLS1waWNvLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICMxODFjMjU7XG4gIC0tcGljby1kcm9wZG93bi1ib3JkZXItY29sb3I6ICMyMDI2MzI7XG4gIC0tcGljby1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAtLXBpY28tZHJvcGRvd24tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAtLXBpY28tZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogIzIwMjYzMjtcbiAgLS1waWNvLWljb24tdmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoNDIsIDEyMywgMTExKScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAtLXBpY28taWNvbi1pbnZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDE0OS41LCA3NCwgODApJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzgnIHgyPScxMicgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNicgeDI9JzEyLjAxJyB5Mj0nMTYnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSkge1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXS5jb250cmFzdDpub3QoLm91dGxpbmUpOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKTtcbn1cblxucHJvZ3Jlc3MsXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1yYW5nZV0ge1xuICBhY2NlbnQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG59XG5cbi8qKlxuICogRG9jdW1lbnRcbiAqIENvbnRlbnQtYm94ICYgUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5XG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbjp3aGVyZSg6cm9vdCksXG46d2hlcmUoOmhvc3QpIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1waWNvLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXBpY28tZm9udC1mYW1pbHkpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IHZhcigtLXBpY28tdGV4dC11bmRlcmxpbmUtb2Zmc2V0KTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgdGFiLXNpemU6IDQ7XG59XG5cbi8qKlxuICogTGFuZG1hcmtzXG4gKi9cbmJvZHkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkgPiBoZWFkZXIsXG5ib2R5ID4gbWFpbixcbmJvZHkgPiBmb290ZXIge1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4vKipcbiAqIFNlY3Rpb25cbiAqL1xuc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi8qKlxuICogQ29udGFpbmVyXG4gKi9cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE1MzZweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgfVxufVxuXG4vKipcbiAqIEdyaWRcbiAqIE1pbmltYWwgZ3JpZCBzeXN0ZW0gd2l0aCBhdXRvLWxheW91dCBjb2x1bW5zXG4gKi9cbi5ncmlkIHtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1waWNvLWdyaWQtY29sdW1uLWdhcCk7XG4gIGdyaWQtcm93LWdhcDogdmFyKC0tcGljby1ncmlkLXJvdy1nYXApO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgwJSwgMWZyKSk7XG4gIH1cbn1cbi5ncmlkID4gKiB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLyoqXG4gKiBPdmVyZmxvdyBhdXRvXG4gKi9cbi5vdmVyZmxvdy1hdXRvIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogVHlwb2dyYXBoeVxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuYWRkcmVzcyxcbmJsb2NrcXVvdGUsXG5kbCxcbm9sLFxucCxcbnByZSxcbnRhYmxlLFxudWwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogdmFyKC0tcGljby1mb250LXdlaWdodCk7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcGljby1mb250LXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tcGljby1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tcGljby1saW5lLWhlaWdodCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1waWNvLWZvbnQtZmFtaWx5KTtcbn1cblxuaDEge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28taDEtY29sb3IpO1xufVxuXG5oMiB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1oMi1jb2xvcik7XG59XG5cbmgzIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWgzLWNvbG9yKTtcbn1cblxuaDQge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28taDQtY29sb3IpO1xufVxuXG5oNSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1oNS1jb2xvcik7XG59XG5cbmg2IHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWg2LWNvbG9yKTtcbn1cblxuOndoZXJlKGFydGljbGUsIGFkZHJlc3MsIGJsb2NrcXVvdGUsIGRsLCBmaWd1cmUsIGZvcm0sIG9sLCBwLCBwcmUsIHRhYmxlLCB1bCkgfiA6aXMoaDEsIGgyLCBoMywgaDQsIGg1LCBoNikge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3ApO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xufVxuXG5oZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5oZ3JvdXAgPiAqIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmhncm91cCA+ICo6bm90KDpmaXJzdC1jaGlsZCk6bGFzdC1jaGlsZCB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1mb250LXdlaWdodDogdW5zZXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuOndoZXJlKG9sLCB1bCkgbGkge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuMjUpO1xufVxuXG46d2hlcmUoZGwsIG9sLCB1bCkgOndoZXJlKGRsLCBvbCwgdWwpIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuMjUpO1xufVxuXG51bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbn1cblxubWFyayB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tbWFyay1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tbWFyay1jb2xvcik7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuYmxvY2txdW90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAwO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICBib3JkZXItaW5saW5lLXN0YXJ0OiAwLjI1cmVtIHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICBib3JkZXItaW5saW5lLWVuZDogbm9uZTtcbn1cbmJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xuICBjb2xvcjogdmFyKC0tcGljby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcik7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbmlucyB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWlucy1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuZGVsIHtcbiAgY29sb3I6IHZhcigtLXBpY28tZGVsLWNvbG9yKTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yKTtcbn1cblxuLyoqXG4gKiBMaW5rXG4gKi9cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSksXG5bcm9sZT1saW5rXSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLXByaW1hcnktdW5kZXJsaW5lKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLXBpY28tdGV4dC1kZWNvcmF0aW9uKTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1waWNvLXVuZGVybGluZSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMjVlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBjb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCB0ZXh0LWRlY29yYXRpb24gdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1waWNvLXRyYW5zaXRpb24pO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bcm9sZT1saW5rXTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gIC0tcGljby11bmRlcmxpbmU6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmUpO1xuICAtLXBpY28tdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpOmZvY3VzLXZpc2libGUsXG5bcm9sZT1saW5rXTpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5zZWNvbmRhcnksXG5bcm9sZT1saW5rXS5zZWNvbmRhcnkge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5KTtcbiAgLS1waWNvLXVuZGVybGluZTogdmFyKC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lKTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSkuc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcbltyb2xlPWxpbmtdLnNlY29uZGFyeTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgLS1waWNvLXVuZGVybGluZTogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lKTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSkuY29udHJhc3QsXG5bcm9sZT1saW5rXS5jb250cmFzdCB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdCk7XG4gIC0tcGljby11bmRlcmxpbmU6IHZhcigtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lKTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSkuY29udHJhc3Q6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3JvbGU9bGlua10uY29udHJhc3Q6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyKTtcbiAgLS1waWNvLXVuZGVybGluZTogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmUpO1xufVxuXG5hW3JvbGU9YnV0dG9uXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBCdXR0b25cbiAqL1xuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9YnV0dG9uXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5idXR0b24sXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbltyb2xlPWJ1dHRvbl0ge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIC0tcGljby1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJ1dHRvbi1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYm9yZGVyOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tcGljby1saW5lLWhlaWdodCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJvcmRlci1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBjb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksIGJ1dHRvbjppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1zdWJtaXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLFxuW3R5cGU9c3VibWl0XTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1yZXNldF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksXG5bdHlwZT1yZXNldF06aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9YnV0dG9uXTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcblt0eXBlPWJ1dHRvbl06aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcbltyb2xlPWJ1dHRvbl06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksXG5bcm9sZT1idXR0b25dOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1ib3JkZXIpO1xuICAtLXBpY28tYm94LXNoYWRvdzogdmFyKC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xufVxuYnV0dG9uOmZvY3VzLCBidXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdOmZvY3VzLFxuW3R5cGU9c3VibWl0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPXJlc2V0XTpmb2N1cyxcblt0eXBlPXJlc2V0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPWJ1dHRvbl06Zm9jdXMsXG5bdHlwZT1idXR0b25dOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmZvY3VzLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3JvbGU9YnV0dG9uXTpmb2N1cyxcbltyb2xlPWJ1dHRvbl06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMge1xuICAtLXBpY28tYm94LXNoYWRvdzogdmFyKC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksIDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbn1cblxuW3R5cGU9c3VibWl0XSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWJ1dHRvbl0ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5zZWNvbmRhcnksXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaW52ZXJzZSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLnNlY29uZGFyeTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1yZXNldF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItYm9yZGVyKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlKTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLnNlY29uZGFyeTpmb2N1cywgOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9cmVzZXRdOmZvY3VzLFxuW3R5cGU9cmVzZXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmZvY3VzLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzIHtcbiAgLS1waWNvLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpLCAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tc2Vjb25kYXJ5LWZvY3VzKTtcbn1cblxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuY29udHJhc3Qge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1ib3JkZXIpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtaW52ZXJzZSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlci1ib3JkZXIpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtaW52ZXJzZSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5jb250cmFzdDpmb2N1cywgOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuY29udHJhc3Q6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMge1xuICAtLXBpY28tYm94LXNoYWRvdzogdmFyKC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksIDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1jb250cmFzdC1mb2N1cyk7XG59XG5cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUsXG5bdHlwZT1yZXNldF0ub3V0bGluZSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1yZXNldF0ub3V0bGluZTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbn1cblxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZS5zZWNvbmRhcnksXG5bdHlwZT1yZXNldF0ub3V0bGluZSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnkpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLnNlY29uZGFyeTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1yZXNldF0ub3V0bGluZTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLmNvbnRyYXN0IHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0KTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdCk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLmNvbnRyYXN0OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlcik7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXIpO1xufVxuXG46d2hlcmUoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1yZXNldF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pW2Rpc2FibGVkXSxcbjp3aGVyZShmaWVsZHNldFtkaXNhYmxlZF0pIDppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFt0eXBlPXJlc2V0XSwgW3JvbGU9YnV0dG9uXSkge1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKipcbiAqIEVtYmVkZGVkIGNvbnRlbnRcbiAqL1xuOndoZXJlKGF1ZGlvLCBjYW52YXMsIGlmcmFtZSwgaW1nLCBzdmcsIHZpZGVvKSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuOndoZXJlKGlmcmFtZSkge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbjp3aGVyZShzdmc6bm90KFtmaWxsXSkpIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG5zdmc6bm90KDpyb290KSxcbnN2Zzpub3QoOmhvc3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyoqXG4gKiBGaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbmZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMC41KSAwO1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG59XG5cbi8qKlxuICogTWlzY1xuICovXG5ociB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEJhc2ljcyBmb3JtIGVsZW1lbnRzXG4gKi9cbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tcGljby1saW5lLWhlaWdodCk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cblxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0O1xufVxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbjotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbjotbW96LXVpLWludmFsaWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG46Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bdHlwZT1maWxlXSxcblt0eXBlPXJhbmdlXSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0pIHtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KSArIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMiArIHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSAqIDIpO1xufVxuXG5maWVsZHNldCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGFiZWwsXG5maWVsZHNldCBsZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMC4zNzUpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvcm0tbGFiZWwtZm9udC13ZWlnaHQsIHZhcigtLXBpY28tZm9udC13ZWlnaHQpKTtcbn1cblxuZmllbGRzZXQgbGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMC41KTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xufVxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWNvbG9yKTtcbiAgLS1waWNvLWJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcGljby1mb250LXdlaWdodCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm9yZGVyLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tcGljby10cmFuc2l0aW9uKTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3JlYWRvbmx5XSk6aXMoOmFjdGl2ZSwgOmZvY3VzKSxcbjp3aGVyZShzZWxlY3QsIHRleHRhcmVhKTpub3QoW3JlYWRvbmx5XSk6aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbmlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbdHlwZT1yZXNldF0sIFtyb2xlPXN3aXRjaF0sIFtyZWFkb25seV0pOmlzKDphY3RpdmUsIDpmb2N1cyksXG46d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9cmFuZ2VdLFxuW3R5cGU9ZmlsZV0sXG5bcmVhZG9ubHldKTpmb2N1cyxcbjp3aGVyZShzZWxlY3QsIHRleHRhcmVhKTpub3QoW3JlYWRvbmx5XSk6Zm9jdXMge1xuICAtLXBpY28tYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcik7XG59XG5cbmlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbdHlwZT1yZXNldF0pW2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0sXG50ZXh0YXJlYVtkaXNhYmxlZF0sXG5sYWJlbFthcmlhLWRpc2FibGVkPXRydWVdLFxuOndoZXJlKGZpZWxkc2V0W2Rpc2FibGVkXSkgOmlzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbdHlwZT1yZXNldF0pLCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gIG9wYWNpdHk6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHkpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxubGFiZWxbYXJpYS1kaXNhYmxlZD10cnVlXSBpbnB1dFtkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAxO1xufVxuXG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1kYXRlXSxcblt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcblt0eXBlPW1vbnRoXSxcblt0eXBlPXRpbWVdLFxuW3R5cGU9d2Vla10sXG5bdHlwZT1yYW5nZV0pW2FyaWEtaW52YWxpZF0ge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgIWltcG9ydGFudDtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWRhdGVdLFxuW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuW3R5cGU9bW9udGhdLFxuW3R5cGU9dGltZV0sXG5bdHlwZT13ZWVrXSxcblt0eXBlPXJhbmdlXSlbYXJpYS1pbnZhbGlkPWZhbHNlXTpub3Qoc2VsZWN0KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi12YWxpZCk7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1kYXRlXSxcblt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcblt0eXBlPW1vbnRoXSxcblt0eXBlPXRpbWVdLFxuW3R5cGU9d2Vla10sXG5bdHlwZT1yYW5nZV0pW2FyaWEtaW52YWxpZD10cnVlXTpub3Qoc2VsZWN0KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1pbnZhbGlkKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPWZhbHNlXSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD1mYWxzZV06aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD1mYWxzZV06aXMoOmFjdGl2ZSwgOmZvY3VzKTpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pIHtcbiAgLS1waWNvLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3IpICFpbXBvcnRhbnQ7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPXRydWVdOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD10cnVlXTppcyg6YWN0aXZlLCA6Zm9jdXMpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSkge1xuICAtLXBpY28tYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG5bZGlyPXJ0bF0gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOmlzKFthcmlhLWludmFsaWRdLCBbYXJpYS1pbnZhbGlkPXRydWVdLCBbYXJpYS1pbnZhbGlkPWZhbHNlXSkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAwLjc1cmVtO1xufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG5pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuc2VsZWN0OmludmFsaWQge1xuICBjb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtcGxhY2Vob2xkZXItY29sb3IpO1xuICBvcGFjaXR5OiAxO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuc2VsZWN0Om5vdChbbXVsdGlwbGVdLCBbc2l6ZV0pIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tY2hldnJvbik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbnNlbGVjdFttdWx0aXBsZV0gb3B0aW9uOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWNvbG9yKTtcbn1cblxuW2Rpcj1ydGxdIHNlbGVjdDpub3QoW211bHRpcGxlXSwgW3NpemVdKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IDAuNzVyZW07XG59XG5cbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG50ZXh0YXJlYVthcmlhLWludmFsaWRdIHtcbiAgLS1waWNvLWljb24taGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KSArIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMiArIHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSAqIDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQgMC43NXJlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gdmFyKC0tcGljby1pY29uLWhlaWdodCkgIWltcG9ydGFudDtcbn1cblxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBmaWVsZHNldCwgLmdyaWQpICsgc21hbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIC0wLjc1KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBmaWVsZHNldCwgLmdyaWQpW2FyaWEtaW52YWxpZD1mYWxzZV0gKyBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWlucy1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZpZWxkc2V0LCAuZ3JpZClbYXJpYS1pbnZhbGlkPXRydWVdICsgc21hbGwge1xuICBjb2xvcjogdmFyKC0tcGljby1kZWwtY29sb3IpO1xufVxuXG5sYWJlbCA+IDp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSkge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAwLjI1KTtcbn1cblxuLyoqXG4gKiBDaGVja2JveGVzLCBSYWRpb3MgYW5kIFN3aXRjaGVzXG4gKi9cbmxhYmVsOmhhcyhbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSkge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxLjI1ZW07XG4gIGhlaWdodDogMS4yNWVtO1xuICBtYXJnaW4tdG9wOiAtMC4xMjVlbTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDAuNWVtO1xuICBib3JkZXItd2lkdGg6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW3R5cGU9Y2hlY2tib3hdOjotbXMtY2hlY2ssXG5bdHlwZT1yYWRpb106Oi1tcy1jaGVjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bdHlwZT1jaGVja2JveF06Y2hlY2tlZCwgW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YWN0aXZlLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpmb2N1cyxcblt0eXBlPXJhZGlvXTpjaGVja2VkLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWN0aXZlLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQ6Zm9jdXMge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLWNoZWNrYm94KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuW3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwsXG5bdHlwZT1yYWRpb10gfiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW3R5cGU9Y2hlY2tib3hdIH4gbGFiZWw6bm90KDpsYXN0LW9mLXR5cGUpLFxuW3R5cGU9cmFkaW9dIH4gbGFiZWw6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDFlbTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdOmluZGV0ZXJtaW5hdGUge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLW1pbnVzKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5bdHlwZT1yYWRpb10ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5bdHlwZT1yYWRpb106Y2hlY2tlZCwgW3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWN0aXZlLCBbdHlwZT1yYWRpb106Y2hlY2tlZDpmb2N1cyB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGJvcmRlci13aWR0aDogMC4zNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tc3dpdGNoLWNvbG9yKTtcbiAgd2lkdGg6IDIuMjVlbTtcbiAgaGVpZ2h0OiAxLjI1ZW07XG4gIGJvcmRlcjogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMS4yNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xufVxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpub3QoW2FyaWEtaW52YWxpZF0pIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcGljby1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdyk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAwLjFzIGVhc2UtaW4tb3V0O1xufVxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpmb2N1cyB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZDo6YmVmb3JlIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygyLjI1ZW0gLSAxLjI1ZW0pO1xufVxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVtkaXNhYmxlZF0ge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1ib3JkZXItY29sb3IpO1xufVxuXG5bdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLCBbdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSwgW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6YWN0aXZlLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6Zm9jdXMge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cblt0eXBlPWNoZWNrYm94XTpjaGVja2VkW2FyaWEtaW52YWxpZD10cnVlXSwgW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YWN0aXZlW2FyaWEtaW52YWxpZD10cnVlXSwgW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOmZvY3VzW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG59XG5cblt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsIFt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6YWN0aXZlLCBbdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmZvY3VzLFxuW3R5cGU9cmFkaW9dW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZCxcblt0eXBlPXJhZGlvXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6YWN0aXZlLFxuW3R5cGU9cmFkaW9dW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6YWN0aXZlLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6Zm9jdXMge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xufVxuW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1yYWRpb106Y2hlY2tlZFthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1yYWRpb106Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOmZvY3VzW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cblxuLyoqXG4gKiBJbnB1dCB0eXBlIHNlYXJjaFxuICovXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLXNlYXJjaCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDAuMTI1cmVtKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXVthcmlhLWludmFsaWRdIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNzVyZW0pICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IDEuMTI1cmVtLCBjZW50ZXIgcmlnaHQgMC43NXJlbTtcbn1cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdW2FyaWEtaW52YWxpZD1mYWxzZV0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tc2VhcmNoKSwgdmFyKC0tcGljby1pY29uLXZhbGlkKTtcbn1cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1zZWFyY2gpLCB2YXIoLS1waWNvLWljb24taW52YWxpZCk7XG59XG5cbltkaXI9cnRsXSA6d2hlcmUoaW5wdXQpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEuMTI1cmVtO1xufVxuW2Rpcj1ydGxdIDp3aGVyZShpbnB1dCk6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF1bYXJpYS1pbnZhbGlkXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAxLjEyNXJlbSwgY2VudGVyIGxlZnQgMC43NXJlbTtcbn1cblxuLyoqXG4gKiBBY2NvcmRpb24gKDxkZXRhaWxzPilcbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuZGV0YWlscyBzdW1tYXJ5IHtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pO1xufVxuZGV0YWlscyBzdW1tYXJ5Om5vdChbcm9sZV0pIHtcbiAgY29sb3I6IHZhcigtLXBpY28tYWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3IpO1xufVxuZGV0YWlscyBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmRldGFpbHMgc3VtbWFyeTo6bWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmRldGFpbHMgc3VtbWFyeTo6LW1vei1saXN0LWJ1bGxldCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbmRldGFpbHMgc3VtbWFyeTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcsIDFyZW0pICogMC41KTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tY2hldnJvbik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1waWNvLXRyYW5zaXRpb24pO1xufVxuZGV0YWlscyBzdW1tYXJ5OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbmRldGFpbHMgc3VtbWFyeTpmb2N1czpub3QoW3JvbGVdKSB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcik7XG59XG5kZXRhaWxzIHN1bW1hcnk6Zm9jdXMtdmlzaWJsZTpub3QoW3JvbGVdKSB7XG4gIG91dGxpbmU6IHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgc29saWQgdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbiAgb3V0bGluZS1vZmZzZXQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nLCAxcmVtKSAqIDAuNSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xufVxuZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXTo6YWZ0ZXIge1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQsIDEuNSkpO1xufVxuZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6bm90KFtyb2xlXSk6bm90KDpmb2N1cykge1xuICBjb2xvcjogdmFyKC0tcGljby1hY2NvcmRpb24tb3Blbi1zdW1tYXJ5LWNvbG9yKTtcbn1cbmRldGFpbHNbb3Blbl0gPiBzdW1tYXJ5OjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xufVxuXG5bZGlyPXJ0bF0gZGV0YWlscyBzdW1tYXJ5IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5bZGlyPXJ0bF0gZGV0YWlscyBzdW1tYXJ5OjphZnRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbn1cblxuLyoqXG4gKiBDYXJkICg8YXJ0aWNsZT4pXG4gKi9cbmFydGljbGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpIHZhcigtLXBpY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWNhcmQtYm94LXNoYWRvdyk7XG59XG5hcnRpY2xlID4gaGVhZGVyLFxuYXJ0aWNsZSA+IGZvb3RlciB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBpY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogMC42NikgdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWNhcmQtc2VjdGlvbmluZy1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbmFydGljbGUgPiBoZWFkZXIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG59XG5hcnRpY2xlID4gZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogLTEpO1xuICBib3JkZXItdG9wOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1jYXJkLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKipcbiAqIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICovXG5kZXRhaWxzLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6OmFmdGVyLFxuZGV0YWlscy5kcm9wZG93biA+IGJ1dHRvbjo6YWZ0ZXIsXG5kZXRhaWxzLmRyb3Bkb3duID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcGljby1saW5lLWhlaWdodCwgMS41KSk7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuMjVyZW07XG4gIGZsb2F0OiByaWdodDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWCgwLjJyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tY2hldnJvbik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbm5hdiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQpICsgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyICsgdmFyKC0tcGljby1ib3JkZXItd2lkdGgpICogMik7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGJvcmRlcjogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtcGxhY2Vob2xkZXItY29sb3IpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3JkZXItY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1waWNvLXRyYW5zaXRpb24pO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6YWN0aXZlLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcik7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pW2FyaWEtaW52YWxpZD1mYWxzZV0ge1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yKTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3IpO1xufVxuXG5uYXYgZGV0YWlscy5kcm9wZG93biB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiBjYWxjKHZhcigtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSkgMDtcbn1cbm5hdiBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVYKDByZW0pO1xufVxubmF2IGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pIHtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KSArIHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgKiAyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpIC0gdmFyKC0tcGljby1ib3JkZXItd2lkdGgpICogMikgdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xufVxubmF2IGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG59XG5cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICB6LWluZGV4OiA5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBpY28tZHJvcGRvd24tYm94LXNoYWRvdyk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWRyb3Bkb3duLWNvbG9yKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gMHMgZWFzZS1pbi1vdXQgMXM7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsW2Rpcj1ydGxdIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGk6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogLTAuNSkgY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogdmFyKC0tcGljby1kcm9wZG93bi1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGE6aG92ZXIsIGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYTpmb2N1cywgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhOmFjdGl2ZSwgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhOmZvY3VzLXZpc2libGUsIGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYVthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaTpoYXMobGFiZWwpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuZGV0YWlscy5kcm9wZG93bltvcGVuXSA+IHN1bW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kZXRhaWxzLmRyb3Bkb3duW29wZW5dID4gc3VtbWFyeSArIHVsIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIDBzIGVhc2UtaW4tb3V0IDBzO1xufVxuXG5kZXRhaWxzLmRyb3Bkb3duW29wZW5dID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5sYWJlbCA+IGRldGFpbHMuZHJvcGRvd24ge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAwLjI1KTtcbn1cblxuLyoqXG4gKiBHcm91cCAoW3JvbGU9XCJncm91cFwiXSwgW3JvbGU9XCJzZWFyY2hcIl0pXG4gKi9cbltyb2xlPXNlYXJjaF0sXG5bcm9sZT1ncm91cF0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcGljby1ncm91cC1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1waWNvLXRyYW5zaXRpb24pO1xufVxuW3JvbGU9c2VhcmNoXSA+ICosXG5bcm9sZT1zZWFyY2hdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG5bcm9sZT1zZWFyY2hdIHNlbGVjdCxcbltyb2xlPWdyb3VwXSA+ICosXG5bcm9sZT1ncm91cF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbltyb2xlPWdyb3VwXSBzZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuW3JvbGU9c2VhcmNoXSA+ICo6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIHNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSA+ICo6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBzZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbltyb2xlPXNlYXJjaF0gPiAqOm5vdCg6bGFzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gPiAqOm5vdCg6bGFzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuW3JvbGU9c2VhcmNoXSA+ICo6Zm9jdXMsXG5bcm9sZT1zZWFyY2hdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6Zm9jdXMsXG5bcm9sZT1zZWFyY2hdIHNlbGVjdDpmb2N1cyxcbltyb2xlPWdyb3VwXSA+ICo6Zm9jdXMsXG5bcm9sZT1ncm91cF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpmb2N1cyxcbltyb2xlPWdyb3VwXSBzZWxlY3Q6Zm9jdXMge1xuICB6LWluZGV4OiAyO1xufVxuW3JvbGU9c2VhcmNoXSBidXR0b246bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIFt0eXBlPXN1Ym1pdF06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIFt0eXBlPXJlc2V0XTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9YnV0dG9uXTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gW3JvbGU9YnV0dG9uXTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIGJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBbdHlwZT1zdWJtaXRdOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPXJlc2V0XTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBbdHlwZT1idXR0b25dOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIFtyb2xlPWJ1dHRvbl06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBzZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgKiAtMSk7XG59XG5bcm9sZT1zZWFyY2hdIGJ1dHRvbixcbltyb2xlPXNlYXJjaF0gW3R5cGU9c3VibWl0XSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9cmVzZXRdLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1idXR0b25dLFxuW3JvbGU9c2VhcmNoXSBbcm9sZT1idXR0b25dLFxuW3JvbGU9Z3JvdXBdIGJ1dHRvbixcbltyb2xlPWdyb3VwXSBbdHlwZT1zdWJtaXRdLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPXJlc2V0XSxcbltyb2xlPWdyb3VwXSBbdHlwZT1idXR0b25dLFxuW3JvbGU9Z3JvdXBdIFtyb2xlPWJ1dHRvbl0ge1xuICB3aWR0aDogYXV0bztcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKCopKSB7XG4gIFtyb2xlPXNlYXJjaF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cyksXG4gIFtyb2xlPWdyb3VwXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSB7XG4gICAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3c6IHZhcigtLXBpY28tZ3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvbik7XG4gIH1cbiAgW3JvbGU9c2VhcmNoXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuICBbcm9sZT1zZWFyY2hdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIHNlbGVjdCxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG4gIFtyb2xlPWdyb3VwXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSBzZWxlY3Qge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgW3JvbGU9c2VhcmNoXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpLFxuICBbcm9sZT1ncm91cF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSB7XG4gICAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3c6IHZhcigtLXBpY28tZ3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWlucHV0KTtcbiAgfVxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgYnV0dG9uLFxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3R5cGU9c3VibWl0XSxcbiAgW3JvbGU9c2VhcmNoXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFt0eXBlPWJ1dHRvbl0sXG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBbcm9sZT1idXR0b25dLFxuICBbcm9sZT1ncm91cF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBidXR0b24sXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFt0eXBlPXN1Ym1pdF0sXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFt0eXBlPWJ1dHRvbl0sXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFtyb2xlPWJ1dHRvbl0ge1xuICAgIC0tcGljby1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAgIC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1ib3JkZXIpO1xuICB9XG4gIFtyb2xlPXNlYXJjaF0gYnV0dG9uOmZvY3VzLFxuICBbcm9sZT1zZWFyY2hdIFt0eXBlPXN1Ym1pdF06Zm9jdXMsXG4gIFtyb2xlPXNlYXJjaF0gW3R5cGU9cmVzZXRdOmZvY3VzLFxuICBbcm9sZT1zZWFyY2hdIFt0eXBlPWJ1dHRvbl06Zm9jdXMsXG4gIFtyb2xlPXNlYXJjaF0gW3JvbGU9YnV0dG9uXTpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIGJ1dHRvbjpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIFt0eXBlPXN1Ym1pdF06Zm9jdXMsXG4gIFtyb2xlPWdyb3VwXSBbdHlwZT1yZXNldF06Zm9jdXMsXG4gIFtyb2xlPWdyb3VwXSBbdHlwZT1idXR0b25dOmZvY3VzLFxuICBbcm9sZT1ncm91cF0gW3JvbGU9YnV0dG9uXTpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5bcm9sZT1zZWFyY2hdID4gKjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVyZW07XG59XG5bcm9sZT1zZWFyY2hdID4gKjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cmVtO1xufVxuXG4vKipcbiAqIE5hdlxuICovXG46d2hlcmUobmF2IGxpKTo6YmVmb3JlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbnRlbnQ6IFwi4oCLXCI7XG59XG5cbm5hdixcbm5hdiB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbm5hdiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5uYXYgb2wsXG5uYXYgdWwge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxubmF2IG9sOmZpcnN0LW9mLXR5cGUsXG5uYXYgdWw6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbn1cbm5hdiBvbDpsYXN0LW9mLXR5cGUsXG5uYXYgdWw6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbn1cbm5hdiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpIHZhcigtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdiBsaSA6d2hlcmUoYSwgW3JvbGU9bGlua10pIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG59XG5uYXYgbGkgOndoZXJlKGEsIFtyb2xlPWxpbmtdKTpub3QoOmhvdmVyKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbm5hdiBsaSBidXR0b24sXG5uYXYgbGkgW3JvbGU9YnV0dG9uXSxcbm5hdiBsaSBbdHlwZT1idXR0b25dLFxubmF2IGxpIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSksXG5uYXYgbGkgc2VsZWN0IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiBpbmhlcml0O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLSB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgKiAyKSB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5uYXZbYXJpYS1sYWJlbD1icmVhZGNydW1iXSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG59XG5uYXZbYXJpYS1sYWJlbD1icmVhZGNydW1iXSB1bCBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHVsIGxpIGEge1xuICBtYXJnaW46IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSAwO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIDQpO1xuICBtYXJnaW46IDAgY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gIGNvbnRlbnQ6IHZhcigtLXBpY28tbmF2LWJyZWFkY3J1bWItZGl2aWRlcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5uYXZbYXJpYS1sYWJlbD1icmVhZGNydW1iXSBhW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuYXNpZGUgbmF2LFxuYXNpZGUgb2wsXG5hc2lkZSB1bCxcbmFzaWRlIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5hc2lkZSBsaSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSkgdmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xufVxuYXNpZGUgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuYXNpZGUgbGkgW3JvbGU9YnV0dG9uXSB7XG4gIG1hcmdpbjogaW5oZXJpdDtcbn1cblxuW2Rpcj1ydGxdIG5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkgOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxcXFwiO1xufVxuXG4vKipcbiAqIEFjY2Vzc2liaWxpdHkgJiBVc2VyIGludGVyYWN0aW9uXG4gKi9cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuW2FyaWEtaGlkZGVuPWZhbHNlXVtoaWRkZW5dIHtcbiAgZGlzcGxheTogaW5pdGlhbDtcbn1cblxuW2FyaWEtaGlkZGVuPWZhbHNlXVtoaWRkZW5dOm5vdCg6Zm9jdXMpIHtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEsXG5bdGFiaW5kZXhdIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5bZGlyPXJ0bF0ge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLyoqXG4gKiBSZWR1Y2UgTW90aW9uIEZlYXR1cmVzXG4gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICo6bm90KFthcmlhLWJ1c3k9dHJ1ZV0pLFxuICA6bm90KFthcmlhLWJ1c3k9dHJ1ZV0pOjpiZWZvcmUsXG4gIDpub3QoW2FyaWEtYnVzeT10cnVlXSk6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gIH1cbn1cbltkYXRhLXRoZW1lPWxpZ2h0XSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1kYXJrXSkge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtYmFja2dyb3VuZC1jb2xvciwgI2ZmZik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tbXQtY29sb3IsICMzNzNjNDQpO1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMiwgMTU0LCAyMzIsIDAuMjUpO1xuICAtLXBpY28tbXV0ZWQtY29sb3I6ICM2NDZiNzk7XG4gIC0tcGljby1tdXRlZC1ib3JkZXItY29sb3I6IHJnYigyMzEsIDIzNCwgMjM5LjUpO1xuICAtLXBpY28tcHJpbWFyeTogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgIzAwNTk5Yyk7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6IHZhcigtLW10LXByaW1hcnktY29sb3IsICMwMDU5OWMpO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDAsIDU5LjkwMzg0NjE1MzgsIDEwNSkpO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXByaW1hcnktY29sb3IsICMwMDU5OWMpO1xuICAtLXBpY28tcHJpbWFyeS1ib3JkZXI6IHZhcigtLW10LXByaW1hcnktY29sb3IsICMwMDU5OWMpO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1kYXJrZW4sIHJnYigwLCA1OS45MDM4NDYxNTM4LCAxMDUpKTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigwLCAxMTguMDk2MTUzODQ2MiwgMjA3KSk7XG4gIC0tcGljby1wcmltYXJ5LWZvY3VzOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigwLCAxMTguMDk2MTUzODQ2MiwgMjA3KSk7XG4gIC0tcGljby1wcmltYXJ5LWludmVyc2U6IHZhcigtLW10LXByaW1hcnktaW52ZXJzZS1jb2xvciwgI2ZmZmZmZik7XG4gIC0tcGljby1zZWNvbmRhcnk6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgIzczNzk4Nyk7XG4gIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjNzM3OTg3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItZGFya2VuLCByZ2IoOTEuNTQsIDk2LjMxNiwgMTA3LjQ2KSk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICM3Mzc5ODcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjNzM3OTg3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3ZlcjogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDkxLjU0LCA5Ni4zMTYsIDEwNy40NikpO1xuICAtLXBpY28tc2Vjb25kYXJ5LXVuZGVybGluZTogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigxNDIuMTQsIDE0Ny4xNTYsIDE1OC44NikpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWZvY3VzOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgcmdiKDE0Mi4xNCwgMTQ3LjE1NiwgMTU4Ljg2KSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogdmFyKC0tbXQtc2Vjb25kYXJ5LWludmVyc2UtY29sb3IsICNmZmZmZmYpO1xuICAtLXBpY28tY29udHJhc3Q6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjMTgxYzI1KTtcbiAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjMTgxYzI1KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWRhcmtlbiwgcmdiKDMuOTM0NDI2MjI5NSwgNC41OTAxNjM5MzQ0LCA2LjA2NTU3Mzc3MDUpKTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICMxODFjMjUpO1xuICAtLXBpY28tY29udHJhc3QtYm9yZGVyOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgIzE4MWMyNSk7XG4gIC0tcGljby1jb250cmFzdC1ob3ZlcjogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItZGFya2VuLCByZ2IoMy45MzQ0MjYyMjk1LCA0LjU5MDE2MzkzNDQsIDYuMDY1NTczNzcwNSkpO1xuICAtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1saWdodGVuLCByZ2IoNDQuMDY1NTczNzcwNSwgNTEuNDA5ODM2MDY1NiwgNjcuOTM0NDI2MjI5NSkpO1xuICAtLXBpY28tY29udHJhc3QtZm9jdXM6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sIHJnYig0NC4wNjU1NzM3NzA1LCA1MS40MDk4MzYwNjU2LCA2Ny45MzQ0MjYyMjk1KSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiB2YXIoLS1tdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yLCAjZmZmZmZmKTtcbiAgLS1waWNvLWZvbnQtZmFtaWx5OiB2YXIoLS1tdC1mb250LWZhbWlseSwgSW50ZXIsIFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZik7XG4gIC0tcGljby1mb250LXNpemU6IHZhcigtLW10LWZvbnQtc2l6ZSwgMXJlbSk7XG4gIC0tcGljby1saW5lLWhlaWdodDogdmFyKC0tbXQtbGluZS1oZWlnaHQsIDEuNHJlbSk7XG4gIC0tcGljby1mb250LXdlaWdodDogdmFyKC0tbXQtZm9udC13ZWlnaHQsIDQwMCk7XG4gIC0tcGljby1oZWFkaW5nLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1oZWFkaW5nLWZvbnQtd2VpZ2h0LCA3MDApO1xuICAtLXBpY28tbGV0dGVyLXNwYWNpbmc6IHZhcigtLW10LWxldHRlci1zcGFjaW5nLCBub3JtYWwpO1xuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogMS41cmVtO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSxcbjpyb290W2RhdGEtdGhlbWU9ZGFya10ge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtdGRhcmstYmFja2dyb3VuZC1jb2xvciwgIzFkMjMyNyk7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tbXQtdGRhcmstY29sb3IsICMxZDIzMjcpO1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMiwgMTU0LCAyMzIsIDAuMjUpO1xuICAtLXBpY28tbXV0ZWQtY29sb3I6ICM2NDZiNzk7XG4gIC0tcGljby1tdXRlZC1ib3JkZXItY29sb3I6IHJnYigyMzEsIDIzNCwgMjM5LjUpO1xuICAtLXBpY28tcHJpbWFyeTogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgIzViYjRkZik7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICM1YmI0ZGYpO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigxMzMuNjczNDY5Mzg3OCwgMTk5LjUxNTMwNjEyMjQsIDIzMS4zMjY1MzA2MTIyKSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgIzViYjRkZik7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgIzViYjRkZik7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigxMzMuNjczNDY5Mzg3OCwgMTk5LjUxNTMwNjEyMjQsIDIzMS4zMjY1MzA2MTIyKSk7XG4gIC0tcGljby1wcmltYXJ5LXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1kYXJrZW4sIHJnYig0OC4zMjY1MzA2MTIyLCAxNjAuNDg0NjkzODc3NiwgMjE0LjY3MzQ2OTM4NzgpKTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VuLCByZ2IoNDguMzI2NTMwNjEyMiwgMTYwLjQ4NDY5Mzg3NzYsIDIxNC42NzM0NjkzODc4KSk7XG4gIC0tcGljby1wcmltYXJ5LWludmVyc2U6IHZhcigtLW10LXRkYXJrLXByaW1hcnktaW52ZXJzZS1jb2xvciwgIzEyMTIxMik7XG4gIC0tcGljby1zZWNvbmRhcnk6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI2EzYTliNyk7XG4gIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjYTNhOWI3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgcmdiKDE5MS42MDk3NTYwOTc2LCAxOTUuNzQzOTAyNDM5LCAyMDUuMzkwMjQzOTAyNCkpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjYTNhOWI3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI2EzYTliNyk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXI6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1saWdodGVuLCByZ2IoMTkxLjYwOTc1NjA5NzYsIDE5NS43NDM5MDI0MzksIDIwNS4zOTAyNDM5MDI0KSk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItZGFya2VuLCByZ2IoMTM0LjM5MDI0MzkwMjQsIDE0Mi4yNTYwOTc1NjEsIDE2MC42MDk3NTYwOTc2KSk7XG4gIC0tcGljby1zZWNvbmRhcnktZm9jdXM6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW4sIHJnYigxMzQuMzkwMjQzOTAyNCwgMTQyLjI1NjA5NzU2MSwgMTYwLjYwOTc1NjA5NzYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktaW52ZXJzZS1jb2xvciwgIzEyMTIxMik7XG4gIC0tcGljby1jb250cmFzdDogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICNmNWY3ZmEpO1xuICAtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICNmNWY3ZmEpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItbGlnaHRlbiwgaHNsKDIxNiwgMzMuMzMzMzMzMzMzMyUsIDEwNy4wNTg4MjM1Mjk0JSkpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI2Y1ZjdmYSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjZjVmN2ZhKTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1saWdodGVuLCBoc2woMjE2LCAzMy4zMzMzMzMzMzMzJSwgMTA3LjA1ODgyMzUyOTQlKSk7XG4gIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWRhcmtlbiwgcmdiKDIxMSwgMjE5LjgsIDIzMykpO1xuICAtLXBpY28tY29udHJhc3QtZm9jdXM6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWRhcmtlbiwgcmdiKDIxMSwgMjE5LjgsIDIzMykpO1xuICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtaW52ZXJzZS1jb2xvciwgIzEyMTIxMik7XG4gIC0tcGljby1mb250LWZhbWlseTogdmFyKC0tbXQtZm9udC1mYW1pbHksIEludGVyLCBUYWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWYpO1xuICAtLXBpY28tZm9udC1zaXplOiB2YXIoLS1tdC1mb250LXNpemUsIDFyZW0pO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IHZhcigtLW10LWxpbmUtaGVpZ2h0LCAxLjRyZW0pO1xuICAtLXBpY28tZm9udC13ZWlnaHQ6IHZhcigtLW10LWZvbnQtd2VpZ2h0LCA0MDApO1xuICAtLXBpY28taGVhZGluZy1mb250LXdlaWdodDogdmFyKC0tbXQtaGVhZGluZy1mb250LXdlaWdodCwgNzAwKTtcbiAgLS1waWNvLWxldHRlci1zcGFjaW5nOiB2YXIoLS1tdC1sZXR0ZXItc3BhY2luZywgbm9ybWFsKTtcbiAgLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWw6IDEuNXJlbTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLW10LWhlYWRpbmctZm9udC1mYW1pbHksIFJvYm90bywgR2VvcmdpYSwgc2VyaWYpO1xufVxuXG51bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbmJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuaHRtbCB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbmh0bWwgYm9keSB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsIDBweCk7XG59XG5odG1sIGJvZHkgPiAuc2l0ZS1oZWFkZXIsXG5odG1sIGJvZHkgPiAuaGVhZGVyLW5hdi1tZW51LFxuaHRtbCBib2R5ID4gLm1haW4tZ3JpZCxcbmh0bWwgYm9keSA+IC5zaXRlLWZvb3Rlcixcbmh0bWwgYm9keSA+IC50b3AtZ3JpZCxcbmh0bWwgYm9keSA+IC5wcmUtbWFpbi1jb250ZW50IHtcbiAgYm94LXNoYWRvdzogLTFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvciksIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG59XG5cbi5sb2dvLWxpZ2h0LFxuLmxvZ28tbGlnaHQtYW5kLWRhcmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxvZ28tZGFyayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5sb2dvLWxpZ2h0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLmxvZ28tZGFyayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi5icmlkICpbcm9sZT1idXR0b25dLFxuLmJyaWQtY2xvc2UgKltyb2xlPWJ1dHRvbl0ge1xuICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICBib3JkZXI6IGluaXRpYWw7XG59XG5cbi5icmlkICpbcm9sZT1idXR0b25dOmZvY3VzLFxuLmJyaWQtY2xvc2UgKltyb2xlPWJ1dHRvbl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG5ib2R5ID4gLnNpdGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiA2NHB4O1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgei1pbmRleDogOTk5OTk5OTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMCk7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQge1xuICB3aWR0aDogNjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb24sXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbjo6YmVmb3JlLCBib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uOjphZnRlcixcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uOjpiZWZvcmUsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uOjpiZWZvcmUsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbjo6YmVmb3JlIHtcbiAgdG9wOiAtN3B4O1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbjo6YWZ0ZXIsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbjo6YWZ0ZXIge1xuICB0b3A6IDdweDtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZTpob3ZlciwgYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlOmZvY3VzLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZTpob3ZlcixcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGU6Zm9jdXMge1xuICBib3JkZXI6IG5vbmU7XG4gIG9wYWNpdHk6IDAuODtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pY29uLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItaWNvbjo6YmVmb3JlLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pY29uOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pY29uOjphZnRlcixcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItaWNvbjo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAuaGVhZGVyLWxpdmUtYnV0dG9uLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5oZWFkZXItbGl2ZS1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLmhlYWRlci1saXZlLWJ1dHRvbjpob3ZlciwgYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLmhlYWRlci1saXZlLWJ1dHRvbjpmb2N1cyxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAuaGVhZGVyLWxpdmUtYnV0dG9uOmhvdmVyLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5oZWFkZXItbGl2ZS1idXR0b246Zm9jdXMge1xuICBvcGFjaXR5OiAwLjg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5oZWFkZXItbGl2ZS1idXR0b25fX3BsYXksXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLmhlYWRlci1saXZlLWJ1dHRvbl9fcGxheSB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxLjE1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgbWFyZ2luLWJvdHRvbTogMC4xcmVtO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLmhlYWRlci1saXZlLWJ1dHRvbl9fbGFiZWwsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLmhlYWRlci1saXZlLWJ1dHRvbl9fbGFiZWwge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItY2VudGVyIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItY2VudGVyID4gYSA+IGltZyB7XG4gIG1heC1oZWlnaHQ6IDUwcHg7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWNlbnRlciA+IGEgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xufVxuXG5ib2R5ID4gLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZzogMDtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1zZXBhcmF0b3Ige1xuICBoZWlnaHQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMS41KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAycmVtO1xuICB9XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCA+IHN0cm9uZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sID4gc3Ryb25nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCAudzNjLWxvZ28ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgdWwge1xuICBwYWRkaW5nOiAwO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgdWwgbGkgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sIHVsIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCB1bCBzbWFsbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNyZWRpdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY3JlZGl0cyBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG5ib2R5LmFkbWluLWJhciAuc2lkZWJhci1oYW1idXJnZXIge1xuICB0b3A6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgYm9keS5hZG1pbi1iYXIgLnNpZGViYXItaGFtYnVyZ2VyIHtcbiAgICB0b3A6IDQ2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICBib2R5LmFkbWluLWJhciAuc2lkZWJhci1oYW1idXJnZXIge1xuICAgIHRvcDogMzJweDtcbiAgfVxufVxuXG4uc2lkZWJhci1oYW1idXJnZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDg1dnc7XG4gIG1heC13aWR0aDogNTYwcHg7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgei1pbmRleDogOTk5OTk5OTk7XG59XG4uc2lkZWJhci1oYW1idXJnZXIub3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1vdmVybGF5IHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiAxOTAwO1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW92ZXJsYXkudmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1sb2dvIGltZyB7XG4gIGhlaWdodDogNDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc2lkZWJhci1oYW1idXJnZXItY2xvc2Uge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWNsb3NlOmhvdmVyLCAuc2lkZWJhci1oYW1idXJnZXItY2xvc2U6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItY29udHJvbHMge1xuICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jb250cm9scyAuZm9udC1zaXplLWNvbnRyb2xzIGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG4uc2lkZWJhci1oYW1idXJnZXItY29udHJvbHMgLnRoZW1lLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4ycmVtO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWNvbnRyb2xzIC50aGVtZS10b2dnbGUgbGFiZWwsXG4uc2lkZWJhci1oYW1idXJnZXItY29udHJvbHMgLnRoZW1lLXRvZ2dsZSBpbnB1dCB7XG4gIG1hcmdpbjogMDtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1zZWFyY2gge1xuICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgMDtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1zZWFyY2ggPiAqOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC41cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjVyZW07XG59XG4uc2lkZWJhci1oYW1idXJnZXItc2VhcmNoID4gKjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuNXJlbTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IHtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLXRvZ2dsZSwgLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1saW5rIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi10b2dnbGU6aG92ZXIsIC5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tdG9nZ2xlOmZvY3VzLCAuc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWxpbms6aG92ZXIsIC5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tbGluazpmb2N1cyB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQub3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50IGEge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudCBhOmhvdmVyIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSwgIzAwMCAyMCUpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LmNvbHVtbnMtMiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuY29sdW1ucy0yLm9wZW4ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3Mge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcy5vcGVuIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTAwcHgsIDFmcikpO1xuICBnYXA6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDEuNSk7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMyk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhOmhvdmVyIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSwgIzAwMCAyMCUpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhOmhvdmVyIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgd2lkdGg6IDIuOXJlbTtcbiAgaGVpZ2h0OiAyLjlyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIC5zb2NpYWwtbGlua3MtaWNvbiBzdmcge1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgLnNvY2lhbC1saW5rcy1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9ZmFjZWJvb2tdIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICMxODc3ZjI7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPWZhY2Vib29rXSAuc29jaWFsLWxpbmtzLWljb24gc3ZnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjE4KTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD1nb29nbGVdIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICNmOWYwZjA7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPWdvb2dsZV0gLnNvY2lhbC1saW5rcy1pY29uIHN2ZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yMik7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9eF0gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9aW5zdGFncmFtXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODMzYWI0LCAjZTEzMDZjLCAjZmQxZDFkLCAjZmNiMDQ1KTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9d2hhdHNhcHBdIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICMyNWQzNjY7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPXRlbGVncmFtXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiAjMjI5ZWQ5O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD10aWt0b2tdIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDAgMCUsICMxMTEgMTAwJSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPWxpbmtlZGluXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiAjMGE2NmMyO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD15b3V0dWJlXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiAjZmYwMDAwO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD1nb29nbGVfbmV3c10gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjBmMDtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9Z29vZ2xlX25ld3NdIC5zb2NpYWwtbGlua3MtaWNvbiBzdmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMjIpO1xufVxuXG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS4zMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKSB0cmFuc3BhcmVudDtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIGhlaWdodDogNnB4O1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51IC5tZW51LXNjcm9sbC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51IC5tZW51LXNjcm9sbC13cmFwcGVyIGxpIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudSAubWVudS1zY3JvbGwtd3JhcHBlciBsaSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxcmVtO1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnUgLm1lbnUtc2Nyb2xsLXdyYXBwZXIgbGkgYTpob3ZlciwgYm9keSA+IC5oZWFkZXItbmF2LW1lbnUgLm1lbnUtc2Nyb2xsLXdyYXBwZXIgbGkgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xufVxuXG4ubWFpbi1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIDAgMCAwO1xufVxuLm1haW4tZ3JpZC53aXRoLXNpZGViYXIge1xuICBnYXA6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tYWluLWdyaWQud2l0aC1zaWRlYmFyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzNzBweDtcbiAgfVxufVxuXG4ucHJlLW1haW4tY29udGVudCB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udG9wLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogLTEpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIDAgMCAwO1xuICBnYXA6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50b3AtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzcwcHg7XG4gIH1cbn1cbi50b3AtZ3JpZCAudG9wLWNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC50b3AtZ3JpZCAudG9wLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgfVxufVxuLnRvcC1ncmlkIC50b3Atc2lkZWJhciB7XG4gIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAudG9wLWdyaWQgLnRvcC1zaWRlYmFyIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSwgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4ubWFpbi1jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIH1cbn1cbi5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgZ2FwOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIH1cbn1cbi5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUuaGFzLWxvZ28ge1xuICBtYXgtd2lkdGg6IDc1JTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlLmhhcy1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgfVxufVxuLm1haW4tY29udGVudCAucGFnZS10aXRsZSBpbWcge1xuICBtYXgtaGVpZ2h0OiA0MnB4O1xuICB3aWR0aDogYXV0bztcbiAgZmxleC1zaHJpbms6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tY29udGVudCAucGFnZS10aXRsZSBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogMC40cmVtO1xuICB9XG59XG4ubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlIGgxIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tY29udGVudCAucGFnZS10aXRsZSBoMSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG4ubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlIC5oMS1zdWJ0aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDByZW07XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBvcGFjaXR5OiAwLjk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbn1cbi5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGU6bm90KC5oYXMtbG9nbykgaDE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IC04cHg7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xufVxuXG4ubWFpbi1zaWRlYmFyIHtcbiAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLXNpZGViYXIge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLCAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4ubWFpbi1zaWRlYmFyID4gLndpZGdldCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQubmstZmVlZC1yZWFkZXItbGlzdC1mZWVkLXJ1YnJpY2Ege1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIGF1dG8gY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgYXV0bztcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBmaWd1cmUge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cykgdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKSAwIDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgZmlndXJlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgZmlndXJlIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBmaWd1cmUgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIC5wb3N0LW1ldGEge1xuICAgIGZsZXg6IDM7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgLnBvc3QtbWV0YSB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgLnBvc3QtbWV0YSAubGFuY2lvIHtcbiAgcGFkZGluZzogMC43cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIC0xLjUpO1xufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgLnBvc3QtbWV0YSBoMyB7XG4gIHBhZGRpbmc6IDAuN3JlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZS5mZWF0dXJlZCAucG9zdC1tZXRhIGgyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlLmNvbXBhY3QgLnBvc3QtbWV0YSBoMiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZyxcbi53aWRnZXQgLndpZGdldC10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nID4gaW1nLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZyA+IHNwYW4sXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUgPiBpbWcsXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUgPiBzcGFuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZyBpbWcsXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUgaW1nIHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgbWF4LWhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgei1pbmRleDogMTA7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nIGEsXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcgPiBzcGFuLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlID4gc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS41KTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1heC13aWR0aDogNzAlO1xufVxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZzo6YmVmb3JlLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlOjpiZWZvcmUge1xuICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIHotaW5kZXg6IDE7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbi53aWRnZXQgLndpZGdldC1mb290ZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbi53aWRnZXQgLndpZGdldC1mb290ZXIgYVtyb2xlPWJ1dHRvbl0ge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcikgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC42cmVtO1xufVxuLndpZGdldCAud2lkZ2V0LWZvb3RlciBhW3JvbGU9YnV0dG9uXTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKAulwiO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4ud2lkZ2V0IC53aWRnZXQtZm9vdGVyIGFbcm9sZT1idXR0b25dOmZvY3VzLCAud2lkZ2V0IC53aWRnZXQtZm9vdGVyIGFbcm9sZT1idXR0b25dOmhvdmVyIHtcbiAgLS1waWNvLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvcikgMTAlLCAjMDAwIDk1JSk7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jb250YWluZXIudG9wLWdyaWQgLnRvcC1zaWRlYmFyIC53aWRnZXQ6bGFzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogY2FsYyg2NHB4ICsgdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwcHgpICsgMXJlbSk7XG59XG5cbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAwIDAgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBrZXlmcmFtZXMgYmxpbmtlciB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG59XG4uY29tbWVudC1mb3JtLXVybCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ud3AtY2FwdGlvbiBpbWcsXG5pbWcuc2l6ZS1mdWxsLFxuaW1nLnNpemUtbGFyZ2UsXG5pbWcuc2l6ZS1tZWRpdW0sXG5pbWcuc2l6ZS10aHVtYm5haWwge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW1nLmFsaWducmlnaHQsXG5maWd1cmUuYWxpZ25yaWdodCxcbmRpdi53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwLjJyZW0gYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgaW1nLmFsaWducmlnaHQsXG4gIGZpZ3VyZS5hbGlnbnJpZ2h0LFxuICBkaXYud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwLjJyZW0gMCB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuaW1nLmFsaWdubGVmdCxcbmZpZ3VyZS5hbGlnbmxlZnQsXG5kaXYud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwLjJyZW0gYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICBpbWcuYWxpZ25sZWZ0LFxuICBmaWd1cmUuYWxpZ25sZWZ0LFxuICBkaXYud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMC4ycmVtIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbmltZy5hbGlnbm5vbmUsXG5maWd1cmUuYWxpZ25ub25lLFxuZGl2LndwLWNhcHRpb24uYWxpZ25ub25lIHtcbiAgbWFyZ2luOiAwLjJyZW0gdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuaW1nLmFsaWduY2VudGVyLFxuZmlndXJlLmFsaWduY2VudGVyLFxuZGl2LndwLWNhcHRpb24uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jd3BhZG1pbmJhciB7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG5pZnJhbWUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jb250YWluZXIuY29udGFpbmVyLWxkYjEge1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBib3gtc2hhZG93OiAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSwgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLm1haW4tc2lkZWJhciAud2lkZ2V0LW5rLWFkdi1wcmludDpub3QoOmhhcyg+ICo6bm90KDplbXB0eSkpKSB7XG4gIG1hcmdpbjogMDtcbn1cblxuZGl2W2lkXj1mbHgtXSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbmRpdltpZF49Zmx4X25lY3JvXSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpO1xufVxuXG5kaXZbaWRePWZseC1pbml6aWF0aXZlXSB7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvIHZhcigtLXBpY28tc3BhY2luZykgYXV0bztcbn1cblxuZGl2W2lkXj1mbHgtaW5pemlhdGl2ZV06bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkge1xuICBtYXJnaW46IDA7XG59XG5cbmRpdltpZF49Zmx4LWluZmVlZF0ge1xuICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG59XG5cbmRpdltpZF49Zmx4LWluZmVlZF06bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkge1xuICBtYXJnaW46IDA7XG59XG5cbiNvbmVzaWduYWwtc2xpZGVkb3duLWNvbnRhaW5lci5zbGlkZS11cCwgI29uZXNpZ25hbC1wb3BvdmVyLWNvbnRhaW5lci5zbGlkZS11cCB7XG4gIHotaW5kZXg6IDIxNDc0ODM2NDAgIWltcG9ydGFudDtcbn1cblxuLmNhcm91c2VsLWNhcmRzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBjYXJvdXNlbC1jYXJkcztcbn1cbi5jYXJvdXNlbC1jYXJkc19fdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX3RyYWNrOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM1JTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgb3BhY2l0eTogMC43NTtcbn1cbi5jYXJvdXNlbC1jYXJkc19fYXJyb3c6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2Fycm93OmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45Nik7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2Fycm93OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgI2ZmZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5jYXJvdXNlbC1jYXJkc19fYXJyb3ctLXByZXYge1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAuNXJlbSAwLjVyZW0gMDtcbn1cbi5jYXJvdXNlbC1jYXJkc19fYXJyb3ctLW5leHQge1xuICByaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtIDAgMCAwLjVyZW07XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2Fycm93IHN2ZyB7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jYXJvdXNlbC1jYXJkc19faXRlbSB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmNhcm91c2VsLWNhcmRzX19pdGVtIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AY29udGFpbmVyIGNhcm91c2VsLWNhcmRzIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gIC5jYXJvdXNlbC1jYXJkc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygoMTAwJSAtIHZhcigtLXBpY28tc3BhY2luZykpIC8gMik7XG4gIH1cbiAgLmNhcm91c2VsLWNhcmRzX19hcnJvdyB7XG4gICAgd2lkdGg6IDMuMjVyZW07XG4gICAgaGVpZ2h0OiAzLjI1cmVtO1xuICB9XG59XG5AY29udGFpbmVyIGNhcm91c2VsLWNhcmRzIChtaW4td2lkdGg6IDgyMHB4KSB7XG4gIC5jYXJvdXNlbC1jYXJkc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygoMTAwJSAtIHZhcigtLXBpY28tc3BhY2luZykgKiAyKSAvIDMpO1xuICB9XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2ZpZ3VyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5jYXJvdXNlbC1jYXJkc19fZmlndXJlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX21ldGEge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmNhcm91c2VsLWNhcmRzX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luOiAwO1xufVxuLmNhcm91c2VsLWNhcmRzX19jYXQge1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAxLjgpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJyZW07XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDUuNSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLmNhcm91c2VsLWNhcmRzX19sYW5jaW8ge1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuLmNhcm91c2VsLWNhcmRzX19pdGVtLXZpZGVvIC5jYXJvdXNlbC1jYXJkc19fZmlndXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC43NXJlbTtcbiAgcmlnaHQ6IDAuNzVyZW07XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZjtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xufVxuLmNhcm91c2VsLWNhcmRzX19pdGVtLWdhbGxlcnkgLmNhcm91c2VsLWNhcmRzX19maWd1cmU6OmJlZm9yZSwgLmNhcm91c2VsLWNhcmRzX19pdGVtLWdhbGxlcnkgLmNhcm91c2VsLWNhcmRzX19maWd1cmU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDAuNXJlbTtcbiAgcmlnaHQ6IDAuN3JlbTtcbiAgd2lkdGg6IDEuMnJlbTtcbiAgaGVpZ2h0OiAwLjlyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAuMDhyZW0gcmdiKDAsIDAsIDApKTtcbiAgei1pbmRleDogMztcbn1cbi5jYXJvdXNlbC1jYXJkc19faXRlbS1nYWxsZXJ5IC5jYXJvdXNlbC1jYXJkc19fZmlndXJlOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAuMnJlbSwgLTAuMnJlbSk7XG4gIHotaW5kZXg6IDE7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2l0ZW0tZGlyZXR0YSAuY2Fyb3VzZWwtY2FyZHNfX2ZpZ3VyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJMSVZFXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjFyZW07XG4gIGxlZnQ6IDAuMXJlbTtcbiAgYmFja2dyb3VuZDogI2U1M2UzZTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgYm9keS5ob21lIG1haW4ubWFpbi1jb250ZW50IC53aWRnZXQgLndpZGdldC10aXRsZS1pbWcsXG4gIGJvZHkuaG9tZSBtYWluLm1haW4tY29udGVudCAud2lkZ2V0IC53aWRnZXQtdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5ib2R5LmhvbWUgbWFpbi5tYWluLWNvbnRlbnQgLndpZGdldF9tdF9saXN0X3Bvc3RzOmZpcnN0LWNoaWxkIC5tb3NhaWNvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtaG9tZXBhZ2Utb3BlbmluZy1iYWNrZ3JvdW5kKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgbWFyZ2luOiAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIC0xKSB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuXG4ubW9zYWljbyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG59XG4ubW9zYWljb19faXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5tb3NhaWNvX19pdGVtIGZpZ3VyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbn1cbi5tb3NhaWNvX19pdGVtIGZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vc2FpY29fX2l0ZW0tdmlkZW8gZmlndXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjc1cmVtO1xuICByaWdodDogMC43NXJlbTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xufVxuLm1vc2FpY29fX2l0ZW0tZ2FsbGVyeSBmaWd1cmU6YmVmb3JlLFxuLm1vc2FpY29fX2l0ZW0tZ2FsbGVyeSBmaWd1cmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC41cmVtO1xuICByaWdodDogMC43cmVtO1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDAuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xuICB6LWluZGV4OiAzO1xufVxuLm1vc2FpY29fX2l0ZW0tZ2FsbGVyeSBmaWd1cmU6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjJyZW0sIC0wLjJyZW0pO1xuICB6LWluZGV4OiAxO1xufVxuLm1vc2FpY29fX2l0ZW0tZGlyZXR0YSBmaWd1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJMSVZFXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTNlM2U7XG4gIHRvcDogMC4xcmVtO1xuICBsZWZ0OiAwLjFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwcmVtIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5tb3NhaWNvX19pdGVtIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1vc2FpY29fX2l0ZW0gaDIge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuLm1vc2FpY29fX2l0ZW0tLW1haW4gZmlndXJlIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubW9zYWljb19faXRlbS0tbWFpbiBmaWd1cmUge1xuICAgIGFzcGVjdC1yYXRpbzogMTYvMTI7XG4gIH1cbn1cbi5tb3NhaWNvX19pdGVtLS1tYWluIGgyIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY29fX2l0ZW0tLW1haW4gaDIge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG59XG4ubW9zYWljb19fbWV0YSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGluc2V0OiBhdXRvIDAgMCAwO1xuICB6LWluZGV4OiAyO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLm1vc2FpY29fX2NhdCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDMpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAwLjhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAycmVtO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5tb3NhaWNvX19sYW5jaW8ge1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAgMCAwLjE1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS0xIC5tb3NhaWNvX19pdGVtLS1tYWluIGZpZ3VyZSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS0xIC5tb3NhaWNvX19pdGVtLS1tYWluIC5tb3NhaWNvX19tZXRhIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG4ubW9zYWljby0tMiAubW9zYWljb19faXRlbS0tbWFpbiBmaWd1cmUge1xuICBhc3BlY3QtcmF0aW86IDE2LzEwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS0yIC5tb3NhaWNvX19pdGVtLS1tYWluIGgyIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS0yIC5tb3NhaWNvX19pdGVtIC5tb3NhaWNvX19tZXRhIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY28tLTIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS1tdWx0aSAubW9zYWljb19faXRlbS0tbWFpbiAubW9zYWljb19fbWV0YSB7XG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS1tdWx0aSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMmZyKTtcbiAgfVxuICAubW9zYWljby0tbXVsdGkgPiAubW9zYWljb19faXRlbTpudGgtY2hpbGQoMSkge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tb3NhaWNvLS1tdWx0aSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubW9zYWljby0tbXVsdGkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDJmcik7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLm1vc2FpY28tLW11bHRpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIG1hcmdpbjogMCBhdXRvIHZhcigtLXBpY28tc3BhY2luZykgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLXByaXZhdGUge1xuICBvcGFjaXR5OiAwLjc7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1waWNvLWNvbG9yKTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2xpbms6aG92ZXIge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fbGluayAucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50OmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wb3N0LWxpc3QtdmVydGljYWxfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIH1cbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIGZsZXg6IDAgMCAyMjBweDtcbiAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0tZGlyZXR0YSAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUge1xuICBjb250ZW50OiBcIkxJVkVcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1M2UzZTtcbiAgdG9wOiAwLjFyZW07XG4gIGxlZnQ6IDAuMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDByZW0gY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbS1nYWxsZXJ5IC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmJlZm9yZSxcbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0tZ2FsbGVyeSAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjVyZW07XG4gIHJpZ2h0OiAwLjdyZW07XG4gIHdpZHRoOiAxLjJyZW07XG4gIGhlaWdodDogMC45cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG4gIHotaW5kZXg6IDM7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLWdhbGxlcnkgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjJyZW0sIC0wLjJyZW0pO1xuICB6LWluZGV4OiAxO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbS12aWRlbyAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEuMXJlbSBzb2xpZCAjZmZmZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC43NXJlbTtcbiAgcmlnaHQ6IDAuNzVyZW07XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAuMDhyZW0gcmdiKDAsIDAsIDApKTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2NvbnRlbnQge1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZykgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fY29udGVudCB7XG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgfVxufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fY2F0IHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMyk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJyZW07XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDUuNSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fbGFuY2lvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIG1hcmdpbjogMCAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wb3N0LWxpc3QtdmVydGljYWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgfVxufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdmVydGljYWxfX2V4Y2VycHQge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdmVydGljYWxfX2V4Y2VycHQge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB9XG59XG5cbi5oM2NhcmRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5oM2NhcmRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG4uaDNjYXJkc19faXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBCYWRnZS9vdmVybGF5IGZvcm1hdGkgc3BlY2lhbGkgKi9cbn1cbi5oM2NhcmRzX19pdGVtIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmgzY2FyZHNfX2l0ZW0gLmgzY2FyZHNfX2ZpZ3VyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xufVxuLmgzY2FyZHNfX2l0ZW0gLmgzY2FyZHNfX2ZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmgzY2FyZHNfX2l0ZW0gLmgzY2FyZHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW46IDA7XG59XG4uaDNjYXJkc19faXRlbS12aWRlbyAuaDNjYXJkc19fZmlndXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjc1cmVtO1xuICByaWdodDogMC43NXJlbTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEuMXJlbSBzb2xpZCAjZmZmO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG59XG4uaDNjYXJkc19faXRlbS1nYWxsZXJ5IC5oM2NhcmRzX19maWd1cmU6YmVmb3JlLCAuaDNjYXJkc19faXRlbS1nYWxsZXJ5IC5oM2NhcmRzX19maWd1cmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC41cmVtO1xuICByaWdodDogMC43cmVtO1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDAuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xuICB6LWluZGV4OiAzO1xufVxuLmgzY2FyZHNfX2l0ZW0tZ2FsbGVyeSAuaDNjYXJkc19fZmlndXJlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC4ycmVtLCAtMC4ycmVtKTtcbiAgei1pbmRleDogMTtcbn1cbi5oM2NhcmRzX19pdGVtLWRpcmV0dGEgLmgzY2FyZHNfX2ZpZ3VyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIkxJVkVcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMXJlbTtcbiAgbGVmdDogMC4xcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTUzZTNlO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG4uaDNjYXJkc19fbWV0YSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGluc2V0OiBhdXRvIDAgMCAwO1xuICB6LWluZGV4OiAyO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLmgzY2FyZHNfX2NhdCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDMpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJyZW07XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDUuNSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xufVxuLmgzY2FyZHNfX2xhbmNpbyB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLmZlYXR1cmVkLXdpdGgtbGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZlYXR1cmVkLXdpdGgtbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjhmciAxLjJmcjtcbiAgfVxufVxuLmZlYXR1cmVkLXdpdGgtbGlzdCA+IC5mZWF0dXJlZC1wb3N0IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZmVhdHVyZWQtd2l0aC1saXN0ID4gLmZlYXR1cmVkLXBvc3QgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWIge1xuICAgIG1heC13aWR0aDogMzU0cHg7XG4gICAgZmxleDogMCAwIDM1NHB4O1xuICAgIGFzcGVjdC1yYXRpbzogMTYvMTQ7XG4gIH1cbn1cbi5mZWF0dXJlZC13aXRoLWxpc3QgPiAuZmVhdHVyZWQtcG9zdCAucG9zdC1saXN0LXZlcnRpY2FsIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmZlYXR1cmVkLXdpdGgtbGlzdCA+IC5mZWF0dXJlZC1wb3N0IC5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmZlYXR1cmVkLXdpdGgtbGlzdCA+IC5mZWF0dXJlZC1wb3N0IC5wb3N0LWxpc3QtdmVydGljYWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZlYXR1cmVkLXdpdGgtbGlzdCA+IC5mZWF0dXJlZC1wb3N0IC5wb3N0LWxpc3QtdmVydGljYWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgfVxufVxuLmZlYXR1cmVkLXdpdGgtbGlzdCA+IC5mZWF0dXJlZC1wb3N0IC5wb3N0LWxpc3QtdmVydGljYWxfX2xpbmsge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZmVhdHVyZWQtd2l0aC1saXN0ID4gLmZlYXR1cmVkLXBvc3QtbGlzdCB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5mZWF0dXJlZC13aXRoLWxpc3QgPiAuZmVhdHVyZWQtcG9zdC1saXN0IC5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mZWF0dXJlZC13aXRoLWxpc3QgPiAuZmVhdHVyZWQtcG9zdC1saXN0IC5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbi5mZWF0dXJlZC13aXRoLWxpc3QgPiAuZmVhdHVyZWQtcG9zdC1saXN0IC5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZmVhdHVyZWQtd2l0aC1saXN0ID4gLmZlYXR1cmVkLXBvc3QtbGlzdCAucG9zdC1saXN0LXZlcnRpY2FsX19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuLmZlYXR1cmVkLXdpdGgtbGlzdCA+IC5mZWF0dXJlZC1wb3N0LWxpc3QgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWIge1xuICBtYXgtd2lkdGg6IDExNXB4O1xuICBmbGV4OiAwIDAgMTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZlYXR1cmVkLXdpdGgtbGlzdCA+IC5mZWF0dXJlZC1wb3N0LWxpc3QgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWIge1xuICAgIG1heC13aWR0aDogMTQ4cHg7XG4gICAgZmxleDogMCAwIDE0OHB4O1xuICB9XG59XG4uZmVhdHVyZWQtd2l0aC1saXN0ID4gLmZlYXR1cmVkLXBvc3QtbGlzdCAucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50IHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmVhdHVyZWQtd2l0aC1saXN0ID4gLmZlYXR1cmVkLXBvc3QtbGlzdCAucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mZWF0dXJlZC13aXRoLWxpc3QgPiAuZmVhdHVyZWQtcG9zdC1saXN0IC5wb3N0LWxpc3QtdmVydGljYWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgfVxufSIsIkB1c2UgJ3Nhc3M6Y29sb3InO1xuXG4kbXQtYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuJG10LWNvbG9yOiAjMzczYzQ0O1xuXG4kbXQtcHJpbWFyeS1jb2xvcjogIzAwNTk5YztcbiRtdC1wcmltYXJ5LWNvbG9yLWRhcmtlbjogY29sb3IuYWRqdXN0KCRtdC1wcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW46IGNvbG9yLmFkanVzdCgkbXQtcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogKzEwJSk7XG4kbXQtcHJpbWFyeS1pbnZlcnNlLWNvbG9yOiAjZmZmZmZmO1xuXG4kbXQtc2Vjb25kYXJ5LWNvbG9yOiAjNzM3OTg3O1xuJG10LXNlY29uZGFyeS1jb2xvci1kYXJrZW46IGNvbG9yLmFkanVzdCgkbXQtc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbjogY29sb3IuYWRqdXN0KCRtdC1zZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICsxMCUpO1xuJG10LXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yOiAjZmZmZmZmO1xuXG4kbXQtY29udHJhc3QtY29sb3I6ICMxODFjMjU7XG4kbXQtY29udHJhc3QtY29sb3ItZGFya2VuOiBjb2xvci5hZGp1c3QoJG10LWNvbnRyYXN0LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC1jb250cmFzdC1jb2xvci1saWdodGVuOiBjb2xvci5hZGp1c3QoJG10LWNvbnRyYXN0LWNvbG9yLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRtdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yOiAjZmZmZmZmO1xuXG5cblxuXG4kbXQtdGRhcmstYmFja2dyb3VuZC1jb2xvcjogIzFkMjMyNztcblxuJG10LXRkYXJrLWNvbG9yOiAjMWQyMzI3O1xuXG4kbXQtdGRhcmstcHJpbWFyeS1jb2xvcjogIzViYjRkZjtcbiRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbjogY29sb3IuYWRqdXN0KCRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW46IGNvbG9yLmFkanVzdCgkbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogKzEwJSk7XG4kbXQtdGRhcmstcHJpbWFyeS1pbnZlcnNlLWNvbG9yOiAjMTIxMjEyO1xuXG4kbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yOiAjYTNhOWI3O1xuJG10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW46IGNvbG9yLmFkanVzdCgkbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbjogY29sb3IuYWRqdXN0KCRtdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICsxMCUpO1xuJG10LXRkYXJrLXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yOiAjMTIxMjEyO1xuXG4kbXQtdGRhcmstY29udHJhc3QtY29sb3I6ICNmNWY3ZmE7XG4kbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuOiBjb2xvci5hZGp1c3QoJG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC10ZGFyay1jb250cmFzdC1jb2xvci1saWdodGVuOiBjb2xvci5hZGp1c3QoJG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRtdC10ZGFyay1jb250cmFzdC1pbnZlcnNlLWNvbG9yOiAjMTIxMjEyO1xuXG5cbiRtdC1mb250LWZhbWlseTogJ0ludGVyJywgVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuJG10LWZvbnQtc2l6ZTogMXJlbTtcbiRtdC1saW5lLWhlaWdodDogMS40cmVtO1xuJG10LWZvbnQtd2VpZ2h0OiA0MDA7XG4kbXQtbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiRtdC1oZWFkaW5nLWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgR2VvcmdpYSwgc2VyaWY7XG4kbXQtaGVhZGluZy1mb250LXdlaWdodDogNzAwO1xuXG4kbXQtc2l0ZS1oZWFkZXItaGVpZ2h0OiA2NHB4O1xuXG4kbXQtemluZGV4LWhlYWRlcjogOTk5OTk5OTtcbiRtdC16aW5kZXgtc2lkZWJhci1oYW1idXJnZXI6IDk5OTk5OTk5O1xuJG10LXppbmRleC1wb3B1cDogOTk5OTk5OTk5O1xuXG4kbXQtYnJlYWtwb2ludHM6IChcbiAgc206IChicmVha3BvaW50OiA1NzZweCxcbiAgICB2aWV3cG9ydDogMTAwJSxcbiAgICByb290LWZvbnQtc2l6ZTogMTA2LjI1JSxcbiAgKSxcbiAgbWQ6IChicmVha3BvaW50OiA3NjhweCxcbiAgICB2aWV3cG9ydDogMTAwJSxcbiAgICByb290LWZvbnQtc2l6ZTogMTEyLjUlLFxuICApLFxuICBsZzogKGJyZWFrcG9pbnQ6IDEwMjRweCxcbiAgICB2aWV3cG9ydDogMTI4MHB4LFxuICAgIHJvb3QtZm9udC1zaXplOiAxMTguNzUlLFxuICApLFxuICB4bDogKGJyZWFrcG9pbnQ6IDEyODBweCxcbiAgICB2aWV3cG9ydDogMTI4MHB4LFxuICAgIHJvb3QtZm9udC1zaXplOiAxMjUlLFxuICApLFxuICB4eGw6IChicmVha3BvaW50OiAxNTM2cHgsXG4gICAgdmlld3BvcnQ6IDEyODBweCxcbiAgICByb290LWZvbnQtc2l6ZTogMTMxLjI1JSxcbiAgKVxuKTtcblxuLy8gVGVtYSBTb2xpdG9cbltkYXRhLXRoZW1lPVwibGlnaHRcIl0sXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9XCJkYXJrXCJdKSB7XG5cbiAgLS1tdC1jb21tZW50aS1mb3JtLWJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIC0tbXQtbmVjcm9sb3JpLWZvcm0tYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDEwJSwgI2ZmZiA5MCUpO1xuICAtLW10LWdhbGxlcnktYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgNSUsICNmZmYgOTUlKTtcblxufVxuXG4vLyBUZW1hIERhcmtcbltkYXRhLXRoZW1lPVwiZGFya1wiXSxcbjpyb290W2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgLS1tdC1jb21tZW50aS1mb3JtLWJhY2tncm91bmQ6ICMxMjEyMTI7XG4gIC0tbXQtbmVjcm9sb3JpLWZvcm0tYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDEwJSwgIzAwMCA5MCUpO1xuICAtLW10LWdhbGxlcnktYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgNSUsICMwMDAgOTUlKTtcblxufSIsIkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL2ludGVyL2ludGVyLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL2ludGVyL2ludGVyLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvaW50ZXIvaW50ZXItNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9pbnRlci9pbnRlci03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL25vdG8tc2Fucy9ub3RvLXNhbnMtNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL3JvYm90by9yb2JvdG8tNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIi8qIVxuICogUGljbyBDU1Mg4pyoIHYyLjEuMSAoaHR0cHM6Ly9waWNvY3NzLmNvbSlcbiAqIENvcHlyaWdodCAyMDE5LTIwMjUgLSBMaWNlbnNlZCB1bmRlciBNSVRcbiAqL1xuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vY29sb3JzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vaGVscGVycy9mdW5jdGlvbnNcIjtcbkB1c2UgXCJ0aGVtZS1jb2xvcnNcIjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwidGhlbWVzL2RlZmF1bHRcIikge1xuICAvKipcbiAgICogU3R5bGVzXG4gICAqL1xuXG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLy8gVHlwb2dyYXBoeVxuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LWVtb2ppOlxuICAgICAgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6XG4gICAgICBzeXN0ZW0tdWksIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgICBzYW5zLXNlcmlmLCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHktZW1vamkpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LW1vbm9zcGFjZTpcbiAgICAgIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFwiU0YgTW9ub1wiLCBNZW5sbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIG1vbm9zcGFjZSxcbiAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseS1lbW9qaSk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseS1zYW5zLXNlcmlmKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS41O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxMDAlO1xuICAgICN7JGNzcy12YXItcHJlZml4fXRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xcmVtO1xuXG4gICAgLy8gQm9yZGVyc1xuICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aDogMC4xMjVyZW07XG5cbiAgICAvLyBUcmFuc2l0aW9uc1xuICAgICN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAvLyBTcGFjaW5nc1xuICAgICN7JGNzcy12YXItcHJlZml4fXNwYWNpbmc6IDFyZW07XG5cbiAgICAvLyBTcGFjaW5ncyBmb3IgdHlwb2dyYXBoeSBlbGVtZW50c1xuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWw6IDFyZW07XG4gICAgfVxuXG4gICAgLy8gU3BhY2luZ3MgZm9yIGJvZHkgPiBoZWFkZXIsIGJvZHkgPiBtYWluLCBib2R5ID4gZm9vdGVyLCBzZWN0aW9uLCBhcnRpY2xlXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2xhbmRtYXJrc1wiKSBvclxuICAgICAgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvc2VjdGlvblwiKSBvclxuICAgICAgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2NhcmRcIikgb3JcbiAgICAgIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9tb2RhbFwiKVxuICAgIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWw6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIH1cblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9ncmlkXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JpZC1jb2x1bW4tZ2FwOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncmlkLXJvdy1nYXA6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAvLyBTcGFjaW5ncyBmb3IgZm9ybSBlbGVtZW50cyBhbmQgYnV0dG9uXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9idXR0b25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY1wiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMC43NXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWw6IDFyZW07XG4gICAgfVxuXG4gICAgLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzICYgZmllbGRzZXRzIGxlZ2VuZFxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodCk7XG4gICAgfVxuXG4gICAgLy8gR3JvdXAgKHJvbGU9XCJncm91cFwiKVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZ3JvdXBcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtaW5wdXQ6IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIDAuMDYyNXJlbVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLy8gTW9kYWwgKDxkaWFsb2c+KVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbW9kYWxcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bW9kYWwtb3ZlcmxheS1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMC4zNzVyZW0pO1xuICAgIH1cblxuICAgIC8vIFNwYWNpbmdzIGZvciBuYXYgY29tcG9uZW50XG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9uYXZcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMC41cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbDogMC41cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsOiAwLjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyOiBcIj5cIjtcbiAgICB9XG5cbiAgICAvLyBDaGVja2JveGVzIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvY2hlY2tib3gtcmFkaW8tc3dpdGNoXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tY2hlY2tib3g6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkd2hpdGUpfScgc3Ryb2tlLXdpZHRoPSc0JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi1taW51czogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR3aGl0ZSl9JyBzdHJva2Utd2lkdGg9JzQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NsaW5lIHgxPSc1JyB5MT0nMTInIHgyPScxOScgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBDaGV2cm9uIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIG9yXG4gICAgICBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvYWNjb3JkaW9uXCIpIG9yXG4gICAgICBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZHJvcGRvd25cIilcbiAgICB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWNoZXZyb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOSclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIERhdGV0aW1lIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvaW5wdXQtZGF0ZVwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWRhdGU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcmVjdCB4PSczJyB5PSc0JyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHJ4PScyJyByeT0nMiclM0UlM0MvcmVjdCUzRSUzQ2xpbmUgeDE9JzE2JyB5MT0nMicgeDI9JzE2JyB5Mj0nNiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzgnIHkxPScyJyB4Mj0nOCcgeTI9JzYnJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPSczJyB5MT0nMTAnIHgyPScyMScgeTI9JzEwJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tdGltZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0Nwb2x5bGluZSBwb2ludHM9JzEyIDYgMTIgMTIgMTYgMTQnJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBTZWFyY2ggaWNvblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2lucHV0LXNlYXJjaFwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLXNlYXJjaDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMjEnIHkxPScyMScgeDI9JzE2LjY1JyB5Mj0nMTYuNjUnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIENsb3NlIGljb25cbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL21vZGFsXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tY2xvc2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPSczJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDbGluZSB4MT0nMTgnIHkxPSc2JyB4Mj0nNicgeTI9JzE4JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nNicgeTE9JzYnIHgyPScxOCcgeTI9JzE4JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBMb2FkaW5nIGljb24gKGFuaW1hdGVkKVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgICAvLyBJbnNwaXJlZCBieSBodHRwczovL2NvZGVwZW4uaW8vYWxla3NhbmRlcjM1MS9wZW4vS3pnS1BvXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWxvYWRpbmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgZmlsbD0nbm9uZScgaGVpZ2h0PScyNCcgd2lkdGg9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgJTNFJTNDc3R5bGUlM0UgZyAlN0IgYW5pbWF0aW9uOiByb3RhdGUgMnMgbGluZWFyIGluZmluaXRlOyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyAlN0QgY2lyY2xlICU3QiBzdHJva2UtZGFzaGFycmF5OiA3NSwxMDA7IHN0cm9rZS1kYXNob2Zmc2V0OiAtNTsgYW5pbWF0aW9uOiBkYXNoIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgJTdEIEBrZXlmcmFtZXMgcm90YXRlICU3QiAwJTI1ICU3QiB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgJTdEIDEwMCUyNSAlN0IgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgJTdEICU3RCBAa2V5ZnJhbWVzIGRhc2ggJTdCIDAlMjUgJTdCIHN0cm9rZS1kYXNoYXJyYXk6IDEsMTAwOyBzdHJva2UtZGFzaG9mZnNldDogMDsgJTdEIDUwJTI1ICU3QiBzdHJva2UtZGFzaGFycmF5OiA0NC41LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xNy41OyAlN0QgMTAwJTI1ICU3QiBzdHJva2UtZGFzaGFycmF5OiA0NC41LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC02MjsgJTdEICU3RCAlM0Mvc3R5bGUlM0UlM0NnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPSc0JyAvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgcm9vdCBmb250IHNpemVcbiAgICBAaWYgJGVuYWJsZS1yZXNwb25zaXZlLXR5cG9ncmFwaHkge1xuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJHZhbHVlcywgXCJicmVha3BvaW50XCIpKSB7XG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IG1hcC5nZXQoJHZhbHVlcywgXCJyb290LWZvbnQtc2l6ZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHNwYWNpbmdzXG4gIEBpZiAkZW5hYmxlLXJlc3BvbnNpdmUtc3BhY2luZ3Mge1xuICAgIC8vIExhbmRtYXJrcyBhbmQgc2VjdGlvblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9sYW5kbWFya3NcIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvc2VjdGlvblwiKSB7XG4gICAgICAjeyRzZW1hbnRpYy1yb290LWVsZW1lbnR9ID4gaGVhZGVyLFxuICAgICAgI3skc2VtYW50aWMtcm9vdC1lbGVtZW50fSA+IG1haW4sXG4gICAgICAjeyRzZW1hbnRpYy1yb290LWVsZW1lbnR9ID4gZm9vdGVyLFxuICAgICAgc2VjdGlvbiB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDE7XG4gICAgICAgICAgICAgIEBpZiAka2V5ID09IFwic21cIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuMjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1kXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxnXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjc1O1xuICAgICAgICAgICAgICB9IEBlbHNlIGlmICRrZXkgPT0gXCJ4bFwiIHtcbiAgICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMjtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwieHhsXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAyLjI1O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbDogY2FsYyhcbiAgICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAkbXVsdGlwbGllclxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgKDxhcnRpY2xlPilcbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2NhcmRcIikge1xuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDE7XG4gICAgICAgICAgICAgIEBpZiAka2V5ID09IFwic21cIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuMjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1kXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxnXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjc1O1xuICAgICAgICAgICAgICB9IEBlbHNlIGlmICRrZXkgPT0gXCJ4bFwiIHtcbiAgICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMjtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwieHhsXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAyLjI1O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbDogY2FsYyhcbiAgICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAkbXVsdGlwbGllclxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLWhvcml6b250YWw6IGNhbGMoXG4gICAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpICogJG11bHRpcGxpZXJcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvbGlua1wiKSB7XG4gICAgYSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgLy8gU2Vjb25kYXJ5ICYgQ29udHJhc3RcbiAgICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgICAmLnNlY29uZGFyeSxcbiAgICAgICAgJi5jb250cmFzdCB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUeXBvZ3JhcGh5XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gICAgLy8gU21hbGxcbiAgICBzbWFsbCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDAuODc1ZW07XG4gICAgfVxuXG4gICAgLy8gSGVhZGluZ3NcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDNyZW07XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAyLjYyNXJlbTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDEuNXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0OiAxLjE3NTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDIuMjVyZW07XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuODc0cmVtO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS4yMjU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjY4NzVyZW07XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxcmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC90YWJsZVwiKSB7XG4gICAgdGhlYWQsXG4gICAgdGZvb3Qge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aDogMC4xODc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9jb2RlXCIpIHtcbiAgICBwcmUsXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XG4gICAgfVxuXG4gICAga2JkIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5wdXRzIGFuZCBTZWxlY3RzXG4gIGlucHV0Om5vdChcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICBbdHlwZT1cImZpbGVcIl1cbiAgICApLFxuICA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSkge1xuICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbiAgfVxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzOiA1cmVtO1xuICB9XG5cbiAgLy8gQ2hlY2tib3hlcywgUmFkaW9zIGFuZCBTd2l0Y2hlc1xuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICAgIH1cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGg6IDAuMTg3NXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBEcm9wZG93biAoZGV0YWlscy5kcm9wZG93bilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICAgIHN1bW1hcnk6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgIGRldGFpbHMuZHJvcGRvd24ge1xuICAgICAgICBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMTI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gR3JvdXAgKHJvbGU9XCJncm91cFwiKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2dyb3VwXCIpIHtcbiAgICBbcm9sZT1cInNlYXJjaFwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzOiA1cmVtO1xuICAgIH1cblxuICAgIFtyb2xlPVwic2VhcmNoXCJdLFxuICAgIFtyb2xlPVwiZ3JvdXBcIl0ge1xuICAgICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAgICY6aGFzKFxuICAgICAgICAgICAgYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFtyb2xlPVwiYnV0dG9uXCJdLnNlY29uZGFyeTpmb2N1c1xuICAgICAgICAgICkge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1cyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyhcbiAgICAgICAgICAgIGJ1dHRvbi5jb250cmFzdDpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLmNvbnRyYXN0OmZvY3VzLFxuICAgICAgICAgICAgW3R5cGU9XCJidXR0b25cIl0uY29udHJhc3Q6Zm9jdXMsXG4gICAgICAgICAgICBbcm9sZT1cImJ1dHRvblwiXS5jb250cmFzdDpmb2N1c1xuICAgICAgICAgICkge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWZvY3VzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBidXR0b24sXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENoZXZyb24gaWNvbnNcbiAgLy8gQ2hhbmdlIHRoZSBpY29uIGNvbG9yIHRvIHdoaXRlIGZvciBhY2NvcmRpb24gYW5kIGRyb3Bkb3duIGJ1dHRvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMge1xuICAgICAgc3VtbWFyeSB7XG4gICAgICAgICRzZWxlY3RvcjogJyZbcm9sZT1cImJ1dHRvblwiXSc7XG4gICAgICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn06bm90KC5vdXRsaW5lKVwiO1xuICAgICAgICB9XG4gICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMb2FkaW5nIGljb24gKGFuaW1hdGVkKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2xvYWRpbmdcIikge1xuICAgIC8vIENoYW5nZSB0aGUgaWNvbiBjb2xvciB0byB3aGl0ZSBmb3IgYnV0dG9uc1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gW2FyaWEtYnVzeT1cInRydWVcIl06bm90KGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICAkc2VsZWN0b3I6ICcmOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbcm9sZT1cImJ1dHRvblwiXSknO1xuICAgICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn06bm90KC5vdXRsaW5lKVwiO1xuICAgICAgfVxuICAgICAgI3skc2VsZWN0b3J9IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaW52ZXJzZVwiLCBcImRhcmtcIikgPT0gJHdoaXRlIHtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AdXNlIFwibGlnaHRcIjtcbkB1c2UgXCJkYXJrXCI7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcInRoZW1lcy9kZWZhdWx0XCIpIHtcbiAgLyoqXG4gICAqIENvbG9yIHNjaGVtZXNcbiAgICovXG5cbiAgLy8gTGlnaHQgY29sb3Igc2NoZW1lIChEZWZhdWx0KVxuICAvLyBDYW4gYmUgZm9yY2VkIHdpdGggZGF0YS10aGVtZT1cImxpZ2h0XCJcbiAgW2RhdGEtdGhlbWU9XCJsaWdodFwiXSxcbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lPVwiZGFya1wiXSksXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWU9XCJkYXJrXCJdKSkge1xuICAgIEBpbmNsdWRlIGxpZ2h0LnRoZW1lO1xuICB9XG5cbiAgLy8gRGFyayBjb2xvciBzY2hlbWUgKEF1dG8pXG4gIC8vIEF1dG9tYXRpY2FsbHkgZW5hYmxlZCBpZiB1c2VyIGhhcyBEYXJrIG1vZGUgZW5hYmxlZFxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIDpyb290Om5vdChbZGF0YS10aGVtZV0pLFxuICAgIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkge1xuICAgICAgQGluY2x1ZGUgZGFyay50aGVtZTtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIGNvbG9yIHNjaGVtZSAoRm9yY2VkKVxuICAvLyBFbmFibGVkIGlmIGZvcmNlZCB3aXRoIGRhdGEtdGhlbWU9XCJkYXJrXCJcbiAgW2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICBAaW5jbHVkZSBkYXJrLnRoZW1lO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBwcm9ncmVzcyxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgYWNjZW50LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeSk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9jb2xvcnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3NldHRpbmdzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9oZWxwZXJzL2Z1bmN0aW9uc1wiO1xuQHVzZSBcInRoZW1lLWNvbG9yc1wiO1xuXG4vLyBEZWZhdWx0OiBMaWdodCB0aGVtZVxuQG1peGluIHRoZW1lIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogI3skd2hpdGV9O1xuXG4gIC8vIFRleHQgY29sb3JcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6ICN7JHppbmMtNzUwfTtcblxuICAvLyBUZXh0IHNlbGVjdGlvbiBjb2xvclxuICAjeyRjc3MtdmFyLXByZWZpeH10ZXh0LXNlbGVjdGlvbi1jb2xvcjogdGhlbWUtY29sb3JzLmdldChcInRleHQtc2VsZWN0aW9uLWNvbG9yXCIsIFwibGlnaHRcIik7XG5cbiAgLy8gTXV0ZWQgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yOiAjeyR6aW5jLTU1MH07XG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTEwMCwgJHNsYXRlLTUwKX07XG5cbiAgLy8gUHJpbWFyeSBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnlcIiwgXCJsaWdodFwiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1iYWNrZ3JvdW5kXCIsIFwibGlnaHRcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS11bmRlcmxpbmU6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LXVuZGVybGluZVwiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1ob3ZlclwiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWhvdmVyLWJhY2tncm91bmRcIiwgXCJsaWdodFwiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1mb2N1c1wiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWludmVyc2U6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWludmVyc2VcIiwgXCJsaWdodFwiKTtcblxuICAvLyBTZWNvbmRhcnkgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeTogI3skc2xhdGUtNTUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQ6ICN7JHNsYXRlLTYwMH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtNTUwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyOiAjeyRzbGF0ZS02NTB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogI3skc2xhdGUtNjUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1czogI3tyZ2JhKCRzbGF0ZS01NTAsIDAuMjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2U6ICN7JHdoaXRlfTtcblxuICAvLyBDb250cmFzdCBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3Q6ICN7JHNsYXRlLTkwMH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQ6ICN7JHNsYXRlLTkwMH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtOTAwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXI6ICN7JGJsYWNrfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI3skYmxhY2t9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtZm9jdXM6ICN7cmdiYSgkc2xhdGUtNTUwLCAwLjI1KX07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2U6ICN7JHdoaXRlfTtcblxuICAvLyBCb3ggc2hhZG93XG4gICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IGZ1bmN0aW9ucy5zaGFkb3coJHNsYXRlLTQwMCk7XG5cbiAgLy8gVHlwb2dyYXBoeVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3R5cG9ncmFwaHlcIikge1xuICAgIC8vIEhlYWRpbmdzIGNvbG9yc1xuICAgICN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yOiAjeyR6aW5jLTgwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDItY29sb3I6ICN7JHppbmMtNzUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oMy1jb2xvcjogI3skemluYy03MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWg0LWNvbG9yOiAjeyR6aW5jLTY1MH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDUtY29sb3I6ICN7JHppbmMtNjAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oNi1jb2xvcjogI3skemluYy01NTB9O1xuXG4gICAgLy8gSGlnaGxpZ2h0ZWQgdGV4dCAoPG1hcms+KVxuICAgICN7JGNzcy12YXItcHJlZml4fW1hcmstYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJGFtYmVyLTEwMCwgJGFtYmVyLTUwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bWFyay1jb2xvcjogI3skemluYy05NTB9O1xuXG4gICAgLy8gSW5zZXJ0ZWQgKDxpbnM+KSAmIERlbGV0ZWQgKDxkZWw+KVxuICAgICN7JGNzcy12YXItcHJlZml4fWlucy1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkemluYy03NTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kZWwtY29sb3I6ICN7Y29sb3IubWl4KCRyZWQtNTAwLCAkemluYy03NTApfTtcblxuICAgIC8vIEJsb2NrcXVvdGVcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gIH1cblxuICAvLyBCdXR0b25cbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9idXR0b25cIikge1xuICAgIC8vIFRvIGRpc2FibGUgYm94LXNoYWRvdywgcmVtb3ZlIHRoZSB2YXIgb3Igc2V0IHRvICcwIDAgMCByZ2JhKDAsIDAsIDAsIDApJ1xuICAgIC8vIERvbid0IHVzZSwgJ25vbmUsICdmYWxzZSwgJ251bGwnLCAnMCcsIGV0Yy5cbiAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIC8vIFRhYmxlXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdGFibGVcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dGFibGUtcm93LXN0cmlwcGVkLWJhY2tncm91bmQtY29sb3I6ICN7cmdiYSgkemluYy01MDAsIDAuMDM3NSl9O1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2NvZGVcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTUwLCAkd2hpdGUsIDc1JSl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtY29sb3I6ICN7JHppbmMtNTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWtiZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUta2JkLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBGb3JtIGVsZW1lbnRzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS01MCwgJHdoaXRlLCAyNSUpfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtMTAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS0xNTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcjogI3skemluYy04NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KCRyZWQtNTAwLCAkemluYy0zNTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peChcbiAgICAgICAgJHJlZC01MDAsXG4gICAgICAgICR6aW5jLTM1MCxcbiAgICAgICAgNzUlXG4gICAgICApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkemluYy0zNTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoXG4gICAgICAgICRqYWRlLTQ1MCxcbiAgICAgICAgJHppbmMtMzUwLFxuICAgICAgICA3NSVcbiAgICAgICl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICApO1xuICB9XG5cbiAgLy8gU3dpdGNoIChpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvY2hlY2tib3gtcmFkaW8tc3dpdGNoXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtMjAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdzogdGhlbWUtY29sb3JzLmdldChcInN3aXRjaC10aHVtYi1ib3gtc2hhZG93XCIsIFwibGlnaHRcIik7XG4gIH1cblxuICAvLyBSYW5nZSAoaW5wdXRbdHlwZT1cInJhbmdlXCJdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9pbnB1dC1yYW5nZVwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTIwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItYWN0aXZlLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIC8vIEFjY29yZGlvbiAoPGRldGFpbHM+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2FjY29yZGlvblwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgfVxuXG4gIC8vIENhcmQgKDxhcnRpY2xlPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9jYXJkXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS01MCwgJHdoaXRlLCAyNSUpfTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtNTB9O1xuICB9XG5cbiAgLy8gTG9hZGluZyAoW2FyaWEtYnVzeT10cnVlXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9sb2FkaW5nXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1sb2FkaW5nLXNwaW5uZXItb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLy8gTW9kYWwgKDxkaWFsb2c+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL21vZGFsXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1tb2RhbC1vdmVybGF5LWJhY2tncm91bmQtY29sb3I6ICN7cmdiYShjb2xvci5taXgoJHppbmMtMTAwLCAkemluYy01MCksIDAuNzUpfTtcbiAgfVxuXG4gIC8vIFByb2dyZXNzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvcHJvZ3Jlc3NcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICN7JHNsYXRlLTEwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cHJvZ3Jlc3MtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICB9XG5cbiAgLy8gVG9vbHRpcCAoW2RhdGEtdG9vbHRpcF0pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvdG9vbHRpcFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dG9vbHRpcC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2UpO1xuICB9XG5cbiAgLy8gRm9ybSB2YWxpZGF0aW9uIGljb25zXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkamFkZS00NTAsICR6aW5jLTM1MCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkcmVkLTUwMCwgJHppbmMtMzUwLCA3NSUpKX0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTIuMDEnIHkyPScxNiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAvLyBGb2N1cyBmb3IgYnV0dG9ucywgcmFkaW8gYW5kIHNlbGVjdFxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY3NcIikge1xuICAgIGlucHV0OmlzKFxuICAgICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIFt0eXBlPVwiZmlsZVwiXVxuICAgICAgKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9jb2xvcnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3NldHRpbmdzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9oZWxwZXJzL2Z1bmN0aW9uc1wiO1xuQHVzZSBcInRoZW1lLWNvbG9yc1wiO1xuXG4vLyBEZWZhdWx0OiBEYXJrIHRoZW1lXG5AbWl4aW4gdGhlbWUge1xuICBjb2xvci1zY2hlbWU6IGRhcms7XG4gICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05NTAsICRzbGF0ZS05MDApfTtcblxuICAvLyBUZXh0IGNvbG9yXG4gICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiAjeyR6aW5jLTIwMH07XG5cbiAgLy8gVGV4dCBzZWxlY3Rpb24gY29sb3JcbiAgI3skY3NzLXZhci1wcmVmaXh9dGV4dC1zZWxlY3Rpb24tY29sb3I6IHRoZW1lLWNvbG9ycy5nZXQoXCJ0ZXh0LXNlbGVjdGlvbi1jb2xvclwiLCBcImRhcmtcIik7XG5cbiAgLy8gTXV0ZWQgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yOiAjeyR6aW5jLTQ1MH07XG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcblxuICAvLyBQcmltYXJ5IGNvbG9yc1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5OiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeVwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZDogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktYmFja2dyb3VuZFwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS11bmRlcmxpbmU6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LXVuZGVybGluZVwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXI6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWhvdmVyXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1mb2N1c1wiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaW52ZXJzZVwiLCBcImRhcmtcIik7XG5cbiAgLy8gU2Vjb25kYXJ5IGNvbG9yc1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnk6ICN7JHppbmMtMzUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQ6ICN7JHNsYXRlLTYwMH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS11bmRlcmxpbmU6ICN7cmdiYSgkemluYy0zNTAsIDAuNSl9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXI6ICN7JHppbmMtMjUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICN7JHNsYXRlLTU1MH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXM6ICN7cmdiYSgkc2xhdGUtMzUwLCAwLjI1KX07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1pbnZlcnNlOiAjeyR3aGl0ZX07XG5cbiAgLy8gQ29udHJhc3QgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0OiAjeyRzbGF0ZS0xMDB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1iYWNrZ3JvdW5kOiAjeyRzbGF0ZS01MH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtMTAwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXI6ICN7JHdoaXRlfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI3skd2hpdGV9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1mb2N1czogI3tyZ2JhKCRzbGF0ZS0xNTAsIDAuMjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZTogI3skYmxhY2t9O1xuXG4gIC8vIEJveCBzaGFkb3dcbiAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogZnVuY3Rpb25zLnNoYWRvdyhjb2xvci5taXgoJGJsYWNrLCAkc2xhdGUtOTUwKSk7XG5cbiAgLy8gVHlwb2dyYXBoeVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3R5cG9ncmFwaHlcIikge1xuICAgIC8vIEhlYWRpbmdzIGNvbG9yc1xuICAgICN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yOiAjeyR6aW5jLTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oMi1jb2xvcjogI3skemluYy0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWgzLWNvbG9yOiAjeyR6aW5jLTIwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDQtY29sb3I6ICN7JHppbmMtMjUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oNS1jb2xvcjogI3skemluYy0zMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWg2LWNvbG9yOiAjeyR6aW5jLTQwMH07XG5cbiAgICAvLyBIaWdobGlnaHRlZCB0ZXh0ICg8bWFyaz4pXG4gICAgI3skY3NzLXZhci1wcmVmaXh9bWFyay1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRhenVyZS03NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fW1hcmstY29sb3I6ICN7JHdoaXRlfTtcblxuICAgIC8vIEluc2VydGVkICg8aW5zPikgJiBEZWxldGVkICg8ZGVsPilcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1pbnMtY29sb3I6ICN7Y29sb3IubWl4KCRqYWRlLTQ1MCwgJHppbmMtMjAwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yOiAje2NvbG9yLm1peCgkcmVkLTUwMCwgJHppbmMtMjAwKX07XG5cbiAgICAvLyBCbG9ja3F1b3RlXG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICB9XG5cbiAgLy8gQnV0dG9uXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvYnV0dG9uXCIpIHtcbiAgICAvLyBUbyBkaXNhYmxlIGJveC1zaGFkb3csIHJlbW92ZSB0aGUgdmFyIG9yIHNldCB0byAnMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSdcbiAgICAvLyBEb24ndCB1c2UsICdub25lLCAnZmFsc2UsICdudWxsJywgJzAnLCBldGMuXG4gICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cblxuICAvLyBUYWJsZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3RhYmxlXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXRhYmxlLXJvdy1zdHJpcHBlZC1iYWNrZ3JvdW5kLWNvbG9yOiAje3JnYmEoJHppbmMtNTAwLCAwLjAzNzUpfTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9jb2RlXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05MDAsICRzbGF0ZS04NTAsIDc1JSl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtY29sb3I6ICN7JHppbmMtNDAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWtiZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUta2JkLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBGb3JtIGVsZW1lbnRzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05MDAsICRzbGF0ZS04NTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcjogI3skemluYy0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogI3skemluYy00MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoXG4gICAgICAgICRzbGF0ZS05MDAsXG4gICAgICAgICRzbGF0ZS04NTAsXG4gICAgICAgIDc1JVxuICAgICAgKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ib3JkZXIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peCgkcmVkLTUwMCwgJHNsYXRlLTYwMCl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KFxuICAgICAgICAkcmVkLTUwMCxcbiAgICAgICAgJHNsYXRlLTYwMCxcbiAgICAgICAgNzUlXG4gICAgICApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkc2xhdGUtNjAwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KFxuICAgICAgICAkamFkZS00NTAsXG4gICAgICAgICRzbGF0ZS02MDAsXG4gICAgICAgIDc1JVxuICAgICAgKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gIH1cblxuICAvLyBTd2l0Y2ggKGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtyb2xlPVwic3dpdGNoXCJdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS03NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jb2xvcjogI3skd2hpdGV9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiB0aGVtZS1jb2xvcnMuZ2V0KFwic3dpdGNoLXRodW1iLWJveC1zaGFkb3dcIiwgXCJkYXJrXCIpO1xuICB9XG5cbiAgLy8gUmFuZ2UgKGlucHV0W3R5cGU9XCJyYW5nZVwiXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvaW5wdXQtcmFuZ2VcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1yYW5nZS1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWFjdGl2ZS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gIH1cblxuICAvLyBBY2NvcmRpb24gKDxkZXRhaWxzPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gIH1cblxuICAvLyBDYXJkICg8YXJ0aWNsZT4pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvY2FyZFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS05MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTkwMCwgJHNsYXRlLTg1MCwgNzUlKX07XG4gIH1cblxuICAvLyBEcm9wZG93biAoZGV0YWlscy5kcm9wZG93bilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS05MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgfVxuXG4gIC8vIExvYWRpbmcgKFthcmlhLWJ1c3k9dHJ1ZV0pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bG9hZGluZy1zcGlubmVyLW9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC8vIE1vZGFsICg8ZGlhbG9nPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9tb2RhbFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bW9kYWwtb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yOiAje3JnYmEoY29sb3IubWl4KCRibGFjaywgJHppbmMtOTUwKSwgMC43NSl9O1xuICB9XG5cbiAgLy8gUHJvZ3Jlc3NcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9wcm9ncmVzc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1wcm9ncmVzcy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gIH1cblxuICAvLyBUb29sdGlwIChbZGF0YS10b29sdGlwXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy90b29sdGlwXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10b29sdGlwLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10b29sdGlwLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZSk7XG4gIH1cblxuICAvLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoY29sb3IubWl4KCRqYWRlLTQ1MCwgJHNsYXRlLTYwMCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkcmVkLTUwMCwgJHNsYXRlLTYwMCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gIC8vIEZvY3VzIGZvciBidXR0b25zLCByYWRpbyBhbmQgc2VsZWN0XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgaW5wdXQ6aXMoXG4gICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgICAgW3R5cGU9XCJmaWxlXCJdXG4gICAgICApIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZXZyb24gaWNvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIHtcbiAgICAvLyBDaGFuZ2UgdGhlIGljb24gY29sb3IgdG8gYmxhY2sgZm9yIGFjY29yZGlvbiBhbmQgZHJvcGRvd24gLmNvbnRyYXN0IGJ1dHRvbnNcbiAgICBAaWYgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscyB7XG4gICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgICZbcm9sZT1cImJ1dHRvblwiXS5jb250cmFzdDpub3QoLm91dGxpbmUpIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExvYWRpbmcgaWNvbiAoYW5pbWF0ZWQpXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgLy8gQ2hhbmdlIHRoZSBpY29uIGNvbG9yIHRvIGJsYWNrIGZvciAuY29udHJhc3QgYnV0dG9uc1xuICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1idXN5PVwidHJ1ZVwiXTpub3QoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgICAgICAgJi5jb250cmFzdDppcyhcbiAgICAgICAgICAgIGJ1dHRvbixcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICAgICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgICAgICAgW3JvbGU9XCJidXR0b25cIl1cbiAgICAgICAgICApOm5vdCgub3V0bGluZSkge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9kb2N1bWVudFwiKSB7XG4gIC8qKlxuICAgKiBEb2N1bWVudFxuICAgKiBDb250ZW50LWJveCAmIFJlc3BvbnNpdmUgdHlwb2dyYXBoeVxuICAgKi9cblxuICAvLyBSZWJvb3QgYmFzZWQgb24gOlxuICAvLyAtIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyAxLiBBZGQgYm9yZGVyIGJveCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQmFja2dyb3VuZHMgZG8gbm90IHJlcGVhdCBieSBkZWZhdWx0IChvcGluaW9uYXRlZClcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIEFkZCB0ZXh0IGRlY29yYXRpb24gaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQWRkIHZlcnRpY2FsIGFsaWdubWVudCBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICA6OmJlZm9yZSxcbiAgOjphZnRlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvLyAxXG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQnJlYWtzIHdvcmRzIHRvIHByZXZlbnQgb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMy4gVXNlIGEgNC1zcGFjZSB0YWIgd2lkdGggaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gNC4gUmVtb3ZlIHRoZSBncmV5IGhpZ2hsaWdodCBvbiBsaW5rcyBpbiBpT1MgKG9waW5pb25hdGVkKVxuICAvLyA1LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPU1xuICA6d2hlcmUoOnJvb3QpLFxuICA6d2hlcmUoOmhvc3QpIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyA0XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA1XG4gICAgdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNVxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpOyAvLyAxXG4gICAgZm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseSk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dGV4dC11bmRlcmxpbmUtb2Zmc2V0KTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IC8vIDJcbiAgICB0YWItc2l6ZTogNDsgLy8gM1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9sYW5kbWFya3NcIikge1xuICAvKipcbiAgICogTGFuZG1hcmtzXG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gIGJvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICB9XG5cbiAgLy8gUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUVcbiAgbWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9ICN7JHNlbWFudGljLXJvb3QtZWxlbWVudH0ge1xuICAgID4gaGVhZGVyLFxuICAgID4gbWFpbixcbiAgICA+IGZvb3RlciB7XG4gICAgICAvLyA8aGVhZGVyPiwgPG1haW4+LCA8Zm9vdGVyPiBhcyBjb250YWluZXJzXG4gICAgICBAaWYgJGVuYWJsZS1zZW1hbnRpYy1jb250YWluZXIge1xuICAgICAgICAkZmlyc3QtYnJlYWtwb2ludDogdHJ1ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICAgIEBpZiAkZW5hYmxlLXZpZXdwb3J0IHtcbiAgICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRicmVha3BvaW50cyB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCR2YWx1ZXMsIFwiYnJlYWtwb2ludFwiKSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcInZpZXdwb3J0XCIpO1xuICAgICAgICAgICAgICAgIEBpZiAkZmlyc3QtYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAgICAgICAkZmlyc3QtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZWd1bGFyIHZlcnRpY2FsIHNwYWNpbmdzIGZvciA8aGVhZGVyPiwgPG1haW4+LCA8Zm9vdGVyPlxuICAgICAgQGVsc2Uge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9zZWN0aW9uXCIpIHtcbiAgLyoqXG4gICAqIFNlY3Rpb25cbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2NvbnRhaW5lclwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgLyoqXG4gICAqIENvbnRhaW5lclxuICAgKi9cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgJGZpcnN0LWJyZWFrcG9pbnQ6IHRydWU7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmICR2YWx1ZXMge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG1hcC5nZXQoJHZhbHVlcywgXCJ2aWV3cG9ydFwiKTtcbiAgICAgICAgICBAaWYgJGZpcnN0LWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgJGZpcnN0LWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2dyaWRcIikgYW5kICRlbmFibGUtY2xhc3NlcyB7XG4gIC8qKlxuICAgKiBHcmlkXG4gICAqIE1pbmltYWwgZ3JpZCBzeXN0ZW0gd2l0aCBhdXRvLWxheW91dCBjb2x1bW5zXG4gICAqL1xuXG4gIC5ncmlkIHtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ncmlkLWNvbHVtbi1nYXApO1xuICAgIGdyaWQtcm93LWdhcDogdmFyKCN7JGNzcy12YXItcHJlZml4fWdyaWQtcm93LWdhcCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgIEBpZiBtYXAuZ2V0KCRicmVha3BvaW50cywgXCJtZFwiKSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldChtYXAuZ2V0KCRicmVha3BvaW50cywgXCJtZFwiKSwgXCJicmVha3BvaW50XCIpKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMCUsIDFmcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIG1pbi13aWR0aDogMDsgLy8gSEFDSyBmb3IgY2hpbGRyZW4gaW4gb3ZlcmZsb3dcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L292ZXJmbG93LWF1dG9cIikgYW5kICRlbmFibGUtY2xhc3NlcyB7XG4gIC8qKlxuICAgKiBPdmVyZmxvdyBhdXRvXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gLm92ZXJmbG93LWF1dG8ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gIC8qKlxuICAgKiBUeXBvZ3JhcGh5XG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBiLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdWIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gUGljb1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFkZHJlc3MsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYmxvY2txdW90ZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBvbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBwLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHByZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0YWJsZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB1bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodCk7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgxLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgzLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg1LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseSk7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgxIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgyIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgyLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgzIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgzLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg0IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg0LWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg1IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg1LWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg2IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg2LWNvbG9yKTtcbiAgfVxuXG4gIC8vIE1hcmdpbi10b3AgZm9yIGhlYWRpbmdzIGFmdGVyIGEgYmxvY2tcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIDp3aGVyZShhcnRpY2xlLCBhZGRyZXNzLCBibG9ja3F1b3RlLCBkbCwgZmlndXJlLCBmb3JtLCBvbCwgcCwgcHJlLCB0YWJsZSwgdWwpIHtcbiAgICB+IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXRvcCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHAge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSGVhZGluZyBncm91cFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG5cbiAgICA+ICoge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpOmxhc3QtY2hpbGQge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodDogdW5zZXQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gTGlzdHNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUob2wsIHVsKSB7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1hcmdpbi10b3AgZm9yIG5lc3RlZCBsaXN0c1xuICAvLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBuZXN0ZWQgbGlzdHMgaW4gQ2hyb21lLCBFZGdlLCBJRSwgYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShkbCwgb2wsIHVsKSA6d2hlcmUoZGwsIG9sLCB1bCkge1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjI1KTtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgfVxuXG4gIC8vIEhpZ2hsaWdodGVkIHRleHRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBtYXJrIHtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bWFyay1jb2xvcik7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gQmxvY2txdW90ZVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJsb2NrcXVvdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgMDtcbiAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMC4yNXJlbSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kOiBub25lO1xuXG4gICAgZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xuICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICAvLyAxLiBSZW1vdmUgdW5kZXJsaW5lIGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vIDFcbiAgICBjdXJzb3I6IGhlbHA7XG4gIH1cblxuICAvLyBJbnNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnMge1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aW5zLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBkZWxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZWwge1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yKTtcbiAgfVxuXG4gIC8vIHNlbGVjdGlvblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dGV4dC1zZWxlY3Rpb24tY29sb3IpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvbGlua1wiKSB7XG4gIC8qKlxuICAgKiBMaW5rXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGE6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSksXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJsaW5rXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktdW5kZXJsaW5lKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTsgLy8gMVxuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdmFyKCN7JGNzcy12YXItcHJlZml4fXRleHQtZGVjb3JhdGlvbik7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lKTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTI1ZW07XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICB0ZXh0LWRlY29yYXRpb24gdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItdW5kZXJsaW5lKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgLy8gU2Vjb25kYXJ5XG4gICAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5KTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LXVuZGVybGluZSk7XG5cbiAgICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ29udHJhc3RcbiAgICAgICYuY29udHJhc3Qge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtdW5kZXJsaW5lKTtcblxuICAgICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXIpO1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGEge1xuICAgICZbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvYnV0dG9uXCIpIHtcbiAgLyoqXG4gICAqIEJ1dHRvblxuICAgKi9cblxuICAvLyBSZWJvb3QgYmFzZWQgb24gOlxuICAvLyAtIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vyc1xuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBjb250cm9scyBpbiBTYWZhcmlcbiAgLy8gMy4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDNcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyAxXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgYnV0dG9ucyBpbiBpT1MgYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJlc2V0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFBpY29cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBidXR0b24sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJzdWJtaXRcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyZXNldFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImJ1dHRvblwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWludmVyc2UpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24tYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSk7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgIGJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pKSxcbiAgICAmOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItYm9yZGVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3csXG4gICAgICAgIDAgMCAwIHJnYmEoMCwgMCwgMCwgMClcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pKTpmb2N1cyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpLFxuICAgICAgICAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJzdWJtaXRcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyZXNldFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLy8gLnNlY29uZGFyeSwgLmNvbnRyYXN0ICYgLm91dGxpbmVcbiAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSA6aXMoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKS5zZWNvbmRhcnksXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJlc2V0XCJdLFxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJvcmRlcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1pbnZlcnNlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJvcmRlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2UpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSk6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnRyYXN0XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSA6aXMoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKS5jb250cmFzdCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ib3JkZXIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1pbnZlcnNlKTtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXIpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2UpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSk6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAocHJpbWFyeSlcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pLm91dGxpbmUsXG4gICAgW3R5cGU9XCJyZXNldFwiXS5vdXRsaW5lIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5KTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAoc2Vjb25kYXJ5KVxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICAgIDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pLm91dGxpbmUuc2Vjb25kYXJ5LFxuICAgIFt0eXBlPVwicmVzZXRcIl0ub3V0bGluZSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeSk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnkpO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAoY29udHJhc3QpXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgICAgOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbcm9sZT1cImJ1dHRvblwiXSkub3V0bGluZS5jb250cmFzdCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIFNlY29uZGFyeSBidXR0b24gd2l0aG91dCAuY2xhc3NcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmVzZXRcIl0sXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYm9yZGVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2UpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYm9yZGVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaW52ZXJzZSk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBbZGlzYWJsZWRdXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICA6d2hlcmUoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKVtkaXNhYmxlZF0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICA6d2hlcmUoZmllbGRzZXRbZGlzYWJsZWRdKVxuICAgIDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3JvbGU9XCJidXR0b25cIl0pIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9lbWJlZGRlZFwiKSB7XG4gIC8qKlxuICAgKiBFbWJlZGRlZCBjb250ZW50XG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGF1ZGlvLCBjYW52YXMsIGlmcmFtZSwgaW1nLCBzdmcsIHZpZGVvKSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYXVkaW8sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTdcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaWZyYW1lcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShpZnJhbWUpIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICAvLyAyLiBSZXNwb25zaXZlIGJ5IGRlZmF1bHRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMlxuICAgIGhlaWdodDogYXV0bzsgLy8gMlxuICAgIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gMVxuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSBmaWxsIGNvbG9yIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG9yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKHN2Zzpub3QoW2ZpbGxdKSkge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ZnOm5vdCg6cm9vdCksXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ZnOm5vdCg6aG9zdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9maWd1cmVcIikge1xuICAvKipcbiAgICogRmlndXJlXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZmlndXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAwLjUpIDA7XG4gICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9taXNjXCIpIHtcbiAgLyoqXG4gICAqIE1pc2NcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3hcbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGhyIHtcbiAgICBoZWlnaHQ6IDA7IC8vIDJcbiAgICBtYXJnaW46IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2hpZGRlbl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGVtcGxhdGUge1xuICAgIEBpZiAkZW5hYmxlLWltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gY2FudmFzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgLy8gSGVscGVyXG4gICRoZWxwZXItcHJldmlvdXMtdGFnczogXCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgZmllbGRzZXRcIjtcbiAgLyoqXG4gICAqIEJhc2ljcyBmb3JtIGVsZW1lbnRzXG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG9wdGdyb3VwLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gICAgZm9udC1zaXplOiAxcmVtOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7IC8vIDFcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRVxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvLyAxXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTBcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaVxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIG9mIGZvY3VzIG91dGxpbmVzIGluIEZpcmVmb3hcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gIFJlbW92ZSB0aGUgZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIDppbnZhbGlkIHN0eWxlcyBpbiBGaXJlZm94XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOi1tb3otdWktaW52YWxpZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgaW5jb25zaXN0ZW50IGFwcGVhcmFuY2UgaW4gSUUgKG9waW5pb25hdGVkKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJmaWxlXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gUGljb1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyBGb3JjZSBoZWlnaHQgZm9yIGFsdGVybmF0aXZlcyBpbnB1dCB0eXBlc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdLCBbdHlwZT1cInJhbmdlXCJdKSB7XG4gICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgKDFyZW0gKiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpKSArXG4gICAgICAgICh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMikgK1xuICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICk7XG4gIH1cblxuICAvLyBGaWVsZHNldFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGZpZWxkc2V0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gTGFiZWwgJiBsZWdlbmRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBmaWVsZHNldCBsZWdlbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpICogMC4zNzUpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1sYWJlbC1mb250LXdlaWdodCwgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KSk7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAwLjUpO1xuICB9XG5cbiAgLy8gQmxvY2tzLCAxMDAlXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBSZXNldCBhcHBlYXJhbmNlIChOb3QgQ2hlY2tib3hlcywgUmFkaW9zLCBSYW5nZSBhbmQgRmlsZSlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICB9XG5cbiAgLy8gQ29tbW9ucyBzdHlsZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3cpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpO1xuXG4gICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGJvcmRlci1jb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm94LXNoYWRvdyB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlICYgRm9jdXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIGlucHV0Om5vdChcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICBbcmVhZG9ubHldXG4gICAgKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlICYgRm9jdXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFtyb2xlPVwic3dpdGNoXCJdLCBbcmVhZG9ubHldKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvY3VzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICBpbnB1dDpub3QoXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICAgIFt0eXBlPVwicmFuZ2VcIl0sXG4gICAgICBbdHlwZT1cImZpbGVcIl0sXG4gICAgICBbcmVhZG9ubHldXG4gICAgKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0pW2Rpc2FibGVkXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3RbZGlzYWJsZWRdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhW2Rpc2FibGVkXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIDp3aGVyZShmaWVsZHNldFtkaXNhYmxlZF0pXG4gICAgOmlzKGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0pLCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgb3BhY2l0eTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWxbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gQXJpYS1pbnZhbGlkXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgJjpub3QoXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgICAgW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAgICAgW3R5cGU9XCJtb250aFwiXSxcbiAgICAgICAgW3R5cGU9XCJ0aW1lXCJdLFxuICAgICAgICBbdHlwZT1cIndlZWtcIl0sXG4gICAgICAgIFt0eXBlPVwicmFuZ2VcIl1cbiAgICAgICkge1xuICAgICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtXG4gICAgICAgICAgKSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW1cbiAgICAgICAgICApICFpbXBvcnRhbnQ7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXTpub3Qoc2VsZWN0KSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLXZhbGlkKTtcbiAgICAgIH1cblxuICAgICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdOm5vdChzZWxlY3QpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgJjpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKTtcblxuICAgICAgICAgICY6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pIHtcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICAgICAgICApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOm5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OiAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aClcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKTtcblxuICAgICAgICAgICY6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pIHtcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtkaXI9XCJydGxcIl0ge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICAmOm5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICAgICY6aXMoW2FyaWEtaW52YWxpZF0sIFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLCBbYXJpYS1pbnZhbGlkPVwiZmFsc2VcIl0pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAwLjc1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDo6cGxhY2Vob2xkZXIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdDppbnZhbGlkIHtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBib3R0b20gKE5vdCBDaGVja2JveGVzIGFuZCBSYWRpb3MpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLy8gU2VsZWN0XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0IHtcbiAgICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6bm90KFttdWx0aXBsZV0sIFtzaXplXSkge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGV2cm9uKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgICZbbXVsdGlwbGVdIHtcbiAgICAgIG9wdGlvbiB7XG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGlyPVwicnRsXCJdIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCB7XG4gICAgICAmOm5vdChbbXVsdGlwbGVdLCBbc2l6ZV0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUZXh0YXJlYVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuXG4gICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWltcG9ydGFudCB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24taGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICgxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KSkgK1xuICAgICAgICAgICAgKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyKSArXG4gICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICApO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQgMC43NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvZ3JpZFwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAkaGVscGVyLXByZXZpb3VzLXRhZ3M6ICRoZWxwZXItcHJldmlvdXMtdGFncyArIFwiLCAuZ3JpZFwiO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoI3skaGVscGVyLXByZXZpb3VzLXRhZ3N9KSB7XG4gICAgKyBzbWFsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAtMC43NSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICB9XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICArIHNtYWxsIHtcbiAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pbnMtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgKyBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIElucHV0IGluc2lkZSBhIGxhYmVsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWwge1xuICAgID4gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIDAuMjUpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAvKipcbiAgICogQ2hlY2tib3hlcywgUmFkaW9zIGFuZCBTd2l0Y2hlc1xuICAgKi9cblxuICAvLyBMYWJlbHNcbiAgLy8gTm90IHdvcmtpbmcgaW4gRmlyZWZveCwgd2hpY2ggZG9lc24ndCBzdXBwb3J0IHRoZSBgOmhhcygpYCBwc2V1ZG8tY2xhc3NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCB7XG4gICAgJjpoYXMoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEuMjVlbTtcbiAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC4xMjVlbTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMC41ZW07XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6Oi1tcy1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyB1bnN0eWxlIElFIGNoZWNrYm94ZXNcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGVja2JveCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAmIH4gbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrYm94ZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAmOmluZGV0ZXJtaW5hdGUge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1taW51cyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cblxuICAvLyBSYWRpb3NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZSk7XG4gICAgICBib3JkZXItd2lkdGg6IDAuMzVlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3dpdGNoZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdW3JvbGU9XCJzd2l0Y2hcIl0ge1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY29sb3IpO1xuXG4gICAgLy8gQ29uZmlnXG4gICAgJHN3aXRjaC1oZWlnaHQ6IDEuMjVlbTtcbiAgICAkc3dpdGNoLXdpZHRoOiAyLjI1ZW07XG4gICAgJHN3aXRjaC10cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICAgLy8gU3R5bGVzXG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgICAmOm5vdChbYXJpYS1pbnZhbGlkXSkge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbiAkc3dpdGNoLXRyYW5zaXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoI3skc3dpdGNoLXdpZHRofSAtICN7JHN3aXRjaC1oZWlnaHR9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcmlhLWludmFsaWRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAmOmNoZWNrZWQsXG4gICAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvclxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAmOmNoZWNrZWQsXG4gICAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICY6Y2hlY2tlZCxcbiAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICY6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9pbnB1dC1zZWFyY2hcIikge1xuICAvKipcbiAgICogSW5wdXQgdHlwZSBzZWFyY2hcbiAgICovXG5cbiAgLy8gOm5vdCgpIGFyZSBuZWVkZWQgdG8gYWRkIFNwZWNpZmljaXR5IGFuZCBhdm9pZCAhaW1wb3J0YW50IG9uIHBhZGRpbmdcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSB7XG4gICAgJlt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNzVyZW0pO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tc2VhcmNoKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlclxuICAgICAgICBsZWZ0XG4gICAgICAgIGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMC4xMjVyZW0pO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAmW2FyaWEtaW52YWxpZF0ge1xuICAgICAgICBAaWYgJGVuYWJsZS1pbXBvcnRhbnQge1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS43NXJlbVxuICAgICAgICAgICkgIWltcG9ydGFudDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjc1cmVtXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgICAgIGNlbnRlciBsZWZ0IDEuMTI1cmVtLFxuICAgICAgICAgIGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tc2VhcmNoKSwgdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tdmFsaWQpO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1zZWFyY2gpLCB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1pbnZhbGlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGlyPVwicnRsXCJdIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShpbnB1dCkge1xuICAgICAgJjpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSB7XG4gICAgICAgICZbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEuMTI1cmVtO1xuXG4gICAgICAgICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICAgICAgICAgIGNlbnRlciByaWdodCAxLjEyNXJlbSxcbiAgICAgICAgICAgICAgY2VudGVyIGxlZnQgMC43NXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikge1xuICAvKipcbiAgICogQWNjb3JkaW9uICg8ZGV0YWlscz4pXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzZXQgbWFya2VyXG4gICAgICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6bWFya2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6LW1vei1saXN0LWJ1bGxldCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gTWFya2VyXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nLCAxcmVtKSAqIDAuNSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tY2hldnJvbik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjpub3QoW3JvbGVdKSB7XG4gICAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICAgIG91dGxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcsIDFyZW0pICogMC41KTtcbiAgICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR5cGUgYnV0dG9uXG4gICAgICAmW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAvLyBNYXJrZXJcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGhlaWdodDogY2FsYygxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0LCAxLjUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9wZW5cbiAgICAmW29wZW5dIHtcbiAgICAgID4gc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcblxuICAgICAgICAmOm5vdChbcm9sZV0pIHtcbiAgICAgICAgICAmOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzIHtcbiAgICAgIHN1bW1hcnkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9jYXJkXCIpIHtcbiAgLyoqXG4gICAqIENhcmQgKDxhcnRpY2xlPilcbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhcnRpY2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpXG4gICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYm94LXNoYWRvdyk7XG5cbiAgICA+IGhlYWRlcixcbiAgICA+IGZvb3RlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogMC42NilcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgID4gaGVhZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogLTEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aClcbiAgICAgICAgc29saWRcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiBmb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSk7XG4gICAgICBib3JkZXItdG9wOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKVxuICAgICAgICBzb2xpZFxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgLyoqXG4gICAqIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICAgKi9cblxuICAvLyBDb250YWluZXJcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAvLyBNYXJrZXJcbiAgICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgICA+IHN1bW1hcnksXG4gICAgPiBidXR0b24sXG4gICAgPiBhIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCwgMS41KSk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuMjVyZW07XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgLy8gVE9ETzogZmluZCBvdXQgd2h5IHdlIG5lZWQgdGhpcyBtYWdpYyBudW1iZXIgKDAuMiByZW0pXG4gICAgICAgIC8vIGZvciB0aGUgbWFya2VyIHRvIGJlIGFsaWduZWQgd2l0aCB0aGUgcmVndWxhciBzZWxlY3RcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWCgwLjJyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGV2cm9uKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8gaW5zaWRlIGEgbmF2XG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG5hdiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICAvLyBPdmVycmlkZSBoZWlnaHRcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gQnV0dG9uIGFzIGEgc2VsZWN0XG4gIC8vIGluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICAgIGhlaWdodDogY2FsYyhcbiAgICAgIDFyZW0gKlxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpICtcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqXG4gICAgICAgIDIgK1xuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSAqXG4gICAgICAgIDJcbiAgICApO1xuICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbClcbiAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICBib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpXG4gICAgICBzb2xpZFxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMFxuICAgICAgICAwXG4gICAgICAgIDBcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3IpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IGZvY3VzIHZpc2libGUgZnJvbSBhY2NvcmRpb24gY29tcG9uZW50XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQXJpYS1pbnZhbGlkXG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3JcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKFxuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3JcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgIH1cblxuICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvclxuICAgICAgKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3duIGluc2lkZSBhIG5hdlxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBuYXYgZGV0YWlscy5kcm9wZG93biB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSkgMDtcblxuICAgID4gc3VtbWFyeSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVgoMHJlbSk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICAvLyBPdmVycmlkZSBoZWlnaHRcbiAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICgxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KSkgK1xuICAgICAgICAgICAgKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIDIpXG4gICAgICAgICk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLVxuICAgICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICAgIClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcblxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3VibWVudVxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHotaW5kZXg6IDk5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgdHJhbnNmb3JtIDBzIGVhc2UtaW4tb3V0IDFzO1xuICAgIH1cblxuICAgICZbZGlyPVwicnRsXCJdIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0wLjUpXG4gICAgICAgICAgY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSlcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3IpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLXZpc2libGUsXG4gICAgICAgICZbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIE5vdCB3b3JraW5nIGluIEZpcmVmb3gsIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgYDpoYXMoKWAgcHNldWRvLWNsYXNzXG4gICAgICAmOmhhcyhsYWJlbCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIG9wZW5lZFxuICAvLyBpbnNpZGUgY29udGFpbmVyIHR5cGUgYWNjb3JkaW9uXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gTWVudSBvcGVuZWRcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gIC8vIDEuIEluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duW29wZW5dID4gc3VtbWFyeSB7XG4gICAgKyB1bCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBvcGFjaXR5IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgICB0cmFuc2Zvcm0gMHMgZWFzZS1pbi1vdXQgMHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2UgZm9yIGRyb3Bkb3duXG4gIC8vIGluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93bltvcGVuXSA+IHN1bW1hcnkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cbiAgLy8gTGFiZWxcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWwgPiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIDAuMjUpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZ3JvdXBcIikge1xuICAvKipcbiAgICogR3JvdXAgKFtyb2xlPVwiZ3JvdXBcIl0sIFtyb2xlPVwic2VhcmNoXCJdKVxuICAgKi9cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwic2VhcmNoXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwiZ3JvdXBcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pO1xuXG4gICAgPiAqLFxuICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSxcbiAgICBzZWxlY3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3JvbGU9XCJidXR0b25cIl0sXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAgIHNlbGVjdCB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoKikpIHtcbiAgICAgIC8vIEdyb3VwIGJveCBzaGFkb3cgd2hlbiBhIGJ1dHRvbiBpcyBmb2N1c2VkXG4gICAgICAmOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCBbdHlwZT1cImJ1dHRvblwiXTpmb2N1cywgW3JvbGU9XCJidXR0b25cIl06Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdzogdmFyKFxuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b25cbiAgICAgICAgKTtcblxuICAgICAgICBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSksXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHcm91cCBib3ggc2hhZG93IHdoZW4gYW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgICAgJjpoYXMoaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93OiB2YXIoXG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWlucHV0XG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQWRhcHQgYm94IHNoYWRvdyBmb3IgYnV0dG9uc1xuICAgICAgICBidXR0b24sXG4gICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aClcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGJ1dHRvbiBib3ggc2hhZG93IGlmIHdlIGhhdmUgYSBncm91cCBib3ggc2hhZG93XG4gICAgICBidXR0b24sXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgIFtyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJzZWFyY2hcIl0ge1xuICAgID4gKiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL25hdlwiKSB7XG4gIC8qKlxuICAgKiBOYXZcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcblxuICAvLyBQcmV2ZW50IFZvaWNlT3ZlciBmcm9tIGlnbm9yaW5nIGxpc3Qgc2VtYW50aWNzIGluIFNhZmFyaSAob3BpbmlvbmF0ZWQpXG4gIDp3aGVyZShuYXYgbGkpOjpiZWZvcmUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXFwyMDBCXCI7XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbmF2LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG5hdiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbmF2IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcblxuICAgICAgOndoZXJlKGEsIFtyb2xlPVwibGlua1wiXSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSlcbiAgICAgICAgICBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNaW5pbWFsIHN1cHBvcnQgZm9yIGJ1dHRvbnMgYW5kIGZvcm1zIGVsZW1lbnRzXG4gICAgICBidXR0b24sXG4gICAgICBbcm9sZT1cImJ1dHRvblwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0sIFt0eXBlPVwicmFuZ2VcIl0sIFt0eXBlPVwiZmlsZVwiXSksXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLVxuICAgICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICAgIClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCcmVhZGNydW1iXG4gICAgJlthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiXSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcblxuICAgICAgJiB1bCBsaSB7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSAwO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogNCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTWluaW1hbCBzdXBwb3J0IGZvciBhcmlhLWN1cnJlbnRcbiAgICAgICYgYVthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIE5hdlxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFzaWRlIHtcbiAgICBuYXYsXG4gICAgb2wsXG4gICAgdWwsXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC8vIE1pbmltYWwgc3VwcG9ydCBmb3IgbGlua3MgYXMgYnV0dG9uc1xuICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnJlYWRjcnVtYiBSVExcbiAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBuYXYge1xuICAgICAgJlthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiXSB7XG4gICAgICAgICYgdWwgbGkge1xuICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICA6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXFxcXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcInV0aWxpdGllcy9hY2Nlc3NpYmlsaXR5XCIpIHtcbiAgLyoqXG4gICAqIEFjY2Vzc2liaWxpdHkgJiBVc2VyIGludGVyYWN0aW9uXG4gICAqL1xuXG4gIC8vIEJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gQWNjZXNzaWJpbGl0eVxuXG4gIC8vIENoYW5nZSB0aGUgY3Vyc29yIG9uIGNvbnRyb2wgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1jb250cm9sc10ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZSBpbm9wZXJhYmxlIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIGRpc3BsYXkgb24gdmlzdWFsbHkgaGlkZGVuIGFjY2Vzc2libGUgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1oaWRkZW49XCJmYWxzZVwiXVtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1oaWRkZW49XCJmYWxzZVwiXVtoaWRkZW5dOm5vdCg6Zm9jdXMpIHtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFVzZXIgaW50ZXJhY3Rpb25cbiAgLy8gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IGluIElFIDEwXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhcmVhLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3VtbWFyeSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdGFiaW5kZXhdIHtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2Rpcj1cInJ0bFwiXSB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwidXRpbGl0aWVzL3JlZHVjZS1tb3Rpb25cIikgYW5kIGVuYWJsZS10cmFuc2l0aW9ucyBhbmQgZW5hYmxlLWltcG9ydGFudCB7XG4gIC8qKlxuICAgKiBSZWR1Y2UgTW90aW9uIEZlYXR1cmVzXG4gICAqL1xuXG4gIC8vIEJhc2VkIG9uIDpcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gMS4gUmVtb3ZlIGFuaW1hdGlvbnMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpXG4gIC8vIDIuIFJlbW92ZSBmaXhlZCBiYWNrZ3JvdW5kIGF0dGFjaG1lbnRzIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKVxuICAvLyAzLiBSZW1vdmUgdGltZWQgc2Nyb2xsaW5nIGJlaGF2aW9ycyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZClcbiAgLy8gNC4gUmVtb3ZlIHRyYW5zaXRpb25zIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKVxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gKjpub3QoW2FyaWEtYnVzeT1cInRydWVcIl0pLFxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOm5vdChbYXJpYS1idXN5PVwidHJ1ZVwiXSk6OmJlZm9yZSxcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDpub3QoW2FyaWEtYnVzeT1cInRydWVcIl0pOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGluaXRpYWwgIWltcG9ydGFudDsgLy8gMlxuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDsgLy8gMVxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMW1zICFpbXBvcnRhbnQ7IC8vIDFcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDsgLy8gMVxuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7IC8vIDNcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7IC8vIDRcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7IC8vIDRcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ2NvbmZpZ3MvdmFyaWFibGVzJyBhcyAqO1xuXG4vLyBUZW1hIFNvbGl0b1xuW2RhdGEtdGhlbWU9XCJsaWdodFwiXSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1cImRhcmtcIl0pIHtcblxuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtYmFja2dyb3VuZC1jb2xvciwgI3skbXQtYmFja2dyb3VuZC1jb2xvcn0pO1xuICAtLXBpY28tY29sb3I6IHZhcigtLW10LWNvbG9yLCAjeyRtdC1jb2xvcn0pO1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMiwgMTU0LCAyMzIsIDAuMjUpO1xuXG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG5cbiAgLS1waWNvLXByaW1hcnk6IHZhcigtLW10LXByaW1hcnktY29sb3IsICN7JG10LXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgI3skbXQtcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtcHJpbWFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjeyRtdC1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgI3skbXQtcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1kYXJrZW4sICN7JG10LXByaW1hcnktY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1wcmltYXJ5LXVuZGVybGluZTogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXByaW1hcnktY29sb3ItbGlnaHRlbiwgI3skbXQtcHJpbWFyeS1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1wcmltYXJ5LWludmVyc2U6IHZhcigtLW10LXByaW1hcnktaW52ZXJzZS1jb2xvciwgI3skbXQtcHJpbWFyeS1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLXNlY29uZGFyeTogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICN7JG10LXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1kYXJrZW4sICN7JG10LXNlY29uZGFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICN7JG10LXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItZGFya2VuLCAjeyRtdC1zZWNvbmRhcnktY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXNlY29uZGFyeS1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogdmFyKC0tbXQtc2Vjb25kYXJ5LWludmVyc2UtY29sb3IsICN7JG10LXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLWNvbnRyYXN0OiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgI3skbXQtY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjeyRtdC1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItZGFya2VuLCAjeyRtdC1jb250cmFzdC1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICN7JG10LWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjeyRtdC1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWRhcmtlbiwgI3skbXQtY29udHJhc3QtY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1saWdodGVuLCAjeyRtdC1jb250cmFzdC1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiB2YXIoLS1tdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yLCAjeyRtdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLWZvbnQtZmFtaWx5OiB2YXIoLS1tdC1mb250LWZhbWlseSwgI3skbXQtZm9udC1mYW1pbHl9KTtcbiAgLS1waWNvLWZvbnQtc2l6ZTogdmFyKC0tbXQtZm9udC1zaXplLCAjeyRtdC1mb250LXNpemV9KTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiB2YXIoLS1tdC1saW5lLWhlaWdodCwgI3skbXQtbGluZS1oZWlnaHR9KTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1mb250LXdlaWdodCwgI3skbXQtZm9udC13ZWlnaHR9KTtcbiAgLS1waWNvLWhlYWRpbmctZm9udC13ZWlnaHQ6IHZhcigtLW10LWhlYWRpbmctZm9udC13ZWlnaHQsICN7JG10LWhlYWRpbmctZm9udC13ZWlnaHR9KTtcbiAgLS1waWNvLWxldHRlci1zcGFjaW5nOiB2YXIoLS1tdC1sZXR0ZXItc3BhY2luZywgI3skbXQtbGV0dGVyLXNwYWNpbmd9KTtcblxuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogMS41cmVtO1xuXG59XG5cbi8vIFRlbWEgRGFya1xuW2RhdGEtdGhlbWU9XCJkYXJrXCJdLFxuOnJvb3RbZGF0YS10aGVtZT1cImRhcmtcIl0ge1xuXG5cbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLW10LXRkYXJrLWJhY2tncm91bmQtY29sb3IsICN7JG10LXRkYXJrLWJhY2tncm91bmQtY29sb3J9KTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1tdC10ZGFyay1jb2xvciwgI3skbXQtdGRhcmstY29sb3J9KTtcbiAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjI1KTtcblxuICAtLXBpY28tbXV0ZWQtY29sb3I6ICM2NDZiNzk7XG4gIC0tcGljby1tdXRlZC1ib3JkZXItY29sb3I6IHJnYigyMzEsIDIzNCwgMjM5LjUpO1xuXG4gIC0tcGljby1wcmltYXJ5OiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICN7JG10LXRkYXJrLXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgI3skbXQtdGRhcmstcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtdGRhcmstcHJpbWFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWludmVyc2UtY29sb3IsICN7JG10LXRkYXJrLXByaW1hcnktaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1zZWNvbmRhcnk6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICN7JG10LXRkYXJrLXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW4sICN7JG10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1jb250cmFzdDogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI3skbXQtdGRhcmstY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjeyRtdC10ZGFyay1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuLCAjeyRtdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtaW52ZXJzZS1jb2xvciwgI3skbXQtdGRhcmstY29udHJhc3QtaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1mb250LWZhbWlseTogdmFyKC0tbXQtZm9udC1mYW1pbHksICN7JG10LWZvbnQtZmFtaWx5fSk7XG4gIC0tcGljby1mb250LXNpemU6IHZhcigtLW10LWZvbnQtc2l6ZSwgI3skbXQtZm9udC1zaXplfSk7XG4gIC0tcGljby1saW5lLWhlaWdodDogdmFyKC0tbXQtbGluZS1oZWlnaHQsICN7JG10LWxpbmUtaGVpZ2h0fSk7XG4gIC0tcGljby1mb250LXdlaWdodDogdmFyKC0tbXQtZm9udC13ZWlnaHQsICN7JG10LWZvbnQtd2VpZ2h0fSk7XG4gIC0tcGljby1oZWFkaW5nLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1oZWFkaW5nLWZvbnQtd2VpZ2h0LCAjeyRtdC1oZWFkaW5nLWZvbnQtd2VpZ2h0fSk7XG4gIC0tcGljby1sZXR0ZXItc3BhY2luZzogdmFyKC0tbXQtbGV0dGVyLXNwYWNpbmcsICN7JG10LWxldHRlci1zcGFjaW5nfSk7XG5cbiAgLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWw6IDEuNXJlbTtcblxufVxuXG4iLCJAdXNlICdjb25maWdzL3ZhcmlhYmxlcycgYXMgKjtcblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbXQtaGVhZGluZy1mb250LWZhbWlseSwgI3skbXQtaGVhZGluZy1mb250LWZhbWlseX0pO1xufVxuXG51bCBsaSB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59IiwiaHRtbCB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KTtcbiAgICAgICAgPi5zaXRlLWhlYWRlcixcbiAgICAgICAgPi5oZWFkZXItbmF2LW1lbnUsXG4gICAgICAgID4ubWFpbi1ncmlkLFxuICAgICAgICA+LnNpdGUtZm9vdGVyLFxuICAgICAgICA+LnRvcC1ncmlkLFxuICAgICAgICA+LnByZS1tYWluLWNvbnRlbnQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSxcbiAgICAgICAgICAgICAgICAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dvLWxpZ2h0LFxuLmxvZ28tbGlnaHQtYW5kLWRhcmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9nby1kYXJrIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmxvZ28tbGlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAubG9nby1kYXJrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmJyaWQgKltyb2xlPVwiYnV0dG9uXCJdLFxuLmJyaWQtY2xvc2UgKltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgIGJvcmRlcjogaW5pdGlhbDtcbn1cblxuLmJyaWQgKltyb2xlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLmJyaWQtY2xvc2UgKltyb2xlPVwiYnV0dG9uXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59IiwiQHVzZSAnY29uZmlncy92YXJpYWJsZXMnIGFzICo7XG5AdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuXG5ib2R5Pi5zaXRlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogJG10LXNpdGUtaGVhZGVyLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHotaW5kZXg6ICRtdC16aW5kZXgtaGVhZGVyO1xuXG4gICAgJi5pcy1zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG5cbiAgICAuaGVhZGVyLWxlZnQsXG4gICAgLmhlYWRlci1yaWdodCB7XG4gICAgICAgIHdpZHRoOiAkbXQtc2l0ZS1oZWFkZXItaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAubWVudS10b2dnbGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgLmhhbWJ1cmdlci1pY29uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItbGl2ZS1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19wbGF5IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMS4xNXJlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5oZWFkZXItY2VudGVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgPmE+aW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICA+YSBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbmJvZHkgPiAuc2l0ZS1mb290ZXIge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZm9vdGVyLXNlcGFyYXRvciB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1jb2x1bW5zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMS41KTtcbiAgICAgICAgfVxuICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICAgICAgICAgIGdhcDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgXG4gICAgICAgIC5mb290ZXItY29sIHtcbiAgICAgICAgICA+IHN0cm9uZyB7XG5cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICBcbiAgICAgICAgICAudzNjLWxvZ28ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgIFxuICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIC5mb290ZXItY3JlZGl0cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgdmFyKC0tcGljby1zcGFjaW5nKTtcblxuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICcuLi8uLi9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL19zZXR0aW5ncy5zY3NzJyBhcyBwaWNvLXNldHRpbmdzO1xuQHVzZSAnc2FzczptYXAnO1xuXG5AbWl4aW4gbWVkaWFfbWluX3dpZHRoKCRzaXplKSB7XG4gIEBpZiBtYXAuaGFzLWtleShwaWNvLXNldHRpbmdzLiRicmVha3BvaW50cywgJHNpemUpIHtcbiAgICAkYnA6IG1hcC5nZXQobWFwLmdldChwaWNvLXNldHRpbmdzLiRicmVha3BvaW50cywgJHNpemUpLCAnYnJlYWtwb2ludCcpO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnApIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCLimqDvuI8gQnJlYWtwb2ludCBgI3skc2l6ZX1gIG5vbiB0cm92YXRvIGluIFBpY28uXCI7XG4gIH1cbn1cbiIsIkB1c2UgJ2NvbmZpZ3MvdmFyaWFibGVzJyBhcyAqO1xuXG5ib2R5LmFkbWluLWJhciB7XG4gIC5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gICAgdG9wOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICB0b3A6IDQ2cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc4MnB4KSB7XG4gICAgICB0b3A6IDMycHg7XG4gICAgfVxuICB9XG59XG5cbi5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogODV2dztcbiAgbWF4LXdpZHRoOiA1NjBweDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAkbXQtemluZGV4LXNpZGViYXItaGFtYnVyZ2VyO1xuXG4gICYub3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgJi1vdmVybGF5IHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgei1pbmRleDogMTkwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi52aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi1sb2dvIHtcbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAmLWNsb3NlIHtcbiAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG4gICAgfVxuICB9XG5cbiAgJi1jb250cm9scyB7XG4gICAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLmZvbnQtc2l6ZS1jb250cm9scyB7XG4gICAgICBidXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRoZW1lLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC4ycmVtO1xuXG4gICAgICBsYWJlbCxcbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtc2VhcmNoIHtcbiAgICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgMDtcblxuICAgICY+KjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC41cmVtO1xuICAgIH1cblxuICAgICY+KjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLW1lbnUge1xuICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi10b2dnbGUsXG4gICAgICAmLWxpbmsge1xuICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2x1bW5zLTIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNvY2lhbC1saW5rcyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTAwcHgsIDFmcikpO1xuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAxLjUpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcblxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAzKTtcblxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICBjb2xvciAuMnMgZWFzZSxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcblxuICAgICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMi45cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjlyZW07XG5cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC44cmVtO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgIHRyYW5zZm9ybSAuMnMgZWFzZSxcbiAgICAgICAgICAgICAgb3BhY2l0eSAuMnMgZWFzZTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNHJlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG5cbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zb2NpYWwtbGlua3MtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJmYWNlYm9va1wiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTg3N2YyO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xOCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhW2RhdGEtc29jaWFsPVwiZ29vZ2xlXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWYwZjA7XG5cbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cInhcIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cImluc3RhZ3JhbVwiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsXG4gICAgICAgICAgICAgICAgICAjODMzYWI0LFxuICAgICAgICAgICAgICAgICAgI2UxMzA2YyxcbiAgICAgICAgICAgICAgICAgICNmZDFkMWQsXG4gICAgICAgICAgICAgICAgICAjZmNiMDQ1KTtcblxuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhW2RhdGEtc29jaWFsPVwid2hhdHNhcHBcIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzI1ZDM2NjtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cInRlbGVncmFtXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMjllZDk7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJ0aWt0b2tcIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLFxuICAgICAgICAgICAgICAgICAgIzAwMCAwJSxcbiAgICAgICAgICAgICAgICAgICMxMTEgMTAwJSk7XG5cbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cImxpbmtlZGluXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwYTY2YzI7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJ5b3V0dWJlXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZjAwMDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJnb29nbGVfbmV3c1wiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmMGYwO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJib2R5Pi5oZWFkZXItbmF2LW1lbnUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuMzMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG5cblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG4gIH1cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB9XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMikgdHJhbnNwYXJlbnQ7XG5cbiAgLm1lbnUtc2Nyb2xsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgICAgICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxcmVtO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5tYWluLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgXG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwIDAgMDtcbiAgXG4gICAgJi53aXRoLXNpZGViYXIge1xuICAgICAgICBnYXA6IDA7XG4gIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobGcpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDM3MHB4O1xuICAgICAgICB9XG4gICAgfVxuICB9IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5wcmUtbWFpbi1jb250ZW50IHtcbiAgIFxuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpICB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIFxufSIsIkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG4udG9wLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICotMSk7XG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwIDAgMDtcbiAgICBnYXA6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzcwcHg7XG4gICAgfVxuXG4gICAgLnRvcC1jb250ZW50IHtcblxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1zaWRlYmFyIHtcblxuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgIC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLFxuICAgICAgICAgICAgICAgIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLm1haW4tY29udGVudCB7XG5cbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgZ2FwOiAuMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFzLWxvZ28ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmgxLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguaGFzLWxvZ28pIHtcbiAgICAgICAgICAgIGgxOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgfVxuXG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5tYWluLXNpZGViYXIge1xuXG4gICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLFxuICAgICAgICAgICAgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICA+LndpZGdldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLndpZGdldC5uay1mZWVkLXJlYWRlci1saXN0LWZlZWQtcnVicmljYSB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEge1xuXG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGF1dG87XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cykgdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKSAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDEwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LW1ldGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sYW5jaW8ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAuN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAtMS41KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC43cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZmVhdHVyZWQgLnBvc3QtbWV0YSBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbXBhY3QgLnBvc3QtbWV0YSBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiQHVzZSAnY29uZmlncy92YXJpYWJsZXMnIGFzICo7XG5AdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLndpZGdldCB7XG5cbiAgICAud2lkZ2V0LXRpdGxlLWltZyxcbiAgICAud2lkZ2V0LXRpdGxlIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuXG4gICAgICAgID5pbWcsXG4gICAgICAgID5zcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgPnNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZ2V0LXRpdGxlLWltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLndpZGdldC1mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tcGljby1zcGFjaW5nKTtcblxuICAgICAgICBhW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogLjZyZW07XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAn4oC6JztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAtLXBpY28tY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSAxMCUsICMwMDAgOTUlKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWluZXIudG9wLWdyaWQgLnRvcC1zaWRlYmFyIC53aWRnZXQ6bGFzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IGNhbGMoJG10LXNpdGUtaGVhZGVyLWhlaWdodCArIHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KSArIDFyZW0pO1xufVxuIiwiXG5AdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMCAwIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rZXIge1xuNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG59XG59XG4uY29tbWVudC1mb3JtLXVybCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4ud3AtY2FwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi53cC1jYXB0aW9uIGltZyxcbmltZy5zaXplLWZ1bGwsXG5pbWcuc2l6ZS1sYXJnZSxcbmltZy5zaXplLW1lZGl1bSxcbmltZy5zaXplLXRodW1ibmFpbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuaW1nLCBcbmZpZ3VyZSxcbmRpdi53cC1jYXB0aW9uIHtcbiAgICAmLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICBtYXJnaW46IC4ycmVtIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAuMnJlbSAwIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmFsaWdubGVmdCB7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIG1hcmdpbjogLjJyZW0gYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAuMnJlbSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH0gICBcbiAgICAmLmFsaWdubm9uZSB7XG4gICAgICAgIG1hcmdpbjogLjJyZW0gdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH0gICAgXG4gICAgJi5hbGlnbmNlbnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiN3cGFkbWluYmFyIHtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG5pZnJhbWUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn0iLCIuY29udGFpbmVyLmNvbnRhaW5lci1sZGIxIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLCAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xufVxuXG5cbi5tYWluLXNpZGViYXIgLndpZGdldC1uay1hZHYtcHJpbnQ6bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuZGl2W2lkXj1mbHgtXSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjowIGF1dG87XG59XG5cbmRpdltpZF49Zmx4X25lY3JvXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMik7XG59XG5cbmRpdltpZF49Zmx4LWluaXppYXRpdmVdIHtcbiAgICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG59XG5cbmRpdltpZF49Zmx4LWluaXppYXRpdmVdOm5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpICB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5kaXZbaWRePWZseC1pbmZlZWRdIHtcbiAgICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG59XG5cbmRpdltpZF49Zmx4LWluZmVlZF06bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkgIHtcbiAgICBtYXJnaW46IDA7XG59IiwiI29uZXNpZ25hbC1zbGlkZWRvd24tY29udGFpbmVyLnNsaWRlLXVwLCAjb25lc2lnbmFsLXBvcG92ZXItY29udGFpbmVyLnNsaWRlLXVwIHtcbiAgICB6LWluZGV4OiAyMTQ3NDgzNjQwICFpbXBvcnRhbnQ7XG59IiwiLmNhcm91c2VsLWNhcmRzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBjYXJvdXNlbC1jYXJkcztcblxuICAmX190cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM1JTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNDUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UsIGJhY2tncm91bmQgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBvcGFjaXR5OiAuNzU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOTYpO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgI2ZmZjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuXG4gICAgJi0tcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAuNXJlbSAuNXJlbSAwO1xuICAgIH1cblxuICAgICYtLW5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAuNXJlbSAwIDAgLjVyZW07XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciBjYXJvdXNlbC1jYXJkcyAobWluLXdpZHRoOiA1MjBweCkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgZmxleC1iYXNpczogY2FsYygoMTAwJSAtIHZhcigtLXBpY28tc3BhY2luZykpIC8gMik7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgd2lkdGg6IDMuMjVyZW07XG4gICAgICBoZWlnaHQ6IDMuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciBjYXJvdXNlbC1jYXJkcyAobWluLXdpZHRoOiA4MjBweCkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgZmxleC1iYXNpczogY2FsYygoMTAwJSAtICh2YXIoLS1waWNvLXNwYWNpbmcpICogMikpIC8gMyk7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlndXJlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2IC8gMTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX21ldGEge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2NhdCB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS44KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogLjhyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMnJlbTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19sYW5jaW8ge1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgfVxuXG4gICZfX2l0ZW0tdmlkZW8gJl9fZmlndXJlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLjc1cmVtO1xuICAgIHJpZ2h0OiAuNzVyZW07XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDEuMXJlbSBzb2xpZCAjZmZmO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgfVxuXG4gICZfX2l0ZW0tZ2FsbGVyeSAmX19maWd1cmU6OmJlZm9yZSxcbiAgJl9faXRlbS1nYWxsZXJ5ICZfX2ZpZ3VyZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLjVyZW07XG4gICAgcmlnaHQ6IC43cmVtO1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAuOXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuMTVyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAmX19pdGVtLWdhbGxlcnkgJl9fZmlndXJlOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLjJyZW0sIC0uMnJlbSk7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICZfX2l0ZW0tZGlyZXR0YSAmX19maWd1cmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJMSVZFXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjFyZW07XG4gICAgbGVmdDogLjFyZW07XG4gICAgYmFja2dyb3VuZDogI2U1M2UzZTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbmJvZHkuaG9tZSB7XG5cbiAgICBtYWluLm1haW4tY29udGVudCB7XG4gICAgICAgIC53aWRnZXQge1xuXG4gICAgICAgICAgICAud2lkZ2V0LXRpdGxlLWltZyxcbiAgICAgICAgICAgIC53aWRnZXQtdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAud2lkZ2V0X210X2xpc3RfcG9zdHM6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgLm1vc2FpY28ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW10LWhvbWVwYWdlLW9wZW5pbmctYmFja2dyb3VuZCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpKiAtMSkgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLm1vc2FpY28ge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyAvLyBNb2JpbGU6IHVubyBzb3R0byBsJ2FsdHJvXG5cbiAgJl9faXRlbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGZpZ3VyZSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG5cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IC8vIGZpbnRvIGNyb3BcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IC8vIGNlbnRyYXRvXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi12aWRlbyB7XG4gICAgICBmaWd1cmU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC43NXJlbTtcbiAgICAgICAgcmlnaHQ6IC43NXJlbTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZ2FsbGVyeSB7XG5cbiAgICAgIGZpZ3VyZTpiZWZvcmUsXG4gICAgICBmaWd1cmU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLjVyZW07XG4gICAgICAgIHJpZ2h0OiAuN3JlbTtcbiAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjlyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4xNXJlbTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgfVxuXG4gICAgICBmaWd1cmU6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSguMnJlbSwgLS4ycmVtKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRpcmV0dGEge1xuICAgICAgZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiTElWRVwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUzZTNlO1xuICAgICAgICB0b3A6IC4xcmVtO1xuICAgICAgICBsZWZ0OiAuMXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDByZW0gY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLS1tYWluIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMjtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIGgyIHtcblxuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWV0YSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpLzIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgaW5zZXQ6IGF1dG8gMCAwIDA7XG4gICAgei1pbmRleDogMjtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG5cbiAgJl9fY2F0IHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAzKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogLjhyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMnJlbTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19sYW5jaW8ge1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAuMTVyZW07XG4gIH1cblxuICAmLS0xIHtcbiAgICAubW9zYWljb19faXRlbS0tbWFpbiB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLTIge1xuICAgIC5tb3NhaWNvX19pdGVtLS1tYWluIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5tb3NhaWNvX19pdGVtIHtcbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbiAgfVxuXG4gICYtLW11bHRpIHtcblxuICAgIC5tb3NhaWNvX19pdGVtLS1tYWluIHtcbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMmZyKTtcblxuICAgICAgJj4ubW9zYWljb19faXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKG1kKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAyZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aCh4bCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG4gIH1cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLnBvc3QtbGlzdC12ZXJ0aWNhbCB7XG5cbiAgIFxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1wcml2YXRlIHtcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX2NvbnRlbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1iIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgIGZsZXg6IDAgMCAyMjBweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2l0ZW0tZGlyZXR0YSB7XG4gICAgICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIkxJVkVcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNTNlM2U7XG4gICAgICAgICAgICB0b3A6IC4xcmVtO1xuICAgICAgICAgICAgbGVmdDogLjFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcmVtIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1nYWxsZXJ5IHtcblxuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUsXG4gICAgICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC41cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IC43cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC45cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjE1cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC4ycmVtLCAtLjJyZW0pO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tdmlkZW8ge1xuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZmZmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLjc1cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IC43NXJlbTtcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZykgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2F0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC44cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAycmVtO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgICAgICAgIFxuICAgIH1cblxuICAgICZfX2xhbmNpbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmVydGljYWxfX2V4Y2VycHQge1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICB9XG4gICAgfVxuXG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5oM2NhcmRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgXG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6MTAwJTtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaDNjYXJkc19fZmlndXJlIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oM2NhcmRzX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qIEJhZGdlL292ZXJsYXkgZm9ybWF0aSBzcGVjaWFsaSAqL1xuICAgICYtdmlkZW8gLmgzY2FyZHNfX2ZpZ3VyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLjc1cmVtO1xuICAgICAgcmlnaHQ6IC43NXJlbTtcbiAgICAgIHdpZHRoOiAwOyBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmY7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAuMDhyZW0gcmdiYSgwLCAwLCAwLCAxKSk7XG4gICAgfVxuXG4gICAgJi1nYWxsZXJ5IC5oM2NhcmRzX19maWd1cmU6YmVmb3JlLFxuICAgICYtZ2FsbGVyeSAuaDNjYXJkc19fZmlndXJlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC41cmVtO1xuICAgICAgcmlnaHQ6IC43cmVtO1xuICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgIGhlaWdodDogLjlyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAuMTVyZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAuMDhyZW0gcmdiYSgwLCAwLCAwLCAxKSk7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgICAmLWdhbGxlcnkgLmgzY2FyZHNfX2ZpZ3VyZTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSguMnJlbSwgLS4ycmVtKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJi1kaXJldHRhIC5oM2NhcmRzX19maWd1cmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiTElWRVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAuMXJlbTtcbiAgICAgIGxlZnQ6IC4xcmVtO1xuICAgICAgYmFja2dyb3VuZDogI2U1M2UzZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykvMik7XG4gICAgfVxuICB9XG5cbiAgJl9fbWV0YSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpLzIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgaW5zZXQ6IGF1dG8gMCAwIDA7XG4gICAgei1pbmRleDogMjtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG5cbiAgJl9fY2F0IHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAzKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogLjhyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMnJlbTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKS80KTtcbiAgfVxuXG4gICZfX2xhbmNpbyB7XG4gICAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgfVxufVxuIiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5mZWF0dXJlZC13aXRoLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG5cbiAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjhmciAxLjJmcjtcbiAgfVxuXG4gID4uZmVhdHVyZWQtcG9zdCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYiB7XG4gICAgICAgIG1heC13aWR0aDogMzU0cHg7XG4gICAgICAgIGZsZXg6IDAgMCAzNTRweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDE0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wb3N0LWxpc3QtdmVydGljYWwge1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgfVxuXG4gICAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbSB7XG4gICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fbGluayB7XG4gICAgICBoZWlnaHQ6MTAwJTtcbiAgICB9XG5cbiAgfVxuXG4gID4uZmVhdHVyZWQtcG9zdC1saXN0IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChtZCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX2xpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWIge1xuICAgICAgbWF4LXdpZHRoOiAxMTVweDtcbiAgICAgIGZsZXg6IDAgMCAxMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChtZCkge1xuICAgICAgICBtYXgtd2lkdGg6IDE0OHB4O1xuICAgICAgICBmbGV4OiAwIDAgMTQ4cHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKS8yKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykvMikgMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobGcpIHtcblxuXG4gICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdfQ== */
