/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./data/www/templates/asgard/eshop.setos.cz/sass/app.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/assets/eshop.setos.cz/font/PlusJakartaSans[wght].woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans-fallback";
  size-adjust: 107%;
  ascent-override: 90%;
  src: local("Arial");
}
.column-items-dynamic:not(.show-all-items) .column-items__item--hide, .toggle-switch [type=checkbox], .sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/**
 * Retrieves the next smaller breakpoint from the given breakpoint.
 *
 * @param {String} $breakpoint - The breakpoint for which to find the next smaller breakpoint.
 * @return {String|null} - The next smaller breakpoint, or null if no smaller breakpoint is available.
 */
/**
 * Retrieves the next larger breakpoint from the $grid-breakpoints map.
 *
 * @function get-bigger-breakpoint
 * @param {String} $breakpoint - The current breakpoint to find the next larger one for.
 * @return {String | null} - The next larger breakpoint or null if the current breakpoint is the largest or not found.
 */
/**
 * Reset iSpace custom form input styles to be able to design special inputs more easily
 */
/**
 * Styles to hide the scrollbar but still allow scrolling
 */
/**
 * Special version of the card-box() layout for the B2B shop
 */
/**
 * card-box list layout for the B2B shop
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #058802;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #333372;
  --bs-primary-dark: #232352;
  --bs-primary-light: #ebebf1;
  --bs-secondary: #232352;
  --bs-light: #fff;
  --bs-dark: #000;
  --bs-base-bg: #fff;
  --bs-base-text: #000;
  --bs-link: #333372;
  --bs-success: #8ed609;
  --bs-success-bg: #e8f1d9;
  --bs-success-text: #000;
  --bs-info: #9cb5e1;
  --bs-info-bg: #ddedf3;
  --bs-info-text: #000;
  --bs-warning: #239bc8;
  --bs-warning-bg: #9cb5e1;
  --bs-warning-text: #000;
  --bs-danger: #e26969;
  --bs-danger-bg: #f6dfdf;
  --bs-danger-text: #000;
  --bs-danger-darker: #df1607;
  --bs-star-rating-bg: #fb0;
  --bs-in-stock: #058802;
  --bs-gray-100: #f3f3f3;
  --bs-gray-200: #dedede;
  --bs-gray-400: #b1b1b1;
  --bs-gray-600: #747474;
  --bs-gray-900: #262626;
  --bs-primary-mid: #e8e8fd;
  --bs-primary-gray: #f1f1f1;
  --bs-primary-red: #af3232;
  --bs-primary-green: #058802;
  --bs-dark-semi-transp: rgba(0, 0, 0, 0.1);
  --bs-out-of-stock: #e26969;
  --bs-preorder: #eab000;
  --bs-in-stock-bg: rgba(5, 136, 2, 0.1);
  --bs-gray-300: #d0d0d0;
  --bs-gray-700: #4d4d4d;
  --bs-gray-800: #383838;
  --bs-gray-semi-transp: rgba(20, 92, 128, 0.1);
  --bs-saving-color: rgb(24, 128, 56);
  --bs-saving-color-bg: rgba(24, 128, 56, 0.1);
  --bs-voucher-bg: #d8edf7;
  --bs-primary-rgb: 51, 51, 114;
  --bs-primary-dark-rgb: 35, 35, 82;
  --bs-primary-light-rgb: 235, 235, 241;
  --bs-secondary-rgb: 35, 35, 82;
  --bs-light-rgb: 255, 255, 255;
  --bs-dark-rgb: 0, 0, 0;
  --bs-base-bg-rgb: 255, 255, 255;
  --bs-base-text-rgb: 0, 0, 0;
  --bs-link-rgb: 51, 51, 114;
  --bs-success-rgb: 142, 214, 9;
  --bs-success-bg-rgb: 232, 241, 217;
  --bs-success-text-rgb: 0, 0, 0;
  --bs-info-rgb: 156, 181, 225;
  --bs-info-bg-rgb: 221, 237, 243;
  --bs-info-text-rgb: 0, 0, 0;
  --bs-warning-rgb: 35, 155, 200;
  --bs-warning-bg-rgb: 156, 181, 225;
  --bs-warning-text-rgb: 0, 0, 0;
  --bs-danger-rgb: 226, 105, 105;
  --bs-danger-bg-rgb: 246, 223, 223;
  --bs-danger-text-rgb: 0, 0, 0;
  --bs-danger-darker-rgb: 223, 22, 7;
  --bs-star-rating-bg-rgb: 255, 187, 0;
  --bs-in-stock-rgb: 5, 136, 2;
  --bs-gray-100-rgb: 243, 243, 243;
  --bs-gray-200-rgb: 222, 222, 222;
  --bs-gray-400-rgb: 177, 177, 177;
  --bs-gray-600-rgb: 116, 116, 116;
  --bs-gray-900-rgb: 38, 38, 38;
  --bs-primary-mid-rgb: 232, 232, 253;
  --bs-primary-gray-rgb: 241, 241, 241;
  --bs-primary-red-rgb: 175, 50, 50;
  --bs-primary-green-rgb: 5, 136, 2;
  --bs-dark-semi-transp-rgb: 0, 0, 0;
  --bs-out-of-stock-rgb: 226, 105, 105;
  --bs-preorder-rgb: 234, 176, 0;
  --bs-in-stock-bg-rgb: 5, 136, 2;
  --bs-gray-300-rgb: 208, 208, 208;
  --bs-gray-700-rgb: 77, 77, 77;
  --bs-gray-800-rgb: 56, 56, 56;
  --bs-gray-semi-transp-rgb: 20, 92, 128;
  --bs-saving-color-rgb: 24, 128, 56;
  --bs-saving-color-bg-rgb: 24, 128, 56;
  --bs-voucher-bg-rgb: 216, 237, 247;
  --bs-primary-text-emphasis: #14142e;
  --bs-secondary-text-emphasis: #0e0e21;
  --bs-success-text-emphasis: #023601;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #d6d6e3;
  --bs-secondary-bg-subtle: #d3d3dc;
  --bs-success-bg-subtle: #cde7cc;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #adadc7;
  --bs-secondary-border-subtle: #a7a7ba;
  --bs-success-border-subtle: #9bcf9a;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-root-font-size: 62.5%;
  --bs-body-font-family: "Plus Jakarta Sans", "Plus Jakarta Sans-fallback", "Arial", sans-serif;
  --bs-body-font-size: calc(1.265rem + 0.18vw);
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.6;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #f8f9fc;
  --bs-body-bg-rgb: 248, 249, 252;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #333372;
  --bs-link-color-rgb: 51, 51, 114;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #29295b;
  --bs-link-hover-color-rgb: 41, 41, 91;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(51, 51, 114, 0.25);
  --bs-form-valid-color: #058802;
  --bs-form-valid-border-color: #058802;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}
@media (min-width: 1200px) {
  :root,
  [data-bs-theme=light] {
    --bs-body-font-size: 1.4rem;
  }
}

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

@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container-s, .container-ms, .container {
    max-width: 1024px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container-s, .container-ms, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1366px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container-s, .container-ms, .container {
    max-width: 1685px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-ms: 360px;
  --bs-breakpoint-s: 480px;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1366px;
  --bs-breakpoint-desktop: 1650px;
  --bs-breakpoint-fullhd: 1920px;
  --bs-breakpoint-2k: 2500px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 360px) {
  .col-ms {
    flex: 1 0 0;
  }
  .row-cols-ms-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-ms-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-ms-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-ms-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-ms-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-ms-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-ms-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-ms-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-ms-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-ms-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-ms-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-ms-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-ms-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-ms-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-ms-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-ms-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-ms-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-ms-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-ms-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-ms-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-ms-0 {
    margin-left: 0;
  }
  .offset-ms-1 {
    margin-left: 8.33333333%;
  }
  .offset-ms-2 {
    margin-left: 16.66666667%;
  }
  .offset-ms-3 {
    margin-left: 25%;
  }
  .offset-ms-4 {
    margin-left: 33.33333333%;
  }
  .offset-ms-5 {
    margin-left: 41.66666667%;
  }
  .offset-ms-6 {
    margin-left: 50%;
  }
  .offset-ms-7 {
    margin-left: 58.33333333%;
  }
  .offset-ms-8 {
    margin-left: 66.66666667%;
  }
  .offset-ms-9 {
    margin-left: 75%;
  }
  .offset-ms-10 {
    margin-left: 83.33333333%;
  }
  .offset-ms-11 {
    margin-left: 91.66666667%;
  }
  .g-ms-0,
  .gx-ms-0 {
    --bs-gutter-x: 0;
  }
  .g-ms-0,
  .gy-ms-0 {
    --bs-gutter-y: 0;
  }
  .g-ms-1,
  .gx-ms-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-ms-1,
  .gy-ms-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-ms-2,
  .gx-ms-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-ms-2,
  .gy-ms-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-ms-3,
  .gx-ms-3 {
    --bs-gutter-x: 1rem;
  }
  .g-ms-3,
  .gy-ms-3 {
    --bs-gutter-y: 1rem;
  }
  .g-ms-4,
  .gx-ms-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-ms-4,
  .gy-ms-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-ms-5,
  .gx-ms-5 {
    --bs-gutter-x: 3rem;
  }
  .g-ms-5,
  .gy-ms-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 480px) {
  .col-s {
    flex: 1 0 0;
  }
  .row-cols-s-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-s-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-s-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-s-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-s-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-s-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-s-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-s-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-s-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-s-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-s-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-s-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-s-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-s-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-s-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-s-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-s-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-s-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-s-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-s-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-s-0 {
    margin-left: 0;
  }
  .offset-s-1 {
    margin-left: 8.33333333%;
  }
  .offset-s-2 {
    margin-left: 16.66666667%;
  }
  .offset-s-3 {
    margin-left: 25%;
  }
  .offset-s-4 {
    margin-left: 33.33333333%;
  }
  .offset-s-5 {
    margin-left: 41.66666667%;
  }
  .offset-s-6 {
    margin-left: 50%;
  }
  .offset-s-7 {
    margin-left: 58.33333333%;
  }
  .offset-s-8 {
    margin-left: 66.66666667%;
  }
  .offset-s-9 {
    margin-left: 75%;
  }
  .offset-s-10 {
    margin-left: 83.33333333%;
  }
  .offset-s-11 {
    margin-left: 91.66666667%;
  }
  .g-s-0,
  .gx-s-0 {
    --bs-gutter-x: 0;
  }
  .g-s-0,
  .gy-s-0 {
    --bs-gutter-y: 0;
  }
  .g-s-1,
  .gx-s-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-s-1,
  .gy-s-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-s-2,
  .gx-s-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-s-2,
  .gy-s-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-s-3,
  .gx-s-3 {
    --bs-gutter-x: 1rem;
  }
  .g-s-3,
  .gy-s-3 {
    --bs-gutter-y: 1rem;
  }
  .g-s-4,
  .gx-s-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-s-4,
  .gy-s-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-s-5,
  .gx-s-5 {
    --bs-gutter-x: 3rem;
  }
  .g-s-5,
  .gy-s-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1366px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1650px) {
  .col-desktop {
    flex: 1 0 0;
  }
  .row-cols-desktop-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-desktop-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-desktop-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-desktop-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-desktop-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-desktop-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-desktop-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-desktop-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-desktop-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-desktop-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-desktop-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-desktop-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-desktop-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-desktop-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-desktop-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-desktop-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-desktop-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-desktop-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-desktop-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-desktop-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-desktop-0 {
    margin-left: 0;
  }
  .offset-desktop-1 {
    margin-left: 8.33333333%;
  }
  .offset-desktop-2 {
    margin-left: 16.66666667%;
  }
  .offset-desktop-3 {
    margin-left: 25%;
  }
  .offset-desktop-4 {
    margin-left: 33.33333333%;
  }
  .offset-desktop-5 {
    margin-left: 41.66666667%;
  }
  .offset-desktop-6 {
    margin-left: 50%;
  }
  .offset-desktop-7 {
    margin-left: 58.33333333%;
  }
  .offset-desktop-8 {
    margin-left: 66.66666667%;
  }
  .offset-desktop-9 {
    margin-left: 75%;
  }
  .offset-desktop-10 {
    margin-left: 83.33333333%;
  }
  .offset-desktop-11 {
    margin-left: 91.66666667%;
  }
  .g-desktop-0,
  .gx-desktop-0 {
    --bs-gutter-x: 0;
  }
  .g-desktop-0,
  .gy-desktop-0 {
    --bs-gutter-y: 0;
  }
  .g-desktop-1,
  .gx-desktop-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-desktop-1,
  .gy-desktop-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-desktop-2,
  .gx-desktop-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-desktop-2,
  .gy-desktop-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-desktop-3,
  .gx-desktop-3 {
    --bs-gutter-x: 1rem;
  }
  .g-desktop-3,
  .gy-desktop-3 {
    --bs-gutter-y: 1rem;
  }
  .g-desktop-4,
  .gx-desktop-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-desktop-4,
  .gy-desktop-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-desktop-5,
  .gx-desktop-5 {
    --bs-gutter-x: 3rem;
  }
  .g-desktop-5,
  .gy-desktop-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1920px) {
  .col-fullhd {
    flex: 1 0 0;
  }
  .row-cols-fullhd-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-fullhd-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-fullhd-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-fullhd-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-fullhd-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-fullhd-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-fullhd-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-fullhd-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-fullhd-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-fullhd-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-fullhd-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-fullhd-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-fullhd-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-fullhd-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-fullhd-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-fullhd-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-fullhd-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-fullhd-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-fullhd-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-fullhd-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-fullhd-0 {
    margin-left: 0;
  }
  .offset-fullhd-1 {
    margin-left: 8.33333333%;
  }
  .offset-fullhd-2 {
    margin-left: 16.66666667%;
  }
  .offset-fullhd-3 {
    margin-left: 25%;
  }
  .offset-fullhd-4 {
    margin-left: 33.33333333%;
  }
  .offset-fullhd-5 {
    margin-left: 41.66666667%;
  }
  .offset-fullhd-6 {
    margin-left: 50%;
  }
  .offset-fullhd-7 {
    margin-left: 58.33333333%;
  }
  .offset-fullhd-8 {
    margin-left: 66.66666667%;
  }
  .offset-fullhd-9 {
    margin-left: 75%;
  }
  .offset-fullhd-10 {
    margin-left: 83.33333333%;
  }
  .offset-fullhd-11 {
    margin-left: 91.66666667%;
  }
  .g-fullhd-0,
  .gx-fullhd-0 {
    --bs-gutter-x: 0;
  }
  .g-fullhd-0,
  .gy-fullhd-0 {
    --bs-gutter-y: 0;
  }
  .g-fullhd-1,
  .gx-fullhd-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-fullhd-1,
  .gy-fullhd-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-fullhd-2,
  .gx-fullhd-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-fullhd-2,
  .gy-fullhd-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-fullhd-3,
  .gx-fullhd-3 {
    --bs-gutter-x: 1rem;
  }
  .g-fullhd-3,
  .gy-fullhd-3 {
    --bs-gutter-y: 1rem;
  }
  .g-fullhd-4,
  .gx-fullhd-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-fullhd-4,
  .gy-fullhd-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-fullhd-5,
  .gx-fullhd-5 {
    --bs-gutter-x: 3rem;
  }
  .g-fullhd-5,
  .gy-fullhd-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 2500px) {
  .col-2k {
    flex: 1 0 0;
  }
  .row-cols-2k-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-2k-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-2k-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-2k-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-2k-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-2k-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-2k-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-2k-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-2k-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-2k-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-2k-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-2k-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-2k-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-2k-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-2k-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-2k-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-2k-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-2k-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-2k-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-2k-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-2k-0 {
    margin-left: 0;
  }
  .offset-2k-1 {
    margin-left: 8.33333333%;
  }
  .offset-2k-2 {
    margin-left: 16.66666667%;
  }
  .offset-2k-3 {
    margin-left: 25%;
  }
  .offset-2k-4 {
    margin-left: 33.33333333%;
  }
  .offset-2k-5 {
    margin-left: 41.66666667%;
  }
  .offset-2k-6 {
    margin-left: 50%;
  }
  .offset-2k-7 {
    margin-left: 58.33333333%;
  }
  .offset-2k-8 {
    margin-left: 66.66666667%;
  }
  .offset-2k-9 {
    margin-left: 75%;
  }
  .offset-2k-10 {
    margin-left: 83.33333333%;
  }
  .offset-2k-11 {
    margin-left: 91.66666667%;
  }
  .g-2k-0,
  .gx-2k-0 {
    --bs-gutter-x: 0;
  }
  .g-2k-0,
  .gy-2k-0 {
    --bs-gutter-y: 0;
  }
  .g-2k-1,
  .gx-2k-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-2k-1,
  .gy-2k-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-2k-2,
  .gx-2k-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-2k-2,
  .gy-2k-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-2k-3,
  .gx-2k-3 {
    --bs-gutter-x: 1rem;
  }
  .g-2k-3,
  .gy-2k-3 {
    --bs-gutter-y: 1rem;
  }
  .g-2k-4,
  .gx-2k-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-2k-4,
  .gy-2k-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-2k-5,
  .gx-2k-5 {
    --bs-gutter-x: 3rem;
  }
  .g-2k-5,
  .gy-2k-5 {
    --bs-gutter-y: 3rem;
  }
}
.text-start {
  text-align: left !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 360px) {
  .d-ms-inline {
    display: inline !important;
  }
  .d-ms-inline-block {
    display: inline-block !important;
  }
  .d-ms-block {
    display: block !important;
  }
  .d-ms-grid {
    display: grid !important;
  }
  .d-ms-inline-grid {
    display: inline-grid !important;
  }
  .d-ms-table {
    display: table !important;
  }
  .d-ms-table-row {
    display: table-row !important;
  }
  .d-ms-table-cell {
    display: table-cell !important;
  }
  .d-ms-flex {
    display: flex !important;
  }
  .d-ms-inline-flex {
    display: inline-flex !important;
  }
  .d-ms-none {
    display: none !important;
  }
  .justify-content-ms-start {
    justify-content: flex-start !important;
  }
  .justify-content-ms-end {
    justify-content: flex-end !important;
  }
  .justify-content-ms-center {
    justify-content: center !important;
  }
  .justify-content-ms-between {
    justify-content: space-between !important;
  }
  .justify-content-ms-around {
    justify-content: space-around !important;
  }
  .justify-content-ms-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-ms-start {
    align-items: flex-start !important;
  }
  .align-items-ms-end {
    align-items: flex-end !important;
  }
  .align-items-ms-center {
    align-items: center !important;
  }
  .align-items-ms-baseline {
    align-items: baseline !important;
  }
  .align-items-ms-stretch {
    align-items: stretch !important;
  }
  .m-ms-0 {
    margin: 0 !important;
  }
  .m-ms-1 {
    margin: 0.25rem !important;
  }
  .m-ms-2 {
    margin: 0.5rem !important;
  }
  .m-ms-3 {
    margin: 1rem !important;
  }
  .m-ms-4 {
    margin: 1.5rem !important;
  }
  .m-ms-5 {
    margin: 3rem !important;
  }
  .m-ms-auto {
    margin: auto !important;
  }
  .mx-ms-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-ms-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-ms-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-ms-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-ms-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-ms-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-ms-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-ms-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-ms-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-ms-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-ms-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-ms-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-ms-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-ms-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-ms-0 {
    margin-top: 0 !important;
  }
  .mt-ms-1 {
    margin-top: 0.25rem !important;
  }
  .mt-ms-2 {
    margin-top: 0.5rem !important;
  }
  .mt-ms-3 {
    margin-top: 1rem !important;
  }
  .mt-ms-4 {
    margin-top: 1.5rem !important;
  }
  .mt-ms-5 {
    margin-top: 3rem !important;
  }
  .mt-ms-auto {
    margin-top: auto !important;
  }
  .mb-ms-0 {
    margin-bottom: 0 !important;
  }
  .mb-ms-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-ms-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-ms-3 {
    margin-bottom: 1rem !important;
  }
  .mb-ms-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-ms-5 {
    margin-bottom: 3rem !important;
  }
  .mb-ms-auto {
    margin-bottom: auto !important;
  }
  .ms-ms-0 {
    margin-left: 0 !important;
  }
  .ms-ms-1 {
    margin-left: 0.25rem !important;
  }
  .ms-ms-2 {
    margin-left: 0.5rem !important;
  }
  .ms-ms-3 {
    margin-left: 1rem !important;
  }
  .ms-ms-4 {
    margin-left: 1.5rem !important;
  }
  .ms-ms-5 {
    margin-left: 3rem !important;
  }
  .ms-ms-auto {
    margin-left: auto !important;
  }
  .p-ms-0 {
    padding: 0 !important;
  }
  .p-ms-1 {
    padding: 0.25rem !important;
  }
  .p-ms-2 {
    padding: 0.5rem !important;
  }
  .p-ms-3 {
    padding: 1rem !important;
  }
  .p-ms-4 {
    padding: 1.5rem !important;
  }
  .p-ms-5 {
    padding: 3rem !important;
  }
  .pt-ms-0 {
    padding-top: 0 !important;
  }
  .pt-ms-1 {
    padding-top: 0.25rem !important;
  }
  .pt-ms-2 {
    padding-top: 0.5rem !important;
  }
  .pt-ms-3 {
    padding-top: 1rem !important;
  }
  .pt-ms-4 {
    padding-top: 1.5rem !important;
  }
  .pt-ms-5 {
    padding-top: 3rem !important;
  }
  .pb-ms-0 {
    padding-bottom: 0 !important;
  }
  .pb-ms-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-ms-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-ms-3 {
    padding-bottom: 1rem !important;
  }
  .pb-ms-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-ms-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 480px) {
  .d-s-inline {
    display: inline !important;
  }
  .d-s-inline-block {
    display: inline-block !important;
  }
  .d-s-block {
    display: block !important;
  }
  .d-s-grid {
    display: grid !important;
  }
  .d-s-inline-grid {
    display: inline-grid !important;
  }
  .d-s-table {
    display: table !important;
  }
  .d-s-table-row {
    display: table-row !important;
  }
  .d-s-table-cell {
    display: table-cell !important;
  }
  .d-s-flex {
    display: flex !important;
  }
  .d-s-inline-flex {
    display: inline-flex !important;
  }
  .d-s-none {
    display: none !important;
  }
  .justify-content-s-start {
    justify-content: flex-start !important;
  }
  .justify-content-s-end {
    justify-content: flex-end !important;
  }
  .justify-content-s-center {
    justify-content: center !important;
  }
  .justify-content-s-between {
    justify-content: space-between !important;
  }
  .justify-content-s-around {
    justify-content: space-around !important;
  }
  .justify-content-s-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-s-start {
    align-items: flex-start !important;
  }
  .align-items-s-end {
    align-items: flex-end !important;
  }
  .align-items-s-center {
    align-items: center !important;
  }
  .align-items-s-baseline {
    align-items: baseline !important;
  }
  .align-items-s-stretch {
    align-items: stretch !important;
  }
  .m-s-0 {
    margin: 0 !important;
  }
  .m-s-1 {
    margin: 0.25rem !important;
  }
  .m-s-2 {
    margin: 0.5rem !important;
  }
  .m-s-3 {
    margin: 1rem !important;
  }
  .m-s-4 {
    margin: 1.5rem !important;
  }
  .m-s-5 {
    margin: 3rem !important;
  }
  .m-s-auto {
    margin: auto !important;
  }
  .mx-s-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-s-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-s-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-s-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-s-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-s-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-s-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-s-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-s-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-s-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-s-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-s-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-s-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-s-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-s-0 {
    margin-top: 0 !important;
  }
  .mt-s-1 {
    margin-top: 0.25rem !important;
  }
  .mt-s-2 {
    margin-top: 0.5rem !important;
  }
  .mt-s-3 {
    margin-top: 1rem !important;
  }
  .mt-s-4 {
    margin-top: 1.5rem !important;
  }
  .mt-s-5 {
    margin-top: 3rem !important;
  }
  .mt-s-auto {
    margin-top: auto !important;
  }
  .mb-s-0 {
    margin-bottom: 0 !important;
  }
  .mb-s-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-s-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-s-3 {
    margin-bottom: 1rem !important;
  }
  .mb-s-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-s-5 {
    margin-bottom: 3rem !important;
  }
  .mb-s-auto {
    margin-bottom: auto !important;
  }
  .ms-s-0 {
    margin-left: 0 !important;
  }
  .ms-s-1 {
    margin-left: 0.25rem !important;
  }
  .ms-s-2 {
    margin-left: 0.5rem !important;
  }
  .ms-s-3 {
    margin-left: 1rem !important;
  }
  .ms-s-4 {
    margin-left: 1.5rem !important;
  }
  .ms-s-5 {
    margin-left: 3rem !important;
  }
  .ms-s-auto {
    margin-left: auto !important;
  }
  .p-s-0 {
    padding: 0 !important;
  }
  .p-s-1 {
    padding: 0.25rem !important;
  }
  .p-s-2 {
    padding: 0.5rem !important;
  }
  .p-s-3 {
    padding: 1rem !important;
  }
  .p-s-4 {
    padding: 1.5rem !important;
  }
  .p-s-5 {
    padding: 3rem !important;
  }
  .pt-s-0 {
    padding-top: 0 !important;
  }
  .pt-s-1 {
    padding-top: 0.25rem !important;
  }
  .pt-s-2 {
    padding-top: 0.5rem !important;
  }
  .pt-s-3 {
    padding-top: 1rem !important;
  }
  .pt-s-4 {
    padding-top: 1.5rem !important;
  }
  .pt-s-5 {
    padding-top: 3rem !important;
  }
  .pb-s-0 {
    padding-bottom: 0 !important;
  }
  .pb-s-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-s-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-s-3 {
    padding-bottom: 1rem !important;
  }
  .pb-s-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-s-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 1366px) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 1650px) {
  .d-desktop-inline {
    display: inline !important;
  }
  .d-desktop-inline-block {
    display: inline-block !important;
  }
  .d-desktop-block {
    display: block !important;
  }
  .d-desktop-grid {
    display: grid !important;
  }
  .d-desktop-inline-grid {
    display: inline-grid !important;
  }
  .d-desktop-table {
    display: table !important;
  }
  .d-desktop-table-row {
    display: table-row !important;
  }
  .d-desktop-table-cell {
    display: table-cell !important;
  }
  .d-desktop-flex {
    display: flex !important;
  }
  .d-desktop-inline-flex {
    display: inline-flex !important;
  }
  .d-desktop-none {
    display: none !important;
  }
  .justify-content-desktop-start {
    justify-content: flex-start !important;
  }
  .justify-content-desktop-end {
    justify-content: flex-end !important;
  }
  .justify-content-desktop-center {
    justify-content: center !important;
  }
  .justify-content-desktop-between {
    justify-content: space-between !important;
  }
  .justify-content-desktop-around {
    justify-content: space-around !important;
  }
  .justify-content-desktop-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-desktop-start {
    align-items: flex-start !important;
  }
  .align-items-desktop-end {
    align-items: flex-end !important;
  }
  .align-items-desktop-center {
    align-items: center !important;
  }
  .align-items-desktop-baseline {
    align-items: baseline !important;
  }
  .align-items-desktop-stretch {
    align-items: stretch !important;
  }
  .m-desktop-0 {
    margin: 0 !important;
  }
  .m-desktop-1 {
    margin: 0.25rem !important;
  }
  .m-desktop-2 {
    margin: 0.5rem !important;
  }
  .m-desktop-3 {
    margin: 1rem !important;
  }
  .m-desktop-4 {
    margin: 1.5rem !important;
  }
  .m-desktop-5 {
    margin: 3rem !important;
  }
  .m-desktop-auto {
    margin: auto !important;
  }
  .mx-desktop-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-desktop-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-desktop-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-desktop-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-desktop-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-desktop-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-desktop-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-desktop-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-desktop-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-desktop-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-desktop-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-desktop-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-desktop-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-desktop-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-desktop-0 {
    margin-top: 0 !important;
  }
  .mt-desktop-1 {
    margin-top: 0.25rem !important;
  }
  .mt-desktop-2 {
    margin-top: 0.5rem !important;
  }
  .mt-desktop-3 {
    margin-top: 1rem !important;
  }
  .mt-desktop-4 {
    margin-top: 1.5rem !important;
  }
  .mt-desktop-5 {
    margin-top: 3rem !important;
  }
  .mt-desktop-auto {
    margin-top: auto !important;
  }
  .mb-desktop-0 {
    margin-bottom: 0 !important;
  }
  .mb-desktop-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-desktop-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-desktop-3 {
    margin-bottom: 1rem !important;
  }
  .mb-desktop-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-desktop-5 {
    margin-bottom: 3rem !important;
  }
  .mb-desktop-auto {
    margin-bottom: auto !important;
  }
  .ms-desktop-0 {
    margin-left: 0 !important;
  }
  .ms-desktop-1 {
    margin-left: 0.25rem !important;
  }
  .ms-desktop-2 {
    margin-left: 0.5rem !important;
  }
  .ms-desktop-3 {
    margin-left: 1rem !important;
  }
  .ms-desktop-4 {
    margin-left: 1.5rem !important;
  }
  .ms-desktop-5 {
    margin-left: 3rem !important;
  }
  .ms-desktop-auto {
    margin-left: auto !important;
  }
  .p-desktop-0 {
    padding: 0 !important;
  }
  .p-desktop-1 {
    padding: 0.25rem !important;
  }
  .p-desktop-2 {
    padding: 0.5rem !important;
  }
  .p-desktop-3 {
    padding: 1rem !important;
  }
  .p-desktop-4 {
    padding: 1.5rem !important;
  }
  .p-desktop-5 {
    padding: 3rem !important;
  }
  .pt-desktop-0 {
    padding-top: 0 !important;
  }
  .pt-desktop-1 {
    padding-top: 0.25rem !important;
  }
  .pt-desktop-2 {
    padding-top: 0.5rem !important;
  }
  .pt-desktop-3 {
    padding-top: 1rem !important;
  }
  .pt-desktop-4 {
    padding-top: 1.5rem !important;
  }
  .pt-desktop-5 {
    padding-top: 3rem !important;
  }
  .pb-desktop-0 {
    padding-bottom: 0 !important;
  }
  .pb-desktop-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-desktop-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-desktop-3 {
    padding-bottom: 1rem !important;
  }
  .pb-desktop-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-desktop-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 1920px) {
  .d-fullhd-inline {
    display: inline !important;
  }
  .d-fullhd-inline-block {
    display: inline-block !important;
  }
  .d-fullhd-block {
    display: block !important;
  }
  .d-fullhd-grid {
    display: grid !important;
  }
  .d-fullhd-inline-grid {
    display: inline-grid !important;
  }
  .d-fullhd-table {
    display: table !important;
  }
  .d-fullhd-table-row {
    display: table-row !important;
  }
  .d-fullhd-table-cell {
    display: table-cell !important;
  }
  .d-fullhd-flex {
    display: flex !important;
  }
  .d-fullhd-inline-flex {
    display: inline-flex !important;
  }
  .d-fullhd-none {
    display: none !important;
  }
  .justify-content-fullhd-start {
    justify-content: flex-start !important;
  }
  .justify-content-fullhd-end {
    justify-content: flex-end !important;
  }
  .justify-content-fullhd-center {
    justify-content: center !important;
  }
  .justify-content-fullhd-between {
    justify-content: space-between !important;
  }
  .justify-content-fullhd-around {
    justify-content: space-around !important;
  }
  .justify-content-fullhd-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-fullhd-start {
    align-items: flex-start !important;
  }
  .align-items-fullhd-end {
    align-items: flex-end !important;
  }
  .align-items-fullhd-center {
    align-items: center !important;
  }
  .align-items-fullhd-baseline {
    align-items: baseline !important;
  }
  .align-items-fullhd-stretch {
    align-items: stretch !important;
  }
  .m-fullhd-0 {
    margin: 0 !important;
  }
  .m-fullhd-1 {
    margin: 0.25rem !important;
  }
  .m-fullhd-2 {
    margin: 0.5rem !important;
  }
  .m-fullhd-3 {
    margin: 1rem !important;
  }
  .m-fullhd-4 {
    margin: 1.5rem !important;
  }
  .m-fullhd-5 {
    margin: 3rem !important;
  }
  .m-fullhd-auto {
    margin: auto !important;
  }
  .mx-fullhd-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-fullhd-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-fullhd-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-fullhd-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-fullhd-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-fullhd-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-fullhd-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-fullhd-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-fullhd-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-fullhd-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-fullhd-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-fullhd-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-fullhd-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-fullhd-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-fullhd-0 {
    margin-top: 0 !important;
  }
  .mt-fullhd-1 {
    margin-top: 0.25rem !important;
  }
  .mt-fullhd-2 {
    margin-top: 0.5rem !important;
  }
  .mt-fullhd-3 {
    margin-top: 1rem !important;
  }
  .mt-fullhd-4 {
    margin-top: 1.5rem !important;
  }
  .mt-fullhd-5 {
    margin-top: 3rem !important;
  }
  .mt-fullhd-auto {
    margin-top: auto !important;
  }
  .mb-fullhd-0 {
    margin-bottom: 0 !important;
  }
  .mb-fullhd-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-fullhd-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-fullhd-3 {
    margin-bottom: 1rem !important;
  }
  .mb-fullhd-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-fullhd-5 {
    margin-bottom: 3rem !important;
  }
  .mb-fullhd-auto {
    margin-bottom: auto !important;
  }
  .ms-fullhd-0 {
    margin-left: 0 !important;
  }
  .ms-fullhd-1 {
    margin-left: 0.25rem !important;
  }
  .ms-fullhd-2 {
    margin-left: 0.5rem !important;
  }
  .ms-fullhd-3 {
    margin-left: 1rem !important;
  }
  .ms-fullhd-4 {
    margin-left: 1.5rem !important;
  }
  .ms-fullhd-5 {
    margin-left: 3rem !important;
  }
  .ms-fullhd-auto {
    margin-left: auto !important;
  }
  .p-fullhd-0 {
    padding: 0 !important;
  }
  .p-fullhd-1 {
    padding: 0.25rem !important;
  }
  .p-fullhd-2 {
    padding: 0.5rem !important;
  }
  .p-fullhd-3 {
    padding: 1rem !important;
  }
  .p-fullhd-4 {
    padding: 1.5rem !important;
  }
  .p-fullhd-5 {
    padding: 3rem !important;
  }
  .pt-fullhd-0 {
    padding-top: 0 !important;
  }
  .pt-fullhd-1 {
    padding-top: 0.25rem !important;
  }
  .pt-fullhd-2 {
    padding-top: 0.5rem !important;
  }
  .pt-fullhd-3 {
    padding-top: 1rem !important;
  }
  .pt-fullhd-4 {
    padding-top: 1.5rem !important;
  }
  .pt-fullhd-5 {
    padding-top: 3rem !important;
  }
  .pb-fullhd-0 {
    padding-bottom: 0 !important;
  }
  .pb-fullhd-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-fullhd-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-fullhd-3 {
    padding-bottom: 1rem !important;
  }
  .pb-fullhd-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-fullhd-5 {
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 2500px) {
  .d-2k-inline {
    display: inline !important;
  }
  .d-2k-inline-block {
    display: inline-block !important;
  }
  .d-2k-block {
    display: block !important;
  }
  .d-2k-grid {
    display: grid !important;
  }
  .d-2k-inline-grid {
    display: inline-grid !important;
  }
  .d-2k-table {
    display: table !important;
  }
  .d-2k-table-row {
    display: table-row !important;
  }
  .d-2k-table-cell {
    display: table-cell !important;
  }
  .d-2k-flex {
    display: flex !important;
  }
  .d-2k-inline-flex {
    display: inline-flex !important;
  }
  .d-2k-none {
    display: none !important;
  }
  .justify-content-2k-start {
    justify-content: flex-start !important;
  }
  .justify-content-2k-end {
    justify-content: flex-end !important;
  }
  .justify-content-2k-center {
    justify-content: center !important;
  }
  .justify-content-2k-between {
    justify-content: space-between !important;
  }
  .justify-content-2k-around {
    justify-content: space-around !important;
  }
  .justify-content-2k-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-2k-start {
    align-items: flex-start !important;
  }
  .align-items-2k-end {
    align-items: flex-end !important;
  }
  .align-items-2k-center {
    align-items: center !important;
  }
  .align-items-2k-baseline {
    align-items: baseline !important;
  }
  .align-items-2k-stretch {
    align-items: stretch !important;
  }
  .m-2k-0 {
    margin: 0 !important;
  }
  .m-2k-1 {
    margin: 0.25rem !important;
  }
  .m-2k-2 {
    margin: 0.5rem !important;
  }
  .m-2k-3 {
    margin: 1rem !important;
  }
  .m-2k-4 {
    margin: 1.5rem !important;
  }
  .m-2k-5 {
    margin: 3rem !important;
  }
  .m-2k-auto {
    margin: auto !important;
  }
  .mx-2k-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-2k-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-2k-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-2k-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-2k-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-2k-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-2k-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-2k-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-2k-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-2k-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-2k-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-2k-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-2k-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-2k-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-2k-0 {
    margin-top: 0 !important;
  }
  .mt-2k-1 {
    margin-top: 0.25rem !important;
  }
  .mt-2k-2 {
    margin-top: 0.5rem !important;
  }
  .mt-2k-3 {
    margin-top: 1rem !important;
  }
  .mt-2k-4 {
    margin-top: 1.5rem !important;
  }
  .mt-2k-5 {
    margin-top: 3rem !important;
  }
  .mt-2k-auto {
    margin-top: auto !important;
  }
  .mb-2k-0 {
    margin-bottom: 0 !important;
  }
  .mb-2k-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-2k-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-2k-3 {
    margin-bottom: 1rem !important;
  }
  .mb-2k-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-2k-5 {
    margin-bottom: 3rem !important;
  }
  .mb-2k-auto {
    margin-bottom: auto !important;
  }
  .ms-2k-0 {
    margin-left: 0 !important;
  }
  .ms-2k-1 {
    margin-left: 0.25rem !important;
  }
  .ms-2k-2 {
    margin-left: 0.5rem !important;
  }
  .ms-2k-3 {
    margin-left: 1rem !important;
  }
  .ms-2k-4 {
    margin-left: 1.5rem !important;
  }
  .ms-2k-5 {
    margin-left: 3rem !important;
  }
  .ms-2k-auto {
    margin-left: auto !important;
  }
  .p-2k-0 {
    padding: 0 !important;
  }
  .p-2k-1 {
    padding: 0.25rem !important;
  }
  .p-2k-2 {
    padding: 0.5rem !important;
  }
  .p-2k-3 {
    padding: 1rem !important;
  }
  .p-2k-4 {
    padding: 1.5rem !important;
  }
  .p-2k-5 {
    padding: 3rem !important;
  }
  .pt-2k-0 {
    padding-top: 0 !important;
  }
  .pt-2k-1 {
    padding-top: 0.25rem !important;
  }
  .pt-2k-2 {
    padding-top: 0.5rem !important;
  }
  .pt-2k-3 {
    padding-top: 1rem !important;
  }
  .pt-2k-4 {
    padding-top: 1.5rem !important;
  }
  .pt-2k-5 {
    padding-top: 3rem !important;
  }
  .pb-2k-0 {
    padding-bottom: 0 !important;
  }
  .pb-2k-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-2k-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-2k-3 {
    padding-bottom: 1rem !important;
  }
  .pb-2k-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-2k-5 {
    padding-bottom: 3rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  word-break: normal;
  overflow-wrap: anywhere;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl {
  margin: 0;
}

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

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

main {
  font-size: 1.6rem;
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

p {
  margin-top: 0;
}

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

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

ol,
ul {
  list-style: none;
  padding: 0;
}

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

dt {
  font-weight: 700;
}

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: currentcolor;
}
a:where(:not([class*=__])):link, a:where(:not([class*=__])):visited {
  color: #333372;
}
a:where(:not([class*=__])):hover, a:where(:not([class*=__])):focus, a:where(:not([class*=__])):active {
  color: currentcolor;
  text-decoration: none;
}

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

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

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

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

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

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

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

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

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

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

img {
  display: block;
  max-width: 100%;
}

svg {
  display: block;
  fill: currentcolor;
  stroke: currentcolor;
}

label {
  display: inline-block;
}

button,
input {
  border: 0;
}
button:focus,
input:focus {
  outline: 0;
}

button {
  background: none;
  border: 0;
  border-radius: 0;
  color: currentcolor;
  cursor: pointer;
  margin: 0;
  outline: none;
  padding: 0;
}
button:focus {
  outline: none;
}

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

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

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  overflow-wrap: normal;
}
select:disabled {
  opacity: 1;
}
@supports (background: -webkit-named-image(i)) {
  select {
    -webkit-appearance: none;
    padding-right: 22px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' data-container-transform='translate(3)' viewBox='0 0 16 20'%3E%3Cpath d='M8 0 3 7h10L8 0zM3 9l5 7 5-7H3z'/%3E%3C/svg%3E") no-repeat top 52% right 4px;
    background-size: 15px 15px;
    border-radius: 0;
    line-height: 1;
    color: fieldtext;
  }
}
select:focus {
  outline: none;
}

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

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

*:not(.form-input) > input:where(:not([type=button]):not([type=submit]):not([type=reset])):hover, *:not(.form-input) > input:where(:not([type=button]):not([type=submit]):not([type=reset])):focus,
*:not(.form-input) > textarea:hover,
*:not(.form-input) > textarea:focus {
  border-color: #333372;
}

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

textarea {
  border: none;
  resize: vertical;
}
textarea:focus {
  outline: none !important;
  border: none;
}

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

legend {
  font-size: 2rem;
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
legend + * {
  clear: left;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  box-shadow: 0 0 0 30px #fff inset !important;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

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

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

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

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

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

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

output {
  display: inline-block;
}

iframe {
  border: 0;
}
:where(.container, .modal) iframe {
  max-width: 100%;
}
@supports (aspect-ratio: var(--iframe-aspect-ratio, 16/9)) {
  :where(.container, .modal) iframe {
    aspect-ratio: var(--iframe-aspect-ratio, 16/9);
    height: auto;
  }
}

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

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

br {
  margin: 0 !important;
}

:where(.container, .modal) iframe {
  max-width: 100%;
}
@supports (aspect-ratio: 16/9) {
  :where(.container, .modal) iframe {
    height: auto;
    aspect-ratio: var(--iframe-aspect-ratio, 16/9);
  }
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}

a:focus-visible,
button:focus-visible {
  outline: 1px auto #9cb5e1;
}

a {
  transition: color 0.15s linear;
}

svg {
  width: 2.2rem;
  height: 2.2rem;
}
svg.icon__error {
  width: 1.3rem;
  height: 1.3rem;
  box-sizing: content-box;
  border: 0.6rem solid #e26969;
  border-radius: 1.2rem;
  background-color: #e26969;
  color: #fff;
  stroke-width: 0.5px;
  margin-right: 0.75em;
  transform: translateY(-2px);
}

.main-content {
  background-color: #f3f3f3;
  position: relative;
}

.print-visibilty {
  display: none !important;
}

@media (max-width: 1199.98px) {
  .desktop-nav-only {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .mobile-nav-only {
    display: none !important;
  }
}
.no-js-only {
  display: block;
}
.js .no-js-only {
  display: none;
}

.js-only {
  display: none;
}
.js .js-only {
  display: block;
}

.boxes:not(.boxes-center), .common-content .boxes:not(.boxes-center) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.boxes:not(.boxes-center) > *:has(> picture:first-child:last-child),
.boxes:not(.boxes-center) > *:has(> img:first-child:last-child), .common-content .boxes:not(.boxes-center) > *:has(> picture:first-child:last-child),
.common-content .boxes:not(.boxes-center) > *:has(> img:first-child:last-child) {
  align-self: center;
}

[class*=boxes-] {
  --flex-grow: 0;
  --flex-shrink: 1;
  --flex-basis: auto;
}
.boxes-2:where(:not([class*=gap-])), .boxes-2:where(.gap-1), .common-content .boxes-2:where(:not([class*=gap-])), .common-content .boxes-2:where(.gap-1) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.boxes-2:where(:not([class*=gap-])) > *, .boxes-2:where(.gap-1) > *, .common-content .boxes-2:where(:not([class*=gap-])) > *, .common-content .boxes-2:where(.gap-1) > * {
  --flex-basis: calc(50% - 0.5rem);
}
.boxes-2:where(.gap-2), .common-content .boxes-2:where(.gap-2) {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.boxes-2:where(.gap-2) > *, .common-content .boxes-2:where(.gap-2) > * {
  --flex-basis: calc(50% - 1rem);
}
.boxes-2:where(.gap-3), .common-content .boxes-2:where(.gap-3) {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.boxes-2:where(.gap-3) > *, .common-content .boxes-2:where(.gap-3) > * {
  --flex-basis: calc(50% - 1.5rem);
}

.boxes-3:where(:not([class*=gap-])), .boxes-3:where(.gap-1), .common-content .boxes-3:where(:not([class*=gap-])), .common-content .boxes-3:where(.gap-1) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.boxes-3:where(:not([class*=gap-])) > *, .boxes-3:where(.gap-1) > *, .common-content .boxes-3:where(:not([class*=gap-])) > *, .common-content .boxes-3:where(.gap-1) > * {
  --flex-basis: calc(33.3333333333% - 0.6666666667rem);
}
.boxes-3:where(.gap-2), .common-content .boxes-3:where(.gap-2) {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.boxes-3:where(.gap-2) > *, .common-content .boxes-3:where(.gap-2) > * {
  --flex-basis: calc(33.3333333333% - 1.3333333333rem);
}
.boxes-3:where(.gap-3), .common-content .boxes-3:where(.gap-3) {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.boxes-3:where(.gap-3) > *, .common-content .boxes-3:where(.gap-3) > * {
  --flex-basis: calc(33.3333333333% - 2rem);
}

.boxes-4:where(:not([class*=gap-])), .boxes-4:where(.gap-1), .common-content .boxes-4:where(:not([class*=gap-])), .common-content .boxes-4:where(.gap-1) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.boxes-4:where(:not([class*=gap-])) > *, .boxes-4:where(.gap-1) > *, .common-content .boxes-4:where(:not([class*=gap-])) > *, .common-content .boxes-4:where(.gap-1) > * {
  --flex-basis: calc(25% - 0.75rem);
}
.boxes-4:where(.gap-2), .common-content .boxes-4:where(.gap-2) {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.boxes-4:where(.gap-2) > *, .common-content .boxes-4:where(.gap-2) > * {
  --flex-basis: calc(25% - 1.5rem);
}
.boxes-4:where(.gap-3), .common-content .boxes-4:where(.gap-3) {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.boxes-4:where(.gap-3) > *, .common-content .boxes-4:where(.gap-3) > * {
  --flex-basis: calc(25% - 2.25rem);
}

.boxes-5:where(:not([class*=gap-])), .boxes-5:where(.gap-1), .common-content .boxes-5:where(:not([class*=gap-])), .common-content .boxes-5:where(.gap-1) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.boxes-5:where(:not([class*=gap-])) > *, .boxes-5:where(.gap-1) > *, .common-content .boxes-5:where(:not([class*=gap-])) > *, .common-content .boxes-5:where(.gap-1) > * {
  --flex-basis: calc(20% - 0.8rem);
}
.boxes-5:where(.gap-2), .common-content .boxes-5:where(.gap-2) {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.boxes-5:where(.gap-2) > *, .common-content .boxes-5:where(.gap-2) > * {
  --flex-basis: calc(20% - 1.6rem);
}
.boxes-5:where(.gap-3), .common-content .boxes-5:where(.gap-3) {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.boxes-5:where(.gap-3) > *, .common-content .boxes-5:where(.gap-3) > * {
  --flex-basis: calc(20% - 2.4rem);
}

@media (max-width: 767px) {
  [class*=boxes-]:where(:not(.boxes-center):not(.boxes-1)):where(:not(.gap-2):not(.gap-3)) > *:not(.specificity-fix) {
    --flex-basis: calc(50% - 0.5rem);
  }
  [class*=boxes-]:where(:not(.boxes-center):not(.boxes-1)):where(.gap-2) > *:not(.specificity-fix) {
    --flex-basis: calc(50% - 1rem);
  }
  [class*=boxes-]:where(:not(.boxes-center):not(.boxes-1)):where(.gap-3) > *:not(.specificity-fix) {
    --flex-basis: calc(50% - 1.5rem);
  }
}
@media (max-width: 414px) {
  [class*=boxes-] > *:not(.specificity-fix) {
    --flex-basis: 100%;
  }
}
[class*=boxes-] > * {
  min-width: 0;
  flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis);
}
[class*=boxes-] > *:not(.specificity-fix) {
  margin: 0;
}
[class*=boxes-] > *,
[class*=boxes-] .box-text {
  display: block;
  text-wrap: pretty;
}
[class*=boxes-] > *:where(img) {
  height: revert-layer;
  width: revert-layer;
}
[class*=boxes-] > * > *:not(img):not(picture):not(:first-child), [class*=boxes-].gap-1 > * > *:not(img):not(picture):not(:first-child) {
  margin-block: 1rem 0;
}
[class*=boxes-].gap-2 > * > *:not(img):not(picture):not(:first-child), [class*=boxes-].gap-3 > * > *:not(img):not(picture):not(:first-child) {
  margin-block: 2rem 0;
}

[class*=boxes-].text-center picture,
[class*=boxes-].text-center img,
[class*=boxes-] [style*="text-align:center"] picture,
[class*=boxes-] [style*="text-align:center"] img {
  justify-self: center;
}

.boxes-center, .common-content .boxes-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(1rem, 5%, 4rem);
}
.boxes-center > *:where(img), .common-content .boxes-center > *:where(img) {
  height: revert-layer;
  width: revert-layer;
}
.row--grid {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  --grid-row-gap: var(--bs-gutter-x);
  --grid-column-minimum: 420px;
  margin-top: calc(-1 * var(--bs-gutter-y));
  display: grid;
  gap: var(--grid-row-gap);
  grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-column-minimum), 100%), 1fr));
}
.row--grid + .row--grid {
  margin-top: var(--grid-row-gap);
}
.row--grid .col--new-row {
  grid-column: 1;
}
.row--grid-fieldset {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  --grid-row-gap: var(--bs-gutter-x);
  --grid-column-minimum: 420px;
}
.row--grid-fieldset fieldset:first-of-type {
  display: grid;
  gap: var(--grid-row-gap);
  grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-column-minimum), 100%), 1fr));
}
.row--grid-fieldset fieldset:first-of-type legend {
  grid-column: 1/-1;
  margin-bottom: 0;
}
.row--grid-fieldset fieldset:first-of-type legend + .form-input {
  margin-top: 0;
}
.row--grid-fieldset fieldset:first-of-type .form-input + .form-input {
  margin-top: 0;
}
.row--grid-fieldset fieldset:first-of-type .form-input:has(.checkbox, .submit, .form-field--textarea) {
  grid-column: 1/-1;
}
.row--grid-fieldset > form > fieldset fieldset {
  display: block;
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
h6, h5, h4, h3, h2, h1 {
  margin-top: 0;
  margin-bottom: 1em;
  font-weight: 700;
  line-height: 1.2;
  color: var(--bs-body-color);
}

h1 {
  font-size: clamp(3rem, 6vw, 4rem);
}

h2 {
  font-size: calc(1.485rem + 2.82vw);
}
@media (min-width: 1200px) {
  h2 {
    font-size: 3.6rem;
  }
}

h3 {
  font-size: 2rem;
}

h4 {
  font-size: calc(1.305rem + 0.66vw);
}
@media (min-width: 1200px) {
  h4 {
    font-size: 1.8rem;
  }
}

h5 {
  font-size: calc(1.285rem + 0.42vw);
}
@media (min-width: 1200px) {
  h5 {
    font-size: 1.6rem;
  }
}

h6 {
  font-size: calc(1.285rem + 0.42vw);
  font-weight: normal;
}
@media (min-width: 1200px) {
  h6 {
    font-size: 1.6rem;
  }
}

.font-size-sm {
  font-size: 1.2rem;
}

.font-size-lg {
  font-size: 1.75rem;
}

.font-size-larger {
  font-size: 2.1rem;
}

.font-size-largest {
  font-size: 2.8rem;
}

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

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

.text-bold {
  font-weight: 700;
}

.gdpr-consent {
  font-size: 1.4rem;
  text-wrap: pretty;
}

h6,
h5,
h4,
h3,
h2,
h1,
legend {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

h1,
h2 {
  margin-block-end: 2rem;
}

dt {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

b,
strong {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

.cookie-consent-modal .cookie-consent-header-2 {
  font-weight: normal;
  font-variation-settings: "wght" 600;
}
.cookie-consent-modal .cookie-form-section .cookie-form-section-primary-heading {
  font-weight: normal;
  font-variation-settings: "wght" 600;
}
.cookie-consent-modal .cookie-form-section .cookie-form-section-primary-heading span {
  font-variation-settings: "wght" 400;
}

.card-price__discount {
  font-weight: normal;
  font-variation-settings: "wght" 400;
}
.card-price__full {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

.dropdown-list__link.is-active {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

.column-items-dynamic--trigger .btn--more {
  font-weight: inherit;
  font-variation-settings: "wght" inherit;
}

.floating-spinner-container.spinner-show .msg-overlay {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

.form-field__currency {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
.form-field__input,
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select) {
  font-weight: normal;
  font-variation-settings: "wght" 300;
}
.form-field__separator {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

.form-input [class*="--inline"] + * {
  font-weight: normal;
  font-variation-settings: "wght" 400;
}
.form-input__label:where(:not(.text-bold)) {
  font-weight: normal;
  font-variation-settings: "wght" 400;
}
@media (min-width: 768px) {
  .form-input__help-box {
    font-weight: normal;
    font-variation-settings: "wght" 400;
  }
}

@media (max-width: 1199.98px) {
  .menu__link--primary {
    font-weight: normal;
    font-variation-settings: "wght" 600;
  }
  .menu__link--secondary {
    font-weight: normal;
    font-variation-settings: "wght" 400;
  }
}
@media (min-width: 1200px) {
  .menu__item--main > .menu__link--primary {
    font-weight: normal;
    font-variation-settings: "wght" 700;
  }
  .menu .submenu--main > .menu > .menu__item > .menu__link {
    font-weight: normal;
    font-variation-settings: "wght" 700;
  }
}

@media (max-width: 1199.98px) {
  .nav-pages__link {
    font-weight: normal;
    font-variation-settings: "wght" 500;
  }
}

.sidebar__navigation--list a {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

.product-availability strong {
  font-weight: normal;
  font-variation-settings: "wght" 400;
}

@media (max-width: 1199.98px) {
  .submenu__btn {
    font-weight: normal;
    font-variation-settings: "wght" 700;
  }
}

.text-bold {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

@media (max-width: 700px) {
  .comparing__table td::before {
    font-weight: normal;
    font-variation-settings: "wght" 700;
  }
}

.customer-list__table .order__table-item-price-total {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

.home-intro__title {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}

.header {
  display: grid;
  grid-template-columns: minmax(0, calc(50vw - 512px)) 1fr 65px;
}
.header .sticky-state-toggle {
  position: absolute;
  top: -1px;
  width: 0;
  pointer-events: none;
  display: none;
}
@media (max-width: 1199.98px) {
  body > .header {
    background-color: var(--bs-body-bg, #fff);
    position: sticky;
    top: 0;
    z-index: 15;
  }
  body > .header:has(.is-sticky-state) {
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
  }
  .header .sticky-state-toggle {
    display: block;
  }
}
.header > * {
  grid-row: 1;
}
.header__nav {
  height: 5.5rem;
}
.header__controls {
  align-items: center;
  display: flex;
}
@media (max-width: 1199.98px) {
  .header {
    align-content: start;
  }
  .header .container {
    max-width: none;
  }
  .header__top-nav {
    grid-column: 2;
    align-items: center;
    display: flex;
    flex: 1;
    height: 100%;
    justify-content: space-between;
    padding-inline-end: min(1rem, 1vw);
  }
  .header__mid-panel, .header__contact {
    display: none;
  }
}
@media (min-width: 1200px) {
  .header {
    display: flex;
    flex-flow: column wrap;
    min-height: 14.5rem;
    position: relative;
  }
  .header__nav {
    display: flex;
    flex-direction: column;
  }
  .header__top-nav {
    display: grid;
    grid-template: ".     .          ." 0.75rem "logo  page-menu  contact" max-content "logo  search     basket" 1fr " .    .          ." 0.25rem/2fr minmax(max-content, 5fr) minmax(max-content, 2fr);
    gap: 0.2rem 1rem;
    align-items: center;
    height: 14.5rem;
    position: relative;
  }
  .header-logo {
    grid-area: logo;
    justify-content: start;
  }
  .header [id=nav-pages-desktop] {
    grid-area: page-menu;
    justify-self: center;
  }
  .header [id=search-desktop] {
    grid-area: search;
    justify-self: center;
  }
  .header__contact {
    grid-area: contact;
    justify-self: end;
    align-items: center;
    display: flex;
  }
  .header__tel {
    font-weight: 700;
  }
  .header__tel:hover {
    color: #333372;
  }
  .header__opening-hours {
    color: #747474;
    display: inline-block;
    margin-left: 0.6em;
  }
  .header__controls {
    grid-area: basket;
    justify-self: end;
    gap: 0.6rem;
  }
}
.header .hamburger {
  grid-column: 3;
}

@media (min-width: 1200px) {
  @supports selector(:has(+ *)) {
    .header .nav .menu__item-main:not(:has(.submenu--main ul ul)):not(:has(.submenu--main > .menu--nested > .menu__item--nested:nth-child(9))) {
      position: relative;
    }
  }
}
body.nav-open {
  overflow: hidden;
}

.nav-backdrop {
  background-color: #000;
  display: none;
  height: 100%;
  left: 0;
  opacity: 0;
  position: fixed;
  top: calc(5.5rem + var(--promo-height, 0px));
  transition: opacity 0.15s linear;
  width: 100%;
}
.nav-backdrop.is-active {
  display: block;
  z-index: 4;
}
.nav-backdrop.is-visible {
  opacity: 0.5;
}
.header:has(.is-sticky-state) ~ .nav-backdrop {
  top: 5.5rem;
}
@media (min-width: 1200px) {
  .nav-backdrop.is-active {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .nav:where(:not(.nav-tabs)) {
    background-color: #fff;
    border-top: 1px solid #dedede;
    bottom: 0;
    flex-direction: column;
    max-width: 36rem;
    overflow: hidden;
    padding: 1rem 0 6.6rem;
    position: fixed;
    right: 100vw;
    top: calc(5.5rem + var(--promo-height, 0px));
    transition: transform 0.3s ease-in-out;
    width: 100vw;
    z-index: 100;
  }
  .nav:where(:not(.nav-tabs)).is-visible {
    transform: translateX(100%);
  }
  .nav:where(:not(.nav-tabs)).is-active {
    overflow: auto;
  }
  .header:has(.is-sticky-state) .nav:where(:not(.nav-tabs)) {
    top: 5.5rem;
  }
}
@media (min-width: 1200px) {
  .nav {
    background-color: #333372;
  }
  .nav__footer {
    display: none;
  }
}

.footer {
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
  overflow: hidden;
  padding-bottom: 4rem;
}
.footer > .container > *:not(.footer__blocks) a {
  color: #dedede;
}
@media (hover: hover) {
  .footer > .container > *:not(.footer__blocks) a:hover {
    color: #333372;
  }
}
.footer-block-content .footer__logo {
  display: block;
  margin: 3rem auto 0;
}
.footer-block-content .footer__social {
  align-items: center;
  display: flex;
  gap: 3rem;
  justify-content: center;
  margin-top: 2.4rem;
}
.footer-block-content .footer__social-item {
  flex: 0 1 auto;
  margin: 0;
}
.footer-block-content .footer__social-link {
  color: #fff;
}
.footer-block-content .footer__social-link .svg-icon {
  width: 4.4rem;
  height: 4.4rem;
}
.footer-block-content .footer__contact {
  color: #fff;
  padding-left: 1.3em;
  position: relative;
}
.footer-block-content .footer__contact .svg-icon {
  width: 0.9em;
  height: 0.9em;
  color: #333372;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.footer .footer-block-content .footer__contact + .footer__contact {
  margin-top: 0.2em;
}
.footer__bottom {
  color: #dedede;
  margin-top: 2.4rem;
  text-align: center;
}
.footer__link {
  color: #dedede;
}
@media (hover: hover) {
  .footer__link:hover {
    color: #333372;
  }
}
@media (min-width: 992px) {
  .footer {
    padding: 7rem 0 2rem;
  }
  .footer__blocks {
    border-bottom: 1px solid #262626;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  .footer__block {
    flex: 1 1 auto;
    max-width: calc(25% - 0.75rem);
  }
  .footer-block-content .footer__logo {
    margin: 0 0 0 auto;
  }
  .footer-block-content .footer__social {
    justify-content: flex-end;
  }
  .footer__bottom {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
  }
}
@media (max-width: 991.98px) {
  .footer > .container > *:first-child:where(:not(.footer__blocks)) {
    margin-block-start: calc(var(--bs-gutter-x) * 0.5);
  }
  .footer__block.is-collapsible + .footer-block-content:not(.is-collapsible), .footer__block:not(.is-collapsible):is(:first-child) {
    margin-block-start: 3rem;
  }
}

.header {
  --icon-margin: 0 0.75rem 0 0;
  --dropdown-border-radius: 15px;
  --grid-template-columns: max-content max-content minmax(0, 1fr) auto auto;
  grid-template-columns: auto 1fr;
}
@media (min-width: 1200px) {
  .header {
    background-color: #fff;
    border-block-end: 1px solid #dedede;
    overflow: visible;
    position: sticky;
    top: 0;
    z-index: 15;
    display: grid;
    grid-template-columns: none;
    grid-template-rows: 4.5rem 1fr 0.25rem;
  }
  .header::before {
    content: "";
    grid-row: 1;
    grid-column: 1/-1;
    background: linear-gradient(45deg, #232352, #333372);
  }
  .header__top-nav {
    grid-template: "page-menu  page-menu   page-menu  contact  contact" "logo       categories  search     basket   basket" ".          .           .          .        .     "/var(--grid-template-columns);
    grid-template-rows: subgrid;
    grid-column: 1/-1;
    grid-row: 1/span 3;
    max-width: 1140px;
    margin-inline: auto;
  }
}
@media (min-width: 1200px) and (min-width: 1366px) {
  .header__top-nav {
    max-width: 1685px;
  }
}
@media (min-width: 1200px) {
  .header [id=categories-desktop] {
    padding-inline: min(2.5vw, 2rem);
    grid-area: categories;
  }
  .header [id=categories-desktop] .nav {
    position: absolute;
    min-height: 2px;
    top: 100%;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background-color: transparent;
  }
  .header [id=nav-pages-desktop],
  .header [id=search-desktop] {
    justify-self: normal;
  }
  .header [id=search-desktop] {
    padding-inline: min(2.5vw, 2rem);
  }
  .header__controls {
    justify-self: normal;
    position: relative;
  }
  .header__contact {
    display: grid;
    grid-template-columns: subgrid;
  }
  .header__opening-hours {
    color: #fff;
    margin-inline: 0 min(5vw, 4rem);
  }
  .header__tel {
    order: 1;
    font-weight: normal;
    color: #fff;
  }
  .header__tel:hover {
    color: #fff;
    text-decoration: underline;
  }
  .header__tel .icon-link__icon {
    color: #fff;
  }
  .header [class*=user-is-] {
    margin-inline: min(2vw, 2rem) auto;
  }
  .header [class*=user-is-]:hover .header-btn__caption, .header [class*=user-is-]:focus-within .header-btn__caption {
    color: #000;
  }
  .header [class*=user-is-] .header-btn__caption {
    color: #000;
    font-weight: normal;
    font-variation-settings: "wght" 700;
    font-size: 1.4rem;
    position: static;
    margin: 0;
  }
  .header [class*=user-is-] .header-btn__icon {
    margin: var(--icon-margin);
  }
  .header [id=headerBasket] {
    border: 1px solid #000;
    border-radius: 1rem;
    display: grid;
    align-items: center;
  }
  .header [id=headerBasket]:hover, .header [id=headerBasket]:focus-within {
    border-color: #000;
  }
  .header [id=headerBasket]:hover h2, .header [id=headerBasket]:focus-within h2 {
    color: #000;
  }
  .header [id=headerBasket] .header-cart__name {
    grid-area: 1/3;
    margin: 0;
    padding-inline-end: 1.5rem;
    font-size: inherit;
    line-height: inherit;
    font-weight: normal;
    font-variation-settings: "wght" 700;
    color: #000;
  }
  .header [id=headerBasket] .header-cart__icon {
    margin: var(--icon-margin);
  }
  .header [id=headerBasket] .header-btn {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/span 3;
    grid-row: 1;
    height: 4.8rem;
    padding-inline-start: 1.5rem;
  }
  .header [id=headerBasket] .header-btn.is-active {
    margin: 0;
  }
  .header [id=headerBasket] .header-btn.is-active::before, .header [id=headerBasket] .header-btn.is-active::after {
    opacity: 0;
  }
  .header [id=headerBasket] .header-btn__badge {
    position: static;
    grid-area: 1/1;
    height: 2.8rem;
    width: 2.8rem;
    background-color: #333372;
    margin-inline-end: 1rem;
    font-size: 1.4rem;
  }
  .header .suggestions__inner, .header-dropdown {
    max-height: calc(100dvh - var(--promo-height, 0px) - 8rem - 14.5rem);
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
  .header svg {
    stroke-width: 0;
  }
}
@media (max-width: 1199.98px) {
  .header .suggestions__inner, .header-dropdown {
    max-height: calc(100dvh - var(--promo-height, 0px) - 8rem - 5.5rem);
    overflow-y: visible;
    overscroll-behavior-y: contain;
  }
  .header-btn__icon {
    stroke-width: 0;
    color: #000;
    height: 1.9rem;
    width: 1.9rem;
    margin-block-end: 0.5rem;
  }
  .header-btn__icon--cart {
    height: 2.1rem;
    width: 2.1rem;
  }
  .header-btn__caption {
    bottom: 0.2rem;
    color: #000;
  }
  .header-btn__caption--cart {
    text-transform: lowercase;
  }
  .header-btn__badge {
    background-color: #000;
  }
  .header__top-nav {
    display: grid;
    grid-template-columns: 4rem minmax(7rem, 1fr) repeat(4, max-content);
    grid-template-rows: 5.5rem 4.4rem;
    justify-content: normal;
    padding-inline: calc(var(--bs-gutter-x) * 0.5);
  }
  .header__top-nav .categories-menu {
    grid-column: 1;
    grid-row: 1;
  }
  .header__top-nav .hamburger {
    background-color: #ebebf1;
    border: 1px solid #e8e8fd;
    border-radius: 8px;
    height: 4rem;
    width: 4rem;
  }
  .header__top-nav .hamburger-inner, .header__top-nav .hamburger-inner::before, .header__top-nav .hamburger-inner::after {
    background-color: #333372;
  }
  .header__top-nav .hamburger.is-active .hamburger-inner, .header__top-nav .hamburger.is-active .hamburger-inner::before, .header__top-nav .hamburger.is-active .hamburger-inner::after {
    background-color: #333372;
  }
  .header__controls {
    display: contents;
  }
  .header__controls:not(:has(.header__favourites)) .header__compare, .header__controls:has(.header__favourites[style*=none]) .header__compare {
    grid-column-end: -3;
  }
  .header-logo {
    grid-column: 2;
    margin-inline: 1.5rem;
  }
  .header-search {
    grid-row: 2;
    grid-column: 1/-1;
    border-radius: 1.7rem;
    border: 1px solid #333372;
  }
  .header-search__btn:not(.fix-specificity) {
    display: none;
  }
  .header-search .search-dropdown {
    display: block;
    opacity: 1;
    padding: 0;
    position: static;
    border-radius: 1.8rem;
  }
  .header-search .search__field, .header-search .search__btn {
    max-height: 3.3rem;
  }
  .header-search .search__field {
    background: none;
  }
  .header-search .search__field-container:not(.fix-specificity) {
    border: none;
    background: none;
  }
  .header-search .search__submit {
    background-color: #ebebf1;
    color: #333372;
    display: grid;
    align-items: center;
    grid-template-columns: 1.2rem 1fr;
    gap: 0.5rem;
    border-radius: 1.8rem;
    padding: 0 0.8rem;
  }
  .header-search .search__submit:has(.working) .search__icon--spinner {
    position: static;
    margin: 0;
  }
  .header-search .search__submit:has(.working) .search__icon:where(:not(.search__icon--spinner)) {
    opacity: 0;
  }
  .header-search .search__submit:has(.working) .search__btn {
    color: #fff;
  }
  .header-search .search__btn {
    background: none !important;
    color: inherit !important;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .header-search .search__icon {
    grid-column: 1;
    grid-row: 1;
    color: inherit !important;
    height: 1.2rem;
    width: 1.2rem;
  }
  .header-search .search__icon:where(:not(.search__icon--spinner)) {
    display: block;
  }
  .header__compare, .header__favourites,
  .header [class*=user-is],
  .header [id=headerBasket] {
    grid-row: 1;
  }
  .header__compare {
    grid-column-end: -4;
  }
  .header__favourites {
    grid-column-end: -3;
  }
  .header [class*=user-is] {
    grid-column-end: -2;
  }
  .header [id=headerBasket] {
    grid-column-end: -1;
  }
}
@media (min-width: 1200px) {
  .header .nav-pages, .header__contact {
    line-height: 1.5;
  }
  .header .nav-pages span, .header__contact span {
    line-height: inherit;
  }
  .header__contact {
    white-space: nowrap;
  }
}

.footer {
  background: linear-gradient(45deg, #232352, #333372);
  color: #fff;
}
@media (min-width: 992px) {
  .footer {
    padding-block-start: 5rem;
  }
}
@media (min-width: 992px) {
  .footer__blocks {
    border-block-end: none;
    gap: 1.5rem clamp(1.5rem, 3vw, 5rem);
  }
}
@media (min-width: 992px) {
  .footer__block {
    max-width: calc(21% - 0.75rem);
  }
}
@media (min-width: 992px) {
  .footer__block:first-child {
    border-block-end: 1px solid #dedede;
    max-width: none;
    width: 100%;
    padding-block-end: 4rem;
    margin-block-end: 4rem;
  }
  .footer__block:first-child .promo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(1rem, 5vw, 3rem);
  }
  .footer__block:first-child .promo * + * {
    margin-block-start: 0;
  }
  .footer__block:first-child .promo h2 {
    margin: 0;
    word-break: normal;
    font-weight: normal;
    font-variation-settings: "wght" 700;
    font-size: 2.2rem;
  }
  .footer__block:first-child .promo ul {
    display: flex;
    align-items: center;
  }
  .footer__block:first-child .promo .footer-socials {
    margin-inline-end: auto;
    gap: 1rem;
  }
  .footer__block:first-child .promo .footer-socials svg {
    height: auto;
    width: auto;
    max-height: 4rem;
    max-width: 4rem;
  }
  .footer__block:first-child .promo .footer-contacts {
    gap: clamp(1rem, 5vw, 8rem);
    font-size: 2rem;
    font-variation-settings: "wght" 700;
  }
  .footer__block:first-child .promo .footer-contacts [class*=icon-] {
    display: flex;
    align-items: center;
    gap: 1rem;
    white-space: nowrap;
  }
  .footer__block:first-child ~ * {
    font-weight: normal;
    font-variation-settings: "wght" 300;
  }
  .footer__block:first-child ~ * h2 {
    font-weight: normal;
    font-variation-settings: "wght" 700;
    font-size: 1.8rem;
    text-transform: uppercase;
  }
}
.footer__block svg {
  stroke-width: 0;
}
.footer .icon-shop-setos svg {
  width: 16.9rem;
  height: 4.4rem;
}
@media (min-width: 992px) {
  .footer .footer-block-content {
    padding-block-end: 5rem;
  }
}
.footer .footer-block-content * + * {
  margin-block-start: 1rem;
}
.footer__bottom {
  color: #fff;
  font-size: 1.2rem;
}
@media (min-width: 992px) {
  .footer__bottom {
    flex-direction: row-reverse;
  }
}
@media (max-width: 991.98px) {
  .footer__bottom {
    display: flex;
    flex-direction: column-reverse;
    gap: 1rem;
    text-align: left;
    margin-block-start: 3.6rem;
  }
  .footer__bottom a {
    color: inherit !important;
  }
  .footer__bottom > * {
    margin: 0 !important;
  }
  .footer__bottom > p {
    font-variation-settings: "wght" 700;
  }
  .footer__bottom > p span {
    font-variation-settings: "wght" 400;
  }
  .footer__bottom > p span a {
    font-variation-settings: "wght" 700;
  }
}
.footer > .container > *:not(.footer__blocks) .footer__link {
  color: #fff;
  text-decoration: none;
}
@media (hover: hover) {
  .footer > .container > *:not(.footer__blocks) .footer__link:hover {
    color: #fff;
  }
}
.footer__separator {
  display: none;
}
@media (min-width: 768px) {
  .footer__separator ~ .canvas {
    padding-block: 4.5rem;
  }
}
.footer__separator ~ .footer {
  margin-block-start: 4.5rem;
}

.alternate-background,
.nav-tabs.nav-tabs::before {
  background-color: rgba(255, 255, 255, 0);
}

.btn,
.btn:link,
.btn:visited,
.submit-button-container [type=submit],
[type=file]::file-selector-button {
  color: #fff;
  background-color: #333372;
}

.btn,
.submit-button-container [type=submit],
[type=file]::file-selector-button {
  align-items: center;
  border-radius: 1rem;
  display: flex;
  font-weight: normal;
  font-variation-settings: "wght" 500;
  height: 5rem;
  justify-content: center;
  padding: 0.4em 1.6em;
  text-decoration: none;
  text-transform: none;
  transition: color 0.15s linear, background-color 0.15s linear;
}
@media (min-width: 1200px) {
  .btn,
  .submit-button-container [type=submit],
  [type=file]::file-selector-button {
    height: 5rem;
  }
}

@media (hover: hover) {
  .btn:not([disabled]):hover,
  .submit-button-container [type=submit]:not([disabled]):hover {
    background-color: #232352;
    color: #fff;
  }
  .btn.btn--more:not([disabled]):hover {
    background-color: #333372;
    color: #fff;
  }
}
[type=file]::file-selector-button {
  border: none;
  display: inline-flex;
  cursor: pointer;
  margin-right: 1rem;
}
@media (hover: hover) {
  [type=file]:not([disabled]):hover::file-selector-button {
    background-color: #232352;
    color: #fff;
  }
}

.btn {
  cursor: pointer;
}
.btn--sm {
  height: 4rem;
}
.btn--more {
  background-color: #e8e8fd;
  color: #333372;
  font-weight: normal;
  font-variation-settings: "wght" 400;
  line-height: 2.2rem;
  font-size: 1.2rem;
  padding: 0.5rem 1.5rem;
  gap: 1rem;
  height: auto;
}
@media (min-width: 768px) {
  .btn--more {
    padding: 1rem 2rem;
    font-size: 1.6rem;
    line-height: 1.4;
  }
}
.btn--more .btn__icon {
  stroke-width: 1;
  width: 1em;
  height: 1em;
}
.btn--more.loading .btn__icon {
  display: none;
}
.btn--more.loading .btn__icon--loading {
  display: block !important;
  animation: spinner 0.75s infinite linear;
}
.btn__icon {
  width: 1.2em;
  height: 1.2em;
  margin: 0;
  stroke-width: 0;
}
.btn__icon--left {
  margin-inline-end: 1.6rem;
}
.btn__icon--right {
  margin-inline-start: 1.6rem;
}
.btn__icon--small {
  width: 1.4rem;
  height: 1.4rem;
}
.btn__icon--small.btn__icon--left {
  margin-inline-end: 1rem;
}
.btn__icon--small.btn__icon--right {
  margin-inline-start: 1rem;
}
.btn__link {
  background-color: transparent;
  color: #333372;
  text-decoration: underline;
  display: inline-flex;
  height: auto !important;
  font-size: inherit;
  font-weight: inherit;
  font-variation-settings: "wght" inherit;
}
.btn__link:hover, .btn__link:focus, .btn__link:active {
  color: currentcolor;
  text-decoration: none;
}
.btn__transparent {
  background-color: inherit;
  background-clip: border-box;
  align-items: center;
  text-decoration: none !important;
  border-radius: 1rem;
  display: flex;
  font-weight: normal;
  font-variation-settings: "wght" 500;
  height: 5rem;
  justify-content: center;
  padding: 0.4em 1.6em;
  transition: color 0.15s linear, background-color 0.15s linear;
  color: #747474;
  border: 1px solid #747474;
}
.btn__transparent:hover, .btn__transparent:focus, .btn__transparent:active {
  color: #000;
  border-color: #000;
}
.btn__dark, .btn__dark:link {
  background-color: #000;
  color: #fff;
}
.btn__dark:hover {
  background-color: #262626;
  color: #fff;
}
.btn--more[disabled], .btn[disabled] {
  background-color: #dedede;
  opacity: 0.5;
  cursor: default;
}
.btn__content-width {
  max-width: max-content;
}
.text-center > .btn__content-width {
  margin-inline: auto;
}
.btn.product-card__add-link--disabled {
  background-color: #dedede;
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}
.btn.product-card__add-link--disabled .btn__icon {
  color: currentcolor;
}
@media (min-width: 1200px) {
  .btn--sm {
    height: 4rem;
  }
}

.button-text {
  word-break: normal;
}

.canvas {
  padding: 4rem 0;
}
@media (min-width: 768px) {
  .canvas {
    padding: 5rem 0;
  }
}
@media (min-width: 1366px) {
  .canvas {
    padding: 6rem 0;
  }
}

.common-content::after {
  content: "";
  display: table;
  clear: both;
}
.common-content h2,
.common-content h3,
.common-content h4,
.common-content h5 {
  margin-bottom: 0;
}
.common-content :where(*) + :where(:not(li)) {
  margin-top: clamp(1.8rem, 3vw, 2.4rem);
}
.common-content :where(*) + :where(h2, h3, h4, h5) {
  margin-top: clamp(3.5rem, 5vw, 4.5rem);
}
.common-content .modal {
  margin-block-start: 0 !important;
}
.common-content p,
.common-content ul:where(:not([class])),
.common-content ol:where(:not([class])) {
  line-height: 1.625;
}
.common-content ul:where(:not([class])) li,
.common-content ol:where(:not([class])) li {
  position: relative;
}
.common-content ul:where(:not([class])) li::before,
.common-content ol:where(:not([class])) li::before {
  display: inline-block;
  position: absolute;
}
.common-content ul:where(:not([class]):not([style])) > li {
  padding-left: 4rem;
}
.common-content ul:where(:not([class]):not([style])) > li::before {
  content: "•";
  color: #333372;
  font-size: 3rem;
  line-height: 1;
  width: 4rem;
  margin-left: -4rem;
  text-align: center;
  vertical-align: bottom;
}
.common-content ol:where(:not([class])) {
  counter-reset: li;
  margin-left: 1rem;
}
.common-content ol:where(:not([class])) > li {
  counter-increment: li;
  padding-left: 3rem;
}
.common-content ol:where(:not([class])) > li::before {
  content: counter(li) ".";
  padding-right: 1rem;
  width: max-content;
  text-align: right;
  word-break: keep-all;
  transform: translateX(-100%);
}
.common-content ul ol,
.common-content ol ul,
.common-content ol ol,
.common-content ul ul {
  margin-block: clamp(0.9rem, 1.5vw, 1.2rem);
}
@media (min-width: 768px) {
  .common-content .f-right,
  .common-content .f-left {
    max-width: 40%;
    margin-bottom: 5%;
  }
}
@media (min-width: 768px) {
  .common-content .f-right {
    float: right;
    margin-left: 10%;
  }
}
@media (min-width: 768px) {
  .common-content .f-left {
    float: left;
    margin-right: 10%;
  }
}
.common-content picture,
.common-content img {
  display: block;
  max-width: 100%;
  height: auto;
}

.common-content ul:where(:not([class]):not([style])) > li::before {
  line-height: 1ex;
  top: 1px;
}

.footer-block-content {
  overflow: hidden;
  padding-bottom: 3rem;
  position: relative;
  transition: max-height 0.2s linear;
}
.footer-block-content * + * {
  margin-top: 1em;
}
.footer-block-content h2 {
  font-weight: 700;
  color: currentcolor;
}
@media (max-width: 1199.98px) {
  .footer-block-content h2 {
    font-size: min(1.365rem + 1.38vw, 2.4rem);
  }
}
.footer-block-content img {
  height: auto;
  max-width: 100%;
}
.footer-block-content a {
  color: #dedede;
  text-decoration: none;
}
@media (hover: hover) {
  .footer-block-content a:hover {
    color: #333372;
  }
}
@media (max-width: 991.98px) {
  .footer-block-content h2:first-of-type {
    height: 6.5rem;
  }
  .footer-block-content.is-collapsible {
    max-height: 6.5rem;
  }
  .footer-block-content.is-collapsible h2 {
    align-items: center;
    display: flex;
    padding-right: 5rem;
    position: relative;
  }
  .footer-block-content.is-collapsible h2 .svg-icon {
    color: #333372;
    display: block;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
  }
  .footer-block-content.is-collapsible.is-active h2 .svg-icon {
    transform: translateY(-50%) rotate(180deg);
  }
}
@media (min-width: 992px) {
  .footer-block-content {
    padding-bottom: 7rem;
  }
  .footer-block-content.is-collapsible {
    max-height: unset !important;
  }
  .footer-block-content.is-collapsible h2 {
    padding: 0;
  }
  .footer-block-content.is-collapsible h2 .svg-icon {
    display: none;
  }
  .footer-block-content::after {
    content: none;
  }
  .footer-block-content h2 {
    height: auto;
  }
  .footer-block-content h2 .svg-icon {
    display: none;
  }
}
@media (min-width: 1200px) {
  .footer-block-content h2 {
    margin-bottom: 3rem;
  }
}

@media (max-width: 991.98px) {
  .footer-block-content {
    margin-block-start: 3.6rem;
    padding-block-end: 0;
    max-height: none !important;
    font-size: 1.4rem;
  }
  .footer-block-content:first-child:not(:last-child) {
    padding-block-end: 3.2rem;
    border-block-end: 1px solid rgba(20, 92, 128, 0.1);
  }
  .footer-block-content:first-child:not(:last-child) h2 {
    font-variation-settings: "wght" 700;
  }
  .footer-block-content:first-child:not(:last-child) .footer-socials {
    display: flex;
    flex-wrap: wrap;
  }
  .footer-block-content:first-child:not(:last-child) .footer-socials > li,
  .footer-block-content:first-child:not(:last-child) .footer-socials > li + li {
    margin-block-start: 0;
  }
  .footer-block-content:first-child:not(:last-child) .footer-socials > li > a {
    display: flex;
    align-items: center;
    width: 4rem;
    height: 4rem;
  }
  .footer-block-content:first-child:not(:last-child) .footer-socials > li > a .svg-icon {
    height: 2.6rem;
    width: 2.6rem;
  }
  .footer-block-content:first-child:not(:last-child) .footer-contacts > li > a {
    display: flex;
    align-items: center;
    gap: 0 1.2rem;
  }
  .footer-block-content:first-child:not(:last-child) .footer-contacts > li > a .svg-icon {
    height: 1.6rem;
    width: 1.6rem;
  }
  .footer-block-content .icon-shop-setos {
    margin-block-start: 1rem;
  }
}
.footer-block-content h2 {
  font-weight: normal;
  font-variation-settings: "wght" 500;
}
@media (max-width: 991.98px) {
  .footer-block-content h2 {
    margin-block-end: 1.5rem;
  }
  .footer-block-content h2:first-of-type {
    padding: 0;
    font-size: 2.2rem;
    height: auto;
    display: block;
  }
  .footer-block-content h2 .svg-icon {
    display: none !important;
  }
}
.footer-block-content a {
  color: #fff;
}
@media (hover: hover) {
  .footer-block-content a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1010;
  display: none;
  max-width: 276px;
  padding: 1px;
  text-align: left;
  background-color: #fff;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal;
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}

.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: normal;
  line-height: 18px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0;
}
.popover-title:empty {
  display: none;
}

.popover-content {
  padding: 9px 14px;
}

.popover .arrow,
.popover .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.popover .arrow {
  border-width: 11px;
}

.popover .arrow:after {
  border-width: 10px;
  content: "";
}

.popover.top .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #e3e3e3;
  bottom: -11px;
}
.popover.top .arrow:after {
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #e3e3e3;
}
.popover.right .arrow:after {
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #e3e3e3;
  top: -11px;
}
.popover.bottom .arrow:after {
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #e3e3e3;
}
.popover.left .arrow:after {
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}

.popover {
  --bs-modal-zindex: 1055;
  font-size: 1.2rem;
  border-color: #dedede;
  border-radius: 0;
  box-shadow: none;
  filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.2));
  transition: 0.2s opacity ease-in;
  opacity: 0;
}
.popover.in {
  opacity: 1;
}
.popover__container:where(:not(.popover__container--plain-text)) {
  display: inline-block;
  margin: 0 0.25em;
}
.modal ~ .popover {
  z-index: var(--bs-modal-zindex);
}
@media (pointer: fine) {
  .popover-modal__container--wrapper {
    display: inline-grid;
  }
  .popover-modal__container--wrapper > * {
    grid-row: 1;
    grid-column: 1;
  }
  .popover-modal__container--wrapper > * .popover__trigger {
    width: 100%;
  }
  .popover-modal__container--wrapper > * .popover__icon {
    display: none;
  }
}
.popover__trigger:where(:not(.popover__trigger--plain-text)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.6rem;
  width: 1.6rem;
  color: #747474;
  position: relative;
  top: 0.125em;
}
@media (pointer: fine) {
  .popover__trigger:where(.popover__trigger--plain-text, [data-trigger=hover]) .popover__icon {
    display: none;
  }
}
.popover__trigger--active:where(:not(.popover__trigger--plain-text, [data-trigger=hover])) .popover__icon {
  display: none;
}
.popover__trigger--active:where(:not(.popover__trigger--plain-text, [data-trigger=hover])) .popover__icon--close {
  display: block;
}
@media (pointer: coarse) {
  .popover__trigger--active:where(.popover__trigger--plain-text, [data-trigger=hover]) .popover__icon {
    display: none;
  }
  .popover__trigger--active:where(.popover__trigger--plain-text, [data-trigger=hover]) .popover__icon--close {
    display: block;
  }
}
.popover__icon {
  max-width: 100%;
  max-height: 100%;
}
.popover__icon--close {
  display: none;
}
@media (max-width: 767.98px) {
  .popover .arrow {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .filter-popover-modifier.popover.top .arrow {
    display: block;
  }
}

.popover__trigger:where(:not(.popover__trigger--plain-text)) {
  height: 1.8rem;
  width: 1.8rem;
  color: #333372;
}
.popover__icon {
  stroke-width: 0.5px;
  color: #4d4d4d;
}
.popover.in {
  opacity: 1;
}

.user-form-extras .popover-modal__container--wrapper a {
  position: relative;
  top: -2px;
}

.icon-link {
  align-items: center;
  display: inline-flex;
  text-decoration: none;
}
.icon-link__icon {
  width: 1.28em;
  height: 1.28em;
  fill: #333372;
  display: inline-block;
  margin-right: 0.2em;
  stroke: #333372;
}

.row + * {
  margin-top: 1.4rem;
}

.form-input + .form-input:where(:not(.col)) {
  margin-top: 1.5rem;
}
.row--grid .form-input {
  margin-top: 0;
}
.form-input--margined {
  margin-top: 1.5rem;
}
.form-input--sm {
  width: 10rem;
}
.form-input--error .form-field-container {
  border-color: #e26969;
}
.form-input [class*="--inline"] + * {
  font-weight: 400;
  font-size: 1.4rem;
}
.form-input:has(.errors) .form-field-container {
  background-color: #f6dfdf;
  border-color: #e26969 !important;
}
.form-input:has(.errors) .form-field-container .form-field {
  background-color: #f6dfdf;
}
.form-input .errors {
  margin-block-start: 0.2rem;
  margin-inline: 1px;
  color: #e26969;
  font-size: 1.4rem;
}
.form-input:where(:not([readonly]):not(:has([disabled]))):hover .form-input__label, .form-input:where(:not([readonly]):not(:has([disabled]))):focus-within .form-input__label {
  color: #333372;
}
.form-input:where(:not([readonly]):not(:has([disabled]))):hover .form-field-container, .form-input:where(:not([readonly]):not(:has([disabled]))):focus-within .form-field-container {
  border-color: #333372;
}
.form-input:where(:has([disabled])) .form-input__label {
  opacity: 0.5;
}
.form-input__label {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  margin-block-end: 0.2em;
  transition: color 0.15s linear;
}
.form-input__label:where(:not(.text-bold)) {
  font-weight: 400;
}
.form-input__label--inline {
  display: inline-flex;
}
.form-input__label--inline + * {
  margin-inline-start: 0.5rem;
  margin-block: 0 0.2em;
}
.form-input__label:where(:is(legend)) {
  margin-block-end: 0.5rem;
}
.form-input__label.checkbox:where(:has(:not([readonly]), :not([disabled]))):hover {
  color: #333372;
}
.form-input__multi ul {
  margin-top: 0;
}
.form-input__multi ul li {
  background: none;
  padding: 0;
}
.form-input__multi ul li + li {
  margin-block-start: 1rem;
}
.form-input__multi ul li::before {
  display: none;
}
.form-input__multi--inline ul, .multi--inline .form-input__multi ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.5rem;
}
.form-input__multi--inline ul li,
.form-input__multi--inline ul li + li, .multi--inline .form-input__multi ul li,
.multi--inline .form-input__multi ul li + li {
  margin: 0;
}
.form-input__multi .hint {
  margin-block-start: 0.5rem;
}
.form-input__error {
  color: #000;
  display: none;
  margin-top: 0.4em;
}
.form-input__error.visible {
  display: block;
}
.form-input__help {
  display: none;
}
@media (min-width: 768px) {
  .form-input__help {
    align-items: center;
    cursor: auto;
    display: flex;
    margin-left: 0.5rem;
    position: relative;
  }
  .form-input__help:hover .form-input__help-box {
    display: block;
  }
  .form-input__help-icon {
    width: 1.4rem;
    height: 1.4rem;
    stroke: #9cb5e1;
  }
  .form-input__help-box {
    background-color: #ddedf3;
    border: 1px solid #9cb5e1;
    border-radius: 5px;
    color: #000;
    display: none;
    left: 50%;
    padding: 1.6rem 1rem;
    position: absolute;
    top: -2rem;
    transform: translate(-50%, -100%);
    font-weight: 400;
    text-align: center;
    width: 30rem;
  }
  .form-input__help-box::after {
    width: 2rem;
    height: 2rem;
    bottom: -1rem;
    background-color: #ddedf3;
    border: 1px solid #9cb5e1;
    border-bottom: none;
    border-left: none;
    content: "";
    left: 50%;
    position: absolute;
    transform: translateX(-50%) rotate(135deg) skew(-10deg, -10deg);
  }
}
.form-input .hint,
.form-input + .hint, .form-input__multi .hint {
  margin-block-start: 0.2rem;
  margin-inline: 1px;
  font-size: 1.4rem;
  color: #747474;
}

.form-check + .form-input__error {
  margin: 0 0 0.4em;
}

.input-append {
  display: flex;
  margin-top: 0.5rem;
}
.input-append > *:first-child {
  flex: 1;
}
.input-append > *:first-child [type=text] {
  padding-inline: 1rem;
  background-color: #fff;
  border: 1px solid #dedede;
  border-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  color: #000;
  transition: all 0.15s linear;
  width: 100%;
  height: 100%;
}
.input-append > *:first-child [type=text]::placeholder {
  color: rgba(0, 0, 0, 0.5);
  opacity: 1;
}
.input-append > *:first-child [type=text]:not([readonly]):hover, .input-append > *:first-child [type=text]:not([readonly]):focus {
  border-color: #333372;
}

/**
 * Reset iSpace custom form input styles to be able to design special inputs more easily
 */
/**
 * Styles to hide the scrollbar but still allow scrolling
 */
/**
 * Special version of the card-box() layout for the B2B shop
 */
/**
 * card-box list layout for the B2B shop
 */
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) {
  z-index: initial;
  position: relative;
  margin-top: 2rem;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) textarea {
  overflow: auto;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) textarea::-webkit-scrollbar {
  width: 4px;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) textarea::-webkit-scrollbar-track {
  background: transparent;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) textarea::-webkit-scrollbar-thumb {
  background: #333372;
  border-radius: 2px;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) textarea::-webkit-scrollbar-thumb:hover {
  background: #333372;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) .form-field-container {
  padding: 0;
  overflow: hidden;
  border: 1px solid #ccc;
  border-radius: 1rem;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) .form-field > * {
  padding-inline: 1.4rem;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) .form-field > *:where(:not(.search-query)):not([disabled]) {
  background-color: #fff;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(.errors) {
  --input-bg: map.get($theme-colors, "danger");
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(.errors) .form-field-container {
  background-color: #fff;
  border-color: #e26969 !important;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(.errors):focus-within .form-field-container {
  border-color: #232352 !important;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has([disabled]) .form-field-container {
  background-color: #f3f3f3;
  border-color: #dedede !important;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has([disabled]) .form-input__label {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-input__label) {
  position: absolute;
  white-space: nowrap;
  line-height: 2rem;
  padding-inline: 1.4rem 1rem;
  padding-block: 1.5rem;
  font-size: 1.6rem;
  color: #4d4d4d;
  text-overflow: ellipsis;
  overflow: hidden;
  transition: transform 0.2s ease, font-size 0.2s ease, background 0.2s ease;
  transform-origin: 0 0;
  background-clip: content-box;
  z-index: 3;
  max-width: 100%;
  pointer-events: none;
  font-variation-settings: "wght" 300;
  margin-block-end: 0;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-input__label)::before, .form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-input__label)::after {
  content: "";
  width: 0;
  transition: width 0.2s ease;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(.form-field--sm) .form-input__label {
  padding-block: 0.9rem;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):focus-within .form-field-container:where(:not(.search__field-container)) {
  border-color: #232352;
  box-shadow: 0 0 0 1px #232352;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):focus-within .form-input__label {
  color: #232352;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):hover:not(:where(:focus-within, [disabled])):where(:not(:has(.errors))) .form-field-container {
  border-color: #333372;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):hover:not(:where(:focus-within, [disabled])):where(:not(:has(.errors))) .form-input__label {
  color: #333372;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):hover:not(:where(:focus-within, [disabled])):has(.errors) .form-field-container {
  border-color: #e26969;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):hover:not(:where(:focus-within, [disabled])):has(.errors) .form-input__label {
  color: #e26969;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):not(:where(:placeholder-shown)):is(:where(:not(:placeholder-shown)), :where(:not([placeholder=""], [placeholder=" "])), :not([value=""]), :-webkit-autofill, :autofill, :focus)) :where(.form-input__label), .form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:where(:placeholder-shown:not([placeholder=""], [placeholder=" "])))) :where(.form-input__label), .form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:focus)) :where(.form-input__label) {
  font-size: 1.2rem;
  transform: translateY(-2.3rem) translateX(-0.4rem);
  background-image: linear-gradient(rgba(255, 255, 255, 0) calc(50% - 3px), #fff calc(50% - 0.3rem));
  max-width: 125%;
}
.form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):not(:where(:placeholder-shown)):is(:where(:not(:placeholder-shown)), :where(:not([placeholder=""], [placeholder=" "])), :not([value=""]), :-webkit-autofill, :autofill, :focus)) :where(.form-input__label)::before, .form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):not(:where(:placeholder-shown)):is(:where(:not(:placeholder-shown)), :where(:not([placeholder=""], [placeholder=" "])), :not([value=""]), :-webkit-autofill, :autofill, :focus)) :where(.form-input__label)::after, .form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:where(:placeholder-shown:not([placeholder=""], [placeholder=" "])))) :where(.form-input__label)::before, .form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:where(:placeholder-shown:not([placeholder=""], [placeholder=" "])))) :where(.form-input__label)::after, .form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:focus)) :where(.form-input__label)::before, .form-input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:focus)) :where(.form-input__label)::after {
  width: 0.4rem;
}

.form-input .hint,
.form-input + .hint, .form-input__multi .hint {
  margin-block-start: 0.3rem;
  font-size: 1.2rem;
}

.foxentry-input-icon.foxentry-input-icon {
  z-index: 2;
}

.form-field-container {
  background-color: #fff;
  border: 1px solid #dedede;
  border-radius: 0;
  padding: 0 1rem;
  position: relative;
  transition: all 0.15s linear;
  margin-block-start: 0;
}
.form-field-container:has([disabled]) {
  background-color: #fff;
}
@media (hover: hover) and (min-width: 768px) {
  .form-field-container {
    font-size: 1.4rem;
  }
}
@media (hover: none), (pointer: coarse) {
  .form-field-container {
    font-size: 1.6rem;
  }
}
.form-field-container--icon-after {
  padding-right: 4rem;
}
.form-field-container--icon-before {
  padding-left: 4rem;
}
.form-field-container--with-prefix {
  padding-left: 2.5rem;
}
@media (min-width: 576px) {
  .form-field-container--icon-after {
    padding-right: 6rem;
  }
  .form-field-container--icon-before {
    padding-left: 6rem;
  }
}
@media (min-width: 1200px) {
  .form-field-container {
    padding-left: 1.4rem;
  }
  .form-field-container--with-prefix {
    padding-left: 3rem;
  }
}

.form-field {
  align-items: center;
  background-color: #fff;
  border: none;
  display: flex;
  height: 3.8rem;
  justify-self: flex-start;
  outline: none;
  overflow: hidden;
  width: 100%;
}
.form-field:has([disabled]) {
  background-color: inherit;
}
.form-field__narrow {
  max-width: 500px;
}
.form-field--textarea {
  height: 10rem;
  line-height: 1.3;
  padding: 1rem 0;
}
.form-field--textarea:has([style*=height]) {
  height: auto;
}
.form-field--textarea-large {
  min-height: 20rem;
  line-height: 1.3;
  padding: 1rem 0;
}
.form-field--textarea-large:has([style*=height]) {
  height: auto;
}
.form-field__currency {
  font-weight: 700;
  padding-right: 0.6rem;
}
.form-field__prefix, .form-field__suffix {
  color: currentcolor;
  display: block;
  position: absolute;
  overflow-wrap: normal;
}
.form-field__prefix {
  left: 1rem;
}
.form-field__suffix {
  right: 1rem;
}
.form-field__input,
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select) {
  align-items: center;
  background-color: transparent;
  border: none;
  color: #000;
  display: flex;
  flex: 1;
  font-weight: 300;
  height: 100%;
  min-width: 1rem;
  padding: 0;
  position: relative;
  z-index: 2;
}
.form-field__input::placeholder,
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select)::placeholder {
  color: rgba(0, 0, 0, 0.5);
  opacity: 1;
}
.form-field__input[name]:-webkit-autofill,
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select)[name]:-webkit-autofill {
  background-color: #fff !important;
}
.form-field__input[name]:-webkit-autofill, .form-field__input[name]:-webkit-autofill:hover, .form-field__input[name]:-webkit-autofill:focus, .form-field__input[name]:-webkit-autofill:active,
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select)[name]:-webkit-autofill,
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select)[name]:-webkit-autofill:hover,
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select)[name]:-webkit-autofill:focus,
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select)[name]:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #fff inset !important;
}
.form-field__input[readonly],
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select)[readonly] {
  cursor: auto;
}
.form-field__input[disabled],
.form-field *:where([type=text], [type=password], [type=number], [type=email], [type=tel], textarea, select)[disabled] {
  color: #b1b1b1;
}
.form-field select {
  padding-right: 1rem;
}
.form-field__input--inline {
  flex: unset;
  width: 1.7rem;
}
.form-field__separator {
  color: #232352;
  font-weight: 700;
  text-align: center;
  width: 0.7rem;
}
.form-field__icon {
  width: 2.4rem;
  height: 2.4rem;
  display: none;
  height: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
.form-field__icon--top {
  top: 1.8rem;
}
.form-field__icon.visible {
  display: block;
}
.form-field__icon--sm {
  width: 1.8rem;
  height: 1.8rem;
}
.form-field__icon--after {
  right: 1rem;
}
.form-field__icon--before {
  left: 1rem;
}
@media (min-width: 576px) {
  .form-field__icon--after {
    right: 2rem;
  }
  .form-field__icon--before {
    left: 2rem;
  }
}
.form-field__file {
  background-color: #fff;
  border: 1px solid #dedede;
  border-radius: 0;
  position: relative;
  transition: all 0.15s linear;
}
.form-field .password-show-container {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  height: 100%;
  width: 100%;
}
.form-field .password-show-container > * {
  grid-row: 1;
  margin: 0;
}
.form-field .password-show-container [type=text] + .password-show-trigger::before {
  background-image: url('data:image/svg+xml,    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">    <path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path><line x1="1" y1="1" x2="23" y2="23"></line>    </svg>');
}
.form-field .password-show-trigger {
  position: relative;
}
.form-field .password-show-trigger::before {
  background-image: url('data:image/svg+xml,    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">    <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle>    </svg>');
  background-repeat: no-repeat;
  background-position: center right 0.8rem;
  background-size: 1.6rem auto;
  content: "";
  display: block;
  height: 100%;
  width: 4rem;
  opacity: 0.6;
}
.form-field .password-show-trigger::after {
  content: "";
  display: block;
  height: 4rem;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media (min-width: 1200px) {
  .form-field {
    height: 4.5rem;
  }
  .form-field--sm {
    height: 3.8rem;
  }
  .form-field--textarea {
    height: 11.6rem;
  }
  .form-field--textarea:has([style*=height]) {
    height: auto;
  }
  .form-field__prefix {
    left: 1.3rem;
  }
}

[class*=form-field][type] {
  margin-top: 0;
}

[id=trololo] {
  display: none;
}

.textarea-autogrow {
  display: grid;
}
.textarea-autogrow::after {
  content: attr(data-replicatedValue) " ";
  white-space: pre-wrap;
  visibility: hidden;
  border-width: 1px;
  border-style: solid;
  padding: 3px;
  font: inherit;
  max-width: calc(100% - 6px + 2px);
  width: 85%;
  margin-bottom: 10px;
}
.textarea-autogrow > textarea {
  resize: none;
  overflow: hidden;
  border: 1px solid #dedede;
  padding: 3px;
}
.textarea-autogrow > textarea, .textarea-autogrow::after {
  grid-area: 1/1/2/2;
}

.form-field {
  height: 5rem;
  background-color: transparent;
}
.form-field--textarea {
  height: 10rem;
  padding-bottom: 0;
}
.form-field--textarea:has([style*=height]) {
  height: auto;
}
.form-field--textarea-large {
  min-height: 20rem;
}
.form-field--textarea-large:has([style*=height]) {
  height: auto;
}
.form-field__input {
  font-size: 1.6rem;
}
@media (min-width: 1200px) {
  .form-field--sm {
    height: 3.8rem;
  }
  .form-field--textarea {
    height: 11.6rem;
  }
}

.form-input:has(.errors) .form-field-container .form-field {
  background-color: transparent;
}

.toggle-switch {
  display: inline-block;
  height: 24px;
  position: relative;
  width: 48px;
}
.toggle-switch .toggle-switch-slider {
  background-color: #eee;
  cursor: pointer;
  position: absolute;
  inset: 0;
  transition: 0.4s;
  border-radius: 24px;
}
.toggle-switch .toggle-switch-slider::before {
  background-color: #fff;
  border-radius: 50%;
  bottom: 2px;
  content: "";
  height: 20px;
  left: 2px;
  position: absolute;
  transition: 0.4s;
  width: 20px;
}
.toggle-switch [type=checkbox]:checked + .toggle-switch-slider {
  background-color: #333372;
}
.toggle-switch [type=checkbox]:checked + .toggle-switch-slider::before {
  transform: translateX(24px);
}

.skip__link {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip__link:focus {
  position: static;
  width: auto;
  height: auto;
}

.header-logo {
  display: flex;
  align-items: center;
}
.header-logo__img {
  display: block;
  width: auto;
}

.header-btn {
  align-items: center;
  display: flex;
  height: 5.5rem;
  justify-content: center;
  min-width: 7rem;
  position: relative;
  width: auto;
  transition: color 0.15s linear;
}
.header-btn.is-active {
  color: #333372;
}
.header-btn__secondary {
  background: #af3232;
}
.header-btn__icon {
  width: 1.9rem;
  height: 1.9rem;
  color: #000;
  stroke-width: 0;
  stroke: currentColor;
  z-index: 140;
  margin-block-end: 0.5rem;
}
.header-btn__icon--cart {
  width: 2.6rem;
  height: 2.6rem;
  margin-left: -0.5rem;
}
@media (max-width: 1199.98px) {
  .header-btn__icon--cart {
    width: 2.1rem;
    height: 2.1rem;
  }
}
@media (min-width: 1200px) {
  .header-btn__icon {
    width: 1.8rem;
    height: 1.8rem;
    color: #333372;
  }
  .header-btn__icon--cart {
    margin: var(--icon-margin);
    color: #000;
  }
}
@media (min-width: 1200px) {
  .header-btn__user {
    height: 5rem;
    color: #000;
    background: #f1f1f1;
    border-radius: 1rem;
    padding: 0 2rem;
  }
  .header-btn__user .header-btn__icon {
    color: #000;
  }
}
.header-btn__caption {
  bottom: 0.6rem;
  position: absolute;
  font-size: 1rem;
  text-decoration: none;
  margin-left: 0.1rem;
}
@media (min-width: 768px) {
  .header-btn__caption {
    font-size: 1.1rem;
    bottom: 0.3rem;
    margin-left: 0.2rem;
  }
}
@media (max-width: 1199.98px) {
  .header-btn__caption {
    bottom: 0.2rem;
    color: #333372;
  }
  .header-btn__caption--cart {
    text-transform: lowercase;
  }
}
.header-btn__registration .header-btn__icon {
  width: 2rem;
}
@media (min-width: 1200px) {
  .header-btn__registration {
    height: 5rem;
    color: #fff;
    background: #333372;
    border-radius: 1rem;
    padding: 0 2rem;
    text-transform: lowercase;
    font-variation-settings: "wght" 700;
    text-decoration: none;
  }
}
@media (min-width: 1200px) and (hover: hover) {
  .header-btn__registration.header-btn:hover {
    color: #fff;
  }
}
@media (min-width: 1200px) {
  .header-btn__registration .header-btn__icon {
    color: #fff;
    margin: var(--icon-margin);
  }
}
.header-btn__badge {
  width: 1.7em;
  height: 1.7em;
  font-size: 1rem;
  align-items: center;
  background-color: #333372;
  border-radius: 30%;
  display: flex;
  justify-content: center;
  position: absolute;
  right: 0.2rem;
  text-align: center;
  top: 1.1rem;
  z-index: 150;
}
.header-btn__badge--light {
  color: #fff;
}
.header-btn__badge--dark {
  color: #fff;
}
.header-btn__badge-icon {
  width: 1.2em;
  height: 1.2em;
  stroke-width: 3;
}
.header-btn__badge-icon--check {
  transform: translateY(0.05em);
}
@media (hover: hover) {
  .header-btn:hover {
    color: #333372;
  }
}
@media (min-width: 576px) {
  .header-btn::before, .header-btn::after {
    width: 5rem;
    height: 5rem;
    bottom: 0;
    content: "";
    position: absolute;
    z-index: -1;
  }
  .header-btn::before {
    bottom: 0;
    opacity: 0;
    transition: opacity 0s linear;
  }
  .header-btn.is-active {
    margin: 0;
    transition: color 0.15s linear;
  }
  .header-btn.is-active::before {
    box-shadow: none;
    opacity: 1;
    transition: opacity 0.15s linear;
  }
  .header-btn.is-active::after {
    background-color: rgba(255, 255, 255, 0);
    z-index: 135;
  }
}

@media (min-width: 1200px) {
  .header-search {
    display: none;
  }
}

.header-dropdown {
  background-color: #fff;
  box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
  display: none;
  opacity: 0;
  padding-bottom: 2rem;
  padding-top: 2rem;
  position: absolute;
  right: 0;
  transition: opacity 0s linear;
  width: 100%;
  z-index: 130;
  top: 5.5rem;
}
.header-dropdown.is-active {
  display: block;
}
.header-dropdown.is-visible {
  opacity: 1;
  transition: opacity 0.15s linear;
}
@media (min-width: 576px) {
  .header-dropdown:where(:not(.search-dropdown)) {
    max-width: 42rem;
    width: 80vw;
  }
  .header-dropdown.is-visible {
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
  }
}
@media (min-width: 1200px) {
  .header-dropdown {
    padding: 2rem;
    right: 1.5rem;
    top: 8.9rem;
  }
}
.header-dropdown__user {
  padding-block: 1.5rem;
}
@media (max-width: 1199.98px) {
  .header-dropdown__user {
    font-size: 1.4rem;
    padding-block: calc(2rem - 0.8em);
  }
}
.header-dropdown__user a {
  display: block;
  padding-block: 0.5rem;
}
@media (max-width: 1199.98px) {
  .header-dropdown__user a {
    padding-block: 0.4em;
  }
}
.header-dropdown__user a:link, .header-dropdown__user a:visited {
  text-decoration: none;
}
.header-dropdown__user a:hover, .header-dropdown__user a:focus, .header-dropdown__user a:active {
  text-decoration: underline;
}

.header-dropdown {
  border-radius: var(--dropdown-border-radius);
}
@media (min-width: 1200px) {
  .header-dropdown {
    top: calc(50% + 5rem);
    right: 0;
  }
}

.header-cart.header-cart--l {
  width: 100vw;
}
@media (max-width: 1199.98px) {
  .header-cart__name {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}
.header-cart .header-cart-item__remove {
  stroke-width: 2px;
}

.header-selects {
  display: flex;
  gap: 1rem;
  margin: 2rem 0;
}
@media (min-width: 1200px) {
  .header-selects {
    margin: 0 1rem 0 0;
  }
}

.header-select {
  align-items: center;
  background-color: #fff;
  color: #000;
  display: inline-flex;
  flex-direction: column;
  position: relative;
}
.header-select--desktop {
  display: none;
}
.header-select__btn {
  align-items: center;
  display: flex;
  height: 2.1em;
  padding: 0 0.8em;
  text-transform: uppercase;
}
@media (hover: hover) {
  .header-select__btn {
    transition: color 0.15s linear;
  }
  .header-select__btn:hover {
    color: #333372;
  }
}
.header-select__icon {
  width: 0.8rem;
  height: 0.8rem;
  color: #747474;
  margin-left: 1em;
}
.header-select__list {
  background-color: #fff;
  display: none;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 100%;
  transition: opacity 0s linear;
  width: 100%;
  z-index: 20;
}
.header-select__list.is-active {
  display: block;
}
.header-select__list.is-visible {
  opacity: 1;
  transition: opacity 0.15s linear;
}
.header-select__link {
  align-items: center;
  display: flex;
  height: 2.1em;
  padding: 0 0.8em;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}

.header-block img {
  max-width: 100%;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 0.5rem 0.5rem;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 1;
}
.hamburger.is-active:hover {
  opacity: 1;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
}

.hamburger-box {
  width: 2.2rem;
  height: 1.8rem;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.1rem;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 2.2rem;
  height: 0.2rem;
  background-color: #fff;
  border-radius: 0.4rem;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -0.8rem;
}
.hamburger-inner::after {
  bottom: -0.8rem;
}

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger {
  width: 5.5rem;
  height: 5.5rem;
  background-color: #333372;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
}
@media (min-width: 1200px) {
  .hamburger {
    display: none;
  }
}

.label-interactive__container {
  position: relative;
}
.label-interactive__label--default {
  visibility: hidden !important;
}
.label-interactive__label--replacement {
  pointer-events: none;
  position: absolute;
  top: var(--label-replacement-top, 0);
  left: var(--label-replacement-left, 0);
  font-size: var(--label-replacement-font-size, inherit);
}
.label-interactive__label--replacement a,
.label-interactive__label--replacement button {
  pointer-events: all;
}

@media (min-width: 1200px) {
  .search-dropdown {
    display: none !important;
  }
}

.search {
  display: flex;
}
.search__input {
  flex: 1;
  width: 100%;
}
.search__btn {
  margin-left: 0.6rem;
  max-height: 4rem;
}
.search__submit {
  position: relative;
}
.search__submit:has(.working) .search__btn {
  color: transparent;
}
.search__submit:has(.working) .search__icon--spinner {
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
}
.search__icon {
  display: none;
}
.search__icon--spinner {
  width: 1.8rem;
  height: 1.8rem;
  animation: spinner 0.75s infinite linear;
  opacity: 0.6;
  stroke-width: 0.01px;
}
@media (hover: hover) {
  .search__submit:hover .search__icon {
    color: #333372;
  }
  .search__icon {
    transition: color 0.15s linear;
  }
}
@media (min-width: 1200px) {
  .search {
    width: 100%;
  }
  .search:focus-within {
    outline: 1px solid #333372;
    outline-offset: 0;
  }
  .search__field-container {
    border: none;
  }
  .search__field {
    height: 5rem;
  }
  .search__btn {
    display: none;
  }
  .search__submit {
    align-items: center;
    background-color: #fff;
    display: flex;
    justify-content: center;
    height: 5rem;
    width: 4.5rem;
  }
  .search__icon:where(:not(.search__icon--spinner)) {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
  }
  .search__icon.working {
    display: none;
  }
  .search__icon.working + .search__icon--spinner {
    display: block;
    position: static;
  }
}

:root:has(.search input:focus) {
  scroll-padding-top: 0;
}

.search__input {
  position: static;
  background-color: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) {
  z-index: auto;
  margin-top: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-field-container) {
  padding: initial;
  overflow: visible;
  border: none;
  border-radius: 0;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-field > *):not([disabled]) {
  background-color: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-field__input) {
  font-size: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(.errors) {
  --input-bg: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(.errors) .form-field-container {
  background-color: initial;
  border-color: initial !important;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(.errors):focus-within .form-field-container {
  border-color: initial !important;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has([disabled]) .form-field-container {
  background-color: initial;
  border-color: initial !important;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-input__label) {
  position: static;
  white-space: normal;
  line-height: normal;
  padding-inline: 0;
  padding-block: 0;
  font-size: initial;
  color: initial;
  text-overflow: clip;
  overflow: visible;
  transition: none;
  transform: none;
  background-clip: border-box;
  z-index: auto;
  max-width: none;
  pointer-events: auto;
  font-variation-settings: initial;
  margin-block-end: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-input__label)::before, .search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)) :where(.form-input__label)::after {
  content: none;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(.form-field--sm) .form-input__label {
  padding-block: 0;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):focus-within :where(.form-field-container) {
  border-color: initial;
  box-shadow: none;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):focus-within :where(.form-input__label) {
  color: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):hover:not(:where(:focus-within, [disabled])):where(:not(:has(.errors))) :where(.form-field-container) {
  border-color: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):hover:not(:where(:focus-within, [disabled])):where(:not(:has(.errors))) :where(.form-input__label) {
  color: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):hover:not(:where(:focus-within, [disabled])):has(.errors) :where(.form-field-container) {
  border-color: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):hover:not(:where(:focus-within, [disabled])):has(.errors) :where(.form-input__label) {
  color: initial;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):not(:where(:placeholder-shown)):is(:where(:not(:placeholder-shown)), :where(:not([placeholder=""], [placeholder=" "])), :not([value=""]), :-webkit-autofill, :autofill, :focus)) :where(.form-input__label), .search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:where(:placeholder-shown:not([placeholder=""], [placeholder=" "])))) :where(.form-input__label), .search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:focus)) :where(.form-input__label) {
  transform: none;
  font-size: initial;
  background-image: none;
  max-width: none;
}
.search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):not(:where(:placeholder-shown)):is(:where(:not(:placeholder-shown)), :where(:not([placeholder=""], [placeholder=" "])), :not([value=""]), :-webkit-autofill, :autofill, :focus)) :where(.form-input__label)::before, .search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):not(:where(:placeholder-shown)):is(:where(:not(:placeholder-shown)), :where(:not([placeholder=""], [placeholder=" "])), :not([value=""]), :-webkit-autofill, :autofill, :focus)) :where(.form-input__label)::after, .search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:where(:placeholder-shown:not([placeholder=""], [placeholder=" "])))) :where(.form-input__label)::before, .search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:where(:placeholder-shown:not([placeholder=""], [placeholder=" "])))) :where(.form-input__label)::after, .search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:focus)) :where(.form-input__label)::before, .search__input:has(:where(input:not([type=checkbox], [type=radio]), textarea, select)):has(:where(input, select, textarea):is(:focus)) :where(.form-input__label)::after {
  width: 1;
}
.search .suggestions {
  padding: 0;
}
.search:focus-within .search__submit {
  background: #333372;
  color: #fff;
}

@media (min-width: 1200px) {
  .search {
    border-radius: 1.15rem;
    border: 1px solid #000;
  }
  .search:focus-within {
    outline-offset: -1px;
  }
  .search__input {
    border: 0;
  }
  .search__input .search__field-container {
    border: 0;
    box-shadow: none;
    background-color: transparent;
  }
  .search__field-container, .search__field {
    border-radius: 0;
    border: 0;
    border-top-left-radius: 1rem;
    border-bottom-left-radius: 1rem;
    background-color: #fff;
  }
  .search__submit {
    color: #fff;
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
    background: #333372;
    position: relative;
    width: auto;
  }
  .search__submit:has(.working) .btn {
    opacity: 0;
  }
  .search-query, .search__field, .search__submit {
    max-height: 4.8rem;
  }
  .search__icon {
    position: absolute !important;
    inset: 0;
    margin: auto;
  }
  .search__icon:not(.search__icon--spinner) {
    display: none !important;
  }
  .search__btn {
    background: none !important;
    color: currentcolor !important;
    font-weight: normal;
    font-variation-settings: "wght" 700;
    display: flex;
    margin: 0;
    padding: 0 2rem;
  }
}

.nav-pages {
  border: 1px solid #dedede;
  border-width: 1px 0;
  margin: 1rem 0;
  padding: 1rem 0;
}
@media (min-width: 1200px) {
  .nav-pages {
    display: flex;
  }
}
.nav-pages__list {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1199.98px) {
  .nav-pages__list {
    gap: 1.5rem;
  }
}
.nav-pages__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.4em 0;
  text-decoration: none;
  color: #fff;
}
.nav-pages__link--icon {
  display: none;
}
@media (hover: hover) {
  .nav-pages__link:hover {
    text-decoration: underline;
  }
}
@media (max-width: 1199.98px) {
  .nav-pages {
    font-size: 1.4rem;
    min-height: 4rem;
    border: none;
    padding: 0;
    margin-block: 2.8rem 0;
  }
  .nav-pages__link {
    min-height: 4rem;
    padding-inline: 1rem;
  }
  .nav-pages__link--icon {
    stroke-width: 0;
    order: 4;
    width: 12px;
    height: 9px;
    margin-inline: auto calc(20px - 1rem);
    display: block;
  }
  .nav-pages__item {
    border-block-end: 1px solid #e8e8fd;
  }
}
@media (min-width: 1200px) {
  .nav-pages {
    border: none;
    margin: 0;
    padding: 0;
  }
  .nav-pages .submenu--nested {
    margin-block-start: 0;
  }
  .nav-pages__list {
    flex-flow: row wrap;
    gap: 0 1rem;
    position: relative;
    margin-inline: 0;
    width: auto;
    max-width: calc(100% - var(--bs-gutter-x));
  }
  .nav-pages__list .container {
    padding: 0;
  }
  .nav-pages__list .nav-pages__list {
    position: absolute;
    top: calc(100% + 0.4rem);
    left: -0.75rem;
    background-color: #fff;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
    flex-direction: column;
    gap: 0;
    z-index: 150;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0s linear 0s;
    width: max-content;
    max-width: 42rem;
    padding: 1rem 1.5rem;
  }
  .nav-pages__list .nav-pages__list .nav-pages__list {
    left: 100%;
    top: 0;
  }
  .nav-pages__list .nav-pages__list a {
    display: block;
    padding-block: 0.5rem;
  }
  .nav-pages__list .nav-pages__list a:hover, .nav-pages__list .nav-pages__list a:focus, .nav-pages__list .nav-pages__list a:active {
    color: inherit;
    text-decoration: underline;
  }
  .nav-pages__item {
    position: relative;
  }
  .nav-pages__item:hover .nav-pages__list, .nav-pages__item:focus-within .nav-pages__list {
    transition: opacity 0.15s linear 0.3s;
    opacity: 1;
    max-height: none;
  }
  .nav-pages__item:has(.nav-pages__list) > .nav-pages__link {
    position: relative;
  }
  .nav-pages__item:has(.nav-pages__list) > .nav-pages__link::before, .nav-pages__item:has(.nav-pages__list) > .nav-pages__link::after {
    content: "";
    background-color: #fff;
    opacity: 0;
    transition: opacity 0s linear 0s;
    position: absolute;
    top: -0.5rem;
    left: -0.75rem;
    right: 0;
  }
  .nav-pages__item:has(.nav-pages__list) > .nav-pages__link::before {
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
    bottom: -0.5rem;
  }
  .nav-pages__item:has(.nav-pages__list) > .nav-pages__link::after {
    z-index: 155;
    bottom: -0.85rem;
  }
  .nav-pages__item:has(.nav-pages__list):hover > .nav-pages__link > *, .nav-pages__item:has(.nav-pages__list):focus-within > .nav-pages__link > * {
    z-index: 160;
  }
  .nav-pages__item:has(.nav-pages__list):hover > .nav-pages__link::before, .nav-pages__item:has(.nav-pages__list):hover > .nav-pages__link::after, .nav-pages__item:has(.nav-pages__list):focus-within > .nav-pages__link::before, .nav-pages__item:has(.nav-pages__list):focus-within > .nav-pages__link::after {
    opacity: 1;
    transition: transform 0s linear 0.3s, opacity 0.15s linear 0.3s;
  }
  .nav-pages__link {
    padding: 0 0.2em;
  }
}

@media (min-width: 1200px) {
  .categories-menu .hamburger {
    display: flex;
    width: auto;
    height: auto;
    background: none !important;
    border-radius: 1rem;
  }
  .categories-menu .hamburger-box {
    display: none;
  }
  .categories-menu__trigger {
    gap: 0.5rem;
  }
  .categories-menu .nav {
    border-radius: var(--dropdown-border-radius);
    display: grid;
    grid-template-rows: 0fr 0fr;
    transition: grid-template-rows 0.15s linear;
    left: 0;
    transform: none;
    max-width: 1685px;
    right: 0;
    margin: auto;
  }
  .categories-menu .nav,
  .categories-menu .nav * {
    word-break: normal;
  }
  .categories-menu .nav.nav {
    min-height: 0;
  }
  .categories-menu .nav-categories-container {
    position: relative;
    background-color: #fff;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    border-radius: var(--dropdown-border-radius);
    overflow: hidden;
    padding-inline: 0;
  }
  .categories-menu .nav .menu--main {
    --left-menu-width: 224px;
    background: linear-gradient(to right, #e8e8fd 0 calc(var(--left-menu-width) + 20px), #fff calc(var(--left-menu-width) + 20px));
    height: 100%;
    display: grid;
    grid-template-columns: 20px var(--left-menu-width) 1fr;
    align-content: start;
    margin-inline: 0;
    padding-block: 20px;
  }
  .categories-menu .nav .menu__item--main {
    display: contents;
  }
  .categories-menu .nav .menu__item--main:has(.submenu--main:hover) > .menu__link {
    background-color: #232352;
    color: #fff;
  }
  .categories-menu .nav .menu__item--main:has(.submenu--main:hover) > .menu__link .menu__link-img {
    background-color: #fff;
  }
  .categories-menu .nav .menu__item--main > .menu__link {
    padding-inline-start: 2.5rem;
    text-transform: none;
  }
  .categories-menu .nav .menu__item--main > .menu__link--primary, .categories-menu .nav .menu__item--main > .menu__link--secondary {
    background-color: transparent;
    border-radius: 1rem 0 0 1rem;
    color: #000;
    justify-content: start;
    height: auto;
    min-height: 40px;
    gap: 0 1rem;
  }
  .categories-menu .nav .menu__item--main > .menu__link--primary:hover, .categories-menu .nav .menu__item--main > .menu__link--primary:focus, .categories-menu .nav .menu__item--main > .menu__link--primary:active, .categories-menu .nav .menu__item--main > .menu__link--secondary:hover, .categories-menu .nav .menu__item--main > .menu__link--secondary:focus, .categories-menu .nav .menu__item--main > .menu__link--secondary:active {
    background-color: #232352;
    color: #fff;
  }
  .categories-menu .nav .menu__item--main > .menu__link--primary:hover .menu__link-img, .categories-menu .nav .menu__item--main > .menu__link--primary:focus .menu__link-img, .categories-menu .nav .menu__item--main > .menu__link--primary:active .menu__link-img, .categories-menu .nav .menu__item--main > .menu__link--secondary:hover .menu__link-img, .categories-menu .nav .menu__item--main > .menu__link--secondary:focus .menu__link-img, .categories-menu .nav .menu__item--main > .menu__link--secondary:active .menu__link-img {
    background-color: #fff;
  }
  .categories-menu .nav .menu__item--main > .menu__link .menu__link-img {
    position: static;
    display: block;
    height: 25px;
    width: 25px;
    border-radius: 13px;
  }
  .categories-menu .nav .menu__item--main > .menu__link .menu__link-img picture {
    position: relative;
  }
  .categories-menu .nav .menu__item--main > .menu__link .menu__link-img img {
    margin: auto;
    mix-blend-mode: darken;
  }
  .categories-menu .nav .menu__item--main > .menu__link--primary:has(+ .open) {
    background-color: #232352;
    color: #fff;
  }
  .categories-menu .nav .menu__item--main > .menu__link--primary:has(+ .open) .menu__link-img {
    background-color: #fff;
  }
  .categories-menu .nav .menu__item:not(.menu__item--nested) > a {
    grid-column: 2;
  }
  .categories-menu .nav .menu__link-text {
    -webkit-font-smoothing: antialiased;
  }
  .categories-menu .nav.is-visible {
    grid-template-rows: 1fr 0fr;
  }
  .categories-menu .nav.is-visible .nav-categories-container {
    --categories-nav-height: calc(98vh - 14.5rem);
    min-height: 50vh;
    max-height: var(--categories-nav-height);
  }
  .categories-menu .nav.is-visible::before {
    content: "";
    width: 100vw;
    height: 100vh;
    background: #ebebf1;
    opacity: 0.7;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
  .categories-menu .submenu__more-link {
    display: none;
  }
  .categories-menu .submenu__more-link .submenu__link {
    font-weight: normal;
    font-variation-settings: "wght" 600;
    text-decoration: none;
    text-transform: capitalize;
    color: #333372;
  }
  .categories-menu .submenu__more-link .submenu__link:hover, .categories-menu .submenu__more-link .submenu__link:focus, .categories-menu .submenu__more-link .submenu__link:active {
    text-decoration: underline;
  }
  .categories-menu .submenu__more-link .submenu__icon--forward {
    transform: rotate(-90deg);
    height: 1rem;
    width: 1rem;
    display: inline-block;
    stroke-width: 1.5px;
    margin-block-start: -1px;
  }
  .categories-menu .add-show-more + .submenu__more-link {
    display: inline;
  }
}
@media (max-width: 1199.98px) {
  .categories-menu .nav {
    background-color: #ebebf1;
    border: none;
    max-width: 100vw;
  }
}

.product-card-sample-container:not(.product-card-slider) {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 412px) {
  .product-card-sample-container:not(.product-card-slider) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 576px) {
  .product-card-sample-container:not(.product-card-slider) {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 890px) {
  .product-card-sample-container:not(.product-card-slider) {
    grid-template-columns: repeat(5, 1fr);
  }
}

.product-card {
  position: relative;
  text-align: start;
  container-name: product-card;
  container-type: inline-size;
}
.product-card__inner {
  background-color: rgba(255, 255, 255, 0);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0;
  height: 100%;
}
@container products-section (width < 374px) {
  .product-card__inner {
    display: grid;
    grid-template-columns: 105px 1fr;
    grid-auto-rows: auto;
    gap: 0 1rem;
  }
  .product-card__inner .product-card__primary:not(.specificity-fix), .product-card__inner .product-card__secondary:not(.specificity-fix), .product-card__inner .product-card__secondary-inner:not(.specificity-fix) {
    display: contents;
  }
  .product-card__inner .product-card__thumbnail {
    display: grid;
    grid-template-rows: subgrid;
    grid-template-columns: subgrid;
    grid-column: 1/span 2;
    grid-row: 1/span 3;
    background-color: transparent;
    padding: 0;
    margin: 0;
  }
  .product-card__inner .product-card__thumbnail picture {
    grid-column: 1;
    grid-row: 1/span 2;
    padding-block-end: 1rem;
    width: 0;
    height: 0;
    padding: 50%;
    position: relative;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
  }
  .product-card__inner .product-card__thumbnail img {
    position: absolute;
    height: 100%;
    width: 100%;
    max-width: 100%;
    max-height: 150px;
    inset: 0;
  }
  .product-card__inner .product-card__heading {
    grid-row: 1;
    grid-column: 2;
    align-self: end;
  }
  .product-card__inner .product-card__price {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
    padding-block: 1rem;
  }
  .product-card__inner .product-card__price .card-price {
    justify-content: start;
    gap: 5px 1rem;
  }
  .product-card__inner .product-card__price .card-price__full {
    color: #333372;
    font-size: 1.6rem;
  }
  .product-card__inner .product-card__price .card-price__discount {
    opacity: 1;
  }
  .product-card__inner .product-card__price .card-price__saving {
    font-size: 1.2rem;
    font-weight: normal;
    font-variation-settings: "wght" 500;
    color: rgb(24, 128, 56);
    background-color: rgba(24, 128, 56, 0.1);
    padding: 4px 6px;
    border-radius: 3px;
    text-transform: lowercase;
  }
  .product-card__inner .product-card__flags {
    grid-row: 3;
    grid-column: 1/span 2;
    flex-flow: row wrap;
    place-self: baseline flex-start;
    position: static;
  }
  .product-card__inner .product-card__flags:has(> *) {
    padding-block: 1.5rem;
    border-block-start: 1px solid rgba(20, 92, 128, 0.1);
    width: 100%;
  }
  .product-card__inner .product-card__flags .flags__item {
    font-size: 1rem;
    border-radius: 5px;
  }
  .product-card__inner .product-card__availability {
    grid-row: 4;
    grid-column: 1/span 2;
    font-variation-settings: "wght" 600;
    margin-block-end: 1rem;
  }
  .product-card__inner .product-card__variants {
    grid-row: 5;
    grid-column: 1/span 2;
  }
  .product-card__inner .product-card__add {
    grid-row: 6;
    grid-column: 1/span 2;
    padding-block-start: 0;
  }
  .product-card__inner .product-card__perex, .product-card__inner .product-card__parameters {
    grid-row: 6;
    grid-column: 1/span 2;
  }
  .product-card__inner .product-card__perex {
    display: none;
  }
  .embla .product-card__inner .product-card__perex {
    padding-block-end: 0;
  }
  .product-card__inner .product-card__perex ~ .product-card__parameters ~ .product-card__add {
    grid-row: 7;
  }
  .product-card__inner .product-card__primary:has(.flags__item) .product-card__availability {
    margin-block-start: -0.5rem;
  }
}
@container product-card (width < 280px) {
  .product-card__inner .product-card__perex {
    display: none;
  }
}
@container product-card (width < 305px) {
  .embla .product-card__inner .product-card__perex {
    display: none;
  }
}
.product-card__primary {
  flex: 1;
  display: grid;
  align-self: start;
  width: 100%;
  gap: 1rem;
  position: relative;
  z-index: 1;
}
@media (hover: hover) and (min-width: 992px) {
  .product-card__primary {
    height: auto;
  }
  .product-card__primary:has(.card-price__discount) + .product-card__secondary, .product-card__primary:has(.product-card__availability) + .product-card__secondary {
    margin-block-start: 0;
  }
}
.product-card__secondary {
  margin-block-start: 0;
  flex: 1;
  display: flex;
  width: 100%;
}
@media (hover: hover) and (min-width: 992px) {
  .product-card__secondary {
    background: none !important;
    position: static;
    opacity: 1;
    margin-block-start: -1rem;
  }
  .product-card__secondary::after {
    box-shadow: none;
  }
}
.product-card__secondary-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-inline: 0;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (min-width: 992px) {
  .product-card__secondary-inner {
    overflow: hidden;
  }
}
.product-card__secondary-inner > * {
  padding-block-start: 0;
}
@media (hover: hover) and (min-width: 992px) {
  .product-card__secondary-inner > * {
    padding-inline: 0;
  }
  .product-card__secondary-inner > *:last-child {
    margin-block-end: 0;
  }
  .product-card__secondary-inner > *:first-child:not(.product-card__add) {
    padding-block-start: 0;
  }
}
.product-card:hover .product-card__secondary {
  grid-template-rows: auto;
}
.product-card__heading {
  margin-block: 0;
  min-height: 1px;
  order: 10;
  font-weight: normal;
  font-variation-settings: "wght" 700;
  text-wrap: initial;
  font-size: 1.6rem;
}
.product-card__heading-link {
  word-break: normal;
  text-decoration: none;
}
@media (hover: hover) {
  .product-card__heading-link {
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.15s linear;
  }
  .product-card__heading-link:hover {
    text-decoration-color: currentColor;
  }
}
.product-card__thumbnail {
  --thumbnail-padding: clamp(1rem, 3vw, 2rem);
  border-radius: 8px;
  background-color: #fff;
  grid-area: 1/1;
  margin-bottom: 1rem;
  padding: var(--thumbnail-padding);
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  height: 23rem;
  position: relative;
  text-decoration: none;
  width: 100%;
}
.product-card__thumbnail > * {
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.product-card__thumbnail img {
  object-fit: contain;
  position: absolute;
  top: calc(var(--thumbnail-padding) * 0.5);
  left: calc(var(--thumbnail-padding) * 0.5);
  height: calc(100% - var(--thumbnail-padding));
  width: calc(100% - var(--thumbnail-padding));
  max-width: calc(100% - var(--thumbnail-padding));
}
.product-card__flags {
  position: relative;
  top: calc(var(--thumbnail-padding) - 10px);
  left: var(--thumbnail-padding);
}
.product-card__availability {
  margin-block-start: 0;
  font-size: 1.2rem;
  line-height: 1.3;
}
.product-card__variants {
  grid-area: 1/1;
  place-self: start;
  z-index: 1;
}
.product-card__price {
  line-height: 1.3;
  margin-block-start: auto;
}
@media (hover: hover) and (min-width: 992px) {
  .product-card__price:last-child {
    margin-block-end: 0.9lh;
  }
}
.product-card__perex {
  color: #4d4d4d;
}
.product-card__perex, .product-card__parameters {
  display: block;
  font-size: 1.4rem;
  margin: 0;
  opacity: 0.6;
  text-wrap: initial;
}
.product-card__parameters {
  display: flex;
  flex-wrap: wrap;
}
.product-card__parameters > * {
  display: inline;
}
.product-card__parameters dt {
  font-weight: inherit;
  font-variation-settings: "wght" inherit;
}
.product-card__parameters dt ~ dt::before {
  content: ", ";
}
.product-card__parameters dd {
  padding-inline-start: 0.3rem;
}
.product-card__add {
  display: flex;
  justify-content: center;
  align-items: end;
  padding-block-start: 0.5rem;
  gap: 1rem;
}
.product-card__add-link {
  display: grid;
  line-height: 1;
  grid-template-columns: auto auto;
  gap: 0 0.55em;
  padding-inline: 1rem;
  text-decoration: none;
  text-align: left;
  width: 100%;
}
@media (max-width: 400px) {
  .product-card__add-link {
    gap: 0;
  }
}
.product-card__add-link .btn__icon {
  color: #fff;
  margin: -0.2em 0 0;
  transition: transform 0.15s linear;
  stroke-width: 0;
  width: 2.6rem;
  height: 2.6rem;
}
.product-card__compare {
  display: none;
}
:where([id=sect-catalog]) .product-card__compare:is(:link, :visited) {
  display: flex;
  align-items: center;
  padding-inline: 0.4em;
  aspect-ratio: 1;
  color: #333372;
  background-color: transparent;
  border: 1px solid #333372;
  border-radius: 50%;
}
:where([id=sect-catalog]) .product-card__compare .btn__icon {
  stroke-width: 0;
  width: 2.6rem;
  height: 2.6rem;
}
:where([id=sect-catalog]) .product-card__compare--active:is(:link, :visited) {
  border-color: transparent;
  background: linear-gradient(to bottom, #e8e8fd 0%, #e8e8fd 100%), linear-gradient(to bottom, #fff 0%, #fff 100%);
}
:where([id=sect-catalog]) .product-card__compare--active:not(.fix-specificity):hover {
  color: #333372;
}
:where([id=sect-catalog]) .product-card__compare:hover {
  border-color: transparent;
}
@media (hover: hover) and (min-width: 992px) {
  .product-card:hover {
    z-index: 5;
  }
}

[id=addToCompareModal] .product-detail__actions-icon {
  height: 1.6rem;
  stroke-width: 0.3;
  position: relative;
  left: -0.3em;
  top: -2px;
}

.card-price {
  text-align: center;
  margin: 0;
  margin-block: 0 !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0 0.3rem;
}
.card-price__full {
  display: block;
  order: -1;
  font-size: 1.8rem;
  font-weight: normal;
  font-variation-settings: "wght" 700;
  color: #333372;
  text-wrap: nowrap;
}
.card-price__full strong {
  font-weight: inherit;
  font-variation-settings: "wght" inherit;
}
.card-price__discount {
  display: block;
  font-weight: 400;
  font-size: 1.2rem;
  opacity: 0.6;
  color: #4d4d4d;
}
.card-price__saving {
  font-size: 1.4rem;
  color: #058802;
}
.card-price__voucher {
  display: flex;
  flex-flow: column;
  align-items: center;
  background-color: #d8edf7;
  font-size: 1.4rem;
  border-radius: 0.5rem;
  font-variation-settings: "wght" 600;
  line-height: 1.3;
  padding: 0.7rem;
  margin-block-end: 1rem;
  text-align: center;
}
@container products-section (width < 374px) {
  .card-price__voucher {
    grid-column: 1/-1;
    margin-bottom: 1rem;
  }
}
.card-price__voucher > span {
  color: #333372;
}
.card-price__voucher > a {
  color: #000;
}

.product-card__special--inner {
  background-color: #ebebf1;
  border: 2px solid #333372;
  border-radius: 10px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
  padding: clamp(2rem, 5vw, 4rem);
  position: relative;
  text-align: center;
}
.product-card__special--inner * {
  margin: 0;
  padding: 0;
}
@media (min-width: 992px) {
  .product-card__special--heading, .product-card__special--description {
    text-align: start;
  }
}
.product-card__special--heading {
  font-size: 2.2rem;
  text-wrap: balance;
}
.product-card__special--link {
  font-size: 1.4rem;
}
@media (min-width: 992px) {
  .product-card__special--link {
    margin-block-start: 15%;
  }
}
.product-card__special--link a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-transform: lowercase;
  text-decoration: none;
}
.product-card__special--link a::before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.product-card__special--link-icon {
  transform: scale(-1);
}

.flags {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  place-self: end;
  gap: 0.4rem;
  z-index: 2;
  width: 100%;
}
.flags__item {
  align-items: center;
  background-color: var(--flag-background, #fff);
  color: #333372;
  display: flex;
  height: auto;
  min-height: 2.2rem;
  padding: 0.3em 0.6em;
  font-size: 1.1rem;
  line-height: 1.2;
  border-radius: 5px 0 0 5px;
  text-wrap: balance;
}
.flags__item[data-label-id="100"] {
  color: #eab000;
}
.flags__item[data-label-id="101"] {
  color: #00aea3;
}
.flags__item.label-gift {
  color: #00aea3;
}
.flags__icon {
  display: none;
}
.flags__text {
  display: block;
  font-weight: normal;
  font-variation-settings: "wght" 600;
  margin: 0;
}

.nav-categories-container {
  font-size: 1.4rem;
}

.menu-container {
  position: relative;
}

.menu__link {
  text-decoration: none;
}
@media (max-width: 1199.98px) {
  .menu {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .menu--main > .menu__item > .menu__link .menu__link-text {
    color: #333372;
  }
  .menu__item {
    background: #fff;
    border-radius: 8px;
    display: grid;
    grid-template-rows: auto 0fr;
    grid-template-columns: 30px 1fr 40px;
    align-content: start;
    gap: 0 1rem;
    transition: grid-template-rows 0.3s ease-in-out;
    padding-block: 8px;
  }
  .menu__item > .submenu {
    grid-column: 1/-1;
  }
  .menu__item.is-active {
    grid-template-rows: auto 1fr;
  }
  .menu__item.is-active > .menu__link .menu__icon {
    transform: rotate(180deg);
  }
  .menu__item--nested {
    background-color: #ebebf1;
  }
  .menu__item--nested .menu__link-text {
    font-variation-settings: "wght" 400;
  }
  .menu__item:not(:has(> .menu__link .menu__link-img)) .menu__link-text {
    grid-column: 1/3;
  }
  .menu__icon {
    color: #333372;
    grid-column: 3;
    height: 1.4rem;
    width: 1.4rem;
    justify-self: center;
    transform: rotate(0deg);
  }
  .menu__link {
    align-items: center;
    width: 100%;
    text-align: left;
    min-height: 3.44rem;
    text-transform: none;
    padding: 8px 1.5rem;
    margin-block: -7px;
    display: grid;
    grid-template-columns: inherit;
    gap: inherit;
    grid-column: 1/-1;
    grid-row: 1;
  }
  .menu__link:is(a) {
    grid-column: 1/-2;
  }
  .menu__link.desktop-nav-only {
    display: grid !important;
  }
  .menu__link.desktop-nav-only .menu__link-text {
    display: none;
  }
  .menu__link:where(:not(:last-child)) {
    padding-inline-end: 0.75rem;
  }
  .menu__link-img {
    display: block;
    grid-column: 1;
  }
  .menu__link-img img {
    max-height: 30px;
    margin: auto;
    mix-blend-mode: multiply;
  }
  .menu__link-text {
    grid-column: 2;
  }
  .menu__link--primary {
    font-weight: normal;
    font-variation-settings: "wght" 600;
  }
  .nav-pages .menu__link--primary {
    font-variation-settings: "wght" 400;
  }
  .menu__link--secondary {
    font-weight: normal;
    font-variation-settings: "wght" 400;
  }
  .menu--nested {
    padding: 1rem 1.5rem;
  }
  .menu--nested .menu--nested {
    gap: 0;
    padding-inline: 0;
  }
}
@media (min-width: 1200px) {
  .menu--main {
    overflow: scroll;
    overflow: -moz-scrollbars-none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
    /* Chrome, Safari and Opera */
    overflow-x: hidden;
    align-items: center;
    display: flex;
    height: 0rem;
    justify-content: space-between;
    margin: 0 -1rem;
  }
  .menu--main::-webkit-scrollbar {
    display: none;
  }
  .menu--main::after {
    background-color: #232352;
    content: "";
    height: 0rem;
    right: 0;
    position: absolute;
    top: 14.5rem;
    width: 50vw;
    z-index: 0;
  }
  .menu--nested .menu__link:hover {
    color: #333372;
  }
  .menu__item, .menu__link {
    height: 100%;
  }
  .menu__item {
    display: block;
    flex: 1 1 auto;
  }
  .menu__item--main:hover > .menu__link {
    background-color: #fff;
  }
  .menu__item--main > .menu__link {
    align-items: center;
    background-color: #333372;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 0 1rem;
    position: relative;
    text-transform: uppercase;
    transition: background-color 0.15s linear;
    z-index: 110;
  }
  .menu__item--main > .menu__link--primary {
    font-weight: 700;
  }
  .menu__item--main > .menu__link--secondary {
    background-color: #fff;
  }
  .menu__item--main > .menu__link.is-current {
    background-color: #000;
    color: #fff;
  }
  .menu__item--main > .menu__link .menu__link-text {
    z-index: 102;
  }
  .menu__link-text {
    text-align: left;
    line-height: 1.4;
  }
  .menu__link-img {
    width: 4rem;
    height: 4rem;
    display: none;
    left: 0;
    position: absolute;
    top: 0;
  }
  .menu__link-img picture,
  .menu__link-img img {
    width: 100%;
    height: 100%;
  }
  .menu__link-img picture {
    display: block;
  }
  .menu__link-img img {
    object-fit: contain;
    position: absolute;
  }
  .menu__icon {
    display: none;
  }
  .menu .submenu--main > .menu {
    display: grid;
    column-gap: 2rem;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 20px;
  }
  .menu .submenu--main > .menu > .menu__item {
    padding: 1rem 0 1rem 22%;
    position: relative;
  }
  .menu .submenu--main > .menu > .menu__item > .menu__link {
    display: block;
    font-weight: 700;
    height: auto;
    text-transform: uppercase;
  }
  .menu .submenu--nested .menu__link {
    display: block;
    padding: 0.4em 0;
  }
}

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

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

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

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

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

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

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

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

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

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

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

@media (max-width: 359.98px) {
  .modal-fullscreen-ms-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-ms-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-ms-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 479.98px) {
  .modal-fullscreen-s-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-s-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-s-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1365.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1649.98px) {
  .modal-fullscreen-desktop-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-desktop-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-desktop-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1919.98px) {
  .modal-fullscreen-fullhd-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-fullhd-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-fullhd-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 2499.98px) {
  .modal-fullscreen-2k-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-2k-down .modal-content {
    height: 100%;
    border: 0;
  }
  .modal-fullscreen-2k-down .modal-body {
    overflow-y: auto;
  }
}
.modal {
  --bs-modal-width: max-content;
  --bs-modal-border-radius: 0;
  --bs-modal-max-height: 98dvh;
  --bs-modal-width-narrow: 500px;
  --bs-modal-width-default: 850px;
  --bs-modal-width-wide: 1100px;
  --modal-padding-block: clamp(1rem, 4vw, 2.5rem);
  --modal-padding-inline: clamp(1rem, 5vw, 3rem);
  --bs-modal-padding: var(--modal-padding-block) var(--modal-padding-inline);
  --bs-modal-margin: 0;
  --bs-modal-header-font-size: 2rem;
  --modal-in-modal-backdrop-color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  top: 0 !important;
}
.modal .modal {
  background: var(--modal-in-modal-backdrop-color);
  pointer-events: all;
}
.modal .modal .modal-dialog {
  max-width: 90%;
}
.modal.hide:not(.in) {
  z-index: -1000;
}
.modal-content {
  border: none;
  overflow: hidden;
}
.modal-dialog {
  max-height: calc(var(--bs-modal-max-height) - (var(--bs-modal-margin) + var(--bs-modal-margin)));
  max-width: 98vw;
  width: var(--bs-modal-width-default);
  inset: auto;
  pointer-events: all;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
.modal.wide .modal-dialog {
  width: var(--bs-modal-width-wide);
}
.modal.narrow .modal-dialog {
  width: var(--bs-modal-width-narrow);
}
@media (min-width: 1px) {
  .modal.full-page-modal .modal-dialog {
    width: calc(100vw - 40px);
    height: calc(100vh - 40px);
    max-height: -moz-available;
    max-height: -webkit-fill-available;
    max-width: none;
  }
}
@media (min-width: 1px) and (max-width: 767px) {
  .modal.full-page-modal .modal-dialog {
    width: calc(100vw - 10px);
    height: calc(100vh - 10px);
  }
}
@media (min-width: 1px) {
  .modal.full-page-modal .modal-dialog .modal-body > iframe {
    width: 100%;
    height: 100%;
  }
  .modal.full-page-modal .modal-dialog .modal-body--full-height-iframe {
    padding-top: calc(var(--modal-padding-block) * 3);
  }
}
.modal.fade {
  display: flex !important;
}
.modal.fade:not(.in) {
  pointer-events: none;
}
.modal.fade > .modal-dialog {
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
  transform: translateY(-50%);
  opacity: 0;
  margin: auto;
}
.modal.fade.in > .modal-dialog {
  transform: translate(0, 0);
  opacity: 1;
}
.modal.fade.in > .modal-dialog .modal-close {
  display: block;
}
.modal-backdrop.fade {
  opacity: 0;
  transition: opacity 0.15s linear;
}
.modal-backdrop.fade.in {
  opacity: 0.5;
}
.modal-close {
  display: none;
  position: absolute;
  right: calc(var(--modal-padding-inline) - 8px);
  top: var(--modal-padding-block);
  transform: translateY(-3px);
  color: rgba(0, 0, 0, 0.7);
  margin: 0;
}
.modal-close:hover, .modal-close:focus {
  color: rgba(0, 0, 0, 0.9);
}
.modal-close__icon {
  filter: drop-shadow(0 0 1px #fff);
  width: 30px;
  height: 30px;
  margin: 0;
}
.modal .floating-spinner-container::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: #fff;
  z-index: -1;
  opacity: 0;
  transition: opacity ease-in 0.2s, z-index 0.2s 0.01s;
}
.modal .floating-spinner-container.spinner-show::after {
  opacity: 0.8;
  z-index: 2;
}
.modal-spinner__icon {
  height: 40px;
  width: 40px;
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  animation: modal-spinner 0.75s infinite linear;
  z-index: -1;
  transition: opacity 0.3s ease-in;
}
.modal-header {
  padding: var(--bs-modal-padding);
  padding-right: calc(var(--modal-padding-inline) + 30px);
  margin-bottom: 0;
  justify-content: start;
}
.modal-header:has(.modal-subheader) {
  flex-wrap: wrap;
}
.modal-subheader {
  width: 100%;
  font-size: 0.9em;
}
.modal-footer, .modal-content-footer {
  padding: var(--bs-modal-padding);
}
.modal-content-footer {
  padding-top: 0;
}
.modal-content-footer.center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.modal-body {
  min-height: calc(var(--modal-padding-block) * 2 + 24px);
}
.modal-header,
.modal .modal-body h1,
.modal .cookie-consent-header {
  font-size: var(--bs-modal-header-font-size);
}
.modal [id=ajaxcontent] .admin-edit {
  display: none !important;
}
.modal [id=ajaxcontent] .default-page,
.modal [id=ajaxcontent] .admin-edit + * {
  margin-top: 0;
}
.modal [id=ajaxcontent] .default-page__header {
  background: none;
  margin: 0;
  padding: 0 30px var(--modal-padding-block) 0;
}
.modal [id=ajaxcontent] .default-page__header h1 {
  margin: 0;
}
.modal [id=ajaxcontent] .default-page__content {
  margin: 0;
  padding: 0;
}
.modal .container {
  padding: 0;
}
.modal-has-scroll .modal-dialog {
  max-height: 100%;
}
.modal-has-scroll .modal-content {
  display: block;
  overflow: auto;
  padding-block-end: 2rem;
  overscroll-behavior: contain;
}

.modal-loading [type=submit] {
  pointer-events: none;
}

@keyframes modal-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.modal {
  /* stylelint-disable-next-line length-zero-no-unit */
  --bs-modal-margin: 0px;
}
.modal-dialog, .modal-content,
.modal .modal {
  border-radius: 1rem;
}
.modal .modal-body {
  overflow: auto;
  overflow: auto;
  overscroll-behavior: contain;
}
.modal .modal-body::-webkit-scrollbar {
  width: 4px;
}
.modal .modal-body::-webkit-scrollbar-track {
  background: transparent;
}
.modal .modal-body::-webkit-scrollbar-thumb {
  background: #333372;
  border-radius: 2px;
}
.modal .modal-body::-webkit-scrollbar-thumb:hover {
  background: #333372;
}
.modal .modal-close {
  top: 0;
  right: 0;
  transform: none;
  background-color: #d20000;
  width: 2.5rem;
  height: 2.5rem;
  border-bottom-left-radius: 1rem;
  z-index: 1;
}
@media (min-width: 992px) {
  .modal .modal-close {
    width: 4.7rem;
    height: 4.7rem;
  }
}
.modal .modal-close svg {
  width: 1.8rem;
  height: 1.8rem;
  color: #fff;
  margin-left: 0.35rem;
}
@media (min-width: 992px) {
  .modal .modal-close svg {
    width: 2.7rem;
    height: 2.7rem;
    margin-left: 1.1rem;
  }
}

.submenu {
  background: none;
}
@media (max-width: 1199.98px) {
  .submenu {
    bottom: 0;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.3s ease-in-out;
    width: 100%;
    z-index: 100;
    position: static;
    padding: 0;
  }
  .submenu.is-visible {
    transform: translateX(100%);
  }
  .submenu.is-active {
    overflow: auto;
  }
  .submenu .submenu {
    background-color: transparent;
  }
  .submenu__header {
    display: none;
  }
  .submenu__btn {
    align-items: start;
    display: grid;
    grid-template-columns: 1.8rem 1fr;
    gap: 1rem;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
  }
  .submenu__link {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 0.4em;
    padding-right: 0;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
  }
  .submenu__link--back {
    width: auto;
  }
  .submenu__link--sm {
    padding: 0 0 0 1rem;
  }
  .submenu__icon {
    width: 1.8rem;
    height: 1.8rem;
    color: #333372;
    margin-top: 0.15rem;
  }
  .submenu__icon--back {
    transform: rotate(90deg);
  }
  .submenu__icon--next {
    transform: rotate(-90deg);
  }
}
@media (min-width: 992px) {
  .submenu--main {
    max-width: calc(1024px - 1rem);
  }
}
@media (min-width: 1200px) {
  .submenu--main {
    max-width: calc(1140px - 1rem);
  }
}
@media (min-width: 1366px) {
  .submenu--main {
    max-width: calc(1685px - 1rem);
  }
}
@media (min-width: 1200px) {
  .submenu {
    overflow: auto;
    overscroll-behavior: auto;
    overflow-x: hidden;
  }
  .submenu::-webkit-scrollbar {
    width: 4px;
  }
  .submenu::-webkit-scrollbar-track {
    background: transparent;
  }
  .submenu::-webkit-scrollbar-thumb {
    background: #333372;
    border-radius: 2px;
  }
  .submenu::-webkit-scrollbar-thumb:hover {
    background: #333372;
  }
  .submenu::-webkit-scrollbar-thumb {
    background: transparent;
  }
  .submenu:hover::-webkit-scrollbar-thumb {
    background: #333372;
  }
}
@media (min-width: 1200px) and (hover: none), (min-width: 1200px) and (pointer: coarse) {
  .submenu::-webkit-scrollbar-thumb {
    background: #333372;
  }
}
@media (min-width: 1200px) {
  .submenu.submenu--main {
    background-color: #fff;
    display: block;
    overflow: auto;
    visibility: hidden;
    width: 100%;
    transform: none;
    height: calc(100% + 40px);
    max-width: 100%;
    padding: 20px;
    margin-block: -20px;
    position: static;
    grid-column: 3;
    grid-row: 1/50;
    align-self: start;
    box-shadow: none;
    z-index: -1;
    opacity: 1;
    transition: none;
  }
  .submenu.submenu--main::after {
    content: "";
    position: absolute;
    inset: 0 0 0 calc(var(--left-menu-width) + 30px);
    background-color: rgb(255, 255, 255);
    opacity: 1;
    transition: opacity 0.15s linear;
    -webkit-transform: translate3d(0, 0, 0);
  }
  .submenu.submenu--main.open {
    visibility: visible;
    z-index: 110;
  }
  .submenu.submenu--main.open::after {
    opacity: 0;
    pointer-events: none;
  }
  .submenu.submenu--main.open .menu__link-img {
    display: block;
  }
  .submenu.submenu--main > .menu {
    gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(min(350px, 100%), 1fr));
    grid-auto-rows: auto;
  }
  .submenu.submenu--main > .menu > .menu__item {
    border-radius: 10px;
    background-color: rgba(235, 235, 241, 0);
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.0784313725);
    transition: background-color linear 0.15s, box-shadow linear 0.15s;
    grid-row: auto !important;
    overflow: hidden;
    padding-inline: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 8.5rem) 1fr;
    grid-template-rows: auto 1fr;
    grid-auto-rows: auto;
    gap: 0 1rem;
    border: 1px solid #000;
  }
  .submenu.submenu--main > .menu > .menu__item:hover, .submenu.submenu--main > .menu > .menu__item:focus-within {
    background-color: #e8e8fd;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.0784313725);
  }
  .submenu.submenu--main > .menu > .menu__item:has(.menu__link-img) {
    grid-template-columns: 8.5rem 1fr;
  }
  .submenu.submenu--main > .menu > .menu__item > .menu__link {
    display: grid;
    grid-template-columns: subgrid;
    grid-template-rows: subgrid;
    grid-auto-rows: auto;
    grid-row: 1/span 2;
    grid-column: 1/span 2;
  }
  .submenu.submenu--main > .menu > .menu__item > .menu__link .menu__link-text {
    text-align: start;
    grid-row: 1;
    grid-column: 2;
    font-size: 1.8rem;
    font-variation-settings: "wght" 600;
    text-transform: none;
  }
  .submenu.submenu--main > .menu > .menu__item > .menu__link .menu__link-img {
    display: block;
    position: static;
    width: 7.5rem;
    height: 7.5rem;
    grid-row: 1/span 2;
    grid-column: 1;
    /* stylelint-disable-next-line max-nesting-depth */
  }
  .submenu.submenu--main > .menu > .menu__item > .menu__link .menu__link-img img {
    position: static;
    mix-blend-mode: darken;
  }
  .submenu > .menu .submenu--nested {
    margin-block-start: 0;
    padding-block-start: 0.5rem;
    grid-row: 2;
    grid-column: 2;
  }
  .submenu.open .menu .submenu--nested .menu__link-img {
    display: none;
  }
  .submenu--nested {
    margin-top: 0.4em;
  }
  .submenu--nested > .menu--nested {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: #333372;
  }
  .submenu--nested .menu--nested > .menu__item:not(:last-child) {
    display: inline;
    white-space: nowrap;
  }
  .submenu--nested .menu--nested > .menu__item:not(:last-child)::after {
    content: ", ";
    margin-inline: -0.3em;
  }
  .submenu--nested .menu__item {
    flex: none;
    max-width: max-content;
    height: auto;
  }
  .submenu--nested .menu__link:where(:not(.mobile-nav-only)) {
    padding: 0;
    height: auto;
    font-size: 1.4rem;
    font-weight: normal;
    font-variation-settings: "wght" 600;
    line-height: 1.5;
    color: #333372;
    display: inline !important;
  }
  .submenu--nested .menu__link-text {
    line-height: inherit;
  }
  .submenu--nested .menu__link:hover, .submenu--nested .menu__link:focus, .submenu--nested .menu__link:active {
    text-decoration: underline;
  }
  .submenu .submenu .submenu {
    display: none;
  }
}

.categories-section {
  background-color: rgba(255, 255, 255, 0);
  color: #000;
  padding-top: 0;
}
.categories-section--b {
  margin: 0;
  padding: 0;
}
@media (min-width: 1366px) {
  .categories-section--b {
    margin: 0;
    padding: 0;
  }
}
.categories-section__list {
  display: grid;
  gap: 1rem;
}
.categories-section--b .categories-section__list, .categories-section__list {
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
}
@media (min-width: 1366px) {
  .categories-section--b .categories-section__list, .categories-section__list {
    gap: 3rem;
  }
}
@media (max-width: 767.98px) {
  .categories-section--b .categories-section__list, .categories-section__list {
    grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
  }
}

.category-item {
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.0784313725);
  transition: background-color linear 0.15s, box-shadow linear 0.15s;
}
.category-item:hover, .category-item:focus-within {
  background-color: #fff;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.0784313725);
}
@media (max-width: 767.98px) {
  .category-item {
    box-shadow: none !important;
    background-color: #e8e8fd;
    border: 1px solid transparent;
    color: #333372;
    transition: none;
    overflow: hidden;
    position: relative;
  }
  .category-item::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    border: 1px solid #333372;
    border-radius: 8px;
    opacity: 0;
    transition: opacity linear 0.15s;
    z-index: 1;
    pointer-events: none;
  }
  .category-item:hover, .category-item:focus-within {
    background-color: #e8e8fd;
  }
  .category-item:hover::before, .category-item:focus-within::before {
    opacity: 1;
  }
  .category-item a {
    color: inherit !important;
    outline: none !important;
    padding: 0.7rem 1rem;
    min-height: 4.4rem;
    font-size: 1.3rem;
    font-variation-settings: "wght" 600;
    align-items: stretch;
  }
}
.category-item--sm .category-item__img {
  width: 3em;
  height: 3em;
}
.category-item--sm .category-item__name {
  font-weight: normal;
  font-variation-settings: "wght" 600;
}
.category-item--sm .category-item__link:hover {
  color: #333372;
}
.category-item__link {
  align-items: center;
  display: flex;
  gap: 1rem;
  height: 100%;
  padding: 1.4rem;
  text-decoration: none;
  width: 100%;
}
.category-item__name {
  flex: 1;
  text-transform: none;
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
@media (max-width: 767.98px) {
  .category-item__name {
    align-self: center;
  }
}
.category-item__img {
  width: 4em;
  height: 4em;
  position: relative;
}
.category-item__img img {
  height: 100%;
  object-fit: contain;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media (max-width: 767.98px) {
  .category-item__img {
    background-color: #fff;
    margin: -0.7rem 0 -0.7rem -1rem;
    display: grid;
    place-items: center;
  }
  .category-item__img picture {
    height: 85%;
    width: 85%;
    display: grid;
    position: relative;
  }
  .categories-section .category-item__img {
    height: auto;
    width: 4.4rem;
  }
  .categories-section .category-item__img img {
    height: 100%;
    width: 100%;
    max-width: 110px;
    max-height: 110px;
    object-fit: contain;
    position: absolute;
    inset: 0;
    margin: auto;
  }
}
.category-item__btn {
  display: none;
}

@media (min-width: 768px) {
  .nav-tabs.nav-tabs {
    border-radius: 1rem;
    background-color: #ebebf1;
    padding-block-start: 0;
    font-size: inherit;
    font-weight: normal;
    font-variation-settings: "wght" 700;
  }
  .nav-tabs.nav-tabs > li {
    flex: 0 1 20%;
    max-width: none;
    min-width: max-content;
    color: #232352;
  }
  .nav-tabs.nav-tabs > li a {
    border-radius: 1rem;
    height: auto;
    min-height: 7rem;
    text-decoration: none;
    background-color: rgba(232, 232, 253, 0);
    transition: background-color 0.15s linear;
    font-weight: inherit;
    font-variation-settings: "wght" inherit;
  }
  .nav-tabs.nav-tabs > li a:link, .nav-tabs.nav-tabs > li a:visited, .nav-tabs.nav-tabs > li a:hover, .nav-tabs.nav-tabs > li a:active, .nav-tabs.nav-tabs > li a:focus {
    color: inherit;
  }
  .nav-tabs.nav-tabs > li a:hover, .nav-tabs.nav-tabs > li a:active, .nav-tabs.nav-tabs > li a:focus {
    background-color: #e8e8fd;
    font-weight: inherit;
    font-variation-settings: "wght" inherit;
  }
  .nav-tabs.nav-tabs > li.active a {
    background-color: #e8e8fd;
    color: inherit;
    font-weight: inherit;
    font-variation-settings: "wght" inherit;
    border: 1px solid #333372;
  }
}

.tabs__section-heading--indicator-icon {
  stroke-width: 0;
  margin-inline-end: 1rem;
}
.tabs__section-heading--indicator-icon.files {
  stroke-width: 0.4;
}
@media (min-width: 768px) {
  .tabs__section-inner-content:not(.specificity-fix) {
    padding-block-start: 6rem;
  }
}

.admin-edit {
  display: block;
  position: fixed;
  bottom: min(30rem, 20vh);
  right: 0;
  transform: rotate(-90deg) translateY(calc(50% + 0.4rem));
  z-index: 5;
}
.admin-edit a {
  background-color: #333372;
  color: #fff;
  display: block;
  font-weight: 400;
  padding: 0.2em 0.6em;
  text-decoration: none;
  text-transform: lowercase;
  transition: color 0.15s linear, background-color 0.15s linear;
}
.admin-edit a:hover, .admin-edit a:focus, .admin-edit a:active {
  background-color: #232352;
  color: #fff;
}

.more {
  align-items: center;
  display: inline-flex;
  text-decoration: underline;
}
.more__icon {
  width: 0.8rem;
  height: 0.8rem;
  color: #333372;
  stroke-width: 3;
  transform: translateX(0.4rem);
  transition: transform 0.15s linear;
}
@media (hover: hover) {
  .more:hover .more__icon {
    transform: translateX(0.8rem);
  }
}

.more.btn {
  text-decoration: none;
}
.more.btn:hover, .more.btn:focus, .more.btn:active {
  text-decoration: none;
}
.more.btn .more__text {
  line-height: 1.2;
}

.products-section {
  --minimum-card-width: 190px;
  --gap-size: 1rem;
  container-name: products-section;
  container-type: inline-size;
  width: 100%;
}
@media (min-width: 576px) {
  .products-section {
    --minimum-card-width: 280px;
  }
}
@media (min-width: 768px) {
  .products-section {
    --gap-size: 2rem;
  }
}
@media (min-width: 1366px) {
  .products-section {
    --gap-size: 4rem;
  }
}
.products-section__typo {
  text-align: center;
}
.products-section__title {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
.products-section__list {
  display: grid;
  gap: var(--gap-size);
  grid-template-columns: repeat(auto-fill, minmax(min(var(--minimum-card-width), 100%), 1fr));
}
.products-section__list--plus-item {
  display: grid;
  gap: var(--gap-size);
}
@media (min-width: 576px) {
  .products-section__list--plus-item {
    --minimum-card-width: clamp(168px, 16vw, 317px);
  }
}
@media (min-width: 1366px) {
  .products-section__list--plus-item {
    --minimum-card-width: clamp(168px, 19vw, 317px);
  }
}
@media (max-width: 991.98px) {
  .products-section__list--plus-item {
    --gap-size: 2rem;
  }
}
@media (min-width: 992px) {
  .products-section__list--plus-item {
    grid-template-columns: 1fr var(--minimum-card-width);
  }
}
@container products-section (width < 374px) {
  .products-section__list {
    --gap-size: 5rem;
  }
}

.producers-section__content {
  text-align: center;
}
.producers-section__title {
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
.producers-section__slider .embla__container {
  justify-content: space-between;
  gap: 20px;
}
.producers-section__slider .embla__slide {
  flex: 0 0 calc(clamp(1.5rem, 3vw, 4.95rem) + 100px);
}
.producers-section__slider .embla__buttons {
  background: none;
  left: 0;
  bottom: 50%;
  transform: translateY(50%);
  justify-content: space-between;
  width: 100%;
  pointer-events: none;
}
.producers-section__slider .embla__buttons:has(.embla__button--prev:disabled):has(.embla__button--next:disabled) {
  display: none;
}
@media (max-width: 767.98px) {
  .producers-section__slider .embla__buttons {
    display: none;
  }
}
.producers-section__slider .embla__button {
  background-color: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.08);
  width: 50px;
  height: 36px;
  pointer-events: all;
  padding-inline: 14px;
  display: block;
}
.producers-section__slider .embla__button svg {
  stroke-width: 0;
}

.producer-item {
  height: 6rem;
  width: 100%;
}
@media (max-width: 767.98px) {
  .producer-item {
    height: auto;
    width: auto;
  }
}
.producer-item__img {
  max-width: 100px;
}
.producer-item__name {
  font-size: 14px;
  white-space: nowrap;
}
.producer-item__link {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  position: relative;
  text-decoration: none;
  width: 100%;
}
.producer-item__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-backdrop-filter: grayscale(1);
  backdrop-filter: grayscale(1);
  opacity: 1;
  transition: opacity ease-out 0.15s;
}
.producer-item__link img {
  height: 100%;
  object-fit: scale-down;
  width: 100%;
}
@media (min-width: 768px) {
  .producer-item__link img {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media (pointer: fine) {
  .producer-item__link:link .producer-item__img, .producer-item__link:visited .producer-item__img {
    opacity: 0.5;
    transition: opacity ease-out 0.15s;
  }
  .producer-item__link:hover::after, .producer-item__link:focus::after, .producer-item__link:active::after {
    opacity: 0;
  }
  .producer-item__link:hover .producer-item__img, .producer-item__link:focus .producer-item__img, .producer-item__link:active .producer-item__img {
    opacity: 1;
  }
  .producer-item__link:hover .producer-item__name, .producer-item__link:focus .producer-item__name, .producer-item__link:active .producer-item__name {
    text-decoration: underline;
  }
}

.posts-section {
  overflow: hidden;
}
@media (min-width: 1366px) {
  .posts-section__typo {
    display: flex;
    flex-direction: row;
    justify-content: initial;
  }
}
.posts-section__title {
  margin-bottom: 3rem;
  text-align: center;
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
@media (min-width: 992px) {
  .posts-section__title {
    margin-block-end: 5rem;
  }
}
.posts-section__more {
  margin-block-start: 0;
  text-align: center;
}
.posts-section__more .more.btn {
  height: 4.2rem;
}
.posts-section__more .more__icon {
  display: none;
}
@media (max-width: 767.98px) {
  .posts-section .posts-slider .embla__viewport {
    width: 260px;
    margin-inline: auto;
    overflow: hidden;
  }
}
@media (min-width: 768px) {
  .posts-section .posts-slider .embla__container {
    grid-template-columns: repeat(4, 1fr);
  }
}

.post-item {
  margin: auto;
  max-width: 40rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.post-item__header {
  align-items: flex-end;
  display: flex;
  position: relative;
  width: 100%;
  order: -2;
}
.post-item__header--has-img {
  height: 18rem;
}
.post-item__img {
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  border-radius: 8px;
}
.post-item__img img {
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}
.post-item__headline {
  font-size: 1.6rem;
  font-weight: normal;
  font-variation-settings: "wght" 500;
  margin: 1.6rem 0 1.4rem;
}
@media (min-width: 1366px) {
  .post-item__headline {
    font-weight: normal;
  }
}
.post-item__link {
  display: block;
  text-decoration: none;
}
.post-item .post-item__date {
  order: -1;
  margin: 1.6rem 0 0;
  font-size: 1.4rem;
  opacity: 0.7;
}
.post-item__perex {
  margin-top: 0.8em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
  font-size: 1.4rem;
  opacity: 0.7;
  margin-block-start: 0;
}
.post-item__perex * + * {
  margin-top: 0.6em;
}
.post-item__perex img {
  height: auto;
  max-width: 100%;
}
.post-item__header--has-img ~ .post-item__perex {
  -webkit-line-clamp: 3;
}
@media (hover: hover) {
  .post-item__img {
    overflow: hidden;
  }
  .post-item__img img {
    transition: transform 0.8s ease;
    will-change: transform;
  }
  .post-item__img:hover img {
    transform: scale(1.1);
  }
  .post-item__link {
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.15s linear;
  }
  .post-item__link:hover {
    text-decoration-color: currentColor;
  }
}
@media (min-width: 1200px) {
  .post-item__header--has-img {
    height: 24rem;
  }
}
@media (min-width: 1366px) {
  .post-item__header--has-img {
    height: 27rem;
  }
}

.benefits-section {
  background-color: initial;
  color: #000;
  padding-block: 2rem 6rem;
}
.benefits-section__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  gap: clamp(3rem, 5vw, 6rem);
}

.benefit-item {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
  gap: clamp(0.5rem, 2vw, 2rem);
  text-align: center;
  width: auto;
}
.benefit-item p {
  margin: 0;
  font-size: 1.4rem;
  font-variation-settings: "wght" 400;
  text-wrap: balance;
  word-break: normal;
}
.benefit-item__name {
  font-size: 2rem;
  font-variation-settings: "wght" 700;
  text-wrap: balance;
  word-break: normal;
}
.benefit-item__name + p {
  display: contents;
}
.benefit-item__icon {
  width: 5.5rem;
  height: 5.5rem;
  stroke: none;
}
.benefit-item img {
  height: 70px;
  width: auto;
  order: -1;
}
@media (min-width: 768px) {
  .benefit-item {
    max-width: none;
  }
}

.breadcrumbs {
  --overflow-background-color: rgb(255, 255, 255, 1);
  font-size: clamp(1rem, 0.7286rem + 0.5654vw, 1.4rem);
  display: flex;
  flex-wrap: wrap;
  scrollbar-color: transparent;
  scrollbar-width: none;
  position: relative;
  margin-inline: calc(var(--bs-gutter-x) * -0.5);
  width: calc(100% + var(--bs-gutter-x));
  max-width: max-content !important;
  overflow: auto;
  padding: 0 calc(var(--bs-gutter-x) * 0.5);
  direction: rtl;
}
.breadcrumbs::-webkit-scrollbar {
  height: 0;
}
.breadcrumbs::-webkit-scrollbar-thumb {
  background-color: transparent;
  border: none;
  border-radius: 0;
}
.breadcrumbs::-webkit-scrollbar-track {
  background-color: none;
  border: none;
}
.breadcrumbs-section {
  padding: 0.9em 0;
  background: none;
  overflow: hidden;
  position: relative;
}
@media (min-width: 1366px) {
  .breadcrumbs-section {
    padding: 1.3em 0;
  }
}
.breadcrumbs-section::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  pointer-events: none;
  background-image: linear-gradient(to left, rgb(255, 255, 255) 0, rgba(255, 255, 255, 0) 28px, rgba(255, 255, 255, 0) calc(100% - 28px), rgb(255, 255, 255) 100%);
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
}
@media (max-width: 767.98px) {
  .breadcrumbs-section::after {
    background-image: linear-gradient(to left, rgb(255, 255, 255) 0, rgba(255, 255, 255, 0) 18px, rgba(255, 255, 255, 0) calc(100% - 18px), rgb(255, 255, 255) 100%);
  }
}
.breadcrumbs span {
  word-break: normal;
  white-space: nowrap;
}
.breadcrumbs__item {
  align-items: center;
  display: flex;
  direction: ltr;
  order: calc(var(--order) * -1);
  color: #383838;
}
.breadcrumbs__item:last-of-type {
  color: #000;
}
.breadcrumbs__item:first-child {
  margin-left: calc(var(--bs-gutter-x) * 0.5);
}
.breadcrumbs__item:last-child {
  margin-right: calc(var(--bs-gutter-x) * 0.5);
}
.breadcrumbs__link, .breadcrumbs__item > span {
  padding: 0.4rem 0;
  display: flex;
  gap: 0 0.75rem;
}
.breadcrumbs__item > span {
  text-decoration: underline;
  font-variation-settings: "wght" 700;
}
.breadcrumbs__link {
  text-decoration: none;
}
@media (hover: hover) {
  .breadcrumbs__link:hover {
    text-decoration: underline;
  }
}
@media (hover: hover) and (max-width: 767.98px) {
  .breadcrumbs__link:hover .d-md-none {
    text-decoration: underline;
  }
}
.breadcrumbs__house {
  display: block;
  stroke-width: 0;
  height: auto;
  width: auto;
  align-self: baseline;
  color: #383838;
}
@media (max-width: 767.98px) {
  .breadcrumbs__house {
    display: block;
    height: 12px;
    align-self: start;
    position: relative;
    top: 2px;
  }
}
.breadcrumbs__arrow {
  display: block;
  margin: 0 1.4rem;
  stroke-width: 0;
  height: auto;
  width: auto;
}
@media (max-width: 767.98px) {
  .breadcrumbs__arrow:not(.specificity-fix) {
    display: block;
    height: 6px;
    margin-inline: 1rem;
  }
  .breadcrumbs__arrow--back {
    transform: rotate(180deg);
    height: 0.8rem;
    width: 0.8rem;
    margin-left: 0;
  }
}
@media (max-width: 767.98px) {
  .breadcrumbs .d-md-none {
    display: inline-flex;
    align-items: center;
    vertical-align: bottom;
  }
  .breadcrumbs:where(:not(:has(.breadcrumb-product))) .breadcrumbs__item {
    display: none;
  }
  .breadcrumbs:where(:not(:has(.breadcrumb-product))) .breadcrumbs__item:nth-last-child(2) {
    display: flex;
  }
  .breadcrumbs:where(:has(.breadcrumb-product)) .breadcrumbs__item {
    display: none;
  }
  .breadcrumbs:where(:has(.breadcrumb-product)) .breadcrumbs__item:nth-last-child(3) {
    display: flex;
  }
}
@media (hover: none), (pointer: coarse), (max-width: 768px) {
  .breadcrumbs {
    flex-wrap: nowrap;
    overflow: auto;
    max-width: 100%;
  }
  .breadcrumbs:where(:not(:has(.breadcrumb-product))) .breadcrumbs__item {
    display: flex;
  }
}

.promo img {
  max-width: 100%;
}

.dropdown-container {
  position: relative;
  width: 100%;
}

.dropdown {
  background-color: #fff;
  display: none;
  opacity: 0;
  padding-bottom: 1rem;
  padding-top: 1rem;
  position: absolute;
  right: 0;
  top: 100%;
  transition: opacity 0s linear;
  z-index: 130;
}
.dropdown.is-active {
  display: block;
}
.dropdown.is-visible {
  box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
  opacity: 1;
  transition: opacity 0.15s linear;
}

.dropdown-btn {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 0.5em 0;
}
.dropdown-btn__icon {
  width: 0.9em;
  height: 0.9em;
  margin-left: 0.5em;
  stroke-width: 1;
}

.sort {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.sort__row {
  align-items: center;
  display: flex;
  height: 3em;
  justify-content: space-between;
  width: 100%;
}
.sort__col--found-products {
  color: #747474;
}
@media (max-width: 767.98px) {
  .sort__row + .sort__row {
    border-top: 1px solid #dedede;
  }
}
@media (min-width: 768px) {
  .sort {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }
  .sort::after {
    content: "";
    flex: 0 0 100%;
    height: 1px;
    background-color: #dedede;
    margin-top: -20px;
  }
  .sort__row {
    justify-content: flex-start;
    width: auto;
  }
  .sort__row:nth-child(2) {
    justify-content: flex-end;
  }
  .sort__col + .sort__col {
    border-left: 1px solid #dedede;
    margin-left: 1rem;
    padding-left: 1rem;
  }
}

@media (max-width: 991.98px) {
  .sort__row {
    height: auto;
  }
}

.product-availability {
  color: #747474;
  font-variation-settings: "wght" 500;
  text-wrap: balance;
  text-decoration: none !important;
}
.product-availability strong {
  font-weight: normal;
}

.stock--available {
  color: #058802;
}
.stock--available-extra {
  text-decoration: none !important;
  color: #333372;
  text-transform: none;
  text-wrap: balance;
  vertical-align: text-top;
}
.stock--available-extra::before {
  content: "+";
  color: #000;
  padding-inline: 0.5ch;
}
.stock--available-extra.js-branches-availability {
  cursor: pointer;
  padding: 0.5rem;
  margin: -0.5rem;
}
.stock--available-extra.js-branches-availability:hover {
  color: #232352;
}
@media (min-width: 992px) {
  .stock--available-extra.js-branches-availability {
    padding: 0;
    margin: 0;
  }
}
.stock--unavailable {
  color: #e26969;
}
.stock--preorder {
  color: #eab000;
}

.delivery-date__ready-for-pickup {
  color: #058802;
}
.delivery-date__unavailable, .delivery-date__unknown {
  color: #e26969;
}

.modal.product-delivery-dates-modal .modal-body {
  overflow: auto;
}
.modal.product-delivery-dates-modal li dl {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
  border: 1px dashed transparent;
  border-bottom-color: color-mix(in srgb, #008dd2 30%, transparent);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.modal.product-delivery-dates-modal li dl dt {
  font-variation-settings: "wght" 700;
  font-weight: normal;
  text-wrap: balance;
}
.modal.product-delivery-dates-modal li dl dd {
  margin: 0;
  font-variation-settings: "wght" 500;
  font-weight: normal;
  text-align: right;
  text-wrap: balance;
}
.modal.product-delivery-dates-modal li:last-child dl {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom-color: transparent;
}

.results {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 3rem 0;
}
@media (max-width: 991.98px) {
  .results {
    margin-block-start: 0;
  }
}
.results__footer {
  margin-top: 2rem;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 1rem;
}
@media (min-width: 1366px) {
  .results__footer {
    grid-template-columns: 1fr auto 1fr;
  }
}
@media (hover: hover) and (min-width: 992px) {
  .results__footer {
    margin-top: 8rem;
  }
}
.results__footer-counter {
  display: inline-block;
  grid-row: 2;
  grid-column: 1/span 2;
  text-align: center;
  font-size: 1.2rem;
}
.results__footer-counter-item::before {
  content: attr(data-count);
}
@media (min-width: 768px) {
  .results__footer-counter {
    grid-row: 1;
    font-size: 1.6rem;
    grid-column: 1;
    text-align: left;
  }
}
.results__footer-cell {
  display: flex;
  justify-content: center;
}
@media (min-width: 1366px) {
  .results__footer-cell {
    align-items: center;
    display: flex;
  }
  .results__footer-cell--left {
    grid-column: 1/2;
  }
  .results__footer-cell--mid {
    justify-content: center;
    grid-column: 2/3;
  }
  .results__footer-cell--right {
    justify-content: flex-end;
    grid-column: 3/4;
  }
}
@media (min-width: 768px) {
  .results__footer {
    margin-top: 8rem;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
  }
}
.results__footer-cell--right {
  justify-content: end;
}
@media (max-width: 767.98px) {
  .results__footer-cell--mid {
    justify-content: start;
  }
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 0;
}
.pagination__item + .pagination__item {
  margin: 0;
}
.pagination__item--info {
  order: -1;
  margin-inline-end: 1rem !important;
  font-size: 1.2rem;
}
.pagination__item--info input {
  appearance: textfield;
  width: 3rem;
  height: 3.2rem;
  border: 1px solid #dedede;
  border-radius: 0.8rem;
  text-align: center;
  margin-right: 0.25rem;
}
.pagination__item--info input::-webkit-outer-spin-button, .pagination__item--info input::-webkit-inner-spin-button {
  appearance: none;
  margin: 0;
}
.pagination__item--info input.error {
  border-color: #e26969;
}
@media (min-width: 768px) {
  .pagination__item--info {
    font-size: 1.6rem;
  }
  .pagination__item--info input {
    width: 4.4rem;
    height: 4.6rem;
  }
}
.pagination__item--action:is(:first-child) .pagination__nav {
  border-radius: 10px 0 0 10px;
}
.pagination__item--action:is(:last-child) .pagination__nav {
  border-radius: 0 10px 10px 0;
}
.pagination__item--action .pagination__nav:is(a) {
  background-color: #333372;
  color: #fff;
}
.pagination__item--action .pagination__nav:is(a):hover, .pagination__item--action .pagination__nav:is(a):focus, .pagination__item--action .pagination__nav:is(a):active {
  background-color: #232352;
}
.pagination__item--action .pagination__nav:is(span) {
  background-color: rgba(51, 51, 114, 0.3);
  color: #fff;
}
.pagination__nav {
  align-items: center;
  background-color: #f3f3f3;
  color: #333372;
  display: flex;
  justify-content: center;
  width: 3rem;
  height: 3.2rem;
}
@media (min-width: 768px) {
  .pagination__nav {
    width: 4.5rem;
    height: 4rem;
  }
}
.pagination__icon {
  display: block;
  width: 1rem;
  height: auto;
  stroke-width: 0;
}
.pagination__icon--prev {
  transform: none;
}
.pagination__icon--next {
  transform: scale(-1);
}
@media (min-width: 768px) {
  .pagination__icon {
    width: 2rem;
  }
}

.dropdown-list__item + .dropdown-list__item {
  margin-top: 0.2em;
}
.dropdown-list__link {
  display: block;
  padding: 0.3em 0;
  text-decoration: none;
}
.dropdown-list__link.is-active {
  font-weight: 700;
}

.comma-list > li {
  display: inline;
  padding: 0;
}
.comma-list > li::after {
  content: ", ";
  color: inherit;
  text-decoration: none;
  margin-left: -0.3em;
}
.comma-list > li:last-child::after {
  display: none;
}

.pipe-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.4rem;
}
.pipe-list > * {
  display: flex;
  gap: 0 0.4rem;
}
.pipe-list > *:not(:first-child:last-child):not(:last-child)::after {
  content: "|";
  color: #b1b1b1;
  font-size: 0.8em;
  align-self: center;
}

.checkbox {
  display: grid;
  gap: 0 0.75em;
  position: relative;
  grid-template-columns: 18px 1fr;
}
.checkbox--inline {
  display: inline-grid;
  vertical-align: text-bottom;
}
.checkbox--inline + * {
  margin-block: 0;
  vertical-align: top;
  padding-top: 1px;
}
.checkbox:hover .checkbox__input:where(:not([readonly]):not([disabled])),
.checkbox:hover .radio__input:where(:not([readonly]):not([disabled])) {
  border-color: #333372;
}
.checkbox:focus-within__input,
.checkbox:focus-within .radio__input {
  border-color: #333372;
}
.checkbox__input,
.checkbox .radio__input {
  --input-bg-color: var(--input-color, #fff);
  --input-border-color: var(--input-color, color-mix(in srgb, #333372 30%, #fff));
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  grid-column: 1;
  grid-row: 1;
  position: relative;
  height: 18px;
  width: 18px;
  background: var(--input-bg-color);
  border: 1px solid var(--input-border-color);
  box-shadow: none;
  border-radius: 4px;
}
.checkbox__input ~ *,
.checkbox .radio__input ~ * {
  grid-column: 2;
  align-self: center;
}
.checkbox__input:checked:not(:disabled),
.checkbox .radio__input:checked:not(:disabled) {
  border-color: #333372;
  box-shadow: none;
}
.checkbox__input:checked:not(:disabled)::after,
.checkbox .radio__input:checked:not(:disabled)::after {
  display: block;
}
.checkbox__input:disabled,
.checkbox .radio__input:disabled {
  box-shadow: none;
  background: #f3f3f3;
}
.checkbox__input:active:where(:not(:disabled)),
.checkbox .radio__input:active:where(:not(:disabled)) {
  border-color: #333372;
}
.checkbox__input:where(:not(:disabled)),
.checkbox__input:where(:not(:disabled)) ~ .checkbox__text,
.checkbox .radio__input:where(:not(:disabled)),
.checkbox .radio__input:where(:not(:disabled)) ~ .checkbox__text {
  cursor: pointer;
}
.checkbox__input:where(:disabled),
.checkbox__input:where(:disabled) ~ .checkbox__text,
.checkbox .radio__input:where(:disabled),
.checkbox .radio__input:where(:disabled) ~ .checkbox__text {
  opacity: 0.5;
}
.checkbox__input:checked:not(:disabled) {
  background: #333372;
}
.checkbox__input::after {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: var(--checkbox-check);
  content: "";
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-size: 95%;
}
.checkbox__input:checked + .checkbox__text:not(.user-form-extras .checkbox__text) {
  font-weight: normal;
  font-variation-settings: "wght" 800;
  color: #333372;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.checkbox__input:checked + .checkbox__text:not(.user-form-extras .checkbox__text) .checkbox__text--count {
  font-variation-settings: "wght" 400;
}
.checkbox .radio__input {
  border-radius: 9px;
}
.checkbox .radio__input::after {
  background: #333372;
  border-radius: 5px;
  content: "";
  display: none;
  position: absolute;
  inset: 0;
  margin: auto;
  height: 8px;
  width: 8px;
}
.checkbox__text {
  position: relative;
  top: -2px;
  margin-block: 0;
  font-variation-settings: "wght" 500;
}
.checkbox__text--count {
  color: #b1b1b1;
  margin-inline-start: 0.5rem;
  font-size: 1.4rem;
}
.checkbox + .hint {
  margin-block-start: 0;
  margin-inline-start: calc(25px + 0.75em);
}
.checkbox ~ .errors {
  margin-inline-start: calc(25px + 0.75em);
}

.column-items-dynamic {
  --column-count: 4;
  --column-width: 200px;
  column-gap: 30px;
  columns: var(--column-count) var(--column-width);
}
.column-items-dynamic--trigger {
  display: none;
}
.column-items-dynamic--trigger .btn--more {
  background-color: transparent;
  color: #333372;
  text-decoration: underline;
  display: inline-flex;
  height: auto !important;
  font-size: inherit;
  font-weight: inherit;
  text-transform: none;
  padding: 0;
}
.column-items-dynamic--trigger .btn--more .btn__icon {
  margin-inline-start: 0;
  width: 0.8rem;
  height: 0.8rem;
  color: #333372;
  stroke-width: 3;
  transform: rotate(-90deg) translateY(0.4rem);
  transition: transform 0.15s linear;
}
.column-items-dynamic--trigger .btn--more:hover, .column-items-dynamic--trigger .btn--more:focus, .column-items-dynamic--trigger .btn--more:active {
  background-color: transparent;
  color: currentcolor;
  text-decoration: none;
}
.column-items-dynamic--trigger .btn--more:hover .btn__icon, .column-items-dynamic--trigger .btn--more:focus .btn__icon, .column-items-dynamic--trigger .btn--more:active .btn__icon {
  transform: rotate(-90deg) translateY(0.8rem);
}
.column-items-dynamic .column-items__item {
  margin-block-end: 0.5rem;
}
.column-items-dynamic .column-items__item:nth-last-child(4):first-child,
.column-items-dynamic .column-items__item:nth-last-child(4):first-child ~ *, .column-items-dynamic .column-items__item:nth-last-child(3):first-child,
.column-items-dynamic .column-items__item:nth-last-child(3):first-child ~ *, .column-items-dynamic .column-items__item:nth-last-child(2):first-child,
.column-items-dynamic .column-items__item:nth-last-child(2):first-child ~ *, .column-items-dynamic .column-items__item:last-child:first-child,
.column-items-dynamic .column-items__item:last-child:first-child ~ * {
  column-span: all;
}
.column-items-dynamic:not(.show-all-items):not(.column-items-dynamic-active) .column-items__item--hide {
  animation: show-all-items 0s linear 5s normal forwards;
}
.column-items-dynamic:not(.show-all-items) .column-items-dynamic--trigger {
  display: block;
}
@media (min-width: 480px) and (max-width: 767px) {
  .column-items-dynamic {
    --column-count: 2;
  }
}

@keyframes show-all-items {
  0%, 100% {
    clip: revert;
    clip-path: revert;
    height: revert;
    width: revert;
    overflow: revert;
    position: revert;
    white-space: revert;
  }
}
.message {
  --background-color: #f3f3f3;
  --text-color: #000;
  --icon-background-color: #747474;
  --icon: url("");
  background-color: var(--background-color);
  color: var(--text-color);
  padding: 2rem 2.6rem 2rem calc(3.6rem + 24px);
  position: relative;
  display: flex;
  gap: 0 1rem;
}
.message.error, .message.form-error-message {
  --background-color: #f6dfdf;
  --icon-background-color: #e26969;
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' fill='%23fff' d='m8 9.414-4.293 4.293-1.414-1.414L6.586 8 2.293 3.707l1.414-1.414L8 6.586l4.293-4.293 1.414 1.414L9.414 8l4.293 4.293-1.414 1.414L8 9.414z'/%3E%3C/svg%3E");
}
.message.notice {
  --background-color: #ddedf3;
  --icon-background-color: #239bc8;
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 10a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0v-6a1 1 0 0 0-1-1Zm0-4a1.25 1.25 0 1 0 1.25 1.25A1.25 1.25 0 0 0 12 6Z'/%3E%3C/svg%3E");
}
.message.ok {
  --background-color: #e8f1d9;
  --icon-background-color: #8ed609;
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23fff' stroke-width='3' viewBox='-6 -6 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.message.ok .fa::before {
  background-position: top left;
}
.message .fa {
  background-color: var(--icon-background-color);
  border-radius: 12px;
  display: grid;
  height: 24px;
  width: 24px;
  position: absolute;
  top: 2rem;
  left: 2rem;
}
.message .fa::before {
  content: "";
  background: var(--icon) no-repeat center center;
  display: block;
  height: 24px;
  width: 24px;
}
.message,
.message .message-inner,
.message .msg-inner {
  margin-top: 0;
}
.message > *:first-child,
.message .message-inner > *:first-child,
.message .msg-inner > *:first-child {
  margin-top: 0;
}
.message > *:last-child,
.message > *:last-child > *:last-child,
.message .message-inner > *:last-child,
.message .message-inner > *:last-child > *:last-child,
.message .msg-inner > *:last-child,
.message .msg-inner > *:last-child > *:last-child {
  margin-bottom: 0;
}
.message h2 {
  font-size: 1.2em;
  margin-bottom: 0.5rem;
}
.message .alert-actions {
  display: flex;
  margin-left: auto;
  gap: 0 1rem;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  align-self: flex-start;
}
.message .alert-actions span {
  overflow-wrap: normal;
}
.message__container {
  overflow: hidden;
}
.message__container .message::before {
  content: "";
  background-color: inherit;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  height: 100%;
  width: 100vw;
  z-index: -1;
}

.floating-spinner-container {
  position: relative;
}
.floating-spinner-container .floating-spinner {
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.floating-spinner-container.spinner-show .msg-overlay {
  position: absolute;
  inset: 0;
  padding-top: 90px;
  text-align: center;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.9);
  color: #747474;
  z-index: 10;
}
.floating-spinner-container .floating-spinner, .floating-spinner-container--page .floating-spinner {
  transform-origin: center;
  z-index: -1;
  visibility: hidden;
  opacity: 0;
  transition: opacity ease-in 0.15s;
  width: max-content;
}
.floating-spinner-container .floating-spinner > svg, .floating-spinner-container--page .floating-spinner > svg {
  height: 50px;
  width: 50px;
  fill: #b1b1b1;
  stroke-width: 0;
}
.floating-spinner-container.spinner-show .floating-spinner, .floating-spinner-container--page.spinner-show .floating-spinner {
  animation: spinner-animation 0.75s infinite linear;
  opacity: 1;
  visibility: visible;
  z-index: 10;
}
.floating-spinner-container--page {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  inset: 0;
  opacity: 0;
  z-index: -10;
  display: grid;
  transition: opacity 0.15s linear, z-index 0s linear 0.15s;
}
.floating-spinner-container--page .floating-spinner {
  place-self: center center;
}
.floating-spinner-container--page.spinner-show {
  opacity: 1;
  z-index: 9999;
  transition: opacity 0.15s linear, z-index 0.15s linear 0s;
}

@keyframes spinner-animation {
  100% {
    transform: rotate(360deg);
  }
}
.select2-selection, .select2-container {
  border-radius: 0 !important;
}
.select2-selection__arrow {
  margin-block-start: 0 !important;
  padding-block: 4px;
  height: calc(3.8rem - 2px) !important;
}
.select2-selection.select2-selection--single {
  height: 3.8rem !important;
}
.select2-selection.select2-selection--single .select2-selection__rendered {
  padding-block: 4px;
}
.select2-selection__placeholder {
  font-size: 0.9em !important;
}
.select2-container--open .select2-dropdown {
  border-radius: 0 !important;
}

.home-shops__wrapper {
  display: grid;
  gap: 2rem;
}
@media (min-width: 768px) {
  .home-shops__wrapper {
    grid-template-columns: 2.06fr 1fr;
  }
}
@media (min-width: 1366px) {
  .home-shops__wrapper {
    grid-template-columns: 1.75fr repeat(4, 1fr);
  }
}
.home-shops__wrapper .icon-arrow-right {
  display: inline-flex;
  gap: 0 0.5rem;
}
.home-shops__wrapper .icon-arrow-right .svg-icon {
  order: 50;
  align-self: center;
  height: 0.8em;
  width: auto;
  aspect-ratio: 1;
  position: relative;
  top: -1px;
}
.home-shops__wrapper .main-block {
  background-color: #f3f3f3;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  font-size: 18px;
  border-radius: 10px;
}
@media (max-width: 767.98px) {
  .home-shops__wrapper .main-block {
    grid-column: span 2;
  }
}
.home-shops__wrapper .main-block h2 {
  font-size: 36px;
  font-weight: normal;
  font-variation-settings: "wght" 700;
}
.home-shops__wrapper .main-block p + p {
  margin-block-start: 1rem;
}
.home-shops__wrapper .shops-map {
  font-size: 28px;
  font-weight: normal;
  font-variation-settings: "wght" 700;
  color: #333372;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media (max-width: 767.98px) {
  .home-shops__wrapper .shops-map {
    grid-column: span 2;
  }
}
.home-shops__wrapper .shops-map * {
  max-width: 68%;
  height: auto;
}
.home-shops__wrapper .shops-map img {
  display: block;
  margin-block-end: 2rem;
}
.home-shops__wrapper > ul {
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  grid-column: span 2;
  gap: 2rem;
}
@media (min-width: 768px) {
  .home-shops__wrapper > ul {
    display: grid;
  }
}
@media (min-width: 1366px) {
  .home-shops__wrapper > ul {
    display: contents;
  }
}
.home-shops__wrapper > ul li a {
  display: grid;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
}
.home-shops__wrapper > ul li a > *, .home-shops__wrapper > ul li a::before {
  grid-column: 1;
  grid-row: 1;
}
.home-shops__wrapper > ul li a::before {
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
}
.home-shops__wrapper > ul li a picture {
  height: 100%;
  width: 100%;
  object-fit: cover;
  z-index: -1;
}
.home-shops__wrapper > ul li a strong {
  z-index: 1;
  align-self: end;
  color: #fff;
  padding: 1.6rem;
  font-size: 1.4rem;
  will-change: translate;
  transition: translate 0.2s ease;
}
.home-shops__wrapper > ul li a:hover strong {
  translate: 0 -0.5rem;
}

.associations {
  background-color: #f3f3f3;
  border-radius: 10px;
  padding: clamp(2rem, 3vw, 6rem) clamp(1rem, 2vw, 3rem) clamp(2rem, 3vw, 6rem) clamp(2rem, 3vw, 6rem);
  align-self: center;
}
.associations__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(1rem, 2vw, 2rem);
}
.associations__list > * {
  flex: 1;
  min-width: max-content;
}

body .default-page__header {
  background: none;
  padding-block-end: 0;
  margin-block: 0;
}
body .default-page__header:has(+ .canvas) {
  margin-block: 0;
}

details {
  background: #fff;
  padding-block: 1.5rem;
  border-radius: 10px;
}
details::details-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.3s ease-in-out;
  content-visibility: visible;
  will-change: contents;
}
details div {
  min-height: 0;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  margin: 0 0 0 16px !important;
}
details div > :where(h2, h3, h4, h5, h6, p, ol, ul, dl) + * {
  margin-block-start: clamp(1rem, 2.82vi - 0.17rem, 2rem);
}
details summary,
details > div {
  padding-inline-end: clamp(5px, 2vw, 15px) !important;
}
details[open]::details-content {
  grid-template-rows: 1fr;
}
details[open] div {
  opacity: 1;
  transition: opacity 0.5s ease-out;
}
details[open] div::after {
  content: "";
  display: block;
  margin-block-end: 10px;
}

summary {
  display: grid;
  grid-auto-flow: column;
  justify-content: start;
  align-items: center;
  gap: 0 clamp(1.5rem, 4vw, 3rem);
  font-weight: 600;
  padding-block: 8px;
}
summary::before, summary::after {
  font-size: 2.8rem;
  grid-column: 1;
  grid-row: 1;
  position: relative;
  top: -2px;
  transition: opacity 0.25s ease-in-out;
  margin-inline: clamp(5px, 2vw, 15px) clamp(-15px, -2vw, -5px);
  align-self: baseline;
  line-height: 1;
  margin-block-start: -3px;
}
summary::before {
  content: "+";
  opacity: 1;
}
summary::after {
  content: "-";
  opacity: 0;
}
[open] summary::before {
  opacity: 0;
}
[open] summary::after {
  opacity: 1;
}

.faq {
  padding-block: clamp(6rem, 11.3vi + 1.32rem, 10rem);
}
.faq details {
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: relative;
}
.faq details::after {
  content: "";
  display: block;
  position: absolute;
  inset: -1px;
  border: 3px solid var(--faq-theme, #333372);
  border-radius: 8px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
}
.faq details[open]::after {
  opacity: 1;
}
.faq details + details {
  margin-block-start: 1.5rem;
}
.faq summary {
  padding: 1rem 3rem;
  font-size: clamp(1.6rem, 0.56vi + 1.37rem, 1.8rem);
  font-weight: 700;
  transition: color 0.3s ease-in-out;
  color: #000;
}
.faq div {
  padding-inline: 3rem;
}
.faq div::after {
  display: block;
  content: "";
  height: 100px;
  max-height: 0;
  transition: max-height 0.3s ease-in-out;
}
.faq details[open] summary {
  color: var(--faq-theme, #333372);
}
.faq details[open] div::after {
  max-height: 1rem;
}

.suggestions {
  max-width: 1650px;
  margin-inline: auto;
}
@media (min-width: 1200px) {
  .suggestions.suggestions {
    top: 100%;
  }
  .suggestions.suggestions:not(:empty) {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  }
}
@media (max-width: 1199.98px) {
  .suggestions.suggestions .suggestions__inner {
    padding-inline: calc(var(--bs-gutter-x) * 0.5);
  }
  .suggestions.suggestions .suggestions__inner .suggest-section.suggest-products .suggest-name {
    font-size: 1.4rem;
    font-weight: normal;
    font-variation-settings: "wght" 500;
  }
  .suggestions.suggestions .suggestions__inner .suggest-section.suggest-products .suggest-thumb img {
    max-height: 80px;
  }
}
.suggestions .suggestions__close-icon {
  stroke-width: 0.5px;
}

:root {
  --checkbox-check: url('data:image/svg+xml,    <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"    width="20" height="20"    fill="none"    stroke="white"    stroke-width="3">    <polyline points="20 6 9 17 4 12"></polyline>    </svg>');
  --header-nav-breakpoint: 1200px;
  scroll-behavior: smooth;
  scroll-padding-top: 10rem;
}
@media (min-width: 1200px) {
  :root {
    scroll-padding-top: 14.5rem;
  }
}

body {
  background-color: #f8f9fc;
}

.grey-bg-100 {
  background-color: #f3f3f3;
}

.block-nav-combo {
  display: flex;
  align-items: center;
  padding-block-end: 2rem;
  margin-block-end: 2rem;
  border-block-end: 1px solid #dedede;
}
.block-nav-combo > *:where(:not(.embla__controls):not(.posts-section__more)) {
  flex: 1 1 auto;
  text-align: start;
  margin-block-end: 0;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./data/www/templates/asgard/eshop.setos.cz/sass/error-content.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Retrieves the next smaller breakpoint from the given breakpoint.
 *
 * @param {String} $breakpoint - The breakpoint for which to find the next smaller breakpoint.
 * @return {String|null} - The next smaller breakpoint, or null if no smaller breakpoint is available.
 */
/**
 * Retrieves the next larger breakpoint from the $grid-breakpoints map.
 *
 * @function get-bigger-breakpoint
 * @param {String} $breakpoint - The current breakpoint to find the next larger one for.
 * @return {String | null} - The next larger breakpoint or null if the current breakpoint is the largest or not found.
 */
/**
 * Reset iSpace custom form input styles to be able to design special inputs more easily
 */
/**
 * Styles to hide the scrollbar but still allow scrolling
 */
/**
 * Special version of the card-box() layout for the B2B shop
 */
/**
 * card-box list layout for the B2B shop
 */
.error-page .products-section {
  margin-block-start: 6rem;
}
@media (min-width: 576px) {
  .error-page .products-section__list {
    grid-template-columns: repeat(4, 1fr);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmVzaG9wLnNldG9zLmN6LmFzZ2FyZC5iYXNlLjMzZTg5MmZkMmRmYjA1YTZkMjcxLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUNBaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FERUo7QUNDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FEQ0o7QUVaQTtFQ3dGUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHpFUjs7QUluQkE7Ozs7O0VBQUE7QUFpQkE7Ozs7OztFQUFBO0FDOFBBOztFQUFBO0FBK0hBOztFQUFBO0FBZUE7O0VBQUE7QUFtR0E7O0VBQUE7QUNuZ0JBOztFQVNJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFLRTtFQUVGO0VDK09NO0VEN09OO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QU5rSEY7QU8xR0k7RUR2SUo7O0lDMFNRO0VQcEROO0FBQ0Y7O0FRalBFOzs7OztFQ0hBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUNFBGOztBVXRNSTtFRjVDRTtJQUNFLGlCR0plO0VYMFByQjtBQUNGO0FVNU1JO0VGNUNFO0lBQ0UsaUJHSmU7RVgrUHJCO0FBQ0Y7QVVqTkk7RUY1Q0U7SUFDRSxpQkdKZTtFWG9RckI7QUFDRjtBWWpSQTtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QVo0Uko7O0FZdlJFO0VDTkE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QWJnU0Y7QVk5Ukk7RUNPRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWIwUkY7O0FhM09NO0VBQ0U7QWI4T1I7O0FhM09NO0VBcENKO0VBQ0E7QWJtUkY7O0FhclFFO0VBQ0U7RUFDQTtBYndRSjs7QWExUUU7RUFDRTtFQUNBO0FiNlFKOztBYS9RRTtFQUNFO0VBQ0E7QWJrUko7O0FhcFJFO0VBQ0U7RUFDQTtBYnVSSjs7QWF6UkU7RUFDRTtFQUNBO0FiNFJKOztBYTlSRTtFQUNFO0VBQ0E7QWJpU0o7O0FhbFFNO0VBaERKO0VBQ0E7QWJzVEY7O0FhalFVO0VBaEVOO0VBQ0E7QWJxVUo7O0FhdFFVO0VBaEVOO0VBQ0E7QWIwVUo7O0FhM1FVO0VBaEVOO0VBQ0E7QWIrVUo7O0FhaFJVO0VBaEVOO0VBQ0E7QWJvVko7O0FhclJVO0VBaEVOO0VBQ0E7QWJ5Vko7O0FhMVJVO0VBaEVOO0VBQ0E7QWI4Vko7O0FhL1JVO0VBaEVOO0VBQ0E7QWJtV0o7O0FhcFNVO0VBaEVOO0VBQ0E7QWJ3V0o7O0FhelNVO0VBaEVOO0VBQ0E7QWI2V0o7O0FhOVNVO0VBaEVOO0VBQ0E7QWJrWEo7O0FhblRVO0VBaEVOO0VBQ0E7QWJ1WEo7O0FheFRVO0VBaEVOO0VBQ0E7QWI0WEo7O0FhclRZO0VBeERWO0FiaVhGOztBYXpUWTtFQXhEVjtBYnFYRjs7QWE3VFk7RUF4RFY7QWJ5WEY7O0FhalVZO0VBeERWO0FiNlhGOztBYXJVWTtFQXhEVjtBYmlZRjs7QWF6VVk7RUF4RFY7QWJxWUY7O0FhN1VZO0VBeERWO0FieVlGOztBYWpWWTtFQXhEVjtBYjZZRjs7QWFyVlk7RUF4RFY7QWJpWkY7O0FhelZZO0VBeERWO0FicVpGOztBYTdWWTtFQXhEVjtBYnlaRjs7QWF0VlE7O0VBRUU7QWJ5VlY7O0FhdFZROztFQUVFO0FieVZWOztBYWhXUTs7RUFFRTtBYm1XVjs7QWFoV1E7O0VBRUU7QWJtV1Y7O0FhMVdROztFQUVFO0FiNldWOztBYTFXUTs7RUFFRTtBYjZXVjs7QWFwWFE7O0VBRUU7QWJ1WFY7O0FhcFhROztFQUVFO0FidVhWOztBYTlYUTs7RUFFRTtBYmlZVjs7QWE5WFE7O0VBRUU7QWJpWVY7O0FheFlROztFQUVFO0FiMllWOztBYXhZUTs7RUFFRTtBYjJZVjs7QVVyY0k7RUdVRTtJQUNFO0ViK2JOO0VhNWJJO0lBcENKO0lBQ0E7RWJtZUE7RWFyZEE7SUFDRTtJQUNBO0VidWRGO0VhemRBO0lBQ0U7SUFDQTtFYjJkRjtFYTdkQTtJQUNFO0lBQ0E7RWIrZEY7RWFqZUE7SUFDRTtJQUNBO0VibWVGO0VhcmVBO0lBQ0U7SUFDQTtFYnVlRjtFYXplQTtJQUNFO0lBQ0E7RWIyZUY7RWE1Y0k7SUFoREo7SUFDQTtFYitmQTtFYTFjUTtJQWhFTjtJQUNBO0ViNmdCRjtFYTljUTtJQWhFTjtJQUNBO0ViaWhCRjtFYWxkUTtJQWhFTjtJQUNBO0VicWhCRjtFYXRkUTtJQWhFTjtJQUNBO0VieWhCRjtFYTFkUTtJQWhFTjtJQUNBO0ViNmhCRjtFYTlkUTtJQWhFTjtJQUNBO0ViaWlCRjtFYWxlUTtJQWhFTjtJQUNBO0VicWlCRjtFYXRlUTtJQWhFTjtJQUNBO0VieWlCRjtFYTFlUTtJQWhFTjtJQUNBO0ViNmlCRjtFYTllUTtJQWhFTjtJQUNBO0ViaWpCRjtFYWxmUTtJQWhFTjtJQUNBO0VicWpCRjtFYXRmUTtJQWhFTjtJQUNBO0VieWpCRjtFYWxmVTtJQXhEVjtFYjZpQkE7RWFyZlU7SUF4RFY7RWJnakJBO0VheGZVO0lBeERWO0VibWpCQTtFYTNmVTtJQXhEVjtFYnNqQkE7RWE5ZlU7SUF4RFY7RWJ5akJBO0VhamdCVTtJQXhEVjtFYjRqQkE7RWFwZ0JVO0lBeERWO0ViK2pCQTtFYXZnQlU7SUF4RFY7RWJra0JBO0VhMWdCVTtJQXhEVjtFYnFrQkE7RWE3Z0JVO0lBeERWO0Vid2tCQTtFYWhoQlU7SUF4RFY7RWIya0JBO0VhbmhCVTtJQXhEVjtFYjhrQkE7RWEzZ0JNOztJQUVFO0ViNmdCUjtFYTFnQk07O0lBRUU7RWI0Z0JSO0VhbmhCTTs7SUFFRTtFYnFoQlI7RWFsaEJNOztJQUVFO0Vib2hCUjtFYTNoQk07O0lBRUU7RWI2aEJSO0VhMWhCTTs7SUFFRTtFYjRoQlI7RWFuaUJNOztJQUVFO0VicWlCUjtFYWxpQk07O0lBRUU7RWJvaUJSO0VhM2lCTTs7SUFFRTtFYjZpQlI7RWExaUJNOztJQUVFO0ViNGlCUjtFYW5qQk07O0lBRUU7RWJxakJSO0VhbGpCTTs7SUFFRTtFYm9qQlI7QUFDRjtBVS9tQkk7RUdVRTtJQUNFO0Vid21CTjtFYXJtQkk7SUFwQ0o7SUFDQTtFYjRvQkE7RWE5bkJBO0lBQ0U7SUFDQTtFYmdvQkY7RWFsb0JBO0lBQ0U7SUFDQTtFYm9vQkY7RWF0b0JBO0lBQ0U7SUFDQTtFYndvQkY7RWExb0JBO0lBQ0U7SUFDQTtFYjRvQkY7RWE5b0JBO0lBQ0U7SUFDQTtFYmdwQkY7RWFscEJBO0lBQ0U7SUFDQTtFYm9wQkY7RWFybkJJO0lBaERKO0lBQ0E7RWJ3cUJBO0Vhbm5CUTtJQWhFTjtJQUNBO0Vic3JCRjtFYXZuQlE7SUFoRU47SUFDQTtFYjByQkY7RWEzbkJRO0lBaEVOO0lBQ0E7RWI4ckJGO0VhL25CUTtJQWhFTjtJQUNBO0Via3NCRjtFYW5vQlE7SUFoRU47SUFDQTtFYnNzQkY7RWF2b0JRO0lBaEVOO0lBQ0E7RWIwc0JGO0VhM29CUTtJQWhFTjtJQUNBO0ViOHNCRjtFYS9vQlE7SUFoRU47SUFDQTtFYmt0QkY7RWFucEJRO0lBaEVOO0lBQ0E7RWJzdEJGO0VhdnBCUTtJQWhFTjtJQUNBO0ViMHRCRjtFYTNwQlE7SUFoRU47SUFDQTtFYjh0QkY7RWEvcEJRO0lBaEVOO0lBQ0E7RWJrdUJGO0VhM3BCVTtJQXhEVjtFYnN0QkE7RWE5cEJVO0lBeERWO0VieXRCQTtFYWpxQlU7SUF4RFY7RWI0dEJBO0VhcHFCVTtJQXhEVjtFYit0QkE7RWF2cUJVO0lBeERWO0Via3VCQTtFYTFxQlU7SUF4RFY7RWJxdUJBO0VhN3FCVTtJQXhEVjtFYnd1QkE7RWFockJVO0lBeERWO0ViMnVCQTtFYW5yQlU7SUF4RFY7RWI4dUJBO0VhdHJCVTtJQXhEVjtFYml2QkE7RWF6ckJVO0lBeERWO0Vib3ZCQTtFYTVyQlU7SUF4RFY7RWJ1dkJBO0VhcHJCTTs7SUFFRTtFYnNyQlI7RWFuckJNOztJQUVFO0VicXJCUjtFYTVyQk07O0lBRUU7RWI4ckJSO0VhM3JCTTs7SUFFRTtFYjZyQlI7RWFwc0JNOztJQUVFO0Vic3NCUjtFYW5zQk07O0lBRUU7RWJxc0JSO0VhNXNCTTs7SUFFRTtFYjhzQlI7RWEzc0JNOztJQUVFO0ViNnNCUjtFYXB0Qk07O0lBRUU7RWJzdEJSO0VhbnRCTTs7SUFFRTtFYnF0QlI7RWE1dEJNOztJQUVFO0ViOHRCUjtFYTN0Qk07O0lBRUU7RWI2dEJSO0FBQ0Y7QVV4eEJJO0VHVUU7SUFDRTtFYml4Qk47RWE5d0JJO0lBcENKO0lBQ0E7RWJxekJBO0VhdnlCQTtJQUNFO0lBQ0E7RWJ5eUJGO0VhM3lCQTtJQUNFO0lBQ0E7RWI2eUJGO0VhL3lCQTtJQUNFO0lBQ0E7RWJpekJGO0VhbnpCQTtJQUNFO0lBQ0E7RWJxekJGO0VhdnpCQTtJQUNFO0lBQ0E7RWJ5ekJGO0VhM3pCQTtJQUNFO0lBQ0E7RWI2ekJGO0VhOXhCSTtJQWhESjtJQUNBO0ViaTFCQTtFYTV4QlE7SUFoRU47SUFDQTtFYisxQkY7RWFoeUJRO0lBaEVOO0lBQ0E7RWJtMkJGO0VhcHlCUTtJQWhFTjtJQUNBO0VidTJCRjtFYXh5QlE7SUFoRU47SUFDQTtFYjIyQkY7RWE1eUJRO0lBaEVOO0lBQ0E7RWIrMkJGO0VhaHpCUTtJQWhFTjtJQUNBO0VibTNCRjtFYXB6QlE7SUFoRU47SUFDQTtFYnUzQkY7RWF4ekJRO0lBaEVOO0lBQ0E7RWIyM0JGO0VhNXpCUTtJQWhFTjtJQUNBO0ViKzNCRjtFYWgwQlE7SUFoRU47SUFDQTtFYm00QkY7RWFwMEJRO0lBaEVOO0lBQ0E7RWJ1NEJGO0VheDBCUTtJQWhFTjtJQUNBO0ViMjRCRjtFYXAwQlU7SUF4RFY7RWIrM0JBO0VhdjBCVTtJQXhEVjtFYms0QkE7RWExMEJVO0lBeERWO0VicTRCQTtFYTcwQlU7SUF4RFY7RWJ3NEJBO0VhaDFCVTtJQXhEVjtFYjI0QkE7RWFuMUJVO0lBeERWO0ViODRCQTtFYXQxQlU7SUF4RFY7RWJpNUJBO0VhejFCVTtJQXhEVjtFYm81QkE7RWE1MUJVO0lBeERWO0VidTVCQTtFYS8xQlU7SUF4RFY7RWIwNUJBO0VhbDJCVTtJQXhEVjtFYjY1QkE7RWFyMkJVO0lBeERWO0ViZzZCQTtFYTcxQk07O0lBRUU7RWIrMUJSO0VhNTFCTTs7SUFFRTtFYjgxQlI7RWFyMkJNOztJQUVFO0VidTJCUjtFYXAyQk07O0lBRUU7RWJzMkJSO0VhNzJCTTs7SUFFRTtFYisyQlI7RWE1MkJNOztJQUVFO0ViODJCUjtFYXIzQk07O0lBRUU7RWJ1M0JSO0VhcDNCTTs7SUFFRTtFYnMzQlI7RWE3M0JNOztJQUVFO0ViKzNCUjtFYTUzQk07O0lBRUU7RWI4M0JSO0VhcjRCTTs7SUFFRTtFYnU0QlI7RWFwNEJNOztJQUVFO0ViczRCUjtBQUNGO0FVajhCSTtFR1VFO0lBQ0U7RWIwN0JOO0VhdjdCSTtJQXBDSjtJQUNBO0ViODlCQTtFYWg5QkE7SUFDRTtJQUNBO0ViazlCRjtFYXA5QkE7SUFDRTtJQUNBO0ViczlCRjtFYXg5QkE7SUFDRTtJQUNBO0ViMDlCRjtFYTU5QkE7SUFDRTtJQUNBO0ViODlCRjtFYWgrQkE7SUFDRTtJQUNBO0ViaytCRjtFYXArQkE7SUFDRTtJQUNBO0VicytCRjtFYXY4Qkk7SUFoREo7SUFDQTtFYjAvQkE7RWFyOEJRO0lBaEVOO0lBQ0E7RWJ3Z0NGO0VhejhCUTtJQWhFTjtJQUNBO0ViNGdDRjtFYTc4QlE7SUFoRU47SUFDQTtFYmdoQ0Y7RWFqOUJRO0lBaEVOO0lBQ0E7RWJvaENGO0VhcjlCUTtJQWhFTjtJQUNBO0Vid2hDRjtFYXo5QlE7SUFoRU47SUFDQTtFYjRoQ0Y7RWE3OUJRO0lBaEVOO0lBQ0E7RWJnaUNGO0VhaitCUTtJQWhFTjtJQUNBO0Vib2lDRjtFYXIrQlE7SUFoRU47SUFDQTtFYndpQ0Y7RWF6K0JRO0lBaEVOO0lBQ0E7RWI0aUNGO0VhNytCUTtJQWhFTjtJQUNBO0ViZ2pDRjtFYWovQlE7SUFoRU47SUFDQTtFYm9qQ0Y7RWE3K0JVO0lBeERWO0Vid2lDQTtFYWgvQlU7SUF4RFY7RWIyaUNBO0Vhbi9CVTtJQXhEVjtFYjhpQ0E7RWF0L0JVO0lBeERWO0ViaWpDQTtFYXovQlU7SUF4RFY7RWJvakNBO0VhNS9CVTtJQXhEVjtFYnVqQ0E7RWEvL0JVO0lBeERWO0ViMGpDQTtFYWxnQ1U7SUF4RFY7RWI2akNBO0VhcmdDVTtJQXhEVjtFYmdrQ0E7RWF4Z0NVO0lBeERWO0VibWtDQTtFYTNnQ1U7SUF4RFY7RWJza0NBO0VhOWdDVTtJQXhEVjtFYnlrQ0E7RWF0Z0NNOztJQUVFO0Vid2dDUjtFYXJnQ007O0lBRUU7RWJ1Z0NSO0VhOWdDTTs7SUFFRTtFYmdoQ1I7RWE3Z0NNOztJQUVFO0ViK2dDUjtFYXRoQ007O0lBRUU7RWJ3aENSO0VhcmhDTTs7SUFFRTtFYnVoQ1I7RWE5aENNOztJQUVFO0ViZ2lDUjtFYTdoQ007O0lBRUU7RWIraENSO0VhdGlDTTs7SUFFRTtFYndpQ1I7RWFyaUNNOztJQUVFO0VidWlDUjtFYTlpQ007O0lBRUU7RWJnakNSO0VhN2lDTTs7SUFFRTtFYitpQ1I7QUFDRjtBVTFtQ0k7RUdVRTtJQUNFO0VibW1DTjtFYWhtQ0k7SUFwQ0o7SUFDQTtFYnVvQ0E7RWF6bkNBO0lBQ0U7SUFDQTtFYjJuQ0Y7RWE3bkNBO0lBQ0U7SUFDQTtFYituQ0Y7RWFqb0NBO0lBQ0U7SUFDQTtFYm1vQ0Y7RWFyb0NBO0lBQ0U7SUFDQTtFYnVvQ0Y7RWF6b0NBO0lBQ0U7SUFDQTtFYjJvQ0Y7RWE3b0NBO0lBQ0U7SUFDQTtFYitvQ0Y7RWFobkNJO0lBaERKO0lBQ0E7RWJtcUNBO0VhOW1DUTtJQWhFTjtJQUNBO0ViaXJDRjtFYWxuQ1E7SUFoRU47SUFDQTtFYnFyQ0Y7RWF0bkNRO0lBaEVOO0lBQ0E7RWJ5ckNGO0VhMW5DUTtJQWhFTjtJQUNBO0ViNnJDRjtFYTluQ1E7SUFoRU47SUFDQTtFYmlzQ0Y7RWFsb0NRO0lBaEVOO0lBQ0E7RWJxc0NGO0VhdG9DUTtJQWhFTjtJQUNBO0VieXNDRjtFYTFvQ1E7SUFoRU47SUFDQTtFYjZzQ0Y7RWE5b0NRO0lBaEVOO0lBQ0E7RWJpdENGO0VhbHBDUTtJQWhFTjtJQUNBO0VicXRDRjtFYXRwQ1E7SUFoRU47SUFDQTtFYnl0Q0Y7RWExcENRO0lBaEVOO0lBQ0E7RWI2dENGO0VhdHBDVTtJQXhEVjtFYml0Q0E7RWF6cENVO0lBeERWO0Vib3RDQTtFYTVwQ1U7SUF4RFY7RWJ1dENBO0VhL3BDVTtJQXhEVjtFYjB0Q0E7RWFscUNVO0lBeERWO0ViNnRDQTtFYXJxQ1U7SUF4RFY7RWJndUNBO0VheHFDVTtJQXhEVjtFYm11Q0E7RWEzcUNVO0lBeERWO0Vic3VDQTtFYTlxQ1U7SUF4RFY7RWJ5dUNBO0VhanJDVTtJQXhEVjtFYjR1Q0E7RWFwckNVO0lBeERWO0ViK3VDQTtFYXZyQ1U7SUF4RFY7RWJrdkNBO0VhL3FDTTs7SUFFRTtFYmlyQ1I7RWE5cUNNOztJQUVFO0ViZ3JDUjtFYXZyQ007O0lBRUU7RWJ5ckNSO0VhdHJDTTs7SUFFRTtFYndyQ1I7RWEvckNNOztJQUVFO0ViaXNDUjtFYTlyQ007O0lBRUU7RWJnc0NSO0VhdnNDTTs7SUFFRTtFYnlzQ1I7RWF0c0NNOztJQUVFO0Vid3NDUjtFYS9zQ007O0lBRUU7RWJpdENSO0VhOXNDTTs7SUFFRTtFYmd0Q1I7RWF2dENNOztJQUVFO0VieXRDUjtFYXR0Q007O0lBRUU7RWJ3dENSO0FBQ0Y7QVVueENJO0VHVUU7SUFDRTtFYjR3Q047RWF6d0NJO0lBcENKO0lBQ0E7RWJnekNBO0VhbHlDQTtJQUNFO0lBQ0E7RWJveUNGO0VhdHlDQTtJQUNFO0lBQ0E7RWJ3eUNGO0VhMXlDQTtJQUNFO0lBQ0E7RWI0eUNGO0VhOXlDQTtJQUNFO0lBQ0E7RWJnekNGO0VhbHpDQTtJQUNFO0lBQ0E7RWJvekNGO0VhdHpDQTtJQUNFO0lBQ0E7RWJ3ekNGO0VhenhDSTtJQWhESjtJQUNBO0ViNDBDQTtFYXZ4Q1E7SUFoRU47SUFDQTtFYjAxQ0Y7RWEzeENRO0lBaEVOO0lBQ0E7RWI4MUNGO0VhL3hDUTtJQWhFTjtJQUNBO0ViazJDRjtFYW55Q1E7SUFoRU47SUFDQTtFYnMyQ0Y7RWF2eUNRO0lBaEVOO0lBQ0E7RWIwMkNGO0VhM3lDUTtJQWhFTjtJQUNBO0ViODJDRjtFYS95Q1E7SUFoRU47SUFDQTtFYmszQ0Y7RWFuekNRO0lBaEVOO0lBQ0E7RWJzM0NGO0VhdnpDUTtJQWhFTjtJQUNBO0ViMDNDRjtFYTN6Q1E7SUFoRU47SUFDQTtFYjgzQ0Y7RWEvekNRO0lBaEVOO0lBQ0E7RWJrNENGO0VhbjBDUTtJQWhFTjtJQUNBO0ViczRDRjtFYS96Q1U7SUF4RFY7RWIwM0NBO0VhbDBDVTtJQXhEVjtFYjYzQ0E7RWFyMENVO0lBeERWO0ViZzRDQTtFYXgwQ1U7SUF4RFY7RWJtNENBO0VhMzBDVTtJQXhEVjtFYnM0Q0E7RWE5MENVO0lBeERWO0VieTRDQTtFYWoxQ1U7SUF4RFY7RWI0NENBO0VhcDFDVTtJQXhEVjtFYis0Q0E7RWF2MUNVO0lBeERWO0ViazVDQTtFYTExQ1U7SUF4RFY7RWJxNUNBO0VhNzFDVTtJQXhEVjtFYnc1Q0E7RWFoMkNVO0lBeERWO0ViMjVDQTtFYXgxQ007O0lBRUU7RWIwMUNSO0VhdjFDTTs7SUFFRTtFYnkxQ1I7RWFoMkNNOztJQUVFO0ViazJDUjtFYS8xQ007O0lBRUU7RWJpMkNSO0VheDJDTTs7SUFFRTtFYjAyQ1I7RWF2MkNNOztJQUVFO0VieTJDUjtFYWgzQ007O0lBRUU7RWJrM0NSO0VhLzJDTTs7SUFFRTtFYmkzQ1I7RWF4M0NNOztJQUVFO0ViMDNDUjtFYXYzQ007O0lBRUU7RWJ5M0NSO0VhaDRDTTs7SUFFRTtFYms0Q1I7RWEvM0NNOztJQUVFO0ViaTRDUjtBQUNGO0FVNTdDSTtFR1VFO0lBQ0U7RWJxN0NOO0VhbDdDSTtJQXBDSjtJQUNBO0VieTlDQTtFYTM4Q0E7SUFDRTtJQUNBO0ViNjhDRjtFYS84Q0E7SUFDRTtJQUNBO0ViaTlDRjtFYW45Q0E7SUFDRTtJQUNBO0VicTlDRjtFYXY5Q0E7SUFDRTtJQUNBO0VieTlDRjtFYTM5Q0E7SUFDRTtJQUNBO0ViNjlDRjtFYS85Q0E7SUFDRTtJQUNBO0ViaStDRjtFYWw4Q0k7SUFoREo7SUFDQTtFYnEvQ0E7RWFoOENRO0lBaEVOO0lBQ0E7RWJtZ0RGO0VhcDhDUTtJQWhFTjtJQUNBO0VidWdERjtFYXg4Q1E7SUFoRU47SUFDQTtFYjJnREY7RWE1OENRO0lBaEVOO0lBQ0E7RWIrZ0RGO0VhaDlDUTtJQWhFTjtJQUNBO0VibWhERjtFYXA5Q1E7SUFoRU47SUFDQTtFYnVoREY7RWF4OUNRO0lBaEVOO0lBQ0E7RWIyaERGO0VhNTlDUTtJQWhFTjtJQUNBO0ViK2hERjtFYWgrQ1E7SUFoRU47SUFDQTtFYm1pREY7RWFwK0NRO0lBaEVOO0lBQ0E7RWJ1aURGO0VheCtDUTtJQWhFTjtJQUNBO0ViMmlERjtFYTUrQ1E7SUFoRU47SUFDQTtFYitpREY7RWF4K0NVO0lBeERWO0VibWlEQTtFYTMrQ1U7SUF4RFY7RWJzaURBO0VhOStDVTtJQXhEVjtFYnlpREE7RWFqL0NVO0lBeERWO0ViNGlEQTtFYXAvQ1U7SUF4RFY7RWIraURBO0Vhdi9DVTtJQXhEVjtFYmtqREE7RWExL0NVO0lBeERWO0VicWpEQTtFYTcvQ1U7SUF4RFY7RWJ3akRBO0VhaGdEVTtJQXhEVjtFYjJqREE7RWFuZ0RVO0lBeERWO0ViOGpEQTtFYXRnRFU7SUF4RFY7RWJpa0RBO0VhemdEVTtJQXhEVjtFYm9rREE7RWFqZ0RNOztJQUVFO0VibWdEUjtFYWhnRE07O0lBRUU7RWJrZ0RSO0VhemdETTs7SUFFRTtFYjJnRFI7RWF4Z0RNOztJQUVFO0ViMGdEUjtFYWpoRE07O0lBRUU7RWJtaERSO0VhaGhETTs7SUFFRTtFYmtoRFI7RWF6aERNOztJQUVFO0ViMmhEUjtFYXhoRE07O0lBRUU7RWIwaERSO0VhamlETTs7SUFFRTtFYm1pRFI7RWFoaURNOztJQUVFO0Via2lEUjtFYXppRE07O0lBRUU7RWIyaURSO0VheGlETTs7SUFFRTtFYjBpRFI7QUFDRjtBVXJtREk7RUdVRTtJQUNFO0ViOGxETjtFYTNsREk7SUFwQ0o7SUFDQTtFYmtvREE7RWFwbkRBO0lBQ0U7SUFDQTtFYnNuREY7RWF4bkRBO0lBQ0U7SUFDQTtFYjBuREY7RWE1bkRBO0lBQ0U7SUFDQTtFYjhuREY7RWFob0RBO0lBQ0U7SUFDQTtFYmtvREY7RWFwb0RBO0lBQ0U7SUFDQTtFYnNvREY7RWF4b0RBO0lBQ0U7SUFDQTtFYjBvREY7RWEzbURJO0lBaERKO0lBQ0E7RWI4cERBO0Vhem1EUTtJQWhFTjtJQUNBO0ViNHFERjtFYTdtRFE7SUFoRU47SUFDQTtFYmdyREY7RWFqbkRRO0lBaEVOO0lBQ0E7RWJvckRGO0Vhcm5EUTtJQWhFTjtJQUNBO0Vid3JERjtFYXpuRFE7SUFoRU47SUFDQTtFYjRyREY7RWE3bkRRO0lBaEVOO0lBQ0E7RWJnc0RGO0Vham9EUTtJQWhFTjtJQUNBO0Vib3NERjtFYXJvRFE7SUFoRU47SUFDQTtFYndzREY7RWF6b0RRO0lBaEVOO0lBQ0E7RWI0c0RGO0VhN29EUTtJQWhFTjtJQUNBO0ViZ3RERjtFYWpwRFE7SUFoRU47SUFDQTtFYm90REY7RWFycERRO0lBaEVOO0lBQ0E7RWJ3dERGO0VhanBEVTtJQXhEVjtFYjRzREE7RWFwcERVO0lBeERWO0ViK3NEQTtFYXZwRFU7SUF4RFY7RWJrdERBO0VhMXBEVTtJQXhEVjtFYnF0REE7RWE3cERVO0lBeERWO0Vid3REQTtFYWhxRFU7SUF4RFY7RWIydERBO0VhbnFEVTtJQXhEVjtFYjh0REE7RWF0cURVO0lBeERWO0ViaXVEQTtFYXpxRFU7SUF4RFY7RWJvdURBO0VhNXFEVTtJQXhEVjtFYnV1REE7RWEvcURVO0lBeERWO0ViMHVEQTtFYWxyRFU7SUF4RFY7RWI2dURBO0VhMXFETTs7SUFFRTtFYjRxRFI7RWF6cURNOztJQUVFO0ViMnFEUjtFYWxyRE07O0lBRUU7RWJvckRSO0VhanJETTs7SUFFRTtFYm1yRFI7RWExckRNOztJQUVFO0ViNHJEUjtFYXpyRE07O0lBRUU7RWIyckRSO0VhbHNETTs7SUFFRTtFYm9zRFI7RWFqc0RNOztJQUVFO0VibXNEUjtFYTFzRE07O0lBRUU7RWI0c0RSO0VhenNETTs7SUFFRTtFYjJzRFI7RWFsdERNOztJQUVFO0Vib3REUjtFYWp0RE07O0lBRUU7RWJtdERSO0FBQ0Y7QVU5d0RJO0VHVUU7SUFDRTtFYnV3RE47RWFwd0RJO0lBcENKO0lBQ0E7RWIyeURBO0VhN3hEQTtJQUNFO0lBQ0E7RWIreERGO0VhanlEQTtJQUNFO0lBQ0E7RWJteURGO0VhcnlEQTtJQUNFO0lBQ0E7RWJ1eURGO0VhenlEQTtJQUNFO0lBQ0E7RWIyeURGO0VhN3lEQTtJQUNFO0lBQ0E7RWIreURGO0VhanpEQTtJQUNFO0lBQ0E7RWJtekRGO0VhcHhESTtJQWhESjtJQUNBO0VidTBEQTtFYWx4RFE7SUFoRU47SUFDQTtFYnExREY7RWF0eERRO0lBaEVOO0lBQ0E7RWJ5MURGO0VhMXhEUTtJQWhFTjtJQUNBO0ViNjFERjtFYTl4RFE7SUFoRU47SUFDQTtFYmkyREY7RWFseURRO0lBaEVOO0lBQ0E7RWJxMkRGO0VhdHlEUTtJQWhFTjtJQUNBO0VieTJERjtFYTF5RFE7SUFoRU47SUFDQTtFYjYyREY7RWE5eURRO0lBaEVOO0lBQ0E7RWJpM0RGO0VhbHpEUTtJQWhFTjtJQUNBO0VicTNERjtFYXR6RFE7SUFoRU47SUFDQTtFYnkzREY7RWExekRRO0lBaEVOO0lBQ0E7RWI2M0RGO0VhOXpEUTtJQWhFTjtJQUNBO0ViaTRERjtFYTF6RFU7SUF4RFY7RWJxM0RBO0VhN3pEVTtJQXhEVjtFYnczREE7RWFoMERVO0lBeERWO0ViMjNEQTtFYW4wRFU7SUF4RFY7RWI4M0RBO0VhdDBEVTtJQXhEVjtFYmk0REE7RWF6MERVO0lBeERWO0VibzREQTtFYTUwRFU7SUF4RFY7RWJ1NERBO0VhLzBEVTtJQXhEVjtFYjA0REE7RWFsMURVO0lBeERWO0ViNjREQTtFYXIxRFU7SUF4RFY7RWJnNURBO0VheDFEVTtJQXhEVjtFYm01REE7RWEzMURVO0lBeERWO0ViczVEQTtFYW4xRE07O0lBRUU7RWJxMURSO0VhbDFETTs7SUFFRTtFYm8xRFI7RWEzMURNOztJQUVFO0ViNjFEUjtFYTExRE07O0lBRUU7RWI0MURSO0VhbjJETTs7SUFFRTtFYnEyRFI7RWFsMkRNOztJQUVFO0VibzJEUjtFYTMyRE07O0lBRUU7RWI2MkRSO0VhMTJETTs7SUFFRTtFYjQyRFI7RWFuM0RNOztJQUVFO0VicTNEUjtFYWwzRE07O0lBRUU7RWJvM0RSO0VhMzNETTs7SUFFRTtFYjYzRFI7RWExM0RNOztJQUVFO0ViNDNEUjtBQUNGO0FVdjdESTtFR1VFO0lBQ0U7RWJnN0ROO0VhNzZESTtJQXBDSjtJQUNBO0VibzlEQTtFYXQ4REE7SUFDRTtJQUNBO0VidzhERjtFYTE4REE7SUFDRTtJQUNBO0ViNDhERjtFYTk4REE7SUFDRTtJQUNBO0ViZzlERjtFYWw5REE7SUFDRTtJQUNBO0VibzlERjtFYXQ5REE7SUFDRTtJQUNBO0VidzlERjtFYTE5REE7SUFDRTtJQUNBO0ViNDlERjtFYTc3REk7SUFoREo7SUFDQTtFYmcvREE7RWEzN0RRO0lBaEVOO0lBQ0E7RWI4L0RGO0VhLzdEUTtJQWhFTjtJQUNBO0Via2dFRjtFYW44RFE7SUFoRU47SUFDQTtFYnNnRUY7RWF2OERRO0lBaEVOO0lBQ0E7RWIwZ0VGO0VhMzhEUTtJQWhFTjtJQUNBO0ViOGdFRjtFYS84RFE7SUFoRU47SUFDQTtFYmtoRUY7RWFuOURRO0lBaEVOO0lBQ0E7RWJzaEVGO0VhdjlEUTtJQWhFTjtJQUNBO0ViMGhFRjtFYTM5RFE7SUFoRU47SUFDQTtFYjhoRUY7RWEvOURRO0lBaEVOO0lBQ0E7RWJraUVGO0VhbitEUTtJQWhFTjtJQUNBO0Vic2lFRjtFYXYrRFE7SUFoRU47SUFDQTtFYjBpRUY7RWFuK0RVO0lBeERWO0ViOGhFQTtFYXQrRFU7SUF4RFY7RWJpaUVBO0VheitEVTtJQXhEVjtFYm9pRUE7RWE1K0RVO0lBeERWO0VidWlFQTtFYS8rRFU7SUF4RFY7RWIwaUVBO0VhbC9EVTtJQXhEVjtFYjZpRUE7RWFyL0RVO0lBeERWO0ViZ2pFQTtFYXgvRFU7SUF4RFY7RWJtakVBO0VhMy9EVTtJQXhEVjtFYnNqRUE7RWE5L0RVO0lBeERWO0VieWpFQTtFYWpnRVU7SUF4RFY7RWI0akVBO0VhcGdFVTtJQXhEVjtFYitqRUE7RWE1L0RNOztJQUVFO0ViOC9EUjtFYTMvRE07O0lBRUU7RWI2L0RSO0VhcGdFTTs7SUFFRTtFYnNnRVI7RWFuZ0VNOztJQUVFO0VicWdFUjtFYTVnRU07O0lBRUU7RWI4Z0VSO0VhM2dFTTs7SUFFRTtFYjZnRVI7RWFwaEVNOztJQUVFO0Vic2hFUjtFYW5oRU07O0lBRUU7RWJxaEVSO0VhNWhFTTs7SUFFRTtFYjhoRVI7RWEzaEVNOztJQUVFO0ViNmhFUjtFYXBpRU07O0lBRUU7RWJzaUVSO0VhbmlFTTs7SUFFRTtFYnFpRVI7QUFDRjtBY25uRUE7RUFDSTtBZHFuRUo7O0FjbG5FQTtFQUNJO0FkcW5FSjs7QWNsbkVBO0VBQ0k7QWRxbkVKOztBY2xuRUE7RUFDSTtBZHFuRUo7O0FjbG5FQTtFQUNJO0FkcW5FSjs7QWNsbkVBO0VBQ0k7QWRxbkVKOztBY2xuRUE7RUFDSTtBZHFuRUo7O0FjbG5FQTtFQUNJO0FkcW5FSjs7QWNsbkVBO0VBQ0k7QWRxbkVKOztBY2xuRUE7RUFDSTtBZHFuRUo7O0FjbG5FQTtFQUNJO0FkcW5FSjs7QWNsbkVBO0VBQ0k7QWRxbkVKOztBY2xuRUE7RUFDSTtBZHFuRUo7O0FjbG5FQTtFQUNJO0FkcW5FSjs7QWNsbkVBO0VBQ0k7QWRxbkVKOztBY2xuRUE7RUFDSTtBZHFuRUo7O0FjbG5FQTtFQUNJO0FkcW5FSjs7QWNsbkVBO0VBQ0k7QWRxbkVKOztBY2xuRUE7RUFDSTtBZHFuRUo7O0FjbG5FQTtFQUNJO0FkcW5FSjs7QWNsbkVBO0VBQ0k7QWRxbkVKOztBY2xuRUE7RUFDSTtBZHFuRUo7O0FjbG5FQTtFQUNJO0FkcW5FSjs7QWV4ckVRO0VBT0k7QWZxckVaOztBZTVyRVE7RUFPSTtBZnlyRVo7O0FlaHNFUTtFQU9JO0FmNnJFWjs7QWVwc0VRO0VBT0k7QWZpc0VaOztBZXhzRVE7RUFPSTtBZnFzRVo7O0FlNXNFUTtFQU9JO0FmeXNFWjs7QWVodEVRO0VBT0k7QWY2c0VaOztBZXB0RVE7RUFPSTtBZml0RVo7O0FleHRFUTtFQU9JO0FmcXRFWjs7QWU1dEVRO0VBT0k7QWZ5dEVaOztBZWh1RVE7RUFPSTtBZjZ0RVo7O0FlcHVFUTtFQU9JO0FmaXVFWjs7QWV4dUVRO0VBT0k7QWZxdUVaOztBZTV1RVE7RUFPSTtBZnl1RVo7O0FlaHZFUTtFQU9JO0FmNnVFWjs7QWVwdkVRO0VBT0k7QWZpdkVaOztBZXh2RVE7RUFPSTtBZnF2RVo7O0FlNXZFUTtFQU9JO0FmeXZFWjs7QWVod0VRO0VBT0k7QWY2dkVaOztBZXB3RVE7RUFPSTtBZml3RVo7O0FleHdFUTtFQU9JO0FmcXdFWjs7QWU1d0VRO0VBT0k7QWZ5d0VaOztBZWh4RVE7RUFPSTtBZjZ3RVo7O0FlcHhFUTtFQU9JO0FmaXhFWjs7QWV4eEVRO0VBT0k7QWZxeEVaOztBZTV4RVE7RUFPSTtBZnl4RVo7O0FlaHlFUTtFQU9JO0FmNnhFWjs7QWVweUVRO0VBT0k7QWZpeUVaOztBZXh5RVE7RUFPSTtBZnF5RVo7O0FlNXlFUTtFQU9JO0VBQUE7QWYweUVaOztBZWp6RVE7RUFPSTtFQUFBO0FmK3lFWjs7QWV0ekVRO0VBT0k7RUFBQTtBZm96RVo7O0FlM3pFUTtFQU9JO0VBQUE7QWZ5ekVaOztBZWgwRVE7RUFPSTtFQUFBO0FmOHpFWjs7QWVyMEVRO0VBT0k7RUFBQTtBZm0wRVo7O0FlMTBFUTtFQU9JO0VBQUE7QWZ3MEVaOztBZS8wRVE7RUFPSTtFQUFBO0FmNjBFWjs7QWVwMUVRO0VBT0k7RUFBQTtBZmsxRVo7O0FlejFFUTtFQU9JO0VBQUE7QWZ1MUVaOztBZTkxRVE7RUFPSTtFQUFBO0FmNDFFWjs7QWVuMkVRO0VBT0k7RUFBQTtBZmkyRVo7O0FleDJFUTtFQU9JO0VBQUE7QWZzMkVaOztBZTcyRVE7RUFPSTtFQUFBO0FmMjJFWjs7QWVsM0VRO0VBT0k7QWYrMkVaOztBZXQzRVE7RUFPSTtBZm0zRVo7O0FlMTNFUTtFQU9JO0FmdTNFWjs7QWU5M0VRO0VBT0k7QWYyM0VaOztBZWw0RVE7RUFPSTtBZiszRVo7O0FldDRFUTtFQU9JO0FmbTRFWjs7QWUxNEVRO0VBT0k7QWZ1NEVaOztBZTk0RVE7RUFPSTtBZjI0RVo7O0FlbDVFUTtFQU9JO0FmKzRFWjs7QWV0NUVRO0VBT0k7QWZtNUVaOztBZTE1RVE7RUFPSTtBZnU1RVo7O0FlOTVFUTtFQU9JO0FmMjVFWjs7QWVsNkVRO0VBT0k7QWYrNUVaOztBZXQ2RVE7RUFPSTtBZm02RVo7O0FlMTZFUTtFQU9JO0FmdTZFWjs7QWU5NkVRO0VBT0k7QWYyNkVaOztBZWw3RVE7RUFPSTtBZis2RVo7O0FldDdFUTtFQU9JO0FmbTdFWjs7QWUxN0VRO0VBT0k7QWZ1N0VaOztBZTk3RVE7RUFPSTtBZjI3RVo7O0FlbDhFUTtFQU9JO0FmKzdFWjs7QWV0OEVRO0VBT0k7QWZtOEVaOztBZTE4RVE7RUFPSTtBZnU4RVo7O0FlOThFUTtFQU9JO0FmMjhFWjs7QWVsOUVRO0VBT0k7QWYrOEVaOztBZXQ5RVE7RUFPSTtBZm05RVo7O0FlMTlFUTtFQU9JO0FmdTlFWjs7QWU5OUVRO0VBT0k7QWYyOUVaOztBZWwrRVE7RUFPSTtBZis5RVo7O0FldCtFUTtFQU9JO0FmbStFWjs7QWUxK0VRO0VBT0k7QWZ1K0VaOztBZTkrRVE7RUFPSTtBZjIrRVo7O0FlbC9FUTtFQU9JO0FmKytFWjs7QWV0L0VRO0VBT0k7QWZtL0VaOztBZTEvRVE7RUFPSTtBZnUvRVo7O0FlOS9FUTtFQU9JO0FmMi9FWjs7QWVsZ0ZRO0VBT0k7QWYrL0VaOztBZXRnRlE7RUFPSTtBZm1nRlo7O0FlMWdGUTtFQU9JO0FmdWdGWjs7QVVqaEZJO0VLR0k7SUFPSTtFZjRnRlY7RWVuaEZNO0lBT0k7RWYrZ0ZWO0VldGhGTTtJQU9JO0Vma2hGVjtFZXpoRk07SUFPSTtFZnFoRlY7RWU1aEZNO0lBT0k7RWZ3aEZWO0VlL2hGTTtJQU9JO0VmMmhGVjtFZWxpRk07SUFPSTtFZjhoRlY7RWVyaUZNO0lBT0k7RWZpaUZWO0VleGlGTTtJQU9JO0Vmb2lGVjtFZTNpRk07SUFPSTtFZnVpRlY7RWU5aUZNO0lBT0k7RWYwaUZWO0VlampGTTtJQU9JO0VmNmlGVjtFZXBqRk07SUFPSTtFZmdqRlY7RWV2akZNO0lBT0k7RWZtakZWO0VlMWpGTTtJQU9JO0Vmc2pGVjtFZTdqRk07SUFPSTtFZnlqRlY7RWVoa0ZNO0lBT0k7RWY0akZWO0VlbmtGTTtJQU9JO0VmK2pGVjtFZXRrRk07SUFPSTtFZmtrRlY7RWV6a0ZNO0lBT0k7RWZxa0ZWO0VlNWtGTTtJQU9JO0Vmd2tGVjtFZS9rRk07SUFPSTtFZjJrRlY7RWVsbEZNO0lBT0k7RWY4a0ZWO0VlcmxGTTtJQU9JO0VmaWxGVjtFZXhsRk07SUFPSTtFZm9sRlY7RWUzbEZNO0lBT0k7RWZ1bEZWO0VlOWxGTTtJQU9JO0VmMGxGVjtFZWptRk07SUFPSTtFZjZsRlY7RWVwbUZNO0lBT0k7RWZnbUZWO0Vldm1GTTtJQU9JO0lBQUE7RWZvbUZWO0VlM21GTTtJQU9JO0lBQUE7RWZ3bUZWO0VlL21GTTtJQU9JO0lBQUE7RWY0bUZWO0Vlbm5GTTtJQU9JO0lBQUE7RWZnbkZWO0Vldm5GTTtJQU9JO0lBQUE7RWZvbkZWO0VlM25GTTtJQU9JO0lBQUE7RWZ3bkZWO0VlL25GTTtJQU9JO0lBQUE7RWY0bkZWO0Vlbm9GTTtJQU9JO0lBQUE7RWZnb0ZWO0Vldm9GTTtJQU9JO0lBQUE7RWZvb0ZWO0VlM29GTTtJQU9JO0lBQUE7RWZ3b0ZWO0VlL29GTTtJQU9JO0lBQUE7RWY0b0ZWO0VlbnBGTTtJQU9JO0lBQUE7RWZncEZWO0VldnBGTTtJQU9JO0lBQUE7RWZvcEZWO0VlM3BGTTtJQU9JO0lBQUE7RWZ3cEZWO0VlL3BGTTtJQU9JO0VmMnBGVjtFZWxxRk07SUFPSTtFZjhwRlY7RWVycUZNO0lBT0k7RWZpcUZWO0VleHFGTTtJQU9JO0Vmb3FGVjtFZTNxRk07SUFPSTtFZnVxRlY7RWU5cUZNO0lBT0k7RWYwcUZWO0VlanJGTTtJQU9JO0VmNnFGVjtFZXByRk07SUFPSTtFZmdyRlY7RWV2ckZNO0lBT0k7RWZtckZWO0VlMXJGTTtJQU9JO0Vmc3JGVjtFZTdyRk07SUFPSTtFZnlyRlY7RWVoc0ZNO0lBT0k7RWY0ckZWO0VlbnNGTTtJQU9JO0VmK3JGVjtFZXRzRk07SUFPSTtFZmtzRlY7RWV6c0ZNO0lBT0k7RWZxc0ZWO0VlNXNGTTtJQU9JO0Vmd3NGVjtFZS9zRk07SUFPSTtFZjJzRlY7RWVsdEZNO0lBT0k7RWY4c0ZWO0VlcnRGTTtJQU9JO0VmaXRGVjtFZXh0Rk07SUFPSTtFZm90RlY7RWUzdEZNO0lBT0k7RWZ1dEZWO0VlOXRGTTtJQU9JO0VmMHRGVjtFZWp1Rk07SUFPSTtFZjZ0RlY7RWVwdUZNO0lBT0k7RWZndUZWO0VldnVGTTtJQU9JO0VmbXVGVjtFZTF1Rk07SUFPSTtFZnN1RlY7RWU3dUZNO0lBT0k7RWZ5dUZWO0VlaHZGTTtJQU9JO0VmNHVGVjtFZW52Rk07SUFPSTtFZit1RlY7RWV0dkZNO0lBT0k7RWZrdkZWO0VlenZGTTtJQU9JO0VmcXZGVjtFZTV2Rk07SUFPSTtFZnd2RlY7RWUvdkZNO0lBT0k7RWYydkZWO0VlbHdGTTtJQU9JO0VmOHZGVjtFZXJ3Rk07SUFPSTtFZml3RlY7RWV4d0ZNO0lBT0k7RWZvd0ZWO0VlM3dGTTtJQU9JO0VmdXdGVjtFZTl3Rk07SUFPSTtFZjB3RlY7RWVqeEZNO0lBT0k7RWY2d0ZWO0FBQ0Y7QVV4eEZJO0VLR0k7SUFPSTtFZmt4RlY7RWV6eEZNO0lBT0k7RWZxeEZWO0VlNXhGTTtJQU9JO0Vmd3hGVjtFZS94Rk07SUFPSTtFZjJ4RlY7RWVseUZNO0lBT0k7RWY4eEZWO0VlcnlGTTtJQU9JO0VmaXlGVjtFZXh5Rk07SUFPSTtFZm95RlY7RWUzeUZNO0lBT0k7RWZ1eUZWO0VlOXlGTTtJQU9JO0VmMHlGVjtFZWp6Rk07SUFPSTtFZjZ5RlY7RWVwekZNO0lBT0k7RWZnekZWO0VldnpGTTtJQU9JO0VmbXpGVjtFZTF6Rk07SUFPSTtFZnN6RlY7RWU3ekZNO0lBT0k7RWZ5ekZWO0VlaDBGTTtJQU9JO0VmNHpGVjtFZW4wRk07SUFPSTtFZit6RlY7RWV0MEZNO0lBT0k7RWZrMEZWO0VlejBGTTtJQU9JO0VmcTBGVjtFZTUwRk07SUFPSTtFZncwRlY7RWUvMEZNO0lBT0k7RWYyMEZWO0VlbDFGTTtJQU9JO0VmODBGVjtFZXIxRk07SUFPSTtFZmkxRlY7RWV4MUZNO0lBT0k7RWZvMUZWO0VlMzFGTTtJQU9JO0VmdTFGVjtFZTkxRk07SUFPSTtFZjAxRlY7RWVqMkZNO0lBT0k7RWY2MUZWO0VlcDJGTTtJQU9JO0VmZzJGVjtFZXYyRk07SUFPSTtFZm0yRlY7RWUxMkZNO0lBT0k7RWZzMkZWO0VlNzJGTTtJQU9JO0lBQUE7RWYwMkZWO0VlajNGTTtJQU9JO0lBQUE7RWY4MkZWO0VlcjNGTTtJQU9JO0lBQUE7RWZrM0ZWO0VlejNGTTtJQU9JO0lBQUE7RWZzM0ZWO0VlNzNGTTtJQU9JO0lBQUE7RWYwM0ZWO0VlajRGTTtJQU9JO0lBQUE7RWY4M0ZWO0VlcjRGTTtJQU9JO0lBQUE7RWZrNEZWO0VlejRGTTtJQU9JO0lBQUE7RWZzNEZWO0VlNzRGTTtJQU9JO0lBQUE7RWYwNEZWO0VlajVGTTtJQU9JO0lBQUE7RWY4NEZWO0VlcjVGTTtJQU9JO0lBQUE7RWZrNUZWO0VlejVGTTtJQU9JO0lBQUE7RWZzNUZWO0VlNzVGTTtJQU9JO0lBQUE7RWYwNUZWO0VlajZGTTtJQU9JO0lBQUE7RWY4NUZWO0VlcjZGTTtJQU9JO0VmaTZGVjtFZXg2Rk07SUFPSTtFZm82RlY7RWUzNkZNO0lBT0k7RWZ1NkZWO0VlOTZGTTtJQU9JO0VmMDZGVjtFZWo3Rk07SUFPSTtFZjY2RlY7RWVwN0ZNO0lBT0k7RWZnN0ZWO0VldjdGTTtJQU9JO0VmbTdGVjtFZTE3Rk07SUFPSTtFZnM3RlY7RWU3N0ZNO0lBT0k7RWZ5N0ZWO0VlaDhGTTtJQU9JO0VmNDdGVjtFZW44Rk07SUFPSTtFZis3RlY7RWV0OEZNO0lBT0k7RWZrOEZWO0VlejhGTTtJQU9JO0VmcThGVjtFZTU4Rk07SUFPSTtFZnc4RlY7RWUvOEZNO0lBT0k7RWYyOEZWO0VlbDlGTTtJQU9JO0VmODhGVjtFZXI5Rk07SUFPSTtFZmk5RlY7RWV4OUZNO0lBT0k7RWZvOUZWO0VlMzlGTTtJQU9JO0VmdTlGVjtFZTk5Rk07SUFPSTtFZjA5RlY7RWVqK0ZNO0lBT0k7RWY2OUZWO0VlcCtGTTtJQU9JO0VmZytGVjtFZXYrRk07SUFPSTtFZm0rRlY7RWUxK0ZNO0lBT0k7RWZzK0ZWO0VlNytGTTtJQU9JO0VmeStGVjtFZWgvRk07SUFPSTtFZjQrRlY7RWVuL0ZNO0lBT0k7RWYrK0ZWO0VldC9GTTtJQU9JO0Vmay9GVjtFZXovRk07SUFPSTtFZnEvRlY7RWU1L0ZNO0lBT0k7RWZ3L0ZWO0VlLy9GTTtJQU9JO0VmMi9GVjtFZWxnR007SUFPSTtFZjgvRlY7RWVyZ0dNO0lBT0k7RWZpZ0dWO0VleGdHTTtJQU9JO0Vmb2dHVjtFZTNnR007SUFPSTtFZnVnR1Y7RWU5Z0dNO0lBT0k7RWYwZ0dWO0VlamhHTTtJQU9JO0VmNmdHVjtFZXBoR007SUFPSTtFZmdoR1Y7RWV2aEdNO0lBT0k7RWZtaEdWO0FBQ0Y7QVU5aEdJO0VLR0k7SUFPSTtFZndoR1Y7RWUvaEdNO0lBT0k7RWYyaEdWO0VlbGlHTTtJQU9JO0VmOGhHVjtFZXJpR007SUFPSTtFZmlpR1Y7RWV4aUdNO0lBT0k7RWZvaUdWO0VlM2lHTTtJQU9JO0VmdWlHVjtFZTlpR007SUFPSTtFZjBpR1Y7RWVqakdNO0lBT0k7RWY2aUdWO0VlcGpHTTtJQU9JO0VmZ2pHVjtFZXZqR007SUFPSTtFZm1qR1Y7RWUxakdNO0lBT0k7RWZzakdWO0VlN2pHTTtJQU9JO0VmeWpHVjtFZWhrR007SUFPSTtFZjRqR1Y7RWVua0dNO0lBT0k7RWYrakdWO0VldGtHTTtJQU9JO0Vma2tHVjtFZXprR007SUFPSTtFZnFrR1Y7RWU1a0dNO0lBT0k7RWZ3a0dWO0VlL2tHTTtJQU9JO0VmMmtHVjtFZWxsR007SUFPSTtFZjhrR1Y7RWVybEdNO0lBT0k7RWZpbEdWO0VleGxHTTtJQU9JO0Vmb2xHVjtFZTNsR007SUFPSTtFZnVsR1Y7RWU5bEdNO0lBT0k7RWYwbEdWO0Vlam1HTTtJQU9JO0VmNmxHVjtFZXBtR007SUFPSTtFZmdtR1Y7RWV2bUdNO0lBT0k7RWZtbUdWO0VlMW1HTTtJQU9JO0Vmc21HVjtFZTdtR007SUFPSTtFZnltR1Y7RWVobkdNO0lBT0k7RWY0bUdWO0Vlbm5HTTtJQU9JO0lBQUE7RWZnbkdWO0Vldm5HTTtJQU9JO0lBQUE7RWZvbkdWO0VlM25HTTtJQU9JO0lBQUE7RWZ3bkdWO0VlL25HTTtJQU9JO0lBQUE7RWY0bkdWO0Vlbm9HTTtJQU9JO0lBQUE7RWZnb0dWO0Vldm9HTTtJQU9JO0lBQUE7RWZvb0dWO0VlM29HTTtJQU9JO0lBQUE7RWZ3b0dWO0VlL29HTTtJQU9JO0lBQUE7RWY0b0dWO0VlbnBHTTtJQU9JO0lBQUE7RWZncEdWO0VldnBHTTtJQU9JO0lBQUE7RWZvcEdWO0VlM3BHTTtJQU9JO0lBQUE7RWZ3cEdWO0VlL3BHTTtJQU9JO0lBQUE7RWY0cEdWO0VlbnFHTTtJQU9JO0lBQUE7RWZncUdWO0VldnFHTTtJQU9JO0lBQUE7RWZvcUdWO0VlM3FHTTtJQU9JO0VmdXFHVjtFZTlxR007SUFPSTtFZjBxR1Y7RWVqckdNO0lBT0k7RWY2cUdWO0VlcHJHTTtJQU9JO0VmZ3JHVjtFZXZyR007SUFPSTtFZm1yR1Y7RWUxckdNO0lBT0k7RWZzckdWO0VlN3JHTTtJQU9JO0VmeXJHVjtFZWhzR007SUFPSTtFZjRyR1Y7RWVuc0dNO0lBT0k7RWYrckdWO0VldHNHTTtJQU9JO0Vma3NHVjtFZXpzR007SUFPSTtFZnFzR1Y7RWU1c0dNO0lBT0k7RWZ3c0dWO0VlL3NHTTtJQU9JO0VmMnNHVjtFZWx0R007SUFPSTtFZjhzR1Y7RWVydEdNO0lBT0k7RWZpdEdWO0VleHRHTTtJQU9JO0Vmb3RHVjtFZTN0R007SUFPSTtFZnV0R1Y7RWU5dEdNO0lBT0k7RWYwdEdWO0VlanVHTTtJQU9JO0VmNnRHVjtFZXB1R007SUFPSTtFZmd1R1Y7RWV2dUdNO0lBT0k7RWZtdUdWO0VlMXVHTTtJQU9JO0Vmc3VHVjtFZTd1R007SUFPSTtFZnl1R1Y7RWVodkdNO0lBT0k7RWY0dUdWO0VlbnZHTTtJQU9JO0VmK3VHVjtFZXR2R007SUFPSTtFZmt2R1Y7RWV6dkdNO0lBT0k7RWZxdkdWO0VlNXZHTTtJQU9JO0Vmd3ZHVjtFZS92R007SUFPSTtFZjJ2R1Y7RWVsd0dNO0lBT0k7RWY4dkdWO0VlcndHTTtJQU9JO0VmaXdHVjtFZXh3R007SUFPSTtFZm93R1Y7RWUzd0dNO0lBT0k7RWZ1d0dWO0VlOXdHTTtJQU9JO0VmMHdHVjtFZWp4R007SUFPSTtFZjZ3R1Y7RWVweEdNO0lBT0k7RWZneEdWO0VldnhHTTtJQU9JO0VmbXhHVjtFZTF4R007SUFPSTtFZnN4R1Y7RWU3eEdNO0lBT0k7RWZ5eEdWO0FBQ0Y7QVVweUdJO0VLR0k7SUFPSTtFZjh4R1Y7RWVyeUdNO0lBT0k7RWZpeUdWO0VleHlHTTtJQU9JO0Vmb3lHVjtFZTN5R007SUFPSTtFZnV5R1Y7RWU5eUdNO0lBT0k7RWYweUdWO0VlanpHTTtJQU9JO0VmNnlHVjtFZXB6R007SUFPSTtFZmd6R1Y7RWV2ekdNO0lBT0k7RWZtekdWO0VlMXpHTTtJQU9JO0Vmc3pHVjtFZTd6R007SUFPSTtFZnl6R1Y7RWVoMEdNO0lBT0k7RWY0ekdWO0VlbjBHTTtJQU9JO0VmK3pHVjtFZXQwR007SUFPSTtFZmswR1Y7RWV6MEdNO0lBT0k7RWZxMEdWO0VlNTBHTTtJQU9JO0VmdzBHVjtFZS8wR007SUFPSTtFZjIwR1Y7RWVsMUdNO0lBT0k7RWY4MEdWO0VlcjFHTTtJQU9JO0VmaTFHVjtFZXgxR007SUFPSTtFZm8xR1Y7RWUzMUdNO0lBT0k7RWZ1MUdWO0VlOTFHTTtJQU9JO0VmMDFHVjtFZWoyR007SUFPSTtFZjYxR1Y7RWVwMkdNO0lBT0k7RWZnMkdWO0VldjJHTTtJQU9JO0VmbTJHVjtFZTEyR007SUFPSTtFZnMyR1Y7RWU3MkdNO0lBT0k7RWZ5MkdWO0VlaDNHTTtJQU9JO0VmNDJHVjtFZW4zR007SUFPSTtFZisyR1Y7RWV0M0dNO0lBT0k7RWZrM0dWO0VlejNHTTtJQU9JO0lBQUE7RWZzM0dWO0VlNzNHTTtJQU9JO0lBQUE7RWYwM0dWO0VlajRHTTtJQU9JO0lBQUE7RWY4M0dWO0VlcjRHTTtJQU9JO0lBQUE7RWZrNEdWO0VlejRHTTtJQU9JO0lBQUE7RWZzNEdWO0VlNzRHTTtJQU9JO0lBQUE7RWYwNEdWO0VlajVHTTtJQU9JO0lBQUE7RWY4NEdWO0VlcjVHTTtJQU9JO0lBQUE7RWZrNUdWO0VlejVHTTtJQU9JO0lBQUE7RWZzNUdWO0VlNzVHTTtJQU9JO0lBQUE7RWYwNUdWO0VlajZHTTtJQU9JO0lBQUE7RWY4NUdWO0VlcjZHTTtJQU9JO0lBQUE7RWZrNkdWO0VlejZHTTtJQU9JO0lBQUE7RWZzNkdWO0VlNzZHTTtJQU9JO0lBQUE7RWYwNkdWO0VlajdHTTtJQU9JO0VmNjZHVjtFZXA3R007SUFPSTtFZmc3R1Y7RWV2N0dNO0lBT0k7RWZtN0dWO0VlMTdHTTtJQU9JO0VmczdHVjtFZTc3R007SUFPSTtFZnk3R1Y7RWVoOEdNO0lBT0k7RWY0N0dWO0VlbjhHTTtJQU9JO0VmKzdHVjtFZXQ4R007SUFPSTtFZms4R1Y7RWV6OEdNO0lBT0k7RWZxOEdWO0VlNThHTTtJQU9JO0VmdzhHVjtFZS84R007SUFPSTtFZjI4R1Y7RWVsOUdNO0lBT0k7RWY4OEdWO0VlcjlHTTtJQU9JO0VmaTlHVjtFZXg5R007SUFPSTtFZm85R1Y7RWUzOUdNO0lBT0k7RWZ1OUdWO0VlOTlHTTtJQU9JO0VmMDlHVjtFZWorR007SUFPSTtFZjY5R1Y7RWVwK0dNO0lBT0k7RWZnK0dWO0VlditHTTtJQU9JO0VmbStHVjtFZTErR007SUFPSTtFZnMrR1Y7RWU3K0dNO0lBT0k7RWZ5K0dWO0VlaC9HTTtJQU9JO0VmNCtHVjtFZW4vR007SUFPSTtFZisrR1Y7RWV0L0dNO0lBT0k7RWZrL0dWO0Vlei9HTTtJQU9JO0VmcS9HVjtFZTUvR007SUFPSTtFZncvR1Y7RWUvL0dNO0lBT0k7RWYyL0dWO0VlbGdITTtJQU9JO0VmOC9HVjtFZXJnSE07SUFPSTtFZmlnSFY7RWV4Z0hNO0lBT0k7RWZvZ0hWO0VlM2dITTtJQU9JO0VmdWdIVjtFZTlnSE07SUFPSTtFZjBnSFY7RWVqaEhNO0lBT0k7RWY2Z0hWO0VlcGhITTtJQU9JO0VmZ2hIVjtFZXZoSE07SUFPSTtFZm1oSFY7RWUxaEhNO0lBT0k7RWZzaEhWO0VlN2hITTtJQU9JO0VmeWhIVjtFZWhpSE07SUFPSTtFZjRoSFY7RWVuaUhNO0lBT0k7RWYraEhWO0FBQ0Y7QVUxaUhJO0VLR0k7SUFPSTtFZm9pSFY7RWUzaUhNO0lBT0k7RWZ1aUhWO0VlOWlITTtJQU9JO0VmMGlIVjtFZWpqSE07SUFPSTtFZjZpSFY7RWVwakhNO0lBT0k7RWZnakhWO0VldmpITTtJQU9JO0VmbWpIVjtFZTFqSE07SUFPSTtFZnNqSFY7RWU3akhNO0lBT0k7RWZ5akhWO0VlaGtITTtJQU9JO0VmNGpIVjtFZW5rSE07SUFPSTtFZitqSFY7RWV0a0hNO0lBT0k7RWZra0hWO0VlemtITTtJQU9JO0VmcWtIVjtFZTVrSE07SUFPSTtFZndrSFY7RWUva0hNO0lBT0k7RWYya0hWO0VlbGxITTtJQU9JO0VmOGtIVjtFZXJsSE07SUFPSTtFZmlsSFY7RWV4bEhNO0lBT0k7RWZvbEhWO0VlM2xITTtJQU9JO0VmdWxIVjtFZTlsSE07SUFPSTtFZjBsSFY7RWVqbUhNO0lBT0k7RWY2bEhWO0VlcG1ITTtJQU9JO0VmZ21IVjtFZXZtSE07SUFPSTtFZm1tSFY7RWUxbUhNO0lBT0k7RWZzbUhWO0VlN21ITTtJQU9JO0VmeW1IVjtFZWhuSE07SUFPSTtFZjRtSFY7RWVubkhNO0lBT0k7RWYrbUhWO0VldG5ITTtJQU9JO0Vma25IVjtFZXpuSE07SUFPSTtFZnFuSFY7RWU1bkhNO0lBT0k7RWZ3bkhWO0VlL25ITTtJQU9JO0lBQUE7RWY0bkhWO0Vlbm9ITTtJQU9JO0lBQUE7RWZnb0hWO0Vldm9ITTtJQU9JO0lBQUE7RWZvb0hWO0VlM29ITTtJQU9JO0lBQUE7RWZ3b0hWO0VlL29ITTtJQU9JO0lBQUE7RWY0b0hWO0VlbnBITTtJQU9JO0lBQUE7RWZncEhWO0VldnBITTtJQU9JO0lBQUE7RWZvcEhWO0VlM3BITTtJQU9JO0lBQUE7RWZ3cEhWO0VlL3BITTtJQU9JO0lBQUE7RWY0cEhWO0VlbnFITTtJQU9JO0lBQUE7RWZncUhWO0VldnFITTtJQU9JO0lBQUE7RWZvcUhWO0VlM3FITTtJQU9JO0lBQUE7RWZ3cUhWO0VlL3FITTtJQU9JO0lBQUE7RWY0cUhWO0VlbnJITTtJQU9JO0lBQUE7RWZnckhWO0VldnJITTtJQU9JO0VmbXJIVjtFZTFySE07SUFPSTtFZnNySFY7RWU3ckhNO0lBT0k7RWZ5ckhWO0VlaHNITTtJQU9JO0VmNHJIVjtFZW5zSE07SUFPSTtFZitySFY7RWV0c0hNO0lBT0k7RWZrc0hWO0VlenNITTtJQU9JO0VmcXNIVjtFZTVzSE07SUFPSTtFZndzSFY7RWUvc0hNO0lBT0k7RWYyc0hWO0VlbHRITTtJQU9JO0VmOHNIVjtFZXJ0SE07SUFPSTtFZml0SFY7RWV4dEhNO0lBT0k7RWZvdEhWO0VlM3RITTtJQU9JO0VmdXRIVjtFZTl0SE07SUFPSTtFZjB0SFY7RWVqdUhNO0lBT0k7RWY2dEhWO0VlcHVITTtJQU9JO0VmZ3VIVjtFZXZ1SE07SUFPSTtFZm11SFY7RWUxdUhNO0lBT0k7RWZzdUhWO0VlN3VITTtJQU9JO0VmeXVIVjtFZWh2SE07SUFPSTtFZjR1SFY7RWVudkhNO0lBT0k7RWYrdUhWO0VldHZITTtJQU9JO0Vma3ZIVjtFZXp2SE07SUFPSTtFZnF2SFY7RWU1dkhNO0lBT0k7RWZ3dkhWO0VlL3ZITTtJQU9JO0VmMnZIVjtFZWx3SE07SUFPSTtFZjh2SFY7RWVyd0hNO0lBT0k7RWZpd0hWO0VleHdITTtJQU9JO0Vmb3dIVjtFZTN3SE07SUFPSTtFZnV3SFY7RWU5d0hNO0lBT0k7RWYwd0hWO0VlanhITTtJQU9JO0VmNndIVjtFZXB4SE07SUFPSTtFZmd4SFY7RWV2eEhNO0lBT0k7RWZteEhWO0VlMXhITTtJQU9JO0Vmc3hIVjtFZTd4SE07SUFPSTtFZnl4SFY7RWVoeUhNO0lBT0k7RWY0eEhWO0VlbnlITTtJQU9JO0VmK3hIVjtFZXR5SE07SUFPSTtFZmt5SFY7RWV6eUhNO0lBT0k7RWZxeUhWO0FBQ0Y7QVVoekhJO0VLR0k7SUFPSTtFZjB5SFY7RWVqekhNO0lBT0k7RWY2eUhWO0VlcHpITTtJQU9JO0VmZ3pIVjtFZXZ6SE07SUFPSTtFZm16SFY7RWUxekhNO0lBT0k7RWZzekhWO0VlN3pITTtJQU9JO0VmeXpIVjtFZWgwSE07SUFPSTtFZjR6SFY7RWVuMEhNO0lBT0k7RWYrekhWO0VldDBITTtJQU9JO0VmazBIVjtFZXowSE07SUFPSTtFZnEwSFY7RWU1MEhNO0lBT0k7RWZ3MEhWO0VlLzBITTtJQU9JO0VmMjBIVjtFZWwxSE07SUFPSTtFZjgwSFY7RWVyMUhNO0lBT0k7RWZpMUhWO0VleDFITTtJQU9JO0VmbzFIVjtFZTMxSE07SUFPSTtFZnUxSFY7RWU5MUhNO0lBT0k7RWYwMUhWO0VlajJITTtJQU9JO0VmNjFIVjtFZXAySE07SUFPSTtFZmcySFY7RWV2MkhNO0lBT0k7RWZtMkhWO0VlMTJITTtJQU9JO0VmczJIVjtFZTcySE07SUFPSTtFZnkySFY7RWVoM0hNO0lBT0k7RWY0MkhWO0VlbjNITTtJQU9JO0VmKzJIVjtFZXQzSE07SUFPSTtFZmszSFY7RWV6M0hNO0lBT0k7RWZxM0hWO0VlNTNITTtJQU9JO0VmdzNIVjtFZS8zSE07SUFPSTtFZjIzSFY7RWVsNEhNO0lBT0k7RWY4M0hWO0VlcjRITTtJQU9JO0lBQUE7RWZrNEhWO0VlejRITTtJQU9JO0lBQUE7RWZzNEhWO0VlNzRITTtJQU9JO0lBQUE7RWYwNEhWO0VlajVITTtJQU9JO0lBQUE7RWY4NEhWO0VlcjVITTtJQU9JO0lBQUE7RWZrNUhWO0VlejVITTtJQU9JO0lBQUE7RWZzNUhWO0VlNzVITTtJQU9JO0lBQUE7RWYwNUhWO0VlajZITTtJQU9JO0lBQUE7RWY4NUhWO0VlcjZITTtJQU9JO0lBQUE7RWZrNkhWO0VlejZITTtJQU9JO0lBQUE7RWZzNkhWO0VlNzZITTtJQU9JO0lBQUE7RWYwNkhWO0VlajdITTtJQU9JO0lBQUE7RWY4NkhWO0VlcjdITTtJQU9JO0lBQUE7RWZrN0hWO0VlejdITTtJQU9JO0lBQUE7RWZzN0hWO0VlNzdITTtJQU9JO0VmeTdIVjtFZWg4SE07SUFPSTtFZjQ3SFY7RWVuOEhNO0lBT0k7RWYrN0hWO0VldDhITTtJQU9JO0VmazhIVjtFZXo4SE07SUFPSTtFZnE4SFY7RWU1OEhNO0lBT0k7RWZ3OEhWO0VlLzhITTtJQU9JO0VmMjhIVjtFZWw5SE07SUFPSTtFZjg4SFY7RWVyOUhNO0lBT0k7RWZpOUhWO0VleDlITTtJQU9JO0VmbzlIVjtFZTM5SE07SUFPSTtFZnU5SFY7RWU5OUhNO0lBT0k7RWYwOUhWO0VlaitITTtJQU9JO0VmNjlIVjtFZXArSE07SUFPSTtFZmcrSFY7RWV2K0hNO0lBT0k7RWZtK0hWO0VlMStITTtJQU9JO0VmcytIVjtFZTcrSE07SUFPSTtFZnkrSFY7RWVoL0hNO0lBT0k7RWY0K0hWO0Vlbi9ITTtJQU9JO0VmKytIVjtFZXQvSE07SUFPSTtFZmsvSFY7RWV6L0hNO0lBT0k7RWZxL0hWO0VlNS9ITTtJQU9JO0Vmdy9IVjtFZS8vSE07SUFPSTtFZjIvSFY7RWVsZ0lNO0lBT0k7RWY4L0hWO0VlcmdJTTtJQU9JO0VmaWdJVjtFZXhnSU07SUFPSTtFZm9nSVY7RWUzZ0lNO0lBT0k7RWZ1Z0lWO0VlOWdJTTtJQU9JO0VmMGdJVjtFZWpoSU07SUFPSTtFZjZnSVY7RWVwaElNO0lBT0k7RWZnaElWO0VldmhJTTtJQU9JO0VmbWhJVjtFZTFoSU07SUFPSTtFZnNoSVY7RWU3aElNO0lBT0k7RWZ5aElWO0VlaGlJTTtJQU9JO0VmNGhJVjtFZW5pSU07SUFPSTtFZitoSVY7RWV0aUlNO0lBT0k7RWZraUlWO0VlemlJTTtJQU9JO0VmcWlJVjtFZTVpSU07SUFPSTtFZndpSVY7RWUvaUlNO0lBT0k7RWYyaUlWO0FBQ0Y7QVV0aklJO0VLR0k7SUFPSTtFZmdqSVY7RWV2aklNO0lBT0k7RWZtaklWO0VlMWpJTTtJQU9JO0Vmc2pJVjtFZTdqSU07SUFPSTtFZnlqSVY7RWVoa0lNO0lBT0k7RWY0aklWO0VlbmtJTTtJQU9JO0VmK2pJVjtFZXRrSU07SUFPSTtFZmtrSVY7RWV6a0lNO0lBT0k7RWZxa0lWO0VlNWtJTTtJQU9JO0Vmd2tJVjtFZS9rSU07SUFPSTtFZjJrSVY7RWVsbElNO0lBT0k7RWY4a0lWO0VlcmxJTTtJQU9JO0VmaWxJVjtFZXhsSU07SUFPSTtFZm9sSVY7RWUzbElNO0lBT0k7RWZ1bElWO0VlOWxJTTtJQU9JO0VmMGxJVjtFZWptSU07SUFPSTtFZjZsSVY7RWVwbUlNO0lBT0k7RWZnbUlWO0Vldm1JTTtJQU9JO0VmbW1JVjtFZTFtSU07SUFPSTtFZnNtSVY7RWU3bUlNO0lBT0k7RWZ5bUlWO0VlaG5JTTtJQU9JO0VmNG1JVjtFZW5uSU07SUFPSTtFZittSVY7RWV0bklNO0lBT0k7RWZrbklWO0Vlem5JTTtJQU9JO0VmcW5JVjtFZTVuSU07SUFPSTtFZnduSVY7RWUvbklNO0lBT0k7RWYybklWO0VlbG9JTTtJQU9JO0VmOG5JVjtFZXJvSU07SUFPSTtFZmlvSVY7RWV4b0lNO0lBT0k7RWZvb0lWO0VlM29JTTtJQU9JO0lBQUE7RWZ3b0lWO0VlL29JTTtJQU9JO0lBQUE7RWY0b0lWO0VlbnBJTTtJQU9JO0lBQUE7RWZncElWO0VldnBJTTtJQU9JO0lBQUE7RWZvcElWO0VlM3BJTTtJQU9JO0lBQUE7RWZ3cElWO0VlL3BJTTtJQU9JO0lBQUE7RWY0cElWO0VlbnFJTTtJQU9JO0lBQUE7RWZncUlWO0VldnFJTTtJQU9JO0lBQUE7RWZvcUlWO0VlM3FJTTtJQU9JO0lBQUE7RWZ3cUlWO0VlL3FJTTtJQU9JO0lBQUE7RWY0cUlWO0VlbnJJTTtJQU9JO0lBQUE7RWZncklWO0VldnJJTTtJQU9JO0lBQUE7RWZvcklWO0VlM3JJTTtJQU9JO0lBQUE7RWZ3cklWO0VlL3JJTTtJQU9JO0lBQUE7RWY0cklWO0VlbnNJTTtJQU9JO0VmK3JJVjtFZXRzSU07SUFPSTtFZmtzSVY7RWV6c0lNO0lBT0k7RWZxc0lWO0VlNXNJTTtJQU9JO0Vmd3NJVjtFZS9zSU07SUFPSTtFZjJzSVY7RWVsdElNO0lBT0k7RWY4c0lWO0VlcnRJTTtJQU9JO0VmaXRJVjtFZXh0SU07SUFPSTtFZm90SVY7RWUzdElNO0lBT0k7RWZ1dElWO0VlOXRJTTtJQU9JO0VmMHRJVjtFZWp1SU07SUFPSTtFZjZ0SVY7RWVwdUlNO0lBT0k7RWZndUlWO0VldnVJTTtJQU9JO0VmbXVJVjtFZTF1SU07SUFPSTtFZnN1SVY7RWU3dUlNO0lBT0k7RWZ5dUlWO0VlaHZJTTtJQU9JO0VmNHVJVjtFZW52SU07SUFPSTtFZit1SVY7RWV0dklNO0lBT0k7RWZrdklWO0VlenZJTTtJQU9JO0VmcXZJVjtFZTV2SU07SUFPSTtFZnd2SVY7RWUvdklNO0lBT0k7RWYydklWO0VlbHdJTTtJQU9JO0VmOHZJVjtFZXJ3SU07SUFPSTtFZml3SVY7RWV4d0lNO0lBT0k7RWZvd0lWO0VlM3dJTTtJQU9JO0VmdXdJVjtFZTl3SU07SUFPSTtFZjB3SVY7RWVqeElNO0lBT0k7RWY2d0lWO0VlcHhJTTtJQU9JO0VmZ3hJVjtFZXZ4SU07SUFPSTtFZm14SVY7RWUxeElNO0lBT0k7RWZzeElWO0VlN3hJTTtJQU9JO0VmeXhJVjtFZWh5SU07SUFPSTtFZjR4SVY7RWVueUlNO0lBT0k7RWYreElWO0VldHlJTTtJQU9JO0Vma3lJVjtFZXp5SU07SUFPSTtFZnF5SVY7RWU1eUlNO0lBT0k7RWZ3eUlWO0VlL3lJTTtJQU9JO0VmMnlJVjtFZWx6SU07SUFPSTtFZjh5SVY7RWVyeklNO0lBT0k7RWZpeklWO0FBQ0Y7QVU1eklJO0VLR0k7SUFPSTtFZnN6SVY7RWU3eklNO0lBT0k7RWZ5eklWO0VlaDBJTTtJQU9JO0VmNHpJVjtFZW4wSU07SUFPSTtFZit6SVY7RWV0MElNO0lBT0k7RWZrMElWO0VlejBJTTtJQU9JO0VmcTBJVjtFZTUwSU07SUFPSTtFZncwSVY7RWUvMElNO0lBT0k7RWYyMElWO0VlbDFJTTtJQU9JO0VmODBJVjtFZXIxSU07SUFPSTtFZmkxSVY7RWV4MUlNO0lBT0k7RWZvMUlWO0VlMzFJTTtJQU9JO0VmdTFJVjtFZTkxSU07SUFPSTtFZjAxSVY7RWVqMklNO0lBT0k7RWY2MUlWO0VlcDJJTTtJQU9JO0VmZzJJVjtFZXYySU07SUFPSTtFZm0ySVY7RWUxMklNO0lBT0k7RWZzMklWO0VlNzJJTTtJQU9JO0VmeTJJVjtFZWgzSU07SUFPSTtFZjQySVY7RWVuM0lNO0lBT0k7RWYrMklWO0VldDNJTTtJQU9JO0VmazNJVjtFZXozSU07SUFPSTtFZnEzSVY7RWU1M0lNO0lBT0k7RWZ3M0lWO0VlLzNJTTtJQU9JO0VmMjNJVjtFZWw0SU07SUFPSTtFZjgzSVY7RWVyNElNO0lBT0k7RWZpNElWO0VleDRJTTtJQU9JO0VmbzRJVjtFZTM0SU07SUFPSTtFZnU0SVY7RWU5NElNO0lBT0k7RWYwNElWO0VlajVJTTtJQU9JO0lBQUE7RWY4NElWO0VlcjVJTTtJQU9JO0lBQUE7RWZrNUlWO0VlejVJTTtJQU9JO0lBQUE7RWZzNUlWO0VlNzVJTTtJQU9JO0lBQUE7RWYwNUlWO0VlajZJTTtJQU9JO0lBQUE7RWY4NUlWO0VlcjZJTTtJQU9JO0lBQUE7RWZrNklWO0VlejZJTTtJQU9JO0lBQUE7RWZzNklWO0VlNzZJTTtJQU9JO0lBQUE7RWYwNklWO0VlajdJTTtJQU9JO0lBQUE7RWY4NklWO0VlcjdJTTtJQU9JO0lBQUE7RWZrN0lWO0VlejdJTTtJQU9JO0lBQUE7RWZzN0lWO0VlNzdJTTtJQU9JO0lBQUE7RWYwN0lWO0VlajhJTTtJQU9JO0lBQUE7RWY4N0lWO0VlcjhJTTtJQU9JO0lBQUE7RWZrOElWO0VlejhJTTtJQU9JO0VmcThJVjtFZTU4SU07SUFPSTtFZnc4SVY7RWUvOElNO0lBT0k7RWYyOElWO0VlbDlJTTtJQU9JO0VmODhJVjtFZXI5SU07SUFPSTtFZmk5SVY7RWV4OUlNO0lBT0k7RWZvOUlWO0VlMzlJTTtJQU9JO0VmdTlJVjtFZTk5SU07SUFPSTtFZjA5SVY7RWVqK0lNO0lBT0k7RWY2OUlWO0VlcCtJTTtJQU9JO0VmZytJVjtFZXYrSU07SUFPSTtFZm0rSVY7RWUxK0lNO0lBT0k7RWZzK0lWO0VlNytJTTtJQU9JO0VmeStJVjtFZWgvSU07SUFPSTtFZjQrSVY7RWVuL0lNO0lBT0k7RWYrK0lWO0VldC9JTTtJQU9JO0Vmay9JVjtFZXovSU07SUFPSTtFZnEvSVY7RWU1L0lNO0lBT0k7RWZ3L0lWO0VlLy9JTTtJQU9JO0VmMi9JVjtFZWxnSk07SUFPSTtFZjgvSVY7RWVyZ0pNO0lBT0k7RWZpZ0pWO0VleGdKTTtJQU9JO0Vmb2dKVjtFZTNnSk07SUFPSTtFZnVnSlY7RWU5Z0pNO0lBT0k7RWYwZ0pWO0VlamhKTTtJQU9JO0VmNmdKVjtFZXBoSk07SUFPSTtFZmdoSlY7RWV2aEpNO0lBT0k7RWZtaEpWO0VlMWhKTTtJQU9JO0Vmc2hKVjtFZTdoSk07SUFPSTtFZnloSlY7RWVoaUpNO0lBT0k7RWY0aEpWO0VlbmlKTTtJQU9JO0VmK2hKVjtFZXRpSk07SUFPSTtFZmtpSlY7RWV6aUpNO0lBT0k7RWZxaUpWO0VlNWlKTTtJQU9JO0Vmd2lKVjtFZS9pSk07SUFPSTtFZjJpSlY7RWVsakpNO0lBT0k7RWY4aUpWO0VlcmpKTTtJQU9JO0VmaWpKVjtFZXhqSk07SUFPSTtFZm9qSlY7RWUzakpNO0lBT0k7RWZ1akpWO0FBQ0Y7QVVsa0pJO0VLR0k7SUFPSTtFZjRqSlY7RWVua0pNO0lBT0k7RWYrakpWO0VldGtKTTtJQU9JO0Vma2tKVjtFZXprSk07SUFPSTtFZnFrSlY7RWU1a0pNO0lBT0k7RWZ3a0pWO0VlL2tKTTtJQU9JO0VmMmtKVjtFZWxsSk07SUFPSTtFZjhrSlY7RWVybEpNO0lBT0k7RWZpbEpWO0VleGxKTTtJQU9JO0Vmb2xKVjtFZTNsSk07SUFPSTtFZnVsSlY7RWU5bEpNO0lBT0k7RWYwbEpWO0Vlam1KTTtJQU9JO0VmNmxKVjtFZXBtSk07SUFPSTtFZmdtSlY7RWV2bUpNO0lBT0k7RWZtbUpWO0VlMW1KTTtJQU9JO0Vmc21KVjtFZTdtSk07SUFPSTtFZnltSlY7RWVobkpNO0lBT0k7RWY0bUpWO0Vlbm5KTTtJQU9JO0VmK21KVjtFZXRuSk07SUFPSTtFZmtuSlY7RWV6bkpNO0lBT0k7RWZxbkpWO0VlNW5KTTtJQU9JO0Vmd25KVjtFZS9uSk07SUFPSTtFZjJuSlY7RWVsb0pNO0lBT0k7RWY4bkpWO0Vlcm9KTTtJQU9JO0VmaW9KVjtFZXhvSk07SUFPSTtFZm9vSlY7RWUzb0pNO0lBT0k7RWZ1b0pWO0VlOW9KTTtJQU9JO0VmMG9KVjtFZWpwSk07SUFPSTtFZjZvSlY7RWVwcEpNO0lBT0k7RWZncEpWO0VldnBKTTtJQU9JO0lBQUE7RWZvcEpWO0VlM3BKTTtJQU9JO0lBQUE7RWZ3cEpWO0VlL3BKTTtJQU9JO0lBQUE7RWY0cEpWO0VlbnFKTTtJQU9JO0lBQUE7RWZncUpWO0VldnFKTTtJQU9JO0lBQUE7RWZvcUpWO0VlM3FKTTtJQU9JO0lBQUE7RWZ3cUpWO0VlL3FKTTtJQU9JO0lBQUE7RWY0cUpWO0VlbnJKTTtJQU9JO0lBQUE7RWZnckpWO0VldnJKTTtJQU9JO0lBQUE7RWZvckpWO0VlM3JKTTtJQU9JO0lBQUE7RWZ3ckpWO0VlL3JKTTtJQU9JO0lBQUE7RWY0ckpWO0VlbnNKTTtJQU9JO0lBQUE7RWZnc0pWO0VldnNKTTtJQU9JO0lBQUE7RWZvc0pWO0VlM3NKTTtJQU9JO0lBQUE7RWZ3c0pWO0VlL3NKTTtJQU9JO0VmMnNKVjtFZWx0Sk07SUFPSTtFZjhzSlY7RWVydEpNO0lBT0k7RWZpdEpWO0VleHRKTTtJQU9JO0Vmb3RKVjtFZTN0Sk07SUFPSTtFZnV0SlY7RWU5dEpNO0lBT0k7RWYwdEpWO0VlanVKTTtJQU9JO0VmNnRKVjtFZXB1Sk07SUFPSTtFZmd1SlY7RWV2dUpNO0lBT0k7RWZtdUpWO0VlMXVKTTtJQU9JO0Vmc3VKVjtFZTd1Sk07SUFPSTtFZnl1SlY7RWVodkpNO0lBT0k7RWY0dUpWO0VlbnZKTTtJQU9JO0VmK3VKVjtFZXR2Sk07SUFPSTtFZmt2SlY7RWV6dkpNO0lBT0k7RWZxdkpWO0VlNXZKTTtJQU9JO0Vmd3ZKVjtFZS92Sk07SUFPSTtFZjJ2SlY7RWVsd0pNO0lBT0k7RWY4dkpWO0VlcndKTTtJQU9JO0VmaXdKVjtFZXh3Sk07SUFPSTtFZm93SlY7RWUzd0pNO0lBT0k7RWZ1d0pWO0VlOXdKTTtJQU9JO0VmMHdKVjtFZWp4Sk07SUFPSTtFZjZ3SlY7RWVweEpNO0lBT0k7RWZneEpWO0VldnhKTTtJQU9JO0VmbXhKVjtFZTF4Sk07SUFPSTtFZnN4SlY7RWU3eEpNO0lBT0k7RWZ5eEpWO0VlaHlKTTtJQU9JO0VmNHhKVjtFZW55Sk07SUFPSTtFZit4SlY7RWV0eUpNO0lBT0k7RWZreUpWO0VlenlKTTtJQU9JO0VmcXlKVjtFZTV5Sk07SUFPSTtFZnd5SlY7RWUveUpNO0lBT0k7RWYyeUpWO0VlbHpKTTtJQU9JO0VmOHlKVjtFZXJ6Sk07SUFPSTtFZml6SlY7RWV4ekpNO0lBT0k7RWZvekpWO0VlM3pKTTtJQU9JO0VmdXpKVjtFZTl6Sk07SUFPSTtFZjB6SlY7RWVqMEpNO0lBT0k7RWY2ekpWO0FBQ0Y7QVV4MEpJO0VLR0k7SUFPSTtFZmswSlY7RWV6MEpNO0lBT0k7RWZxMEpWO0VlNTBKTTtJQU9JO0VmdzBKVjtFZS8wSk07SUFPSTtFZjIwSlY7RWVsMUpNO0lBT0k7RWY4MEpWO0VlcjFKTTtJQU9JO0VmaTFKVjtFZXgxSk07SUFPSTtFZm8xSlY7RWUzMUpNO0lBT0k7RWZ1MUpWO0VlOTFKTTtJQU9JO0VmMDFKVjtFZWoySk07SUFPSTtFZjYxSlY7RWVwMkpNO0lBT0k7RWZnMkpWO0VldjJKTTtJQU9JO0VmbTJKVjtFZTEySk07SUFPSTtFZnMySlY7RWU3MkpNO0lBT0k7RWZ5MkpWO0VlaDNKTTtJQU9JO0VmNDJKVjtFZW4zSk07SUFPSTtFZisySlY7RWV0M0pNO0lBT0k7RWZrM0pWO0VlejNKTTtJQU9JO0VmcTNKVjtFZTUzSk07SUFPSTtFZnczSlY7RWUvM0pNO0lBT0k7RWYyM0pWO0VlbDRKTTtJQU9JO0VmODNKVjtFZXI0Sk07SUFPSTtFZmk0SlY7RWV4NEpNO0lBT0k7RWZvNEpWO0VlMzRKTTtJQU9JO0VmdTRKVjtFZTk0Sk07SUFPSTtFZjA0SlY7RWVqNUpNO0lBT0k7RWY2NEpWO0VlcDVKTTtJQU9JO0VmZzVKVjtFZXY1Sk07SUFPSTtFZm01SlY7RWUxNUpNO0lBT0k7RWZzNUpWO0VlNzVKTTtJQU9JO0lBQUE7RWYwNUpWO0VlajZKTTtJQU9JO0lBQUE7RWY4NUpWO0VlcjZKTTtJQU9JO0lBQUE7RWZrNkpWO0VlejZKTTtJQU9JO0lBQUE7RWZzNkpWO0VlNzZKTTtJQU9JO0lBQUE7RWYwNkpWO0VlajdKTTtJQU9JO0lBQUE7RWY4NkpWO0VlcjdKTTtJQU9JO0lBQUE7RWZrN0pWO0VlejdKTTtJQU9JO0lBQUE7RWZzN0pWO0VlNzdKTTtJQU9JO0lBQUE7RWYwN0pWO0VlajhKTTtJQU9JO0lBQUE7RWY4N0pWO0VlcjhKTTtJQU9JO0lBQUE7RWZrOEpWO0VlejhKTTtJQU9JO0lBQUE7RWZzOEpWO0VlNzhKTTtJQU9JO0lBQUE7RWYwOEpWO0VlajlKTTtJQU9JO0lBQUE7RWY4OEpWO0VlcjlKTTtJQU9JO0VmaTlKVjtFZXg5Sk07SUFPSTtFZm85SlY7RWUzOUpNO0lBT0k7RWZ1OUpWO0VlOTlKTTtJQU9JO0VmMDlKVjtFZWorSk07SUFPSTtFZjY5SlY7RWVwK0pNO0lBT0k7RWZnK0pWO0VlditKTTtJQU9JO0VmbStKVjtFZTErSk07SUFPSTtFZnMrSlY7RWU3K0pNO0lBT0k7RWZ5K0pWO0VlaC9KTTtJQU9JO0VmNCtKVjtFZW4vSk07SUFPSTtFZisrSlY7RWV0L0pNO0lBT0k7RWZrL0pWO0Vlei9KTTtJQU9JO0VmcS9KVjtFZTUvSk07SUFPSTtFZncvSlY7RWUvL0pNO0lBT0k7RWYyL0pWO0VlbGdLTTtJQU9JO0VmOC9KVjtFZXJnS007SUFPSTtFZmlnS1Y7RWV4Z0tNO0lBT0k7RWZvZ0tWO0VlM2dLTTtJQU9JO0VmdWdLVjtFZTlnS007SUFPSTtFZjBnS1Y7RWVqaEtNO0lBT0k7RWY2Z0tWO0VlcGhLTTtJQU9JO0VmZ2hLVjtFZXZoS007SUFPSTtFZm1oS1Y7RWUxaEtNO0lBT0k7RWZzaEtWO0VlN2hLTTtJQU9JO0VmeWhLVjtFZWhpS007SUFPSTtFZjRoS1Y7RWVuaUtNO0lBT0k7RWYraEtWO0VldGlLTTtJQU9JO0Vma2lLVjtFZXppS007SUFPSTtFZnFpS1Y7RWU1aUtNO0lBT0k7RWZ3aUtWO0VlL2lLTTtJQU9JO0VmMmlLVjtFZWxqS007SUFPSTtFZjhpS1Y7RWVyaktNO0lBT0k7RWZpaktWO0VleGpLTTtJQU9JO0Vmb2pLVjtFZTNqS007SUFPSTtFZnVqS1Y7RWU5aktNO0lBT0k7RWYwaktWO0VlamtLTTtJQU9JO0VmNmpLVjtFZXBrS007SUFPSTtFZmdrS1Y7RWV2a0tNO0lBT0k7RWZta0tWO0FBQ0Y7QWdCdm1LQTtFRDRCUTtJQU9JO0Vmd2tLVjtFZS9rS007SUFPSTtFZjJrS1Y7RWVsbEtNO0lBT0k7RWY4a0tWO0VlcmxLTTtJQU9JO0VmaWxLVjtFZXhsS007SUFPSTtFZm9sS1Y7RWUzbEtNO0lBT0k7RWZ1bEtWO0VlOWxLTTtJQU9JO0VmMGxLVjtFZWptS007SUFPSTtFZjZsS1Y7RWVwbUtNO0lBT0k7RWZnbUtWO0Vldm1LTTtJQU9JO0VmbW1LVjtFZTFtS007SUFPSTtFZnNtS1Y7QUFDRjtBaUJ4cUtBOzs7RUFHSTtBakIwcUtKOztBaUJ2cUtBO0VBQ0k7RUFDQTtBakIwcUtKOztBaUJ2cUtBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7RUFhSTtBakIwcUtKOztBaUJucUtBO0VWdVBNLG1DQUxJO0FQcTdKVjtBaUJqcUtRO0VBTlI7SUFPWTtFakJvcUtWO0FBQ0Y7O0FpQjFwS0E7RVZxT00sbUNBTEk7RVU3Tk47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FqQjJwS0o7O0FpQnZwS0E7RUFDSTtBakIwcEtKOztBaUJwcEtBO0VBQ0k7RUFDQSxjQ2ttQjBCO0VEam1CMUI7RUFDQTtFQUNBLGFDd21CMEI7QWxCK2lKOUI7O0FpQi9vS0E7RUFDSTtBakJrcEtKOztBaUJ6b0tBO0VBQ0k7RUFDQTtFQUNBO0FqQjRvS0o7O0FpQnZvS0E7RUFDSTtFQUNBO0VBQ0E7QWpCMG9LSjs7QWlCcm9LQTs7RUFFSTtFQUNBO0FqQndvS0o7O0FpQnJvS0E7Ozs7RUFJSTtBakJ3b0tKOztBaUJyb0tBO0VBQ0ksZ0JDc2UwQjtBbEJrcUo5Qjs7QWlCbm9LQTtFQUNJO0VBQ0E7QWpCc29LSjs7QWlCam9LQTtFQUNJO0FqQm9vS0o7O0FpQjduS0E7O0VBRUksbUJDaWQwQjtBbEIrcUo5Qjs7QWlCM25LQTtFQUNJLGlCQzBpQjBCO0VEemlCMUI7QWpCOG5LSjs7QWlCdG5LQTs7RVZpSE0saUJBTEk7RVV4R047RUFDQTtFQUNBO0FqQnduS0o7O0FpQnJuS0E7RUFDSTtBakJ3bktKOztBaUJybktBO0VBQ0k7QWpCd25LSjs7QWlCbm5LQTtFQUNJO0FqQnNuS0o7QWlCbm5LUTtFQUVJO0FqQm9uS1o7QWlCam5LUTtFQUdJO0VBQ0E7QWpCaW5LWjs7QWlCdG1LSTtFQUtJO0VBQ0E7QWpCcW1LUjs7QWlCOWxLQTs7OztFVnlETSxjQUxJO0VVOUNOLHFDQ3FYMEI7QWxCMnVKOUI7O0FpQnpsS0E7RVY0Q00sa0JBTEk7RVVwQ047RUFDQTtFQUNBO0VBQ0E7QWpCMmxLSjtBaUJ2bEtJO0VWa0NFLGtCQUxJO0VVMUJGO0VBQ0E7QWpCd2xLUjs7QWlCcGxLQTtFVjBCTSxrQkFMSTtFVWxCTjtFQUNBO0FqQnNsS0o7QWlCbmxLSTtFQUNJO0FqQnFsS1I7O0FpQmpsS0E7RVZjTSxrQkFMSTtFVUxOO0VBQ0Esd0JDNDdDZ0M7RUQzN0NoQyxzQ0M0N0NnQztBbEJzcEhwQztBaUJobEtJO0VWTUUsY0FMSTtFVUVGO0FqQmlsS1I7O0FpQnhrS0E7RUFDSTtBakIya0tKOztBaUJ0a0tBOztFQUVJO0FqQnlrS0o7O0FpQmxrS0E7RUFDSTtFQUNBO0FqQnFrS0o7O0FpQmxrS0E7RUFDSSxtQkNnYTBCO0VEL1oxQixzQkMrWjBCO0VEOVoxQixnQ0NnYzBCO0VEL2IxQjtBakJxa0tKOztBaUI5aktBO0VBRUk7RUFDQTtBakJna0tKOztBaUI3aktBOzs7Ozs7RUFNSTtFQUNBO0VBQ0E7QWpCZ2tLSjs7QWlCM2pLQTtFQUNJO0VBQ0E7QWpCOGpLSjs7QWlCM2pLQTtFQUNJO0VBQ0E7RUFDQTtBakI4aktKOztBaUJ2aktBO0VBQ0k7QWpCMGpLSjs7QWlCdmpLQTs7RUFFSTtBakIwaktKO0FpQnhqS0k7O0VBQ0k7QWpCMmpLUjs7QWlCdmpLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCMGpLSjtBaUJ4aktJO0VBQ0k7QWpCMGpLUjs7QWlCampLQTtFQUNJO0FqQm9qS0o7O0FpQi9pS0E7Ozs7O0VBS0k7RUFDQTtFQUNBO0VBQ0E7QWpCa2pLSjs7QWlCOWlLQTs7RUFFSTtBakJpaktKOztBaUI1aUtBO0VBQ0k7QWpCK2lLSjs7QWlCNWlLQTtFQUdJO0FqQjZpS0o7QWlCMWlLSTtFQUNJO0FqQjRpS1I7QWlCeGlLSTtFQVhKO0lBWVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpCMmlLTjtBQUNGO0FpQnppS0k7RUFDSTtBakIyaUtSOztBaUJuaUtJO0VBQ0k7QWpCc2lLUjs7QWlCNWhLQTs7OztFQUlJO0FqQitoS0o7O0FpQmpoS1E7OztFQUVJO0FqQnFoS1o7O0FpQjlnS0E7RUFDSTtFQUNBO0FqQmloS0o7O0FpQjVnS0E7RUFDSTtFQUNBO0FqQitnS0o7QWlCN2dLSTtFQUNJO0VBQ0E7QWpCK2dLUjs7QWlCcGdLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqQnVnS0o7O0FpQi8vSkE7RUFDSSxlTnBlZTtFTXFlZjtFQUNBO0VBQ0E7RUFDQSxtQk52ZW1CO0VNd2VuQixnQk52ZWlCO0VNd2VqQjtBakJrZ0tKO0FpQmhnS0k7RUFDSTtBakJrZ0tSOztBaUI3L0pBOzs7O0VBSUk7QWpCZ2dLSjs7QWlCNy9KQTs7RUFFSTtBakJnZ0tKOztBaUIxL0pBOzs7Ozs7O0VBT0k7QWpCNi9KSjs7QWlCMS9KQTtFQUNJO0FqQjYvSko7O0FpQnAvSkE7RUFDSTtFQUNBO0FqQnUvSko7O0FpQi8rSkE7Ozs7Ozs7Q0FBQTtBQVdBO0VBQ0k7QWpCKytKSjs7QWlCMStKQTtFQUNJO0FqQjYrSko7O0FpQnYrSkE7RUFDSTtFQUNBO0FqQjArSko7O0FpQnIrSkE7RUFDSTtBakJ3K0pKOztBaUJyK0pBO0VBRUk7QWpCdStKSjtBaUJwK0pJO0VBRUk7QWpCcStKUjtBaUJuK0pRO0VBSko7SUFLUTtJQUNBO0VqQnMrSlY7QUFDRjs7QWlCOTlKQTtFQUNJO0VBQ0E7QWpCaStKSjs7QWlCMTlKQTtFQUNJO0FqQjY5Sko7O0FpQnQ5SkE7RUFDSTtBakJ5OUpKOztBaUJyOUpBO0VBQ0k7QWpCdzlKSjs7QW1CNW1MQTtFQUNJO0FuQittTEo7QW1CN21MSTtFQUhKO0lBSVE7SUFDQTtFbkJnbkxOO0FBQ0Y7O0FvQnRuTEE7RUFDSTtFQUNBO0FwQnluTEo7O0FvQnRuTEE7RUFDSTtBcEJ5bkxKOztBb0JwbkxJOztFQUNJO0FwQnduTFI7O0FvQnBuTEE7RUFDSTtBcEJ1bkxKOztBb0JwbkxBO0VqQmpCSSxhaUJrQmdCO0VqQmpCaEIsY2lCaUJnQjtBcEJ3bkxwQjtBb0JybkxRO0VqQnJCSixhaUJzQndCO0VqQnJCeEIsY2lCcUJ3QjtFQUVoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnVuTFo7O0FvQmxuTEE7RUFDSTtFQUNBO0FwQnFuTEo7O0FvQjdtTEE7RUFDSTtBcEJnbkxKOztBVXhsTEk7RVVwQkE7SUFDSTtFcEJnbkxOO0FBQ0Y7QVUzbUxJO0VVREE7SUFDSTtFcEIrbUxOO0FBQ0Y7QW9CNW1MQTtFQUNJO0FwQjhtTEo7QW9CNW1MSTtFQUNJO0FwQjhtTFI7O0FvQjFtTEE7RUFDSTtBcEI2bUxKO0FvQjNtTEk7RUFDSTtBcEI2bUxSOztBb0J4bUxJO0VqQmhDQTtFQUNBO0VBV0ksU0FkWTtBSGdwTHBCO0FvQjFtTFE7OztFQUVJO0FwQjZtTFo7O0FvQnhtTEE7RUFTSTtFQUNBO0VBQ0E7QXBCbW1MSjtBb0IzbExvQjtFakI5RGhCO0VBQ0E7RUFXSSxTQWRZO0FIZ3FMcEI7QUcvb0xJO0VBR1E7QUgrb0xaO0FvQjlsTG9CO0VqQm5FaEI7RUFDQTtFQVdJLFNBZFk7QUh3cUxwQjtBR3ZwTEk7RUFHUTtBSHVwTFo7QW9CbG1Mb0I7RWpCdkVoQjtFQUNBO0VBV0ksU0FkWTtBSGdyTHBCO0FHL3BMSTtFQUdRO0FIK3BMWjs7QW9Cbm5Mb0I7RWpCOURoQjtFQUNBO0VBV0ksU0FkWTtBSHlyTHBCO0FHeHFMSTtFQUdRO0FId3FMWjtBb0J2bkxvQjtFakJuRWhCO0VBQ0E7RUFXSSxTQWRZO0FIaXNMcEI7QUdockxJO0VBR1E7QUhnckxaO0FvQjNuTG9CO0VqQnZFaEI7RUFDQTtFQVdJLFNBZFk7QUh5c0xwQjtBR3hyTEk7RUFHUTtBSHdyTFo7O0FvQjVvTG9CO0VqQjlEaEI7RUFDQTtFQVdJLFNBZFk7QUhrdExwQjtBR2pzTEk7RUFHUTtBSGlzTFo7QW9CaHBMb0I7RWpCbkVoQjtFQUNBO0VBV0ksU0FkWTtBSDB0THBCO0FHenNMSTtFQUdRO0FIeXNMWjtBb0JwcExvQjtFakJ2RWhCO0VBQ0E7RUFXSSxTQWRZO0FIa3VMcEI7QUdqdExJO0VBR1E7QUhpdExaOztBb0JycUxvQjtFakI5RGhCO0VBQ0E7RUFXSSxTQWRZO0FIMnVMcEI7QUcxdExJO0VBR1E7QUgwdExaO0FvQnpxTG9CO0VqQm5FaEI7RUFDQTtFQVdJLFNBZFk7QUhtdkxwQjtBR2x1TEk7RUFHUTtBSGt1TFo7QW9CN3FMb0I7RWpCdkVoQjtFQUNBO0VBV0ksU0FkWTtBSDJ2THBCO0FHMXVMSTtFQUdRO0FIMHVMWjs7QW9CN3FMSTtFQUdRO0lBQ0k7RXBCOHFMZDtFb0IzcUxVO0lBQ0k7RXBCNnFMZDtFb0IxcUxVO0lBQ0k7RXBCNHFMZDtBQUNGO0FvQnZxTEk7RUFDSTtJQUNJO0VwQnlxTFY7QUFDRjtBb0J0cUxJO0VBQ0k7RUFDQTtBcEJ3cUxSO0FvQnRxTFE7RUFDSTtBcEJ3cUxaO0FvQnBxTEk7O0VBRUk7RUFDQTtBcEJzcUxSO0FvQm5xTEk7RUFDSTtFQUNBO0FwQnFxTFI7QW9CaHFMSTtFQUVJO0FwQmlxTFI7QW9COXBMSTtFQUVJO0FwQitwTFI7O0FvQnhwTEk7Ozs7RUFFSTtBcEI2cExSOztBb0J4cExJO0VqQmxKQTtFQUNBO0VBR0k7RUFDQSwwQkFSNEM7QUhvekxwRDtBRzF5TFE7RUFDSTtFQUNBO0FINHlMWjtBb0IzcExJO0VBS0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUdBO0VBQ0E7RUFDQTtBcEJzcExSO0FvQm5wTFk7RUFDSTtBcEJxcExoQjtBb0JocExZO0VBQ0k7QXBCa3BMaEI7QW9CN29MUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwQitvTFo7QW9CN29MWTtFQUNJO0VBQ0E7RUFDQTtBcEIrb0xoQjtBb0I3b0xnQjtFQUNJO0VBQ0E7QXBCK29McEI7QW9CN29Mb0I7RUFDSTtBcEIrb0x4QjtBb0Ixb0xvQjtFQUNJO0FwQjRvTHhCO0FvQnpvTG9CO0VBQ0k7QXBCMm9MeEI7QW9CdG9MWTtFQUNJO0FwQndvTGhCOztBb0Jsb0xBO0VBQ0k7SUFDSTtFcEJxb0xOO0VvQmxvTEU7SUFDSTtFcEJvb0xOO0FBQ0Y7QXFCdjVMQTtFQUNJO0VBQ0Esa0JWc0NxQjtFVW5DckIsZ0JWb0NtQjtFVW5DbkIsZ0JIb29CMEI7RUdub0IxQjtBckJ1NUxKOztBcUJwNUxBO0VkK1FNLGlDQUxJO0FQOG9MVjs7QXFCbjVMQTtFZDhRUTtBUHlvTFI7QU9yeUxJO0VjbEhKO0lkcVJRO0VQc29MTjtBQUNGOztBcUJ2NUxBO0VBR0ksZVZxR1c7QVhtekxmOztBcUJyNUxBO0VkbVFRO0FQc3BMUjtBT2x6TEk7RWN2R0o7SWQwUVE7RVBtcExOO0FBQ0Y7O0FxQno1TEE7RWQ4UFE7QVArcExSO0FPM3pMSTtFY2xHSjtJZHFRUTtFUDRwTE47QUFDRjs7QXFCNzVMQTtFZHlQUTtFY3JQSjtBckI4NUxKO0FPcjBMSTtFYzdGSjtJZGdRUTtFUHNxTE47QUFDRjs7QXFCaDZMQTtFQUNJLGlCVmRXO0FYaTdMZjs7QXFCaDZMQTtFQUNJLGtCVmpCVztBWG83TGY7O0FxQmg2TEE7RUFDSSxpQlZwQmU7QVh1N0xuQjs7QXFCaDZMQTtFQUNJLGlCVnZCZ0I7QVgwN0xwQjs7QXFCaDZMQTtFQUNJO0FyQm02TEo7O0FxQmg2TEE7RUFDSTtBckJtNkxKOztBcUJoNkxBO0VBQ0k7QXJCbTZMSjs7QXFCaDZMQTtFQUNJLGlCVjdDYTtFVThDYjtBckJtNkxKOztBc0JqL0xBOzs7Ozs7O0VBT0k7RUFDQTtBdEJvL0xKOztBc0JqL0xBOztFQUVJO0F0Qm8vTEo7O0FzQmovTEE7RUFDSTtFQUNBO0F0Qm8vTEo7O0FzQmovTEE7O0VBRUk7RUFDQTtBdEJvL0xKOztBc0JoL0xJO0VBQ0k7RUFDQTtBdEJtL0xSO0FzQi8rTFE7RUFDSTtFQUNBO0F0QmkvTFo7QXNCLytMWTtFQUNJO0F0QmkvTGhCOztBc0IxK0xJO0VBQ0k7RUFDQTtBdEI2K0xSO0FzQjErTEk7RUFDSTtFQUNBO0F0QjQrTFI7O0FzQnQrTFE7RUFDSTtFQUNBO0F0QnkrTFo7O0FzQmorTFk7RUFDSTtFQUNBO0F0Qm8rTGhCOztBc0I1OUxRO0VBQ0k7RUFDQTtBdEIrOUxaOztBc0J6OUxJO0VBQ0k7RUFDQTtBdEI0OUxSO0FzQno5TEk7O0VBRUk7RUFDQTtBdEIyOUxSO0FzQng5TEk7RUFDSTtFQUNBO0F0QjA5TFI7O0FzQnI5TEk7RUFDSTtFQUNBO0F0Qnc5TFI7QXNCcDlMUTtFQUNJO0VBQ0E7QXRCczlMWjtBVXpnTUk7RVl3REk7SUFDSTtJQUNBO0V0Qm85TFY7QUFDRjs7QVVsZ01JO0VZcURRO0lBQ0k7SUFDQTtFdEJpOUxkO0VzQjk4TFU7SUFDSTtJQUNBO0V0Qmc5TGQ7QUFDRjtBVTFoTUk7RVlrRmdCO0lBQ0k7SUFDQTtFdEIyOEx0QjtFc0JsOExrQjtJQUNJO0lBQ0E7RXRCbzhMdEI7QUFDRjs7QVV2aE1JO0VZNEZJO0lBQ0k7SUFDQTtFdEIrN0xWO0FBQ0Y7O0FzQng3TFk7RUFDSTtFQUNBO0F0QjI3TGhCOztBc0JwN0xJO0VBQ0k7RUFDQTtBdEJ1N0xSOztBVXhpTUk7RVl1SEk7SUFDSTtJQUNBO0V0QnE3TFY7QUFDRjs7QXNCajdMQTtFQUNJO0VBQ0E7QXRCbzdMSjs7QXNCLzZMUTtFQUNJO0lBQ0k7SUFDQTtFdEJrN0xkO0FBQ0Y7O0FzQno2TGdCO0VBQ0k7RUFDQTtBdEI0NkxwQjs7QXNCcDZMSTtFQUNJO0VBQ0E7QXRCdTZMUjs7QXVCL29NQTtFQUNJO0VBR0EsNkRBQ0k7QXZCK29NUjtBdUIxb01RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkI0b01aO0FVamxNSTtFYXZEUTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0V2QjJvTWQ7RXVCem9NYztJQUNJO0V2QjJvTWxCO0V1QnZvTVU7SUFDSTtFdkJ5b01kO0FBQ0Y7QXVCcm9NSTtFQUNJO0F2QnVvTVI7QXVCcG9NSTtFQUNJLGNac0tZO0FYZytMcEI7QXVCbm9NSTtFQUNJO0VBQ0E7QXZCcW9NUjtBVXptTUk7RWExRUo7SUFrRFE7RXZCcW9NTjtFdUJub01NO0lBQ0k7RXZCcW9NVjtFdUJsb01NO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXZCb29NVjtFdUJqb01NO0lBRUk7RXZCa29NVjtBQUNGO0FVMW9NSTtFYTdESjtJQXlFUTtJQUNBO0lBQ0EsbUJacUlvQjtJWXBJcEI7RXZCa29NTjtFdUJob01NO0lBQ0k7SUFDQTtFdkJrb01WO0V1Qi9uTU07SUFDSTtJQUdBLG1NQUNJO0lBSUo7SUFDQTtJQUNBLGVabUhvQjtJWWxIcEI7RXZCMm5NVjtFdUJ4bk1NO0lBQ0k7SUFDQTtFdkIwbk1WO0V1QnZuTU07SUFDSTtJQUNBO0V2QnluTVY7RXVCdG5NTTtJQUNJO0lBQ0E7RXZCd25NVjtFdUJybk1NO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXZCdW5NVjtFdUJwbk1NO0lBQ0k7RXZCc25NVjtFdUJwbk1VO0lBQ0k7RXZCc25NZDtFdUJsbk1NO0lBQ0k7SUFDQTtJQUNBO0V2Qm9uTVY7RXVCam5NTTtJQUNJO0lBQ0E7SUFDQTtFdkJtbk1WO0FBQ0Y7QXVCaG5NSTtFQUNJO0F2QmtuTVI7O0FVbnNNSTtFUDBDSTtJQUlnQjtNb0J3Q3BCO0l2Qm1uTUE7RUFDRjtBQUNGO0F3QnZ3TUE7RUFDSTtBeEJ5d01KOztBd0J0d01BO0VBQ0ksc0Jia0RHO0VhakRIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCeXdNSjtBd0J2d01JO0VBQ0k7RUFDQTtBeEJ5d01SO0F3QnR3TUk7RUFDSTtBeEJ3d01SO0F3QnJ3TUk7RUFDSTtBeEJ1d01SO0FVcHVNSTtFYy9CSTtJQUNJO0V4QnN3TVY7QUFDRjs7QVU1dE1JO0VjcENJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhCb3dNVjtFd0Jsd01VO0lBQ0k7RXhCb3dNZDtFd0Jqd01VO0lBQ0k7RXhCbXdNZDtFd0Jod01VO0lBQ0k7RXhCa3dNZDtBQUNGO0FVcHdNSTtFY3pCSjtJQWdDUTtFeEJpd01OO0V3Qi92TU07SUFDSTtFeEJpd01WO0FBQ0Y7O0F5QnowTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QjQwTUo7QXlCejBNUTtFQUNJO0F6QjIwTVo7QXlCejBNWTtFQUNJO0lBQ0k7RXpCMjBNbEI7QUFDRjtBeUJ0ME1JO0VBQ0k7RUFDQTtBekJ3ME1SO0F5QnIwTUk7RUFDSTtFQUNBO0VBQ0EsU2RIYztFY0lkO0VBQ0E7QXpCdTBNUjtBeUJwME1JO0VBQ0k7RUFDQTtBekJzME1SO0F5Qm4wTUk7RUFDSTtBekJxME1SO0F5Qm4wTVE7RXRCckNKLGFzQnNDd0I7RXRCckN4Qixjc0JxQ3dCO0F6QnMwTTVCO0F5QmwwTUk7RUFDSTtFQUNBO0VBQ0E7QXpCbzBNUjtBeUJsME1RO0V0Qi9DSixZc0JnRHdCO0V0Qi9DeEIsYXNCK0N3QjtFQUVoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Qm8wTVo7QXlCL3pNUTtFQUNJO0F6QmkwTVo7QXlCN3pNSTtFQUNJO0VBQ0E7RUFDQTtBekIrek1SO0F5QjV6TUk7RUFDSTtBekI4ek1SO0F5QjV6TVE7RUFDSTtJQUNJO0V6Qjh6TWQ7QUFDRjtBVWgxTUk7RWU3REo7SUFvRlE7RXpCNnpNTjtFeUIzek1NO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXpCNnpNVjtFeUIxek1NO0lBQ0k7SUFDQTtFekI0ek1WO0V5Qnp6TU07SUFDSTtFekIyek1WO0V5Qnh6TU07SUFDSTtFekIwek1WO0V5QnZ6TU07SUFDSTtJQUNBO0lBQ0E7RXpCeXpNVjtBQUNGO0FVNzFNSTtFZXdDSTtJQUNJO0V6Qnd6TVY7RXlCcHpNVTtJQUVJO0V6QnF6TWQ7QUFDRjs7QTBCajdNQTtFQUNJO0VBQ0E7RUFLQTtFQUVBO0ExQis2TUo7QVV6M01JO0VnQi9ESjtJQVlRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUJnN01OO0UwQjk2TU07SUFDSTtJQUNBO0lBQ0E7SUFDQTtFMUJnN01WO0UwQjc2TU07SUFDSSx3TUFDSTtJQUdKO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFCNDZNVjtBQUNGO0FVcDVNSTtFZ0JsQ0k7SUFZUTtFMUI4Nk1kO0FBQ0Y7QVV6NU1JO0VnQmxCSTtJQUNJO0lBQ0E7RTFCODZNVjtFMEI1Nk1VO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFCODZNZDtFMEIxNk1NOztJQUVJO0UxQjQ2TVY7RTBCejZNTTtJQUNJO0UxQjI2TVY7RTBCeDZNTTtJQUNJO0lBQ0E7RTFCMDZNVjtFMEJ2Nk1NO0lBQ0k7SUFDQTtFMUJ5Nk1WO0UwQnQ2TU07SUFDSTtJQUNBO0UxQnc2TVY7RTBCcjZNTTtJQUNJO0lBQ0E7SUFHQTtFMUJxNk1WO0UwQm42TVU7SUFDSTtJQUNBO0UxQnE2TWQ7RTBCajZNYztJQUNJO0UxQm02TWxCO0UwQjk1TU07SUFDSTtFMUJnNk1WO0UwQjM1TWtCO0lBQ0k7RTFCNjVNdEI7RTBCdjVNYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUJ5NU1sQjtFMEJ0NU1jO0lBQ0k7RTFCdzVNbEI7RTBCbjVNTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0UxQnE1TVY7RTBCbjVNVTtJQUVJO0UxQm81TWQ7RTBCbDVNYztJQUNJO0UxQm81TWxCO0UwQi80TWM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQmk1TWxCO0UwQjk0TWM7SUFDSTtFMUJnNU1sQjtFMEI1NE1VO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQjg0TWQ7RTBCNTRNYztJQUNJO0UxQjg0TWxCO0UwQjU0TWtCO0lBRUk7RTFCNjRNdEI7RTBCejRNYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQjI0TWxCO0UwQnQ0TU07SUFFSTtJQUNBO0lBQ0E7RTFCdTRNVjtFMEJwNE1NO0lBQ0k7RTFCczRNVjtBQUNGO0FVbmdOSTtFZ0JpSUk7SUFFSTtJQUNBO0lBQ0E7RTFCbzRNVjtFMEJoNE1VO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUJrNE1kO0UwQmg0TWM7SUFDSTtJQUNBO0UxQms0TWxCO0UwQjkzTVU7SUFDSTtJQUNBO0UxQmc0TWQ7RTBCOTNNYztJQUNJO0UxQmc0TWxCO0UwQjUzTVU7SUFDSTtFMUI4M01kO0UwQjEzTU07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQjQzTVY7RTBCMTNNVTtJQUNJO0lBQ0E7RTFCNDNNZDtFMEJ6M01VO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUIyM01kO0UwQngzTWtCO0lBR0k7RTFCdzNNdEI7RTBCajNNMEI7SUFHSTtFMUJpM005QjtFMEJ6Mk1NO0lBQ0k7RTFCMjJNVjtFMEJ0Mk1rQjtJQUNJO0UxQncyTXRCO0UwQmwyTU07SUFDSTtJQUNBO0UxQm8yTVY7RTBCajJNTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0UxQm0yTVY7RTBCajJNVTtJQUNJO0UxQm0yTWQ7RTBCLzFNYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFCaTJNbEI7RTBCOTFNYztJQUVJO0UxQisxTWxCO0UwQjUxTWM7SUFDSTtFMUI4MU1sQjtFMEI1MU1rQjtJQUNJO0lBQ0E7RTFCODFNdEI7RTBCMTFNYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFCNDFNbEI7RTBCdjFNOEI7SUFDSTtJQUNBO0UxQnkxTWxDO0UwQnQxTThCO0lBQ0k7RTFCdzFNbEM7RTBCcDFNMEI7SUFDSTtFMUJzMU05QjtFMEJoMU1jO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUJrMU1sQjtFMEIvME1jO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUJpMU1sQjtFMEIvME1rQjtJQUNJO0UxQmkxTXRCO0UwQjMwTU07OztJQUlJO0UxQjQwTVY7RTBCejBNTTtJQUNJO0UxQjIwTVY7RTBCeDBNTTtJQUNJO0UxQjAwTVY7RTBCdjBNTTtJQUNJO0UxQnkwTVY7RTBCdDBNTTtJQUNJO0UxQncwTVY7QUFDRjtBVWpxTkk7RWdCOFZJO0lBRUk7RTFCcTBNVjtFMEJuME1VO0lBQ0k7RTFCcTBNZDtFMEJqME1NO0lBQ0k7RTFCbTBNVjtBQUNGOztBMkJ6dU5BO0VBQ0k7RUFDQTtBM0I0dU5KO0FVanJOSTtFaUI3REo7SUFLUTtFM0I2dU5OO0FBQ0Y7QVV0ck5JO0VpQnJEQTtJQUVRO0lBQ0E7RTNCNnVOVjtBQUNGO0FVNXJOSTtFaUI5Q0E7SUFFUTtFM0I0dU5WO0FBQ0Y7QVVqc05JO0VpQnpDSTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNCNHVOZDtFMkIxdU5jO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RTNCNHVObEI7RTJCMXVOa0I7SUFDSTtFM0I0dU50QjtFMkJ6dU5rQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNCMnVOdEI7RTJCeHVOa0I7SUFDSTtJQUNBO0UzQjB1TnRCO0UyQnR1TnNCO0lBQ0k7SUFDQTtFM0J3dU4xQjtFMkJ0dU4wQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0UzQnd1TjlCO0UyQnB1TnNCO0lBQ0k7SUFDQTtJQUNBO0UzQnN1TjFCO0UyQnB1TjBCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RTNCc3VOOUI7RTJCaHVOYztJQUNJO0lBQ0E7RTNCa3VObEI7RTJCaHVOa0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFM0JrdU50QjtBQUNGO0EyQjd0TlE7RUFDSTtBM0IrdE5aO0EyQjF0TlE7RUFDSTtFQUNBO0EzQjR0Tlo7QVVwd05JO0VpQjRDQTtJQUVRO0UzQjB0TlY7QUFDRjtBMkJ4dE5RO0VBQ0k7QTNCMHROWjtBMkJ0dE5JO0VBQ0k7RUFDQTtBM0J3dE5SO0FVaHhOSTtFaUJzREE7SUFLUTtFM0J5dE5WO0FBQ0Y7QVV4d05JO0VpQnlDQTtJQVNRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNCMHROVjtFMkJ4dE5VO0lBQ0k7RTNCMHROZDtFMkJ2dE5VO0lBQ0k7RTNCeXROZDtFMkJ0dE5VO0lBQ0k7RTNCd3ROZDtFMkJ0dE5jO0lBQ0k7RTNCd3RObEI7RTJCdHROa0I7SUFDSTtFM0J3dE50QjtBQUNGO0EyQmx0Tkk7RUFDSTtFQUNBO0EzQm90TlI7QTJCbHROUTtFQUNJO0lBQ0k7RTNCb3ROZDtBQUNGO0EyQmh0Tkk7RUFDSTtBM0JrdE5SO0FVenpOSTtFaUIwR1E7SUFDSTtFM0JrdE5kO0FBQ0Y7QTJCL3NOUTtFQUNJO0EzQml0Tlo7O0E0QjEzTkE7O0VBRUk7QTVCNjNOSjs7QTZCbjROQTs7Ozs7RUFLSTtFQUNBO0E3QnM0Tko7O0E2Qm40TkE7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkRBQ0k7QTdCcTROUjtBVS8xTkk7RW1CcERKOzs7SUFrQlE7RTdCdTROTjtBQUNGOztBNkJwNE5BO0VBR1E7O0lBQ0k7SUFDQTtFN0JzNE5WO0U2Qmw0TkU7SUFDSTtJQUNBO0U3Qm80Tk47QUFDRjtBNkJoNE5JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdCazROUjtBNkIvM05JO0VBQ0k7SUFDSTtJQUNBO0U3Qmk0TlY7QUFDRjs7QTZCNzNOQTtFQUNJO0E3Qmc0Tko7QTZCOTNOSTtFQUNJO0E3Qmc0TlI7QTZCNzNOSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0IrM05SO0FVaDVOSTtFbUJRQTtJQVlRO0lBQ0E7SUFDQTtFN0JnNE5WO0FBQ0Y7QTZCOTNOUTtFQUNJO0VBQ0E7RUFDQTtBN0JnNE5aO0E2QjMzTmdCO0VBQ0k7QTdCNjNOcEI7QTZCMzNOb0I7RUFDSTtFQUNBO0E3QjYzTnhCO0E2QnQzTkk7RTFCdkdBLFkwQndHb0I7RTFCdkdwQixhMEJ1R29CO0VBRWhCO0VBQ0E7QTdCdzNOUjtBNkJ0M05RO0VBQ0k7QTdCdzNOWjtBNkJyM05RO0VBQ0k7QTdCdTNOWjtBNkJwM05RO0VBQ0k7RUFDQTtBN0JzM05aO0E2QnAzTlk7RUFDSTtBN0JzM05oQjtBNkJuM05ZO0VBQ0k7QTdCcTNOaEI7QTZCaDNOSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCazNOUjtBNkJoM05RO0VBR0k7RUFDQTtBN0JnM05aO0E2QjUyTkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkRBQ0k7RUFFSjtFQUNBO0E3QjQyTlI7QTZCMTJOUTtFQUdJO0VBQ0E7QTdCMDJOWjtBNkJyMk5RO0VBRUk7RUFDQTtBN0JzMk5aO0E2Qm4yTlE7RUFDSTtFQUNBO0E3QnEyTlo7QTZCLzFOUTtFQUNJO0VBQ0E7RUFDQTtBN0JpMk5aO0E2QjcxTkk7RUFDSTtBN0IrMU5SO0E2QjcxTlE7RUFDSTtBN0IrMU5aO0E2QjMxTkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0I2MU5SO0E2QjMxTlE7RUFDSTtBN0I2MU5aO0FVdi9OSTtFbUJpS0k7SUFDSTtFN0J5MU5WO0FBQ0Y7O0E2QnIxTkE7RUFDSTtBN0J3MU5KOztBOEIvak9BO0VBQ0k7QTlCa2tPSjtBVXBnT0k7RW9CL0RKO0lBSVE7RTlCbWtPTjtBQUNGO0FVemdPSTtFb0IvREo7SUFRUTtFOUJva09OO0FBQ0Y7O0ErQjFrT0k7RUFDSTtFQUNBO0VBQ0E7QS9CNmtPUjtBK0Ixa09JOzs7O0VBSUk7QS9CNGtPUjtBK0J4a09RO0VBQ0k7QS9CMGtPWjtBK0J2a09RO0VBQ0k7QS9CeWtPWjtBK0Jya09JO0VBQ0k7QS9CdWtPUjtBK0Jwa09JOzs7RUFHSTtBL0Jza09SO0ErQmprT1E7O0VBQ0k7QS9Cb2tPWjtBK0Jsa09ZOztFQUNJO0VBQ0E7QS9CcWtPaEI7QStCOWpPUTtFQUNJO0EvQmdrT1o7QStCOWpPWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CZ2tPaEI7QStCM2pPSTtFQUNJO0VBQ0E7QS9CNmpPUjtBK0Izak9RO0VBQ0k7RUFDQTtBL0I2ak9aO0ErQjNqT1k7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CNGpPaEI7QStCdGpPSTs7OztFQUlJO0EvQndqT1I7QVVwbE9JO0VxQitCQTs7SUFHUTtJQUNBO0UvQnVqT1Y7QUFDRjtBVTNsT0k7RXFCdUNBO0lBRVE7SUFDQTtFL0Jzak9WO0FBQ0Y7QVVqbU9JO0VxQjhDQTtJQUVRO0lBQ0E7RS9CcWpPVjtBQUNGO0ErQmxqT0k7O0VBRUk7RUFDQTtFQUNBO0EvQm9qT1I7O0FnQ3ZxT1k7RUFDSTtFQUNBO0FoQzBxT2hCOztBaUMvcU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpDa3JPSjtBaUNock9JO0VBQ0k7QWpDa3JPUjtBaUMvcU9JO0VBQ0k7RUFDQTtBakNpck9SO0FVbm5PSTtFdUJoRUE7SUFLUTtFakNrck9WO0FBQ0Y7QWlDL3FPSTtFQUNJO0VBQ0E7QWpDaXJPUjtBaUM5cU9JO0VBQ0k7RUFDQTtBakNnck9SO0FpQzlxT1E7RUFDSTtJQUNJO0VqQ2dyT2Q7QUFDRjtBVXJvT0k7RXVCdENJO0lBQ0ksY3RCeUxvQjtFWHEvTjlCO0VpQzNxT007SUFDSSxrQnRCcUxvQjtFWHcvTjlCO0VpQzNxT1U7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFakM2cU9kO0VpQzNxT2M7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpDNnFPbEI7RWlDenFPVTtJQUNJO0VqQzJxT2Q7QUFDRjtBVTNxT0k7RXVCN0RKO0lBa0VRO0VqQzBxT047RWlDeHFPTTtJQUNJO0VqQzBxT1Y7RWlDeHFPVTtJQUNJO0VqQzBxT2Q7RWlDeHFPYztJQUNJO0VqQzBxT2xCO0VpQ3JxT007SUFDSTtFakN1cU9WO0VpQ3BxT007SUFDSTtFakNzcU9WO0VpQ3BxT1U7SUFDSTtFakNzcU9kO0FBQ0Y7QVVsc09JO0V1QmlDSTtJQUNJO0VqQ29xT1Y7QUFDRjs7QVUxck9JO0V3QjFFSjtJQUVRO0lBQ0E7SUFDQTtJQUNBO0VsQ3V3T047RWtDcndPTTtJQUNJO0lBQ0E7RWxDdXdPVjtFa0Nyd09VO0lBQ0k7RWxDdXdPZDtFa0Nud09jO0lBQ0k7SUFDQTtFbENxd09sQjtFa0Nsd09zQjs7SUFFSTtFbENvd08xQjtFa0Nqd09zQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VsQ213TzFCO0VrQ2p3TzBCO0lBQ0k7SUFDQTtFbENtd085QjtFa0M1dk9rQjtJQUNJO0lBQ0E7SUFDQTtFbEM4dk90QjtFa0M1dk9zQjtJQUNJO0lBQ0E7RWxDOHZPMUI7RWtDdnZPTTtJQUNJO0VsQ3l2T1Y7QUFDRjtBa0N0dk9JO0VBZ0JJO0VBQ0E7QWxDeXVPUjtBVTV1T0k7RXdCZEE7SUFFUTtFbEM0dk9WO0VrQzF2T1U7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFbEM0dk9kO0VrQ3p2T1U7SUFDSTtFbEMydk9kO0FBQ0Y7QWtDcHZPSTtFQUNJO0FsQ3N2T1I7QWtDcHZPUTtFQUNJO0lBQ0k7SUFDQTtJQUNBO0VsQ3N2T2Q7QUFDRjs7QW1DMzBPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGFDRGM7RURFZDtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCQ0xrQjtFRE1sQjtFQUNHO0VBQ0s7RUFDUjtFQUNBO0VBQ0E7RUFDQTtFQUdBO0FuQzQwT0Y7QW1DejBPRTtFQUFZO0FuQzQwT2Q7QW1DMzBPRTtFQUFZO0FuQzgwT2Q7QW1DNzBPRTtFQUFZO0FuQ2cxT2Q7QW1DLzBPRTtFQUFZO0FuQ2sxT2Q7O0FtQy8wT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJDN0J1QjtFRDhCdkI7RUFDQTtBbkNrMU9GO0FtQ2gxT0U7RUFDRTtBbkNrMU9KOztBbUM5ME9BO0VBQ0U7QW5DaTFPRjs7QW1DMTBPQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5DNjBPRjs7QW1DMzBPQTtFQUNFLGtCQ3REdUI7QXBDbzRPekI7O0FtQzUwT0E7RUFDRSxrQkMxRGtCO0VEMkRsQjtBbkMrME9GOztBbUMzME9FO0VBQ0U7RUFDQTtFQUNBO0VBQ0EseUJDaEVxQjtFRGlFckI7QW5DODBPSjtBbUM3ME9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0Esc0JDdkVjO0FwQ3M1T3BCO0FtQzUwT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDJCQzlFcUI7QXBDNDVPekI7QW1DNzBPSTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHdCQ3BGYztBcENtNk9wQjtBbUM1ME9FO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsNEJDMUZxQjtFRDJGckI7QW5DODBPSjtBbUM3ME9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0EseUJDakdjO0FwQ2c3T3BCO0FtQzMwT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBCQ3pHcUI7QXBDczdPekI7QW1DNTBPSTtFQUNFO0VBQ0E7RUFDQSx1QkM5R2M7RUQrR2Q7QW5DODBPTjs7QW9DeDdPQTtFQUNJO0VBRUE7RUFDQSxxQkFuQm1CO0VBb0JuQjtFQUNBO0VBQ0E7RUFHQTtFQUNBO0FwQ3c3T0o7QW9DdDdPSTtFQUNJO0FwQ3c3T1I7QW9DcjdPSTtFQUNJO0VBQ0E7QXBDdTdPUjtBb0NwN09JO0VBQ0k7QXBDczdPUjtBb0NoN09nQjtFQURKO0lBRVE7RXBDbTdPbEI7RW9DajdPa0I7SUFDSTtJQUNBO0VwQ203T3RCO0VvQ2o3T3NCO0lBQ0k7RXBDbTdPMUI7RW9DaDdPc0I7SUFDSTtFcENrN08xQjtBQUNGO0FvQzE2T1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0F0RVk7RUF1RVo7RUFDQTtBcEM0Nk9aO0FvQ3Y2T1E7RUFFUTtJQUNJO0VwQ3c2T2xCO0FBQ0Y7QW9DaDZPb0I7RUFDSTtBcENrNk94QjtBb0NoNk93QjtFQUNJO0FwQ2s2TzVCO0FvQzM1T1k7RUFHWTtJQUNJO0VwQzI1TzFCO0VvQ3o1TzBCO0lBQ0k7RXBDMjVPOUI7QUFDRjtBb0NuNU9JO0VBQ0k7RUFDQTtBcENxNU9SO0FvQ241T1E7RUFDSTtBcENxNU9aO0FVdDhPSTtFMEJzREk7SUFDSTtFcENtNU9WO0FBQ0Y7O0FVMzhPSTtFMEIrRFE7SUFDSTtFcENnNU9kO0FBQ0Y7O0FxQzVoUEk7RUFDSTtFQUNBO0VBQ0E7QXJDK2hQUjtBcUM1aFBJO0VBQ0k7RUFDQTtBckM4aFBSO0FxQzNoUEk7RUFDSTtBckM2aFBSOztBcUN4aFBJO0VBQ0k7RUFDQTtBckMyaFBSOztBc0M3aVBBO0VBQ0k7RUFDQTtFQUNBO0F0Q2dqUEo7QXNDOWlQSTtFbkNGQSxhbUNHb0I7RW5DRnBCLGNtQ0VvQjtFQUVoQjtFQUNBO0VBQ0E7RUFDQTtBdENnalBSOztBdUMxalBBO0VBQ0k7QXZDNmpQSjs7QXVDempQSTtFQUNJO0F2QzRqUFI7QXVDempQSTtFQUNJO0F2QzJqUFI7QXVDeGpQSTtFQUNJO0F2QzBqUFI7QXVDdmpQSTtFQUNJO0F2Q3lqUFI7QXVDcmpQUTtFQUNJO0F2Q3VqUFo7QXVDbmpQSTtFQUNJO0VBQ0E7QXZDcWpQUjtBdUNqalBRO0VBQ0k7RUFDQTtBdkNtalBaO0F1Q2pqUFk7RUFDSTtBdkNtalBoQjtBdUM5aVBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZDZ2pQUjtBdUN6aVBZO0VBQ0k7QXZDMmlQaEI7QXVDeGlQWTtFQUNJO0F2QzBpUGhCO0F1Q3BpUFE7RUFDSTtBdkNzaVBaO0F1Q2xpUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q29pUFI7QXVDbGlQUTtFQUNJO0F2Q29pUFo7QXVDamlQUTtFQUNJO0F2Q21pUFo7QXVDamlQWTtFQUNJO0VBQ0E7QXZDbWlQaEI7QXVDL2hQUTtFQUNJO0F2Q2lpUFo7QXVDOWhQUTtFQUNJO0F2Q2dpUFo7QXVDM2hQUTtFQUNJO0F2QzZoUFo7QXVDM2hQWTtFQUNJO0VBQ0E7QXZDNmhQaEI7QXVDM2hQZ0I7RUFDSTtBdkM2aFBwQjtBdUMxaFBnQjtFQUNJO0F2QzRoUHBCO0F1Q3JoUFk7RUFDSTtFQUNBO0VBQ0E7QXZDdWhQaEI7QXVDcmhQZ0I7OztFQUVJO0F2Q3doUHBCO0F1Q25oUFE7RUFDSTtBdkNxaFBaO0F1Q2poUEk7RUFDSTtFQUNBO0VBQ0E7QXZDbWhQUjtBdUNqaFBRO0VBQ0k7QXZDbWhQWjtBdUMvZ1BJO0VBQ0k7QXZDaWhQUjtBVXhtUEk7RTZCMkZJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdkNnaFBWO0V1QzlnUFU7SUFDSTtFdkNnaFBkO0V1QzdnUFU7SXBDaEtSLGFvQ2lLNEI7SXBDaEs1Qixjb0NnSzRCO0lBRWhCO0V2QytnUGQ7RXVDM2dQTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2QzZnUFY7RXVDM2dQVTtJcEN0TFIsV29DdUw0QjtJcEN0TDVCLFlvQ3NMNEI7SUFFaEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2QzZnUGQ7QUFDRjtBdUN6Z1BJOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0F2QzBnUFI7O0F1Q3RnUEE7RUFDSTtBdkN5Z1BKOztBdUN0Z1BBO0VBQ0k7RUFDQTtBdkN5Z1BKO0F1Q3ZnUEk7RUFDSTtBdkN5Z1BSO0F1Q3ZnUFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkN5Z1BaO0F1Q3ZnUFk7RUFDSTtFQUNBO0F2Q3lnUGhCO0F1Q3JnUGdCO0VBRUk7QXZDc2dQcEI7O0FLeCtPQTs7RUFBQTtBQStIQTs7RUFBQTtBQWVBOztFQUFBO0FBbUdBOztFQUFBO0FtQzdmQTtFQUNJO0VBQ0E7RUFDQTtBeENtd1BKO0F3Q2p3UEk7RXJDREE7QUhxd1BKO0FHbndQSTtFQUlRO0FIa3dQWjtBRzl2UEk7RUFDSTtBSGd3UFI7QUc3dlBJO0VBQ0ksbUJRK0xVO0VSOUxWO0FIK3ZQUjtBRzV2UEk7RUFDSSxtQlEwTFU7QVhva1BsQjtBd0M3d1BJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhDK3dQUjtBd0M1d1BJO0VBQ0k7QXhDOHdQUjtBd0M1d1BRO0VBQ0ksc0J0QmxCRDtBbEJneVBYO0F3QzF3UEk7RUFDSTtBeEM0d1BSO0F3QzF3UFE7RUFDSSxzQnRCMUJEO0VzQjJCQztBeEM0d1BaO0F3Q3h3UFk7RUFDSTtBeEMwd1BoQjtBd0Nwd1BRO0VBQ0k7RUFDQTtBeENzd1BaO0F3Q253UFE7RXJDc0NBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIZ3VQUjtBd0N2d1BJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsMEVBQ0k7RUFHSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeENzd1BSO0F3Q3B3UFE7RUFFSTtFQUNBO0VBQ0E7QXhDcXdQWjtBd0Nod1BRO0VBQ0k7QXhDa3dQWjtBd0M3dlBRO0VBQ0k7RUFDQTtBeEMrdlBaO0F3QzV2UFE7RUFDSTtBeEM4dlBaO0F3Q3Z2UGdCO0VBQ0k7QXhDeXZQcEI7QXdDdHZQZ0I7RUFDSTtBeEN3dlBwQjtBd0NudlBnQjtFQUNJO0F4Q3F2UHBCO0F3Q2x2UGdCO0VBQ0k7QXhDb3ZQcEI7QUtsbVBJO0VtQzNJSTtFQUNBO0VBQ0E7RUFDQTtBeENndlBSO0F3Qzl1UFE7RUFFSTtBeEMrdVBaOztBd0N4dVBJOztFQUdJO0VBQ0E7QXhDMHVQUjs7QXdDcnVQQTtFQUNJO0F4Q3d1UEo7O0F5QzczUEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekNnNFBKO0F5QzkzUEk7RUFDSTtBekNnNFBSO0F5QzczUEk7RUFiSjtJQWNRO0V6Q2c0UE47QUFDRjtBeUM5M1BJO0VBakJKO0lBa0JRO0V6Q2k0UE47QUFDRjtBeUMvM1BJO0VBQ0k7QXpDaTRQUjtBeUM5M1BJO0VBQ0k7QXpDZzRQUjtBeUM3M1BJO0VBQ0k7QXpDKzNQUjtBVWoyUEk7RStCMUJJO0lBQ0k7RXpDODNQVjtFeUMzM1BNO0lBQ0k7RXpDNjNQVjtBQUNGO0FVejJQSTtFK0I1REo7SUE0Q1E7RXpDNjNQTjtFeUMzM1BNO0lBQ0k7RXpDNjNQVjtBQUNGOztBeUN6M1BBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QzQzUEo7QXlDMTNQSTtFQUNJO0F6QzQzUFI7QXlDejNQSTtFQUNJO0F6QzIzUFI7QXlDeDNQSTtFQUNJO0VBQ0E7RUFDQTtBekMwM1BSO0F5Q3gzUFE7RUFDSTtBekMwM1BaO0F5Q3QzUEk7RUFDSTtFQUNBO0VBQ0E7QXpDdzNQUjtBeUN0M1BRO0VBQ0k7QXpDdzNQWjtBeUNwM1BJO0VBQ0k7RUFDQTtBekNzM1BSO0F5Q24zUEk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBekNvM1BSO0F5Q2ozUEk7RUFDSTtBekNtM1BSO0F5Q2gzUEk7RUFDSTtBekNrM1BSO0F5Qy8yUEk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Q2kzUFI7QXlDLzJQUTs7RUFDSTtFQUNBO0F6Q2szUFo7QXlDLzJQUTs7RUFDSTtBekNrM1BaO0F5Qy8yUFE7Ozs7O0VBS0k7QXpDaTNQWjtBeUM5MlBROztFQUNJO0F6Q2kzUFo7QXlDOTJQUTs7RUFDSTtBekNpM1BaO0F5QzcyUEk7RUFHSTtBekM2MlBSO0F5Q3oyUFE7RUFDSTtFQUNBO0F6QzIyUFo7QXlDdjJQSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F6Q3kyUFI7QXlDdDJQSTtFdEMzS0EsYXNDNEtvQjtFdEMzS3BCLGNzQzJLb0I7RUFFaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Q3cyUFI7QXlDdDJQUTtFQUNJO0F6Q3cyUFo7QXlDcjJQUTtFQUNJO0F6Q3UyUFo7QXlDcDJQUTtFdEM3TEosYXNDOEx3QjtFdEM3THhCLGNzQzZMd0I7QXpDdTJQNUI7QXlDcDJQUTtFQUNJO0F6Q3MyUFo7QXlDbjJQUTtFQUNJO0F6Q3EyUFo7QVVqL1BJO0UrQmdKUTtJQUNJO0V6Q28yUGQ7RXlDajJQVTtJQUNJO0V6Q20yUGQ7QUFDRjtBeUNsMVBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekNvMVBSO0F5Q2gxUFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekNrMVBaO0F5Q2gxUFk7RUFDSTtFQUNBO0F6Q2sxUGhCO0F5Qy8wUFk7RUFDSSxvZUN4R087QTFDeTdQdkI7QXlDNzBQUTtFQUNJO0F6QyswUFo7QXlDNzBQWTtFQUNJLHdWQ3JIQTtFRHNIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QyswUGhCO0F5QzUwUFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QzgwUGhCO0FVcmlRSTtFK0JSSjtJQXFPUTtFekM0MFBOO0V5QzEwUE07SUFDSTtFekM0MFBWO0V5Q3owUE07SUFDSTtFekMyMFBWO0V5Q3owUFU7SUFDSTtFekMyMFBkO0V5Q3YwUE07SUFDSTtFekN5MFBWO0FBQ0Y7O0F5Q3IwUEE7RUFDSTtBekN3MFBKOztBeUNyMFBBO0VBQ0k7QXpDdzBQSjs7QXlDcDBQQTtFQUNJO0F6Q3UwUEo7QXlDcjBQSTtFQUVJO0VBR0E7RUFHQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Q2cwUFI7QXlDN3pQSTtFQUVJO0VBR0E7RUFHQTtFQUNBO0F6QzB6UFI7QXlDdnpQSTtFQUdJO0F6Q3V6UFI7O0EyQ3RwUUE7RUFDSTtFQUNBO0EzQ3lwUUo7QTJDdnBRSTtFQUNJO0VBQ0E7QTNDeXBRUjtBMkN2cFFRO0VBQ0k7QTNDeXBRWjtBMkNycFFJO0VBQ0k7QTNDdXBRUjtBMkNycFFRO0VBQ0k7QTNDdXBRWjtBMkNucFFJO0VBQ0k7QTNDcXBRUjtBVTVtUUk7RWlDckNJO0lBQ0k7RTNDb3BRVjtFMkNqcFFNO0lBQ0k7RTNDbXBRVjtBQUNGOztBMkMvb1FBO0VBQ0k7QTNDa3BRSjs7QTRDcHJRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1Q3VyUUo7QTRDcnJRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUN1clFSO0E0Q3JyUVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDdXJRWjtBNENoclFRO0VBQ0k7QTVDa3JRWjtBNENoclFZO0VBQ0k7QTVDa3JRaEI7O0E2Q3R0UUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDeXRRUjtBNkN2dFFRO0VBQ0k7RUFDQTtFQUNBO0E3Q3l0UVo7O0E4Q3J1UUE7RUFDSTtFQUNBO0E5Q3d1UUo7QThDdHVRSTtFQUNJO0VBQ0E7QTlDd3VRUjs7QStDNXVRQTtFQUNJO0VBQ0E7RUFDQSxjcEM0TWdCO0VvQzNNaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0MrdVFKO0ErQzd1UUk7RUFDSTtBL0MrdVFSO0ErQzV1UUk7RUFDSTtBL0M4dVFSO0ErQzN1UUk7RTVDZkEsYTRDZ0JvQjtFNUNmcEIsYzRDZW9CO0VBRWhCO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QS9DNHVRUjtBK0MxdVFRO0U1Q3pCSixhNEMwQndCO0U1Q3pCeEIsYzRDeUJ3QjtFQUVoQjtBL0M0dVFaO0FVanNRSTtFcUM5Q0k7STVDekJKLGE0QytCNEI7STVDOUI1QixjNEM4QjRCO0UvQzh1UTlCO0FBQ0Y7QVVwdFFJO0VxQzNDQTtJNUNmQSxhNENvQ3dCO0k1Q25DeEIsYzRDbUN3QjtJQUVoQjtFL0M4dVFWO0UrQzV1UVU7SUFDSTtJQUNBO0UvQzh1UWQ7QUFDRjtBVS90UUk7RXFDWEE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvQzR1UVY7RStDMXVRVTtJQUNJO0UvQzR1UWQ7QUFDRjtBK0N4dVFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0MwdVFSO0FVbHZRSTtFcUNHQTtJQVFRO0lBQ0E7SUFDQTtFL0MydVFWO0FBQ0Y7QVU1dVFJO0VxQ1ZBO0lBY1E7SUFDQTtFL0M0dVFWO0UrQzF1UVU7SUFDSTtFL0M0dVFkO0FBQ0Y7QStDdnVRUTtFQUNJO0EvQ3l1UVo7QVVyd1FJO0VxQzBCQTtJQU1RO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9DeXVRVjtBQUNGO0ErQ3h1UVk7RUFDSTtJQUNJO0UvQzB1UWxCO0FBQ0Y7QVV0eFFJO0VxQytDUTtJQUNJO0lBQ0E7RS9DMHVRZDtBQUNGO0ErQ3R1UUk7RTVDaEhBLFk0Q2lIb0I7RTVDaEhwQixhNENnSG9CO0VBRWhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Dd3VRUjtBK0N0dVFRO0VBQ0k7QS9Dd3VRWjtBK0NydVFRO0VBQ0k7QS9DdXVRWjtBK0NudVFJO0U1Q3hJQSxZNEN5SW9CO0U1Q3hJcEIsYTRDd0lvQjtFQUVoQjtBL0NxdVFSO0ErQ251UVE7RUFDSTtBL0NxdVFaO0ErQ2p1UUk7RUFDSTtJQUNJO0UvQ211UVY7QUFDRjtBVTl6UUk7RXFDK0ZJO0k1Q3pKSixXNEMySndCO0k1QzFKeEIsWTRDMEp3QjtJQUVoQjtJQUNBO0lBQ0E7SUFDQTtFL0NpdVFWO0UrQzl0UU07SUFDSTtJQUNBO0lBQ0E7RS9DZ3VRVjtFK0M3dFFNO0lBQ0k7SUFDQTtFL0MrdFFWO0UrQzd0UVU7SUFDSTtJQUNBO0lBQ0E7RS9DK3RRZDtFK0M1dFFVO0lBQ0k7SUFDQTtFL0M4dFFkO0FBQ0Y7O0FVMTFRSTtFc0MvREo7SUFFUTtFaEQ0NVFOO0FBQ0Y7O0FpRDc1UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0k7QWpEODVRUjtBaUR6NVFJO0VBQ0k7QWpEMjVRUjtBaUR4NVFJO0VBQ0k7RUFDQTtBakQwNVFSO0FVdDNRSTtFdUNoQ0k7SUFDSTtJQUNBO0VqRHk1UVY7RWlEdDVRTTtJQUNJO0VqRHc1UVY7QUFDRjtBVS8zUUk7RXVDN0RKO0lBd0NRO0lBQ0E7SUFDQTtFakR3NVFOO0FBQ0Y7QWlEdDVRSTtFQUNJO0FqRHc1UVI7QVU1M1FJO0V1QzdCQTtJQUlRO0lBQ0E7RWpEeTVRVjtBQUNGO0FpRHY1UVE7RUFDSTtFQUNBO0FqRHk1UVo7QVV0NFFJO0V1Q3JCSTtJQUtRO0VqRDA1UWQ7QUFDRjtBaUR4NVFZO0VBRUk7QWpEeTVRaEI7QWlEdDVRWTtFQUdJO0FqRHM1UWhCOztBa0Q3OVFBO0VBQ0k7QWxEZytRSjtBVWw2UUk7RXdDL0RKO0lBSVE7SUFDQTtFbERpK1FOO0FBQ0Y7O0FtRHIrUVE7RUFDSTtBbkR3K1FaO0FVLzVRSTtFeUNyRUE7SWhEa0ZJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIczVRTjtBQUNGO0FtRHYrUVk7RUFDSTtBbkR5K1FoQjs7QW9Edi9RQTtFQUNJO0VBQ0E7RUFDQTtBcEQwL1FKO0FVaDhRSTtFMEM3REo7SUFNUTtFcEQyL1FOO0FBQ0Y7O0FvRHgvUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBEMi9RSjtBb0R6L1FJO0VBQ0k7QXBEMi9RUjtBb0R4L1FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEQwL1FSO0FvRHgvUVE7RUFQSjtJQVFRO0VwRDIvUVY7RW9Eei9RVTtJQUNJO0VwRDIvUWQ7QUFDRjtBb0R2L1FJO0VqRG5DQSxhaURvQ29CO0VqRG5DcEIsY2lEbUNvQjtFQUVoQjtFQUNBO0FwRHkvUVI7QW9EdC9RSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcER3L1FSO0FvRHQvUVE7RUFDSTtBcER3L1FaO0FvRHIvUVE7RUFDSTtFQUNBO0FwRHUvUVo7QW9Ebi9RSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRHEvUVI7O0FxRC9qUkk7RUFDSTtBckRra1JSOztBc0Rsa1JBOzs7Ozs7RUFBQTtBQ0VBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEdWtSRjtBdURya1JFO0VBS0ksVURSb0I7QXREMmtSMUI7QXVEOWpSSTtFQUtJLFVEbEJrQjtBdEQ4a1IxQjtBdUR4alJJOzs7RUFHRSxzQkQzQmtCO0F0RHFsUnhCOztBdURyalJBO0VBQ0UsYURwQ3NCO0VDcUN0QjtFQUNBO0VBQ0E7QXZEd2pSRjs7QXVEcmpSQTtFQUNFO0VBQ0E7RUFDQTtBdkR3alJGO0F1RHRqUkU7RUFHRSxhRGxEb0I7RUNtRHBCLGNEbERxQjtFQ21EckIsc0JEakRvQjtFQ2tEcEIscUJEakQ0QjtFQ2tENUI7RUFDQTtFQUNBO0VBQ0E7QXZEc2pSSjtBdURualJFO0VBRUU7RUFDQTtBdkRvalJKO0F1RGpqUkU7RUFDRTtBdkRtalJKO0F1RGhqUkU7RUFDRTtBdkRralJKOztBd0R0b1JFOztFQUFBO0FBSUU7RUFDRTtFQUNBO0F4RHdvUk47QXdEdG9STTtFQUNFO0F4RHdvUlI7QXdEcG9STTtFQUNFO0F4RHNvUlI7QXdEaG9STTtFQUNFO0VBQ0E7RUFDQTtBeERrb1JSO0F3RGhvUlE7RUFDRTtFQUNBO0VBQ0E7QXhEa29SVjtBd0Q5blJRO0VBQ0U7RUFDQTtFQUNBO0F4RGdvUlY7O0FzRDlsUkE7RW5EakVJLGFRNE1nQjtFUjNNaEIsY1EyTWdCO0UyQ3hJaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERpbVJKO0FVL21SSTtFNENPSjtJQVVRO0V0RGttUk47QUFDRjs7QXlEL3FSSTtFQUNJO0F6RGtyUlI7QXlEOXFSUTtFQUNJO0F6RGdyUlo7QXlEN3FSUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpEK3FSWjtBeUQ3cVJZOztFQUVJO0F6RCtxUmhCOztBVXRvUkk7RWdEN0RKO0lBRVE7RTFEc3NSTjtBQUNGOztBMERuc1JBO0VBQ0k7QTFEc3NSSjtBMERwc1JJO0VBQ0k7RUFDQTtBMURzc1JSO0EwRG5zUkk7RUFDSTtFQUNBO0ExRHFzUlI7QTBEbHNSSTtFQUNJO0ExRG9zUlI7QTBEanNSWTtFQUNJO0ExRG1zUmhCO0EwRGhzUlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBMURrc1JoQjtBMEQ3clJJO0VBQ0k7QTFEK3JSUjtBMEQ3clJRO0V2RHBDSixhdURxQ3dCO0V2RHBDeEIsY3VEb0N3QjtFQUVoQjtFQUNBO0VBQ0E7QTFEK3JSWjtBMEQzclJJO0VBQ0k7SUFDSTtFMUQ2clJWO0UwRDFyUk07SUFDSTtFMUQ0clJWO0FBQ0Y7QVV0clJJO0VnRHZESjtJQXFEUSxXL0N5SnNCO0VYbWlSNUI7RTBEMXJSTTtJQUNJO0lBQ0E7RTFENHJSVjtFMER6clJNO0lBQ0k7RTFEMnJSVjtFMER4clJNO0lBQ0ksWS9DNEltQjtFWDhpUjdCO0UwRHZyUk07SUFDSTtFMUR5clJWO0UwRHRyUk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFkvQ2dJbUI7SStDL0huQjtFMUR3clJWO0UwRHByUlU7SXZEckZSLGF1RHNGNEI7SXZEckY1QixjdURxRjRCO0lBRWhCO0UxRHNyUmQ7RTBEbnJSVTtJQUNJO0UxRHFyUmQ7RTBEbnJSYztJQUNJO0lBQ0E7RTFEcXJSbEI7QUFDRjs7QTJEenhSQTtFQUNJO0EzRDR4Uko7O0EyRHh4Ukk7RUFHSTtFQUNBO0EzRHl4UlI7QUs5Z1JJO0VBQ0k7RUFDQTtBTGdoUlI7QUs5Z1JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUxnaFJaO0FLNWdSWTtFQUNJO0FMOGdSaEI7QUsxZ1JRO0VBQ0k7QUw0Z1JaO0FLemdSUTtFQUNJO0FMMmdSWjtBS3pnUlk7RUFDSTtFQUNBO0FMMmdSaEI7QUt2Z1JnQjtFQUNJO0FMeWdScEI7QUtuZ1JZO0VBQ0k7RUFDQTtBTHFnUmhCO0FLamdSUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxtZ1JaO0FLamdSWTtFQUVJO0FMa2dSaEI7QUs3L1FZO0VBQ0k7QUwrL1FoQjtBSzEvUVk7RUFDSTtFQUNBO0FMNC9RaEI7QUt6L1FZO0VBQ0k7QUwyL1FoQjtBS3AvUW9CO0VBQ0k7QUxzL1F4QjtBS24vUW9CO0VBQ0k7QUxxL1F4QjtBS2gvUW9CO0VBQ0k7QUxrL1F4QjtBSy8rUW9CO0VBQ0k7QUxpL1F4QjtBS25tUkk7RUF5SFE7RUFDQTtFQUNBO0VBQ0E7QUw2K1FaO0FLMytRWTtFQUVJO0FMNCtRaEI7QTJEejJSSTtFQUNJO0EzRDIyUlI7QTJEeDJSYTtFQUNMO0VBQ0E7QTNEMDJSUjs7QVUvelJJO0VpRHpESjtJQWtCUTtJQUNBO0UzRDIyUk47RTJEejJSTTtJQUNJO0UzRDIyUlY7RTJEeDJSTTtJQUNJO0UzRDAyUlY7RTJEeDJSVTtJQUNJO0lBQ0E7SUFDQTtFM0QwMlJkO0UyRHQyUk07SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRHUyUlY7RTJEcDJSTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFM0RzMlJWO0UyRG4yUmM7SUFDSTtFM0RxMlJsQjtFMkRoMlJNO0lBR0k7RTNEZzJSVjtFMkQ3MVJNO0lBQ0k7SUFDQTtJQUNBO0UzRCsxUlY7RTJENzFSVTtJQUNJO0UzRCsxUmQ7RTJEMzFSTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRDYxUlY7QUFDRjs7QTREcDdSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1RHU3Uko7QVU5M1JJO0VrRDdESjtJQU9RO0U1RHc3Uk47QUFDRjtBNER0N1JJO0VBQ0k7RUFDQTtBNUR3N1JSO0FVMTNSSTtFa0RoRUE7SUFLUTtFNUR5N1JWO0FBQ0Y7QTREdDdSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUR3N1JSO0E0RHQ3UlE7RUFDSTtBNUR3N1JaO0E0RHA3Ukk7RUFDSTtJQUNJO0U1RHM3UlY7QUFDRjtBVS80Ukk7RWtEMUVKO0lBdUNRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVEczdSTjtFNERwN1JNO0lBQ0k7SUFDQTtFNURzN1JWO0U0RHA3UlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVEczdSZDtFNERsN1JNO0lBQ0k7RTVEbzdSVjtBQUNGO0FVcDdSSTtFa0Q3REo7SUFpRVE7SUFDQTtJQUNBO0U1RG83Uk47RTREajdSVTtJQUNJO0U1RG03UmQ7RTRELzZSTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNURpN1JWO0U0RC82UlU7SUFDSTtFNURpN1JkO0U0RDc2UmM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVEKzZSbEI7RTRENTZSc0I7SUFDSTtJQUNBO0U1RDg2UjFCO0U0RDE2UmtCO0lBQ0k7SUFDQTtFNUQ0NlJ0QjtFNEQxNlJzQjtJQUdJO0lBQ0E7RTVEMDZSMUI7RTREbjZSTTtJQUNJO0U1RHE2UlY7RTREaDZSa0I7SUFDSTtJQUNBO0lBQ0E7RTVEazZSdEI7RTREMzVSa0I7SUFDSTtFNUQ2NVJ0QjtFNEQzNVJzQjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVENDVSMUI7RTREejVSc0I7SUFDSTtJQUNBO0U1RDI1UjFCO0U0RHg1UnNCO0lBQ0k7SUFDQTtFNUQwNVIxQjtFNERqNVIwQjtJQUNJO0U1RG01UjlCO0U0RGg1UjBCO0lBRUk7SUFDQSwrREFDSTtFNURnNVJsQztFNER2NFJNO0lBQ0k7RTVEeTRSVjtBQUNGOztBVTdnU0k7RW1EMURJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0Qya1NWO0U2RHprU1U7SUFDSTtFN0Qya1NkO0U2RHZrU007SUFDSTtFN0R5a1NWO0U2RHRrU007SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdEd2tTVjtFNkR0a1NVOztJQUVJO0U3RHdrU2Q7RTZEcmtTVTtJQUNJO0U3RHVrU2Q7RTZEcGtTVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0Rza1NkO0U2RGxrU2M7SUFDSTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3RG1rU2xCO0U2RC9qU2tCO0lBQ0k7RTdEaWtTdEI7RTZEL2pTc0I7SUFDSTtJQUNBO0U3RGlrUzFCO0U2RDlqUzhCO0lBQ0k7RTdEZ2tTbEM7RTZEMWpTMEI7SUFDSTtJQUNBO0U3RDRqUzlCO0U2RDFqUzhCO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdEMmpTbEM7RTZEempTa0M7SUFHSTtJQUNBO0U3RHlqU3RDO0U2RHJqUzBDO0lBQ0k7RTdEdWpTOUM7RTZEL2lTa0M7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3RGlqU3RDO0U2RC9pU3NDO0lBQ0k7RTdEaWpTMUM7RTZEOWlTc0M7SUFDSTtJQUNBO0U3RGdqUzFDO0U2RDNpUzhCO0lBQ0k7SUFDQTtFN0Q2aVNsQztFNkQxaVNzQztJQUNJO0U3RDRpUzFDO0U2RG5pU3NCO0lBQ0k7RTdEcWlTMUI7RTZEaGlTYztJQUNJO0U3RGtpU2xCO0U2RDloU1U7SUFDSTtFN0RnaVNkO0U2RDloU2M7SUFDSTtJQUVBO0lBQ0E7RTdEK2hTbEI7RTZENWhTYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3RDhoU2xCO0U2RHhoU1U7SUFDSTtFN0QwaFNkO0U2RHZoU2tCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0R5aFN0QjtFNkR2aFNzQjtJQUdJO0U3RHVoUzFCO0U2RGxoU3NCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3RG9oUzFCO0U2RDVnU1U7SUFDSTtFN0Q4Z1NkO0FBQ0Y7QVV6cFNJO0VtRGdKSTtJQUNJO0lBQ0E7SUFDQTtFN0Q0Z1NWO0FBQ0Y7O0E4RDF1U0E7RUFDSTtFQUNBO0VBQ0E7QTlENnVTSjtBOEQzdVNJO0VBTEo7SUFNUTtFOUQ4dVNOO0FBQ0Y7QVV4clNJO0VvRDdESjtJQVVRO0U5RCt1U047QUFDRjtBOEQ3dVNJO0VBYko7SUFjUTtFOURndlNOO0FBQ0Y7O0E4RDd1U0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOURndlNKO0E4RDl1U0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOURndlNSO0E4RDl1U1E7RUFUSjtJQVVRO0lBQ0E7SUFDQTtJQUNBO0U5RGl2U1Y7RThEM3VTa0I7SUFDSTtFOUQ2dVN0QjtFOER6dVNjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUQydVNsQjtFOER6dVNrQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RDJ1U3RCO0U4RHh1U2tCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RDB1U3RCO0U4RHR1U2M7SUFDSTtJQUNBO0lBQ0E7RTlEd3VTbEI7RThEcnVTYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlEdXVTbEI7RThEcnVTa0I7SUFDSTtJQUNBO0U5RHV1U3RCO0U4RHJ1U3NCO0lBQ0k7SUFDQTtFOUR1dVMxQjtFOERwdVNzQjtJQUNJO0U5RHN1UzFCO0U4RG51U3NCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOURxdVMxQjtFOERodVNjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOURrdVNsQjtFOERodVNrQjtJQUNJO0lBQ0E7SUFDQTtFOURrdVN0QjtFOEQ5dFNzQjtJQUNJO0lBQ0E7RTlEZ3VTMUI7RThEM3RTYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0U5RDZ0U2xCO0U4RDF0U2M7SUFDSTtJQUNBO0U5RDR0U2xCO0U4RHp0U2M7SUFDSTtJQUNBO0lBQ0E7RTlEMnRTbEI7RThEeHRTYztJQUVJO0lBQ0E7RTlEeXRTbEI7RThEdHRTYztJQUNJO0U5RHd0U2xCO0U4RHR0U2tCO0lBQ0k7RTlEd3RTdEI7RThEbHRTOEI7SUFDSTtFOURvdFNsQztFOEQzc1NzQjtJQUNJO0U5RDZzUzFCO0FBQ0Y7QThEdnNTUTtFQUVRO0lBQ0k7RTlEd3NTbEI7QUFDRjtBOERwc1NRO0VBRVE7SUFDSTtFOURxc1NsQjtBQUNGO0E4RGhzU0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOURrc1NSO0E4RGhzU1E7RUFUSjtJQVVRO0U5RG1zU1Y7RThEL3JTYztJQUNJO0U5RGlzU2xCO0FBQ0Y7QThENXJTSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RDhyU1I7QThENXJTUTtFQU5KO0lBT1E7SUFDQTtJQUNBO0lBQ0E7RTlEK3JTVjtFOEQ3clNVO0lBQ0k7RTlEK3JTZDtBQUNGO0E4RDVyU1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlEOHJTWjtBOEQ1clNZO0VBUko7SUFTUTtFOUQrclNkO0FBQ0Y7QThEN3JTWTtFQUNJO0E5RCtyU2hCO0E4RDdyU2dCO0VBSEo7SUFJUTtFOURnc1NsQjtFOEQ5clNrQjtJQUNJO0U5RGdzU3RCO0U4RDdyU2tCO0lBQ0k7RTlEK3JTdEI7QUFDRjtBOER2clNZO0VBQ0k7QTlEeXJTaEI7QThEcHJTSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RHNyU1I7QThEcHJTUTtFQUNJO0VBQ0E7QTlEc3JTWjtBOERwclNZO0VBSko7SUFLUTtJQUNBO0lBQ0E7RTlEdXJTZDtFOERyclNjO0lBRUk7RTlEc3JTbEI7QUFDRjtBOERqclNJO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlEa3JTUjtBOERoclNRO0VBQ0k7RUFDQTtBOURrclNaO0E4RC9xU1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOURpclNaO0E4RDdxU0k7RUFDSTtFQUNBO0VBQ0E7QTlEK3FTUjtBOEQ1cVNJO0VBQ0k7RUFDQTtFQUNBO0E5RDhxU1I7QThEM3FTSTtFQUNJO0VBQ0E7RUFDQTtBOUQ2cVNSO0E4RDFxU0k7RUFDSTtFQUNBO0E5RDRxU1I7QThEMXFTUTtFQUNJO0lBQ0k7RTlENHFTZDtBQUNGO0E4RHhxU0k7RUFDSTtBOUQwcVNSO0E4RHZxU0k7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RHdxU1I7QThEcnFTSTtFQUNJO0VBQ0E7QTlEdXFTUjtBOERycVNRO0VBQ0k7QTlEdXFTWjtBOERwcVNRO0VBQ0k7RUFDQTtBOURzcVNaO0E4RHBxU1k7RUFDSTtBOURzcVNoQjtBOERscVNRO0VBQ0k7QTlEb3FTWjtBOERocVNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOURrcVNSO0E4RGhxU1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RGtxU1o7QThEaHFTWTtFQVZKO0lBV1E7RTlEbXFTZDtBQUNGO0E4RGhxU2dCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RGtxU3BCO0E4RDNwU0k7RUFDSTtBOUQ2cFNSO0E4RHpwU1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RDJwU1o7QThEdnBTWTtFQUNJO0VBQ0E7RUFDQTtBOUR5cFNoQjtBOERwcFNZO0VBQ0k7RUFHQTtBOURvcFNoQjtBOERqcFNZO0VBQ0k7QTlEbXBTaEI7QThEL29TUTtFQUNJO0E5RGlwU1o7QThEN29TSTtFQUNJO0lBQ0k7RTlEK29TVjtBQUNGOztBOEQxb1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUQ2b1NKOztBK0QvblRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Rrb1RKO0ErRGhvVEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Rrb1RSO0ErRGhvVFE7RUFDSTtFQUNBO0EvRGtvVFo7QStEOW5USTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EZ29UUjtBK0Q3blRJO0VBQ0k7RUFDQTtBL0QrblRSO0ErRDVuVEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRDhuVFI7QStENW5UUTtFQWJKO0lBY1E7SUFDQTtFL0QrblRWO0FBQ0Y7QStEN25UUTtFQUNJO0EvRCtuVFo7QStENW5UUTtFQUNJO0EvRDhuVFo7O0FnRTNyVFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRThyVFo7QWdFNXJUWTtFQUNJO0VBQ0E7QWhFOHJUaEI7QVVocFRJO0VzRDFDSTtJQUdRO0VoRTJyVGQ7QUFDRjtBZ0V4clRRO0VBQ0k7RUFDQTtBaEUwclRaO0FnRXZyVFE7RUFDSTtBaEV5clRaO0FVNXBUSTtFc0Q5Qkk7SUFJUTtFaEUwclRkO0FBQ0Y7QWdFeHJUWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEUwclRoQjtBZ0V4clRnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRTByVHBCO0FnRXRyVFk7RUFDSTtBaEV3clRoQjs7QWlFMXVUQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRTZ1VEo7QWlFM3VUSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFNnVUUjtBaUUxdVRZO0VBQ0ksY0FoQ0s7QWpFNHdUckI7QWlFN3VUWTtFQUNJLGNBaENLO0FqRSt3VHJCO0FpRTN1VFE7RUFDSSxjdEQrRU87QVg4cFRuQjtBaUV6dVRJO0VBQ0k7QWpFMnVUUjtBaUV4dVRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpFMHVUUjs7QWtFOXhUQTtFQUNJO0FsRWl5VEo7O0FrRTl4VEE7RUFDSTtBbEVpeVRKOztBa0U3eFRJO0VBQ0k7QWxFZ3lUUjtBVWh1VEk7RXdEbEVKO0lBTVE7SUFDQTtJQUNBO0VsRWd5VE47RWtFeHhUOEI7SUFDSTtFbEUweFRsQztFa0VqeFRNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsRW14VFY7RWtFanhUVTtJQUNJO0VsRW14VGQ7RWtFaHhUVTtJQUNJO0VsRWt4VGQ7RWtFN3dUMEI7SUFDSTtFbEUrd1Q5QjtFa0V4d1RVO0lBQ0k7RWxFMHdUZDtFa0V2d1RrQjtJQUNJO0VsRXl3VHRCO0VrRWx3VGtCO0lBQ0k7RWxFb3dUdEI7RWtFOXZUTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEVnd1RWO0VrRTd2VE07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxFK3ZUVjtFa0U3dlRVO0lBQ0k7RWxFK3ZUZDtFa0U1dlRVO0lBQ0k7RWxFOHZUZDtFa0UxdlRzQjtJQUNJO0VsRTR2VDFCO0VrRXR2VFU7SUFDSTtFbEV3dlRkO0VrRXJ2VFU7SUFDSTtJQUNBO0VsRXV2VGQ7RWtFcnZUYztJQUNJO0lBQ0E7SUFDQTtFbEV1dlRsQjtFa0VudlRVO0lBQ0k7RWxFcXZUZDtFa0VsdlRVO0lBQ0k7SUFDQTtFbEVvdlRkO0VrRWx2VGM7SUFDSTtFbEVvdlRsQjtFa0VodlRVO0lBQ0k7SUFDQTtFbEVrdlRkO0VrRTl1VE07SUFDSTtFbEVndlRWO0VrRTd1VGM7SUFDSTtJQUNBO0VsRSt1VGxCO0FBQ0Y7QVVwMVRJO0V3RDJHSTtJN0QyT0o7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJNkQ3T1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsRSt1VFY7RUt0Z1RFO0lBQ0k7RUx3Z1ROO0VrRWh2VFU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsWXZEeUJnQjtJdUR4QmhCO0lBQ0E7RWxFa3ZUZDtFa0U1dVRjO0lBQ0k7RWxFOHVUbEI7RWtFenVUTTtJQUVJO0VsRTB1VFY7RWtFdnVUTTtJQUNJO0lBQ0E7RWxFeXVUVjtFa0VydVRrQjtJQUNJO0VsRXV1VHRCO0VrRWx1VGtCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxFb3VUdEI7RWtFbHVUc0I7SUFDSTtFbEVvdVQxQjtFa0VqdVRzQjtJQUNJLHNCdkRkRjtFWGl2VHhCO0VrRWh1VHNCO0lBQ0k7SUFDQTtFbEVrdVQxQjtFa0U5dFQwQjtJQUNJO0VsRWd1VDlCO0VrRXh0VE07SUFDSTtJQUNBO0VsRTB0VFY7RWtFdnRUTTtJL0Q1UEosVytENlB3QjtJL0Q1UHhCLFkrRDRQd0I7SUFFaEI7SUFDQTtJQUNBO0lBQ0E7RWxFeXRUVjtFa0V2dFRVOztJL0RwUVIsVytEc1E0QjtJL0RyUTVCLFkrRHFRNEI7RWxFMHRUOUI7RWtFdnRUVTtJQUNJO0VsRXl0VGQ7RWtFdHRUVTtJQUNJO0lBQ0E7RWxFd3RUZDtFa0VwdFRNO0lBQ0k7RWxFc3RUVjtFa0VqdFRjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RWxFbXRUbEI7RWtFaHRUc0I7SUFDSTtJQUNBO0VsRWt0VDFCO0VrRS9zVDhCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RWxFaXRUbEM7RWtFdnNUa0I7SUFDSTtJQUNBO0VsRXlzVHRCO0FBQ0Y7O0FtRTMvVEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBbkV5L1RGOztBbUVsL1RBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QW5Fby9URjtBbUVqL1RFO0VBQ0UsOEJqRG04Q2dDO0FsQmdqUnBDO0FtRWgvVEU7RUFDRSxlakRnOENnQztBbEJralJwQztBbUU5K1RFO0VBQ0Usc0JqRDY3Q2dDO0FsQm1qUnBDOztBbUU1K1RBO0VBQ0U7QW5FKytURjtBbUU3K1RFO0VBQ0U7RUFDQTtBbkUrK1RKO0FtRTUrVEU7RUFDRTtBbkU4K1RKOztBbUUxK1RBO0VBQ0U7RUFDQTtFQUNBO0FuRTYrVEY7O0FtRXorVEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtBbkV3K1RGOztBbUVwK1RBO0VBRUU7RUFDQTtFQUNBO0VDbEhBO0VBQ0E7RUFDQTtFQUNBLGtDRGtIMEI7RUNqSDFCO0VBQ0E7RUFDQSx1Q0QrRzREO0FuRTArVDlEO0FvRXRsVUU7RUFBUztBcEV5bFVYO0FvRXhsVUU7RUFBUyxtQ0QyR2lGO0FuRWcvVDVGOztBbUUzK1RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkU4K1RGO0FtRTMrVEU7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FuRTQrVEo7O0FtRXYrVEE7RUFDRTtFQUNBO0FuRTArVEY7O0FtRXIrVEE7RUFDRTtFQUdBO0VBQ0E7QW5FcytURjs7QW1FbCtUQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FcStURjtBbUUvOVRFO0VBQ0U7QW5FaStUSjs7QVVobFVJO0V5RHFIRjtJQUNFO0lBQ0E7RW5FKzlURjtFbUUzOVRBO0lBQ0U7SUFDQTtJQUNBO0VuRTY5VEY7RW1FMTlUQTtJQUNFO0VuRTQ5VEY7QUFDRjtBVS9sVUk7RXlEdUlGOztJQUVFO0VuRTI5VEY7QUFDRjtBVXJtVUk7RXlEOElGO0lBQ0U7RW5FMDlURjtBQUNGO0FtRWo5VEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkVtOVROO0FtRWo5VE07RUFDRTtFQUNBO0FuRW05VFI7QW1FMThUTTtFQUNFO0FuRTQ4VFI7O0FVMW1VSTtFeUQ0SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkVrK1RKO0VtRWgrVEk7SUFDRTtJQUNBO0VuRWsrVE47RW1FejlUSTtJQUNFO0VuRTI5VE47QUFDRjtBVTFuVUk7RXlENElBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5FaS9USjtFbUUvK1RJO0lBQ0U7SUFDQTtFbkVpL1ROO0VtRXgrVEk7SUFDRTtFbkUwK1ROO0FBQ0Y7QVV6b1VJO0V5RDRJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRWdnVUo7RW1FOS9USTtJQUNFO0lBQ0E7RW5FZ2dVTjtFbUV2L1RJO0lBQ0U7RW5FeS9UTjtBQUNGO0FVeHBVSTtFeUQ0SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkUrZ1VKO0VtRTdnVUk7SUFDRTtJQUNBO0VuRStnVU47RW1FdGdVSTtJQUNFO0VuRXdnVU47QUFDRjtBVXZxVUk7RXlENElBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5FOGhVSjtFbUU1aFVJO0lBQ0U7SUFDQTtFbkU4aFVOO0VtRXJoVUk7SUFDRTtFbkV1aFVOO0FBQ0Y7QVV0clVJO0V5RDRJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRTZpVUo7RW1FM2lVSTtJQUNFO0lBQ0E7RW5FNmlVTjtFbUVwaVVJO0lBQ0U7RW5Fc2lVTjtBQUNGO0FVcnNVSTtFeUQ0SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkU0alVKO0VtRTFqVUk7SUFDRTtJQUNBO0VuRTRqVU47RW1FbmpVSTtJQUNFO0VuRXFqVU47QUFDRjtBVXB0VUk7RXlENElBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RW5FMmtVSjtFbUV6a1VJO0lBQ0U7SUFDQTtFbkUya1VOO0VtRWxrVUk7SUFDRTtFbkVva1VOO0FBQ0Y7QVVudVVJO0V5RDRJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VuRTBsVUo7RW1FeGxVSTtJQUNFO0lBQ0E7RW5FMGxVTjtFbUVqbFVJO0lBQ0U7RW5FbWxVTjtBQUNGO0FVbHZVSTtFeUQ0SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkV5bVVKO0VtRXZtVUk7SUFDRTtJQUNBO0VuRXltVU47RW1FaG1VSTtJQUNFO0VuRWttVU47QUFDRjtBcUUzMFVBO0VsRWlDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWtFekNBO0VBQ0E7QXJFdTFVSjtBcUVyMVVJO0VBQ0k7RUFDQTtBckV1MVVSO0FxRXIxVVE7RUFDSTtBckV1MVVaO0FxRW4xVUk7RUFDSTtBckVxMVVSO0FxRWwxVUk7RUFDSTtFQUNBO0FyRW8xVVI7QXFFajFVSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJFbTFVUjtBcUUvMFVRO0VBQ0k7QXJFaTFVWjtBcUU1MFVRO0VBQ0k7QXJFODBVWjtBcUV4MFVZO0VBREo7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyRTIwVWQ7QUFDRjtBcUV6MFVnQjtFQVRSO0lBVVk7SUFDQTtFckU0MFVsQjtBQUNGO0FxRXYxVVk7RUFjUTtJQUNJO0lBQ0E7RXJFNDBVdEI7RXFFeDBVa0I7SUFDSTtFckUwMFV0QjtBQUNGO0FxRXAwVUk7RUFDSTtBckVzMFVSO0FxRXAwVVE7RUFDSTtBckVzMFVaO0FxRW4wVVE7RUFDSSwwREFDSTtFQUVKO0VBQ0E7RUFDQTtBckVtMFVaO0FxRS96VVk7RUFDSTtFQUNBO0FyRWkwVWhCO0FxRS96VWdCO0VBQ0k7QXJFaTBVcEI7QXFFMXpVUTtFQUNJO0VBQ0E7QXJFNHpVWjtBcUUxelVZO0VBQ0k7QXJFNHpVaEI7QXFFdnpVSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRXl6VVI7QXFFdnpVUTtFQUVJO0FyRXd6VVo7QXFFcnpVUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyRXV6VVo7QXFFbHpVUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0RBQ0k7QXJFbXpVaEI7QXFFOXlVWTtFQUNJO0VBQ0E7QXJFZ3pVaEI7QXFFMXlVUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJFNHlVWjtBcUV4eVVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJFMHlVUjtBcUV4eVVRO0VBQ0k7QXJFMHlVWjtBcUV0eVVJO0VBQ0k7RUFDQTtBckV3eVVSO0FxRXJ5VUk7RUFFSTtBckVzeVVSO0FxRW55VUk7RUFDSTtBckVxeVVSO0FxRW55VVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckVxeVVaO0FxRWp5VUk7RUFDSTtBckVteVVSO0FxRWh5VUk7OztFQUdJO0FyRWt5VVI7QXFFN3hVUTtFQUNJO0FyRSt4VVo7QXFFNXhVUTs7RUFFSTtBckU4eFVaO0FxRTF4VVk7RUFDSTtFQUNBO0VBQ0E7QXJFNHhVaEI7QXFFMXhVZ0I7RUFDSTtBckU0eFVwQjtBcUV4eFVZO0VBQ0k7RUFDQTtBckUweFVoQjtBcUVyeFVJO0VBQ0k7QXJFdXhVUjtBcUVueFVRO0VBQ0k7QXJFcXhVWjtBcUVseFVRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJFb3hVWjs7QXFFN3dVSTtFQUNJO0FyRWd4VVI7O0FxRTV3VUE7RUFDSTtJQUNJO0VyRSt3VU47RXFFNXdVRTtJQUNJO0VyRTh3VU47QUFDRjtBc0V2aVZBO0VBR0k7RUFDQTtBdEV1aVZKO0FzRXJpVkk7O0VBR0k7QXRFc2lWUjtBc0VuaVZJO0VuRUZBO0VtRUtJO0VBQ0E7QXRFb2lWUjtBR3hpVkk7RUFJUTtBSHVpVlo7QUduaVZJO0VBQ0k7QUhxaVZSO0FHbGlWSTtFQUNJLG1CUStMVTtFUjlMVjtBSG9pVlI7QUdqaVZJO0VBQ0ksbUJRMExVO0FYeTJVbEI7QXNFOWlWSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFZ2pWUjtBVTVnVkk7RTRENUNBO0lBV1E7SUFDQTtFdEVpalZWO0FBQ0Y7QXNFL2lWUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RWlqVlo7QVV4aFZJO0U0RDdCSTtJQU9RO0lBQ0E7SUFDQTtFdEVralZkO0FBQ0Y7O0F1RTVsVkE7RUFDSTtBdkUrbFZKO0FVdGhWSTtFNkQxRUo7SUFJUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2RWdtVk47RXVFOWxWTTtJQUNJO0V2RWdtVlY7RXVFN2xWTTtJQUNJO0V2RStsVlY7RXVFNWxWTTtJQUNJO0V2RThsVlY7RXVFM2xWTTtJQUNJO0V2RTZsVlY7RXVFMWxWTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2RTRsVlY7RXVFemxWTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXZFMmxWVjtFdUV6bFZVO0lBQ0k7RXZFMmxWZDtFdUV4bFZVO0lBQ0k7RXZFMGxWZDtFdUV0bFZNO0lwRXZESixhb0V3RHdCO0lwRXZEeEIsY29FdUR3QjtJQUVoQjtJQUNBO0V2RXdsVlY7RXVFdGxWVTtJQUNJO0V2RXdsVmQ7RXVFcmxWVTtJQUNJO0V2RXVsVmQ7QUFDRjtBVWhtVkk7RTZEYUE7SUFHWTtFdkVvbFZkO0FBQ0Y7QVVybVZJO0U2RGFBO0lBR1k7RXZFeWxWZDtBQUNGO0FVMW1WSTtFNkRhQTtJQUdZO0V2RThsVmQ7QUFDRjtBVS9tVkk7RTZEN0RKO0lwRVFJO0lvRTZFSTtJQUNBO0V2RTRsVk47RUd4cVZFO0lBSVE7RUh1cVZWO0VHbnFWRTtJQUNJO0VIcXFWTjtFR2xxVkU7SUFDSSxtQlErTFU7SVI5TFY7RUhvcVZOO0VHanFWRTtJQUNJLG1CUTBMVTtFWHkrVWhCO0V1RXZtVk07SUFDSTtFdkV5bVZWO0V1RXRtVk07SUFDSSxtQjVEeUhNO0VYKytVaEI7QUFDRjtBdUVybVZRO0VBQ0k7SUFDSSxtQjVEbUhFO0VYby9VaEI7QUFDRjtBVTlvVkk7RTZEMENJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFHQTtJQUNBO0V2RXFtVlY7RXVFbm1WVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUlBO0V2RWttVmQ7RXVFL2xWVTtJQUNJO0lBQ0E7RXZFaW1WZDtFdUUvbFZjO0lBQ0k7SUFDQTtFdkVpbVZsQjtFdUU3bFZrQjtJQUNJO0V2RStsVnRCO0V1RXhsVlU7SUFDSTtJQUNBO0lBQ0E7RXZFMGxWZDtFdUV2bFZrQjtJbEV0SmhCLG1CQVBTO0lBUVQsd0NBUG1CO0lBUW5CLG9EQU5tQjtJQU9uQjtJa0VzSm9CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdkUybFZ0QjtFS3Z2VkU7SUFFSSx5QkFaYTtJQWFiLG1EQVhhO0VMbXdWbkI7RXVFN2xWc0I7SUFDSTtFdkUrbFYxQjtFdUUzbFYwQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdkU2bFY5QjtFdUV6bFZzQztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdkUybFYxQztFdUV4bFZzQztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0V2RXlsVjFDO0V1RXhsVjBDO0lBQ0k7SUFDQTtFdkUwbFY5QztFdUU1a1ZjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXZFOGtWbEI7RXVFcmtWc0I7SUFDSTtFdkV1a1YxQjtFdUVoa1ZNO0lBQ0k7RXZFa2tWVjtFdUUvalZjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdkVpa1ZsQjtFdUV6alYwQjtJQUNJO0lBQ0E7RXZFMmpWOUI7RXVFempWOEI7SUFDSTtJQUNBO0V2RTJqVmxDO0V1RXBqVmM7SUFDSTtJQUNBO0lBQ0E7RXZFc2pWbEI7RXVFbGpWa0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V2RW9qVnRCO0V1RWpqVmtCO0lBQ0k7RXZFbWpWdEI7RXVFaGpWa0I7SUFHSTtFdkVnalZ0QjtFdUV6aVZNO0lBQ0k7RXZFMmlWVjtBQUNGOztBd0VoMlZBO0VBQ0k7RUFDQTtFQUNBO0F4RW0yVko7QXdFajJWSTtFQUNJO0VBQ0E7QXhFbTJWUjtBVTd5Vkk7RThEeERBO0lBS1E7SUFDQTtFeEVvMlZWO0FBQ0Y7QXdFajJWSTtFQUNJO0VBQ0E7QXhFbTJWUjtBd0VoMlZJO0VBRUk7QXhFaTJWUjtBVTF6Vkk7RThEekNBO0lBS1E7RXhFazJWVjtBQUNGO0FVbHpWSTtFOER0REE7SUFTUTtFeEVtMlZWO0FBQ0Y7O0F5RXgzVkE7RXBFR0ksa0JvRUZ3QztFcEVHeEMsc0JvRUhnRTtFcEVJaEUsb0RBTm1CO0VBT25CO0FMeTNWSjtBS3YzVkk7RUFFSSxzQm9FVDRHO0VwRVU1RyxtREFYYTtBTG00VnJCO0FVbDBWSTtFK0RqRUo7SUFJUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekVtNFZOO0V5RWo0Vk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekVtNFZWO0V5RWg0Vk07SUFFSTtFekVpNFZWO0V5RS8zVlU7SUFDSTtFekVpNFZkO0V5RTczVk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekUrM1ZWO0FBQ0Y7QXlFNTNWSTtFdEVuREEsVXNFb0RvQjtFdEVuRHBCLFdzRW1Eb0I7QXpFKzNWeEI7QXlFNTNWSTtFQUNJO0VBQ0E7QXpFODNWUjtBeUUzM1ZJO0VBQ0k7QXpFNjNWUjtBeUUxM1ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpFNDNWUjtBeUV6M1ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpFMjNWUjtBVWw0Vkk7RStER0E7SUFPUTtFekU0M1ZWO0FBQ0Y7QXlFejNWSTtFdEVyRkEsVXNFc0ZvQjtFdEVyRnBCLFdzRXFGb0I7RUFFaEI7QXpFMjNWUjtBeUV6M1ZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RTIzVlo7QVVwNVZJO0UrRGNBO0lBZVE7SUFDQTtJQUNBO0lBQ0E7RXpFMjNWVjtFeUV6M1ZVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXpFMjNWZDtFeUV4M1ZVO0lBQ0k7SUFDQTtFekUwM1ZkO0V5RXgzVmM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RTAzVmxCO0FBQ0Y7QXlFcjNWSTtFQUNJO0F6RXUzVlI7O0FVaDhWSTtFZ0U1REo7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFFKy9WTjtFMEU3L1ZNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RTFFKy9WVjtFMEU3L1ZVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUUrL1ZkO0UwRTcvVmM7SUFLSTtFMUUyL1ZsQjtFMEV4L1ZjO0lBR0k7SUFDQTtJQUNBO0UxRXcvVmxCO0UwRXAvVlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxRXMvVmQ7QUFDRjs7QTBFOStWWTtFQUNJO0VBQ0E7QTFFaS9WaEI7QTBFLytWZ0I7RUFDSTtBMUVpL1ZwQjtBVWwvVkk7RWdFTUk7SUFFUTtFMUU4K1ZkO0FBQ0Y7O0EyRXBqV0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNFdWpXSjtBMkVyaldJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2REFDSTtBM0VzaldaO0EyRW5qV1E7RUFHSTtFQUNBO0EzRW1qV1o7O0E0RXRrV0E7RUFDSTtFQUNBO0VBQ0E7QTVFeWtXSjtBNEV2a1dJO0V6RVBBLGF5RVFvQjtFekVQcEIsY3lFT29CO0VBRWhCO0VBQ0E7RUFDQTtFQUNBO0E1RXlrV1I7QTRFdGtXSTtFQUNJO0lBQ0k7RTVFd2tXVjtBQUNGOztBNkUvbFdJO0VBQ0k7QTdFa21XUjtBNkVobVdRO0VBR0k7QTdFZ21XWjtBNkU1bFdZO0VBQ0k7QTdFOGxXaEI7O0E4RTFtV0E7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0E5RTRtV0o7QVVualdJO0VvRS9ESjtJQVNRO0U5RTZtV047QUFDRjtBVXhqV0k7RW9FL0RKO0lBYVE7RTlFOG1XTjtBQUNGO0FVN2pXSTtFb0UvREo7SUFpQlE7RTlFK21XTjtBQUNGO0E4RTdtV0k7RUFDSTtBOUUrbVdSO0E4RTVtV0k7RUFDSTtFQUNBO0E5RThtV1I7QThFM21XSTtFQUNJO0VBQ0E7RUFDQTtBOUU2bVdSO0E4RTNtV1E7RUFhSTtFQUNBO0E5RWltV1o7QVVsbFdJO0VvRTdCSTtJQUVRO0U5RWluV2Q7QUFDRjtBVXZsV0k7RW9FN0JJO0lBTVE7RTlFa25XZDtBQUNGO0FVL2tXSTtFb0UxQ0k7SUFVUTtFOUVtbldkO0FBQ0Y7QVVqbVdJO0VvRTdCSTtJQWlCUTtFOUVpbldkO0FBQ0Y7QThFOW1XUTtFQTFCSjtJQTJCUTtFOUVpbldWO0FBQ0Y7O0ErRXZxV0k7RUFDSTtBL0UwcVdSO0ErRXZxV0k7RUFDSTtFQUNBO0EvRXlxV1I7QStFcHFXWTtFQUNJO0VBQ0E7QS9Fc3FXaEI7QStFbnFXWTtFQUNJO0EvRXFxV2hCO0ErRWxxV1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0VvcVdoQjtBK0VscVdnQjtFQUNJO0EvRW9xV3BCO0FVem5XSTtFcUVyRFE7SUFjUTtFL0VvcVdsQjtBQUNGO0ErRWpxV1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRW1xV2hCO0ErRWpxV2dCO0VBQ0k7QS9FbXFXcEI7O0FnRnJ0V0E7RUFDSTtFQUNBO0FoRnd0V0o7QVVocFdJO0VzRTFFSjtJQUtRO0lBQ0E7RWhGeXRXTjtBQUNGO0FnRnZ0V0k7RUFDSTtBaEZ5dFdSO0FnRnR0V0k7RUFDSTtFQUNBO0FoRnd0V1I7QWdGcnRXSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnV0V1I7QWdGcnRXUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FoRnN0V1o7QWdGbnRXUTtFQUNJO0VBQ0E7RUFDQTtBaEZxdFdaO0FVcHNXSTtFc0VwQkk7SUFNUTtJQUNBO0lBQ0E7RWhGc3RXZDtBQUNGO0FnRm50V1E7RUFJWTtJQUNJO0lBQ0E7RWhGa3RXdEI7RWdGMXNXYztJQUNJO0VoRjRzV2xCO0VnRnhzV2tCO0lBQ0k7RWhGMHNXdEI7RWdGdnNXa0I7SUFDSTtFaEZ5c1d0QjtBQUNGOztBaUZ6eFdBO0VBQ0k7QWpGNHhXSjtBVTl0V0k7RXVFM0RJO0lBQ0k7SUFDQTtJQUNBO0VqRjR4V1Y7QUFDRjtBaUZ6eFdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpGMnhXUjtBVTN1V0k7RXVFcERBO0lBT1E7RWpGNHhXVjtBQUNGO0FpRnp4V0k7RUFDSTtFQUNBO0FqRjJ4V1I7QWlGeHhXWTtFQUNJO0FqRjB4V2hCO0FpRnZ4V1k7RUFDSTtBakZ5eFdoQjtBVTd1V0k7RXVFdENJO0lBRVE7SUFDQTtJQUNBO0VqRnF4V2Q7QUFDRjtBVWp3V0k7RXVFakJJO0lBRVE7RWpGb3hXZDtBQUNGOztBa0ZuMFdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEZzMFdKO0FrRnAwV0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRnMwV1I7QWtGcDBXUTtFQUNJO0FsRnMwV1o7QWtGbDBXSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxGbzBXUjtBa0ZsMFdRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRm8wV1o7QWtGaDBXSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsRmswV1I7QVU3eVdJO0V3RXpCQTtJQU9RO0VsRm0wV1Y7QUFDRjtBa0ZoMFdJO0VBQ0k7RUFDQTtBbEZrMFdSO0FrRjl6V1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEZnMFdaO0FrRjV6V0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRjh6V1I7QWtGNXpXUTtFQUNJO0FsRjh6V1o7QWtGM3pXUTtFQUNJO0VBQ0E7QWxGNnpXWjtBa0Z6eldJO0VBQ0k7QWxGMnpXUjtBa0Z4eldJO0VBQ0k7SUFDSTtFbEYweldWO0VrRnh6V1U7SUFDSTtJQUNBO0VsRjB6V2Q7RWtGdnpXVTtJQUNJO0VsRnl6V2Q7RWtGcnpXTTtJQUNJO0lBQ0E7SUFDQTtFbEZ1eldWO0VrRnJ6V1U7SUFFSTtFbEZzeldkO0FBQ0Y7QVVwMldJO0V3RW1ESTtJQUNJO0VsRm96V1Y7QUFDRjtBVXoyV0k7RXdFeURJO0lBQ0k7RWxGbXpXVjtBQUNGOztBbUYzNldBO0VBQ0k7RUFDQTtFQUNBO0FuRjg2V0o7QW1GNTZXSTtFQUNJO0VBQ0E7RUFDQTtBbkY4NldSOztBb0Z0N1dBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZ5N1dKO0FvRnY3V0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRnk3V1I7QW9GdDdXSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwRnc3V1I7QW9GdDdXUTtFQUNJO0FwRnc3V1o7QW9GcDdXSTtFakYxQkEsYWlGMkJvQjtFakYxQnBCLGNpRjBCb0I7RUFFaEI7QXBGczdXUjtBb0ZuN1dJO0VBQ0k7RUFDQTtFQUNBO0FwRnE3V1I7QVU5NVdJO0UwRTdESjtJQTBDUTtFcEZxN1dOO0FBQ0Y7O0FxRmgrV0E7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckZnK1dKO0FxRjc5V0k7RUFDSTtBckYrOVdSO0FxRjU5V0k7RUFDSTtFQUNBO0VBQ0E7QXJGODlXUjtBcUYzOVdJO0VBQ0k7RUFDQTtBckY2OVdSO0FxRjE5V0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckY0OVdSO0FVcjhXSTtFMkUzQkE7SUFPUTtFckY2OVdWO0FBQ0Y7QXFGMTlXUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckY0OVdaO0FVMzhXSTtFMkU3Qkk7SUFlUTtFckY2OVdkO0FBQ0Y7QXFGejlXSTtFQUNJO0VBQ0E7QXJGMjlXUjtBcUZ4OVdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckYwOVdSO0FxRng5V1E7RUFDSTtBckYwOVdaO0FxRnY5V1E7RUFDSTtBckZ5OVdaO0FxRnQ5V1E7RUFDSTtBckZ3OVdaO0FxRnA5V0k7RUFFSTtFQUNBO0VBQ0E7QXJGcTlXUjtBcUZsOVdJO0VBQ0k7RUFDQTtBckZvOVdSO0FxRmo5V0k7RUFDSTtBckZtOVdSO0FxRmo5V1E7RUFDSTtJQUNJO0VyRm05V2Q7QUFDRjtBVXIvV0k7RTJFb0NnQjtJQUNJO0VyRm85V3RCO0FBQ0Y7QXFGOThXSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckZnOVdSO0FVbGdYSTtFMkU0Q0E7SUFTUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyRmk5V1Y7QUFDRjtBcUY5OFdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckZnOVdSO0FVbGhYSTtFMkVxRVE7SUFDSTtJQUNBO0lBQ0E7RXJGZzlXZDtFcUY3OFdVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXJGKzhXZDtBQUNGO0FVL2hYSTtFMkVxRkk7SUFDSTtJQUNBO0lBQ0E7RXJGNjhXVjtFcUZ6OFdVO0lBQ0k7RXJGMjhXZDtFcUZ6OFdjO0lBQ0k7RXJGMjhXbEI7RXFGcjhXVTtJQUNJO0VyRnU4V2Q7RXFGcjhXYztJQUNJO0VyRnU4V2xCO0FBQ0Y7QXFGbDhXSTtFQTFMSjtJQTJMUTtJQUNBO0lBQ0E7RXJGcThXTjtFcUZuOFdNO0lBQ0k7RXJGcThXVjtBQUNGOztBc0Z2b1hJO0VBQ0k7QXRGMG9YUjs7QXVGMW9YQTtFQUNJO0VBQ0E7QXZGNm9YSjs7QXVGMW9YQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjZvWEo7QXVGM29YSTtFQUNJO0F2RjZvWFI7QXVGMW9YSTtFQUNJO0VBQ0E7RUFDQTtBdkY0b1hSOztBd0Z0cVhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhGeXFYSjtBd0Z2cVhJO0VyRkRBLFlxRkVvQjtFckZEcEIsYXFGQ29CO0VBRWhCO0VBQ0E7QXhGeXFYUjs7QXlGanJYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F6Rm9yWEo7QXlGbHJYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGb3JYUjtBeUZoclhRO0VBQ0k7QXpGa3JYWjtBVXhuWEk7RStFckRJO0lBQ0k7RXpGZ3JYVjtBQUNGO0FVMW9YSTtFK0U3REo7SUEyQlE7SUFDQTtJQUNBO0V6RmdyWE47RXlGOXFYTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXpGZ3JYVjtFeUY3cVhNO0lBQ0k7SUFDQTtFekYrcVhWO0V5RjdxWFU7SUFDSTtFekYrcVhkO0V5RjNxWE07SUFDSTtJQUNBO0lBQ0E7RXpGNnFYVjtBQUNGOztBVXZwWEk7RWdGMUVBO0lBRVE7RTFGb3VYVjtBQUNGOztBMkZ2dVhBO0VBQ0ksY2pEbUdtQjtFaURsR25CO0VBQ0E7RUFDQTtBM0YwdVhKO0EyRnh1WEk7RUFDSTtBM0YwdVhSOztBMkZydVhJO0VBQ0k7QTNGd3VYUjtBMkZ0dVhRO0VBQ0k7RUFDQSxjaEYrQkY7RWdGOUJFO0VBQ0E7RUFDQTtBM0Z3dVhaO0EyRnR1WFk7RUFDSTtFQUNBLFd6RVJMO0V5RVNLO0EzRnd1WGhCO0EyRnJ1WFk7RUFDSTtFQUNBO0VBQ0E7QTNGdXVYaEI7QTJGcnVYZ0I7RUFDSTtBM0Z1dVhwQjtBVTVzWEk7RWlGakNRO0lBVVE7SUFDQTtFM0Z1dVhsQjtBQUNGO0EyRmx1WEk7RUFDSTtBM0ZvdVhSO0EyRmp1WEk7RUFDSTtBM0ZtdVhSOztBMkY5dFhJO0VBQ0k7QTNGaXVYUjtBMkY5dFhJO0VBRUk7QTNGK3RYUjs7QTJGMXRYSTtFQUNJO0EzRjZ0WFI7QTJGenRYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNGMnRYWjtBMkZ6dFhZO0VBQ0k7RUFDQTtFQUNBO0EzRjJ0WGhCO0EyRnh0WFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRjB0WGhCO0EyRnJ0WFk7RUFDSTtFQUNBO0VBQ0E7QTNGdXRYaEI7O0E0RjN6WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBNUY4elhKO0FVeHZYSTtFa0YxRUo7SUFPUTtFNUYrelhOO0FBQ0Y7QTRGN3pYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVGK3pYUjtBVWp4WEk7RWtGbkRBO0lBUVE7RTVGZzBYVjtBQUNGO0E0Rjl6WFE7RUFYSjtJQVlRO0U1RmkwWFY7QUFDRjtBNEYvelhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUZpMFhaO0E0Rjl6WGdCO0VBQ0k7QTVGZzBYcEI7QVVyeVhJO0VrRnBDSTtJQWNRO0lBQ0E7SUFDQTtJQUNBO0U1Rit6WGQ7QUFDRjtBNEY1elhRO0VBQ0k7RUFDQTtBNUY4elhaO0FVanpYSTtFa0ZmSTtJQUtRO0lBQ0E7RTVGK3pYZDtFNEY3elhjO0lBQ0k7RTVGK3pYbEI7RTRGNXpYYztJQUNJO0lBQ0E7RTVGOHpYbEI7RTRGM3pYYztJQUNJO0lBQ0E7RTVGNnpYbEI7QUFDRjtBVWwwWEk7RWtGbkRBO0lBNkRRO0lBQ0E7SUFDQTtFNUY0elhWO0FBQ0Y7QTRGMXpYUTtFQUNJO0E1RjR6WFo7QVUvelhJO0VrRk9RO0lBQ0k7RTVGMnpYZDtBQUNGOztBNkZyNFhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Z3NFhKO0E2RnA0WFk7RUFDSTtBN0ZzNFhoQjtBNkZsNFhRO0VBQ0k7RUFDQTtFQUNBO0E3Rm80WFo7QTZGbDRYWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rm80WGhCO0E2Rmw0WGdCO0VBRUk7RUFDQTtBN0ZtNFhwQjtBNkZoNFhnQjtFQUNJO0E3Rms0WHBCO0FVajNYSTtFbUZ0Q0k7SUEwQlE7RTdGaTRYZDtFNkYvM1hjO0lBQ0k7SUFDQTtFN0ZpNFhsQjtBQUNGO0E2RjEzWG9CO0VBQ0k7QTdGNDNYeEI7QTZGcjNYb0I7RUFDSTtBN0Z1M1h4QjtBNkZqM1hnQjtFQUNJO0VBQ0E7QTdGbTNYcEI7QTZGajNYb0I7RUFHSTtBN0ZpM1h4QjtBNkY3MlhnQjtFQUNJO0VBQ0E7QTdGKzJYcEI7QTZGejJYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RjIyWFI7QVVwNVhJO0VtRmtDQTtJQVVRO0lBQ0E7RTdGNDJYVjtBQUNGO0E2RnoyWEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0YyMlhSO0E2RnoyWFE7RUFDSTtBN0YyMlhaO0E2RngyWFE7RUFDSTtBN0YwMlhaO0FVdDZYSTtFbUZpREE7SUFlUTtFN0YwMlhWO0FBQ0Y7O0E4RngrWFE7RUFDSTtBOUYyK1haO0E4RnYrWEk7RUFDSTtFQUNBO0VBQ0E7QTlGeStYUjtBOEZ2K1hRO0VBQ0k7QTlGeStYWjs7QStGci9YSTtFQUNJO0VBQ0E7QS9Gdy9YUjtBK0Z0L1hRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9Gdy9YWjtBK0ZyL1hRO0VBQ0k7QS9GdS9YWjs7QWdHbGdZQTtFQUNJO0VBQ0E7RUFDQTtBaEdxZ1lKO0FnR25nWUk7RUFDSTtFQUNBO0FoR3FnWVI7QWdHamdZWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoR21nWWhCOztBaUdqaFlBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7QWpHa2hZSjtBaUdoaFlJO0VBQ0k7RUFDQTtBakdraFlSO0FpR2hoWVE7RUFDSTtFQUNBO0VBQ0E7QWpHa2hZWjtBaUc1Z1lROztFQUVJLHFCdEZ3QkY7QVhzL1hWO0FpR3hnWVE7O0VBRUkscUJ0RmdCRjtBWDAvWFY7QWlHdGdZSTs7RUFFSTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUEvQ1M7RUFnRFQsV0FoRFM7RUFpRFQ7RUFDQTtFQUNBO0VBQ0E7QWpHcWdZUjtBaUduZ1lROztFQUNJO0VBQ0E7QWpHc2dZWjtBaUduZ1lROztFQUNJLHFCdEZkRjtFc0ZlRTtBakdzZ1laO0FpR3BnWVk7O0VBQ0k7QWpHdWdZaEI7QWlHbmdZUTs7RUFDSTtFQUNBO0FqR3NnWVo7QWlHbmdZUTs7RUFDSSxxQnRGNUJGO0FYa2lZVjtBaUdsZ1lZOzs7O0VBRUk7QWpHc2dZaEI7QWlHamdZWTs7OztFQUVJO0FqR3FnWWhCO0FpRy8vWFE7RUFDSSxtQnRGaERGO0FYaWpZVjtBaUc5L1hRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakdnZ1laO0FpRzUvWFk7RUFDSTtFQUNBO0VBQ0EsY3RGckVOO0VzRnNFTTtFQUNBO0FqRzgvWGhCO0FpRzUvWGdCO0VBQ0k7QWpHOC9YcEI7QWlHdi9YUTtFQUNJO0FqR3kvWFo7QWlHdi9YWTtFQUNJLG1CdEZyRk47RXNGc0ZNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpHeS9YaEI7QWlHcC9YSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqR3MvWFI7QWlHcC9YUTtFQUNJO0VBQ0E7RUFDQTtBakdzL1haO0FpR2wvWEk7RUFDSTtFQUNBO0FqR28vWFI7QWlHai9YSTtFQUNJO0FqR20vWFI7O0FrR3ZwWUk7RUFDSTtFQUNBO0VBRUE7RUFDQTtBbEd5cFlSO0FrR3ZwWVE7RUFDSTtBbEd5cFlaO0FrR3ZwWVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxHeXBZaEI7QWtHdnBZZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEd5cFlwQjtBa0d0cFlnQjtFQUdJO0VBQ0E7RUFDQTtBbEdzcFlwQjtBa0dwcFlvQjtFQUNJO0FsR3NwWXhCO0FrRzlvWVk7RUFDSTtBbEdncFloQjtBa0cxb1lvQjs7Ozs7RUFFSTtBbEcrb1l4QjtBa0dsb1lnQjtFQUNJO0FsR29vWXBCO0FrR2hvWVk7RUFDSTtBbEdrb1loQjtBa0c5bllRO0VBL0VKO0lBZ0ZRO0VsR2lvWVY7QUFDRjs7QWtHN25ZQTtFQUNJO0lBR0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxHOG5ZTjtBQUNGO0FtRy90WUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkdndVlKO0FtRzl0WUk7RUFFSTtFQUNBO0VBR0E7QW5HNnRZUjtBbUcxdFlJO0VBQ0k7RUFDQTtFQUNBO0FuRzR0WVI7QW1HenRZSTtFQUNJO0VBQ0E7RUFDQTtBbkcydFlSO0FtR3p0WVE7RUFDSTtBbkcydFlaO0FtR3Z0WUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuR3l0WVI7QW1HdnRZUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HeXRZWjtBbUdydFlJOzs7RUFHSTtBbkd1dFlSO0FtR3J0WVE7OztFQUNJO0FuR3l0WVo7QW1HcnRZWTs7Ozs7O0VBRUk7QW5HMnRZaEI7QW1HdHRZSTtFQUNJO0VBQ0E7QW5Hd3RZUjtBbUdydFlJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HdXRZUjtBbUdydFlRO0VBQ0k7QW5HdXRZWjtBbUdudFlJO0VBQ0k7QW5HcXRZUjtBbUdsdFlZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuR290WWhCOztBb0c5ellBO0VBQ0k7QXBHaTBZSjtBb0cvellJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEdpMFlSO0FvRzd6WVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRyt6WVo7QW9HenpZUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEcyellaO0FvR3p6WVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEcyelloQjtBb0d0ellZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBHd3pZaEI7QW9HbnpZSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlEQUNJO0FwR296WVo7QW9HanpZUTtFQUNJO0FwR216WVo7QW9HaHpZUTtFQUNJO0VBQ0E7RUFDQSx5REFDSTtBcEdpelloQjs7QW9HM3lZQTtFQUNJO0lBQ0k7RXBHOHlZTjtBQUNGO0FxRzczWUk7RUFFSTtBckc4M1lSO0FxRzEzWVE7RUFDSTtFQUNBO0VBQ0E7QXJHNDNZWjtBcUd4M1lZO0VBQ0k7QXJHMDNZaEI7QXFHdjNZb0I7RUFDSTtBckd5M1l4QjtBcUduM1lRO0VBQ0k7QXJHcTNZWjtBcUcvMllZO0VBQ0k7QXJHaTNZaEI7O0FzR2o1WUk7RUFDSTtFQUNBO0F0R281WVI7QVUxMVlJO0U0RjVEQTtJQUtRO0V0R3E1WVY7QUFDRjtBVS8xWUk7RTRGNURBO0lBU1E7RXRHczVZVjtBQUNGO0FzR3A1WVE7RUFDSTtFQUNBO0F0R3M1WVo7QXNHcDVZWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0R3M1WWhCO0FzR2w1WVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0R281WVo7QVU5MllJO0U0RjlDSTtJQVdRO0V0R3E1WWQ7QUFDRjtBc0duNVlZO0VBQ0k7RUFDQTtFQUNBO0F0R3E1WWhCO0FzR2w1WVk7RUFDSTtBdEdvNVloQjtBc0doNVlRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEdrNVlaO0FVcjRZSTtFNEZyQkk7SUFXUTtFdEdtNVlkO0FBQ0Y7QXNHajVZWTtFQUNJO0VBQ0E7QXRHbTVZaEI7QXNHaDVZWTtFQUNJO0VBQ0E7QXRHazVZaEI7QXNHOTRZUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0R2c1WVo7QVVyNllJO0U0RmlCSTtJQU9RO0V0R2k1WWQ7QUFDRjtBVTE2WUk7RTRGaUJJO0lBV1E7RXRHazVZZDtBQUNGO0FzR2g1WVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEdrNVloQjtBc0doNVlnQjtFQUVJO0VBQ0E7QXRHaTVZcEI7QXNHOTRZZ0I7RUFDSTtFQUNBO0F0R2c1WXBCO0FzRzc0WWdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRHKzRZcEI7QXNHNTRZZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEc4NFlwQjtBc0cxNFlvQjtFQUNJO0F0RzQ0WXhCOztBdUc5Z1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZHaWhaSjtBdUcvZ1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZHaWhaUjtBdUcvZ1pRO0VBQ0k7RUFDQTtBdkdpaFpaOztBd0c3aFpRO0VBQ0k7RUFDQTtFQUNBO0F4R2dpWlo7QXdHOWhaWTtFQUNJO0F4R2dpWmhCOztBeUd4aVpBO0VBQ0k7RUFDQTtFQUNBO0F6RzJpWko7QXlHemlaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekcyaVpSO0F5R3hpWkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekcwaVpSO0F5R3hpWlE7RUFDSTtBekcwaVpaO0F5R3RpWkk7O0VBRUk7QXpHd2laUjtBeUdwaVpRO0VBQ0k7QXpHc2laWjtBeUduaVpRO0VBQ0k7RUFDQTtBekdxaVpaO0F5R25pWlk7RUFDSTtFQUNBO0VBQ0E7QXpHcWlaaEI7O0F5Ry9oWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtBekdnaVpKO0F5RzloWkk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBekc2aFpSO0F5RzFoWkk7RUFDSTtFQUNBO0F6RzRoWlI7QXlHemhaSTtFQUNJO0VBQ0E7QXpHMmhaUjtBeUd2aFpRO0VBQ0k7QXpHeWhaWjtBeUd0aFpRO0VBQ0k7QXpHd2haWjs7QXlHbmhaQTtFQUNJO0F6R3NoWko7QXlHcGhaSTtFQUNJO0VBQ0E7RUFDQTtBekdzaFpSO0F5R3BoWlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpHc2haWjtBeUduaFpRO0VBQ0k7QXpHcWhaWjtBeUdsaFpRO0VBQ0k7QXpHb2haWjtBeUdoaFpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekdraFpSO0F5Ry9nWkk7RUFDSTtBekdpaFpSO0F5RzlnWlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6R2doWlo7QXlHM2daUTtFQUNJO0F6RzZnWlo7QXlHMWdaUTtFQUNJO0F6RzRnWlo7O0EwR3BxWkE7RUFDSTtFQUNBO0ExR3VxWko7QVUxbVpJO0VnRzNEQTtJQUVRO0UxR3VxWlY7RTBHcnFaVTtJQUNJO0UxR3VxWmQ7QUFDRjtBVXJtWkk7RWdHN0RZO0lBQ0k7RTFHcXFabEI7RTBHbHFac0I7SUFDSTtJQUNBO0lBQ0E7RTFHb3FaMUI7RTBHanFac0I7SUFDSTtFMUdtcVoxQjtBQUNGO0EwRzFwWlk7RUFDSTtBMUc0cFpoQjs7QUEvcVpBO0VBRUk7RUFDQTtFQUVBO0VBQ0E7QUFnclpKO0FVem9aSTtFVjdDSjtJQVNRLDJCV3VMb0I7RVgwL1kxQjtBQUNGOztBQTlxWkE7RUFDSSx5QlcyQk07QVhzcFpWOztBQTdxWkk7RUFDSTtBQWdyWlI7O0FBM3FaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE4cVpKO0FBM3FaSTtFQUNJO0VBQ0E7RUFDQTtBQTZxWlIsQzs7OztBSS90WkE7Ozs7O0VBQUE7QUFpQkE7Ozs7OztFQUFBO0FDOFBBOztFQUFBO0FBK0hBOztFQUFBO0FBZUE7O0VBQUE7QUFtR0E7O0VBQUE7QXNHbGdCSTtFQUNJO0FDeUJSO0FsR29DSTtFaUczREk7SUFFUTtFQ3lCZDtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL19zaG9wLWZvbnQuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvYWJzdHJhY3RzL191bml2ZXJzYWwtcGxhY2Vob2xkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2Fic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9hYnN0cmFjdHMvX2Zucy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvbnRhaW5lcnMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9fdGhlbWUtdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb3JlL2Jvb3RzdHJhcC1tb2RpZmljYXRpb25zL191dGlsaXRpZXMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hcGkuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29yZS9fcmVzZXQuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29yZS9fcmVzZXQuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29yZS9fY29tbW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvcmUvX3R5cG8uc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvcmUvX3R5cG8uc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvbGF5b3V0L19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvbGF5b3V0L19uYXYuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvbGF5b3V0L19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2xheW91dC9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9sYXlvdXQvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvbGF5b3V0L19hbGwuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2J0bi5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19jYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy9fY29tbW9uLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2NvbW1vbi1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2Zvb3Rlci1ibG9jay1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19mb290ZXItYmxvY2stY29udGVudC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL3B1YmxpY19odG1sL3d3dy9jb21wYXNzX2V4dGVuc2lvbnMvc2hvcGlvX3RoZW1lL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcG9wb3ZlcnMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy9fcG9wb3Zlci5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fcG9wb3Zlci5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19pY29uLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy9fZm9ybS1pbnB1dC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fZm9ybS1pbnB1dC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19mb3JtLWZpZWxkLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvX2FzZ2FyZC12YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2Zvcm0tZmllbGQuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy9fdG9nZ2xlLXN3aXRjaC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19za2lwLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19oZWFkZXItbG9nby5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9faGVhZGVyLWJ0bi5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19oZWFkZXItc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2hlYWRlci1kcm9wZG93bi5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9faGVhZGVyLWRyb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19oZWFkZXItY2FydC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19oZWFkZXItc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2hlYWRlci1ibG9jay5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19oYW1idXJnZXIuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3F1ZWV6ZS5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19pbnRlcmFjdGl2ZS1mb3JtLWxhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX3NlYXJjaC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19uYXYtcGFnZXMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX25hdi1jYXRlZ29yaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19wcm9kdWN0LWNhcmQuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2NhcmQtcHJpY2Uuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX3Byb2R1Y3QtY2FyZC1zcGVjaWFsLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19mbGFncy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fbWVudS5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZHJvcC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19tb2RhbC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX3N1Ym1lbnUuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2NhdGVnb3JpZXMtc2VjdGlvbi5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fY2F0ZWdvcnktaXRlbS5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fdGFicy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19hZG1pbi1lZGl0LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX21vcmUuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX21vcmUuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX3Byb2R1Y3RzLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX3Byb2R1Y2Vycy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19wcm9kdWNlci1pdGVtLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19wb3N0cy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19wb3N0LWl0ZW0uc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2JlbmVmaXRzLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2JlbmVmaXQtaXRlbS5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy9fYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2Ryb3Bkb3duLWJ0bi5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19zb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19zb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19zdG9jay5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fcmVzdWx0cy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZXNob3Auc2V0b3MuY3ovc2Fzcy9hcHAvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19kcm9wZG93bi1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2NvbW1hLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2RlZmF1bHQvc2Fzcy9hcHAvY29tcG9uZW50cy9fcGlwZS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19jaGVja2JveC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19keW5hbWljLWNvbHVtbi1pdGVtcy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19tZXNzYWdlcy1hbmQtbm90aWZpY2F0aW9ucy5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2FwcC9jb21wb25lbnRzL19mbG9hdGluZy1zcGlubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9kZWZhdWx0L3Nhc3MvYXBwL2NvbXBvbmVudHMvX3NlbGVjdDIuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX3Nob3BzLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3MvYXBwL2NvbXBvbmVudHMvX2Fzc29jaWF0aW9ucy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19hbHRlcm5hdGUtaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2FwcC9jb21wb25lbnRzL19mYXEuc2NzcyIsIndlYnBhY2s6Ly9zaG9waW8vLi9kYXRhL3d3dy90ZW1wbGF0ZXMvYXNnYXJkL2VzaG9wLnNldG9zLmN6L3Nhc3Mvc2VhcmNoLXN1Z2dlc3QvX2FsbC5zY3NzIiwid2VicGFjazovL3Nob3Bpby8uL2RhdGEvd3d3L3RlbXBsYXRlcy9hc2dhcmQvZGVmYXVsdC9zYXNzL2Vycm9yL19lcnJvci1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vc2hvcGlvLy4vZGF0YS93d3cvdGVtcGxhdGVzL2FzZ2FyZC9lc2hvcC5zZXRvcy5jei9zYXNzL2Vycm9yLWNvbnRlbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdzYXNzOm1hcCc7XG5AaW1wb3J0ICd0aGVtZS12YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vZGVmYXVsdC9zYXNzL2FzZ2FyZC12YXJpYWJsZXMnO1xuQGltcG9ydCAnc2hvcC1mb250JztcblxuLy8gQWJzdHJhY3RzXG5AaW1wb3J0ICdhcHAvYWJzdHJhY3RzL2FsbCc7XG5cbi8vIENvcmVcbkBpbXBvcnQgJ2FwcC9jb3JlL2FsbCc7XG5cbi8vIExheW91dFxuQGltcG9ydCAnYXBwL2xheW91dC9hbGwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdhcHAvY29tcG9uZW50cy9hbGwnO1xuQGltcG9ydCAnc2VhcmNoLXN1Z2dlc3QvYWxsJztcblxuOnJvb3Qge1xuICAgIC8vIG9ubHkgcmVuZGVyIHRoZXNlIHZhcmlhYmxlcyBvbmNlXG4gICAgLS1jaGVja2JveC1jaGVjazogI3skY2hlY2tib3gtY2hlY2t9O1xuICAgIC0taGVhZGVyLW5hdi1icmVha3BvaW50OiAje21hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRoZWFkZXItbmF2LWJyZWFrcG9pbnQpfTtcblxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogMTByZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4bCcpIHtcbiAgICAgICAgc2Nyb2xsLXBhZGRpbmctdG9wOiAkaGVhZGVyLW5hdi1kZXNrdG9wLWhlaWdodDtcbiAgICB9XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xufVxuXG4uZ3JleS1iZyB7XG4gICAgJi0xMDAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTEwMCcpO1xuICAgIH1cbn1cblxuLy8gdXN1YWxseSwgYSBoZWFkaW5nIHdpdGggc29tZXRoaW5nIG5hdmlnYXRpb25hbCBvbiB0aGUgcmlnaHRcbi5ibG9jay1uYXYtY29tYm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogMnJlbTtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiAycmVtO1xuICAgIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMjAwKTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cbiAgICA+ICo6d2hlcmUoOm5vdCguZW1ibGFfX2NvbnRyb2xzKTpub3QoLnBvc3RzLXNlY3Rpb25fX21vcmUpKSB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICB9XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1BsdXMgSmFrYXJ0YSBTYW5zJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDIwMCA4MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogdXJsKCcjeyRmb250LXBhdGh9L1BsdXNKYWthcnRhU2Fuc1t3Z2h0XS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucy1mYWxsYmFjayc7XG4gICAgc2l6ZS1hZGp1c3Q6IDEwNyU7XG4gICAgYXNjZW50LW92ZXJyaWRlOiA5MCU7XG4gICAgc3JjOiBsb2NhbCgnQXJpYWwnKTtcbn1cbiIsIi8vIHNjcmVlbiByZWFkZXJzIG9ubHlcbiVzci1vbmx5IHtcbiAgICBAaW5jbHVkZSBzci1vbmx5O1xufVxuXG4lc3Itb25seS11bmRvIHtcbiAgICBAaW5jbHVkZSBzci1vbmx5KCd1bmRvJyk7XG59XG4iLCJAdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczptZXRhJztcblxuQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xufVxuXG5AbWl4aW4gY3VzdG9tLXNjcm9sbGJhci1jb250YWluZXIoJGlzLXZlcnRpY2FsOiBmYWxzZSkge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBAaWYgJGlzLXZlcnRpY2FsIHtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNjcm9sbGJhci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNjcm9sbGJhci1jb2xvcjtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2RhbC12YXJpYWJsZXMge1xuICAgIC0tYnMtbW9kYWwtd2lkdGg6IG1heC1jb250ZW50O1xuICAgIC0tYnMtbW9kYWwtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtLWJzLW1vZGFsLW1heC1oZWlnaHQ6IDk4ZHZoO1xuICAgIC0tYnMtbW9kYWwtd2lkdGgtbmFycm93OiA1MDBweDtcbiAgICAtLWJzLW1vZGFsLXdpZHRoLWRlZmF1bHQ6IDg1MHB4O1xuICAgIC0tYnMtbW9kYWwtd2lkdGgtd2lkZTogMTEwMHB4O1xuICAgIC0tbW9kYWwtcGFkZGluZy1ibG9jazogY2xhbXAoMXJlbSwgNHZ3LCAyLjVyZW0pO1xuICAgIC0tbW9kYWwtcGFkZGluZy1pbmxpbmU6IGNsYW1wKDFyZW0sIDV2dywgM3JlbSk7XG4gICAgLS1icy1tb2RhbC1wYWRkaW5nOiB2YXIoLS1tb2RhbC1wYWRkaW5nLWJsb2NrKSB2YXIoLS1tb2RhbC1wYWRkaW5nLWlubGluZSk7XG4gICAgLS1icy1tb2RhbC1tYXJnaW46IDA7XG4gICAgLS1icy1tb2RhbC1oZWFkZXItZm9udC1zaXplOiAjeyRoMy1mb250LXNpemV9O1xuICAgIC0tbW9kYWwtaW4tbW9kYWwtYmFja2Ryb3AtY29sb3I6ICN7cmdiYSgkbW9kYWwtYmFja2Ryb3AtYmcsICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KX07XG59XG5cbkBtaXhpbiBib3hlcygkcXVhbnRpdHk6IDMsICRnYXA6IDFyZW0sICRjZW50ZXItZ2FwOiBjbGFtcCgxcmVtLCA1JSwgNHJlbSksICRjZW50ZXItYmxvY2s6IGZhbHNlKSB7XG4gICAgJGdhcC13aXRoLXVuaXQ6IGlmKG1hdGguaXMtdW5pdGxlc3MoJGdhcCksICRnYXAgKiAxcmVtLCAkZ2FwKTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGlmICRjZW50ZXItYmxvY2sge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAkY2VudGVyLWdhcDtcblxuICAgICAgICA+ICo6d2hlcmUoaW1nKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJldmVydC1sYXllcjtcbiAgICAgICAgICAgIHdpZHRoOiByZXZlcnQtbGF5ZXI7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZ2FwOiAkZ2FwLXdpdGgtdW5pdDtcbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgICBAaWYgJHF1YW50aXR5IHtcbiAgICAgICAgICAgIC8vIEZZSTogY2FsY3VsYXRlIHRoZSAlIHdpZHRoIC0gKG51bWJlciBvZiBnYXBzIC8gcXVhbnRpdHkpXG4gICAgICAgICAgICAtLWZsZXgtYmFzaXM6IGNhbGMoI3ttYXRoLmRpdigxMDAsICRxdWFudGl0eSkgKiAxJX0gLSAjeyRnYXAtd2l0aC11bml0ICogKG1hdGguZGl2KCgkcXVhbnRpdHkgLSAxKSwgJHF1YW50aXR5KSl9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gKiBzY3JlZW4tcmVhZGVyIG9ubHlcbi8vICogQHBhcmFtIGNvbmZpZyAtIG51bGwgfCBzdHJpbmcgKCd1bmRvJykgLSByZXNldHMgYSBwcmV2aW91cyBzci1vbmx5IHJ1bGVzZXRcbkBtaXhpbiBzci1vbmx5KCRjb25maWc6IG51bGwpIHtcbiAgICBAaWYgJGNvbmZpZyA9PSAndW5kbycge1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tZGVwcmVjYXRlZFxuICAgICAgICBjbGlwOiB1bnNldDtcbiAgICAgICAgY2xpcC1wYXRoOiB1bnNldDtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcbiAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tZGVwcmVjYXRlZFxuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxufVxuXG4vLyBNb2RpZmllcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBkZXNrdG9wIHN1Ym1lbnUgd2hlbiB0aGVyZSBhcmUgZmV3ZXIgdGhhbiAvJG1lbnUtc3VibWVudS1zaW5nbGUtY29sdW1uLW1pbi8gaXRlbXMsXG4vLyBBTkQsIHdoZW4gdGhlcmUgYXJlIG5vIHN1Yi1zdWJjYXRlZ29yeSBpdGVtc1xuQG1peGluIGRlc2t0b3AtbmF2aWdhdGlvbi1uYXJyb3cge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAvLyBOT1RFOiBzbGlnaHRseSBvbGRlciBGaXJlZm94IHN1cHBvcnRzIDpoYXMoZWxlbWVudCkgYnV0IG5vdCA6aGFzKGVsZW1lbnQgKyBlbGVtZW50KVxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9vcGVyYXRvci1uby11bnNwYWNlZFxuICAgICAgICBAc3VwcG9ydHMgc2VsZWN0b3IoOmhhcygrICopKSB7XG4gICAgICAgICAgICAuaGVhZGVyIC5uYXYge1xuICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLW1haW46bm90KDpoYXMoLnN1Ym1lbnUtLW1haW4gdWwgdWwpKTpub3QoOmhhcyguc3VibWVudS0tbWFpbiA+IC5tZW51LS1uZXN0ZWQgPiAubWVudV9faXRlbS0tbmVzdGVkOm50aC1jaGlsZCgjeyRtZW51LXN1Ym1lbnUtc2luZ2xlLWNvbHVtbi1taW59KSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHN0aWNreS1zaWRlYmFyKCRtZWRpYS1xdWVyeS1taW4td2lkdGg6ICdsZycpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtZWRpYS1xdWVyeS1taW4td2lkdGgpIHtcbiAgICAgICAgLS10b3AtcG9zaXRpb246IGNhbGMoKHZhcigtLWhlaWdodC1kaWZmLCAwcHgpICogLTEpICsgMXJlbSk7XG5cbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiB2YXIoLS10b3AtcG9zaXRpb24pO1xuICAgIH1cbn1cblxuLy8vIEFkZHMgYSBzY3JvbGwtbWFyZ2luLWJsb2NrLXN0YXJ0IGRlY2xhcmF0aW9uIHRvIHRoZSBjdXJyZW50IHNlbGVjdG9yXG4vLy8gKHNjcm9sbC1tYXJnaW4tYmxvY2stc3RhcnQgaXMgdGhlIGRlZmF1bHQgcHJvcGVydHkpXG4vLy8gJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsIHZhbHVlcyBhcmUgc2V0IGluIHZhcmlhYmxlcyBmaWxlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0eXBlIC0gJ21hcmdpbicgb3IgJ3BhZGRpbmcnXG5AbWl4aW4gc2V0LXNjcm9sbC1ibG9jay1zdGFydCgkdHlwZTogJ21hcmdpbicpIHtcbiAgICBAaWYgbWV0YS52YXJpYWJsZS1leGlzdHMoJ2hlYWRlci1maXhlZC1hZGRpdGlvbmFsJykge1xuICAgICAgICBAaWYgbWFwLmdldCgkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwsIGhlYWRlci1tb2JpbGUpIG9yIG1hcC5nZXQoJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsLCB0b3AtYmFubmVyLW1vYmlsZSkge1xuICAgICAgICAgICAgJHNjcm9sbC1zaXplOiAnJztcblxuICAgICAgICAgICAgQGlmIG1hcC5nZXQoJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsLCBoZWFkZXItbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgJHNjcm9sbC1zaXplOiAkc2Nyb2xsLXNpemUgKyB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIG1hcC5nZXQoJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsLCB0b3AtYmFubmVyLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICRzY3JvbGwtc2l6ZTogY2FsYygjeyRzY3JvbGwtc2l6ZX0gKyB2YXIoLS1wcm9tby1oZWlnaHQsIDBweCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3ttYXAuZ2V0KCRoZWFkZXItZml4ZWQtYWRkaXRpb25hbCwgbW9iaWxlLWJyZWFrcG9pbnQtdXApIC0gMXB4fSkge1xuICAgICAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbnZhbGlkLXBvc2l0aW9uLWRlY2xhcmF0aW9uXG4gICAgICAgICAgICAgICAgc2Nyb2xsLSN7JHR5cGV9LWJsb2NrLXN0YXJ0OiAjeyRzY3JvbGwtc2l6ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbWFwLmdldCgkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwsIGhlYWRlci1kZXNrdG9wKSBvciBtYXAuZ2V0KCRoZWFkZXItZml4ZWQtYWRkaXRpb25hbCwgdG9wLWJhbm5lci1kZXNrdG9wKSB7XG4gICAgICAgICAgICAkc2Nyb2xsLXNpemU6ICcnO1xuXG4gICAgICAgICAgICBAaWYgbWFwLmdldCgkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwsIGhlYWRlci1kZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgJHNjcm9sbC1zaXplOiAkc2Nyb2xsLXNpemUgKyB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIG1hcC5nZXQoJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsLCB0b3AtYmFubmVyLWRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICAkc2Nyb2xsLXNpemU6IGNhbGMoI3skc2Nyb2xsLXNpemV9ICsgdmFyKC0tcHJvbW8taGVpZ2h0LCAwcHgpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7bWFwLmdldCgkaGVhZGVyLWZpeGVkLWFkZGl0aW9uYWwsIG1vYmlsZS1icmVha3BvaW50LXVwKX0pIHtcbiAgICAgICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taW52YWxpZC1wb3NpdGlvbi1kZWNsYXJhdGlvblxuICAgICAgICAgICAgICAgIHNjcm9sbC0jeyR0eXBlfS1ibG9jay1zdGFydDogI3skc2Nyb2xsLXNpemV9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBjYXJkIGJveGVzIGFyZSB0eXBpY2FsbHkgdXNlZCBvbiBwcm9kdWN0IGRldGFpbCBzZXJ2aWNlcywgY2hlY2tvdXQgdHJhbnNwb3J0L3BheW1lbnQgb3B0aW9ucyxcbi8vIEFORCBwcmUtY2hlY2tvdXQgcGFnZVxuQG1peGluIGNhcmQtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpZ2h0KTtcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS05MDAnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCRpbnB1dCwgYm9yZGVyLWNvbG9yKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IC0xcHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoOmhhcyhbZGlzYWJsZWRdKSksXG4gICAgJjpmb2N1cy13aXRoaW46bm90KDpoYXMoW2Rpc2FibGVkXSkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktNDAwKTtcblxuICAgICAgICBbdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpLFxuICAgICAgICBbdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcyhbZGlzYWJsZWRdKTpub3QoLmZpeC1zcGVjaWZpY2l0eSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMTAwKTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTEwMCk7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktNjAwKTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTIwMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgbmV4dCBzbWFsbGVyIGJyZWFrcG9pbnQgZnJvbSB0aGUgZ2l2ZW4gYnJlYWtwb2ludC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBUaGUgYnJlYWtwb2ludCBmb3Igd2hpY2ggdG8gZmluZCB0aGUgbmV4dCBzbWFsbGVyIGJyZWFrcG9pbnQuXG4gKiBAcmV0dXJuIHtTdHJpbmd8bnVsbH0gLSBUaGUgbmV4dCBzbWFsbGVyIGJyZWFrcG9pbnQsIG9yIG51bGwgaWYgbm8gc21hbGxlciBicmVha3BvaW50IGlzIGF2YWlsYWJsZS5cbiAqL1xuQGZ1bmN0aW9uIGdldC1zbWFsbGVyLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAka2V5czogbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmRleDogbGlzdC5pbmRleCgka2V5cywgJGJyZWFrcG9pbnQpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXggb3IgJGluZGV4ID09IDEge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgQHJldHVybiBsaXN0Lm50aCgka2V5cywgJGluZGV4IC0gMSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBuZXh0IGxhcmdlciBicmVha3BvaW50IGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcC5cbiAqXG4gKiBAZnVuY3Rpb24gZ2V0LWJpZ2dlci1icmVha3BvaW50XG4gKiBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBUaGUgY3VycmVudCBicmVha3BvaW50IHRvIGZpbmQgdGhlIG5leHQgbGFyZ2VyIG9uZSBmb3IuXG4gKiBAcmV0dXJuIHtTdHJpbmcgfCBudWxsfSAtIFRoZSBuZXh0IGxhcmdlciBicmVha3BvaW50IG9yIG51bGwgaWYgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyB0aGUgbGFyZ2VzdCBvciBub3QgZm91bmQuXG4gKi9cbkBmdW5jdGlvbiBnZXQtbGFyZ2VyLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAka2V5czogbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmRleDogbGlzdC5pbmRleCgka2V5cywgJGJyZWFrcG9pbnQpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXggb3IgJGluZGV4ID09IGxpc3QubGVuZ3RoKCRicmVha3BvaW50KSB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBAcmV0dXJuIGxpc3QubnRoKCRrZXlzLCAkaW5kZXggKyAxKTtcbn1cbiIsIkB1c2UgJ3Nhc3M6Y29sb3InO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcblxuLy8gKiBWaXN1YWxzIGZvciBzbWFsbCBibG9ja3Mgd2l0aCBhIGhvdmVyIC8gZm9jdXMtd2l0aGluIGVmZmVjdCBpbmNsdWRlZFxuLy8gKiBUbyBtb2RpZnkgZGVmYXVsdCB2YWx1ZXMsIHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgc21hbGwtYmxvY2stY29tcG9uZW50KG1hcC5zZXQoJGNvbmZpZywgJ3JhZGl1cycsIDIwcHgpKVxuQG1peGluIHNtYWxsLWJsb2NrLWNvbXBvbmVudChcbiAgICAkcmFkaXVzOiAxMHB4LFxuICAgICRiYWNrZ3JvdW5kLXN0YXJ0OiBjb2xvci5hZGp1c3QobWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWxpZ2h0KSwgJGFscGhhOiAtMSksXG4gICAgJGJhY2tncm91bmQtZW5kOiBjb2xvci5hZGp1c3QobWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LW1pZCksICRhbHBoYTogMCksXG4gICAgJGJveC1zaGFkb3ctc3RhcnQ6IDAgNHB4IDIwcHggMCAjMDAwMDAwMTQsXG4gICAgJGJveC1zaGFkb3ctZW5kOiAwIDRweCA0cHggMCAjMDAwMDAwMTQsXG4gICAgJHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kLWNvbG9yIGxpbmVhciAwLjE1cywgYm94LXNoYWRvdyBsaW5lYXIgMC4xNXMnXG4pIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXN0YXJ0O1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXN0YXJ0O1xuICAgIHRyYW5zaXRpb246ICN7JHRyYW5zaXRpb259O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWVuZDtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctZW5kO1xuICAgIH1cbn1cblxuQG1peGluIHdpZGUtY2FyZCgkYnJlYWtwb2ludDogJ3hsJykge1xuICAgICRzbWFsbGVyLWJyZWFrcG9pbnQ6IGdldC1sYXJnZXItYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgICAucHJvZHVjdC1jYXJkIHtcbiAgICAgICAgLS10aHVtYm5haWwtd2lkdGg6IDIwMHB4O1xuICAgICAgICAtLWZsYWctZm9udC1zaXplOiAxLjJyZW07XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBsaWdodCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IDAgcmdiKDAsIDAsIDAsIDAuMDcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc21hbGxlci1icmVha3BvaW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJHNtYWxsZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIC0tdGh1bWJuYWlsLXdpZHRoOiAyODBweDtcbiAgICAgICAgICAgICAgICAtLWZsYWctZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXRodW1ibmFpbC13aWR0aCkgMWZyIGF1dG87XG4gICAgICAgICAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjRyZW07XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDRyZW0gM3JlbSAwO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fcHJpbWFyeSxcbiAgICAgICAgICAgICZfX3NlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3NlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXRodW1ibmFpbC13aWR0aCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX192YXJpYW50cyB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3BlcmV4IHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19wYXJhbWV0ZXJzIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiA0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3ByaWNlIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogNjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAuY2FyZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMCAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJl9fZnVsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGRhcmspO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJl9fZGlzY291bnQsXG4gICAgICAgICAgICAgICAgICAgICZfX3NhdmluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZmxhZ3Mge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTNweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBsYWNlLXNlbGY6IHN0YXJ0IGVuZDtcbiAgICAgICAgICAgICAgICBnYXA6IDAuM3JlbTtcblxuICAgICAgICAgICAgICAgIFtjbGFzcyo9J19faXRlbSddIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4yMmVtIDAuNjNlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZsYWctZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MqPSdfX3RleHQnXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2FkZCB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICYtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAqIEFkZCBpbnZlcnRlZCBib3JkZXIgcmFkaXVzIGNvcm5lcnNcbi8vICogbWFzayB2YWx1ZXMgYXJlIGluIHRoZSBvcmRlciB0bCAvIHRyIC8gYnIgLyBibFxuLy8gKiBOb3RlIHRoYXQgYWxsIHVuaXRzIHNob3VsZCBiZSBpbiBweFxuLy8gKiBAcGFyYW0ge2xpc3R9IC0gc3BlY2lmaWMgYm9yZGVyIGNvcm5lcnMgJGNvcm5lcnMgKGFsbHx0bHx0cnxibHxicilcbkBtaXhpbiBpbnZlcnRlZC1ib3JkZXItcmFkaXVzKCRjb3JuZXJzOiAnYWxsJykge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmV0dGllci9wcmV0dGllclxuICAgICR2YWxpZC1ib3JkZXItcmFkaXVzLXBhcmFtczogWydhbGwnLCAndGwnLCAndHInLCAnYmwnLCAnYnInLCAndCcsICdyJywgJ2InLCAnbCddO1xuICAgICRpbnZlcnRlZC1ib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICRpbnZlcnRlZC1ib3JkZXItdGw6IDBweDtcbiAgICAkaW52ZXJ0ZWQtYm9yZGVyLXRyOiAwcHg7XG4gICAgJGludmVydGVkLWJvcmRlci1icjogMHB4O1xuICAgICRpbnZlcnRlZC1ib3JkZXItYmw6IDBweDtcblxuICAgIC0taW52ZXJ0ZWQtYm9yZGVyLWdyYWRpZW50OiAjMDAwMCA5OCUsICMwMDA7XG4gICAgLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzOiAjeyRpbnZlcnRlZC1ib3JkZXItcmFkaXVzfTtcblxuICAgIEBpZiBub3QgbGlzdC5pbmRleCgkdmFsaWQtYm9yZGVyLXJhZGl1cy1wYXJhbXMsICRjb3JuZXJzKSB7XG4gICAgICAgIEBlcnJvciBcIiN7JGNvcm5lcnN9IGlzIG5vdCBhIHZhbGlkIHNpZGUuIEV4cGVjdGVkIG9uZSBvZiAjeyR2YWxpZC1ib3JkZXItcmFkaXVzLXBhcmFtc30uXCI7XG4gICAgfVxuXG4gICAgQGlmICRjb3JuZXJzID09ICdhbGwnIHtcbiAgICAgICAgJGludmVydGVkLWJvcmRlci10bDogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICRpbnZlcnRlZC1ib3JkZXItdHI6ICRpbnZlcnRlZC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJyOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgJGludmVydGVkLWJvcmRlci1ibDogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfSBAZWxzZSBpZiAkY29ybmVycyA9PSAndGwnIHtcbiAgICAgICAgJGludmVydGVkLWJvcmRlci10bDogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfSBAZWxzZSBpZiAkY29ybmVycyA9PSAndHInIHtcbiAgICAgICAgJGludmVydGVkLWJvcmRlci10cjogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfSBAZWxzZSBpZiAkY29ybmVycyA9PSAnYnInIHtcbiAgICAgICAgJGludmVydGVkLWJvcmRlci1icjogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfSBAZWxzZSBpZiAkY29ybmVycyA9PSAnYmwnIHtcbiAgICAgICAgJGludmVydGVkLWJvcmRlci1ibDogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfSBAZWxzZSBpZiAkY29ybmVycyA9PSAndCcge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLXRsOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgJGludmVydGVkLWJvcmRlci10cjogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfSBAZWxzZSBpZiAkY29ybmVycyA9PSAncicge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLXRyOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgJGludmVydGVkLWJvcmRlci1icjogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfSBAZWxzZSBpZiAkY29ybmVycyA9PSAnYicge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLWJyOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgJGludmVydGVkLWJvcmRlci1ibDogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfSBAZWxzZSBpZiAkY29ybmVycyA9PSAnbCcge1xuICAgICAgICAkaW52ZXJ0ZWQtYm9yZGVyLXRsOiAkaW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgJGludmVydGVkLWJvcmRlci1ibDogJGludmVydGVkLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRsOiAjeyRpbnZlcnRlZC1ib3JkZXItdGx9O1xuICAgIC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10cjogI3skaW52ZXJ0ZWQtYm9yZGVyLXRyfTtcbiAgICAtLWludmVydGVkLWJvcmRlci1yYWRpdXMtYnI6ICN7JGludmVydGVkLWJvcmRlci1icn07XG4gICAgLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLWJsOiAjeyRpbnZlcnRlZC1ib3JkZXItYmx9O1xuXG4gICAgbWFzazpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtdGwpIGF0IDAgMCwgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLWdyYWRpZW50KSkgMCAwLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQodmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10cikgYXQgMTAwJSAwLCB2YXIoLS1pbnZlcnRlZC1ib3JkZXItZ3JhZGllbnQpKSAxMDAlIDAsXG4gICAgICAgIHJhZGlhbC1ncmFkaWVudCh2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLWJsKSBhdCAwIDEwMCUsIHZhcigtLWludmVydGVkLWJvcmRlci1ncmFkaWVudCkpIDAgMTAwJSxcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtYnIpIGF0IDEwMCUgMTAwJSwgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLWdyYWRpZW50KSkgMTAwJSAxMDAlO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiA1MSUgNTElO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1kZWNsYXJhdGlvblxuICAgIC8vIERpc2FibGUgZm9yIG9sZGVyIFNhZmFyaSBicm93c2VycyBhcyB0aGUgbGF5b3V0IGJyZWFrcyB0aGVyZSB3aXRoIG1hc2tcbiAgICBAc3VwcG9ydHMgKGJhY2tncm91bmQ6IC13ZWJraXQtbmFtZWQtaW1hZ2UoaSkpIHtcbiAgICAgICAgbWFzazogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBXZSBjYW5ub3QgY2hlY2sgZm9yIEBzdXBwb3J0cyAoY2xpcC1wYXRoOiBzaGFwZSgpKSBiZWNhdXNlLCB3aGlsZSBGaXJlZm94IHN1cHBvcnRzIHRoZSBydWxlLCBpdCBkb2VzIG5vdCB3b3JrIC0geWV0IChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEwMzI4KVxuICAgIC8vIEJ1dCwgYXMgc2hhcGUoKSBjYW4gYmUgdXNlZCBpbiBhbmltYXRpb24gcGF0aHMsIGFuZCBDaHJvbWUgYW5kIGN1cnJlbnQgU2FmYXJpIHN1cHBvcnQgdGhpcyBpbXBsZW1lbnRhdGlvbi5cbiAgICAvLyBOT1RFOiBXZSBzaG91bGQgc3RpbGwgY2hlY2sgdG8gc2VlIHdoZW4gY2xpcC1wYXRoOiBzaGFwZSgpIGlzIGZ1bGx5IGVuYWJsZWQgaW4gRmlyZWZveCwgYnV0IGluIHRoZSBtZWFudGltZSwgbWFza2luZyB3b3JrcyBuaWNlbHkgdGhlcmVcbiAgICBAc3VwcG9ydHMgKG9mZnNldC1wYXRoOiBzaGFwZShmcm9tIHRvcCBsZWZ0LCBjdXJ2ZSB0byA1MCUgNTAlIHdpdGggMjUlIDEwMCUpKSB7XG4gICAgICAgIG1hc2s6IG5vbmU7XG4gICAgICAgIGNsaXAtcGF0aDogc2hhcGUoXG4gICAgICAgICAgICBmcm9tIDAgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10bCksXG4gICAgICAgICAgICBhcmMgYnkgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10bCkgY2FsYyh2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRsKSAqIC0xKSBvZiB2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLXRsKSxcbiAgICAgICAgICAgIGxpbmUgdG8gY2FsYygxMDAlIC0gdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10cikpIDAsXG4gICAgICAgICAgICBhcmMgYnkgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10cikgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10cikgb2YgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy10ciksXG4gICAgICAgICAgICBsaW5lIHRvIDEwMCUgY2FsYygxMDAlIC0gdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1icikpLFxuICAgICAgICAgICAgYXJjIGJ5IGNhbGModmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1icikgKiAtMSkgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1icikgb2YgdmFyKC0taW52ZXJ0ZWQtYm9yZGVyLXJhZGl1cy1iciksXG4gICAgICAgICAgICBsaW5lIHRvIHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtYmwpIDEwMCUsXG4gICAgICAgICAgICBhcmMgYnkgY2FsYyh2YXIoLS1pbnZlcnRlZC1ib3JkZXItcmFkaXVzLWJsKSAqIC0xKSBjYWxjKHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtYmwpICogLTEpIG9mIHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtYmwpLFxuICAgICAgICAgICAgbGluZSB0byAwIHZhcigtLWludmVydGVkLWJvcmRlci1yYWRpdXMtdGwpXG4gICAgICAgICk7XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgbm8taW52YWxpZC1wb3NpdGlvbi1kZWNsYXJhdGlvblxufVxuXG4vLyBMYWJlbCBpcyBzaGlmdGVkIHdoZW4gLVxuLy8gaW5wdXQgaXMgZm9jdXNlZFxuLy8gaGFzIHZhbHVlIHByb3AgYnV0IG5vdCBwbGFjZWhvbGRlciBzaG93biAoaGFwcGVuZHMgd2hlbiBwcmVmaWxsZWQgaW5wdXQgaXMgbWFudWFsbHkgY2xlYXJlZClcbi8vIGhhcyBzb21lIHRleHQgcGxhY2Vob2xkZXJcbi8vIGlzIGF1dG9maWxsZWRcbkBtaXhpbiBmb3JtLWlucHV0LWxhYmVsLXNlbGVjdG9ycyB7XG4gICAgJjpoYXMoOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoOndoZXJlKDpwbGFjZWhvbGRlci1zaG93bikpOmlzKDp3aGVyZSg6bm90KDpwbGFjZWhvbGRlci1zaG93bikpLCA6d2hlcmUoOm5vdChbcGxhY2Vob2xkZXI9JyddLCBbcGxhY2Vob2xkZXI9JyAnXSkpLCA6bm90KFt2YWx1ZT0nJ10pLCA6LXdlYmtpdC1hdXRvZmlsbCwgOmF1dG9maWxsLCA6Zm9jdXMpKSA6d2hlcmUoLmZvcm0taW5wdXRfX2xhYmVsKSxcbiAgICAmOmhhcyg6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOmlzKDp3aGVyZSg6cGxhY2Vob2xkZXItc2hvd246bm90KFtwbGFjZWhvbGRlcj0nJ10sIFtwbGFjZWhvbGRlcj0nICddKSkpKSA6d2hlcmUoLmZvcm0taW5wdXRfX2xhYmVsKSxcbiAgICAmOmhhcyg6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOmlzKDpmb2N1cykpIDp3aGVyZSguZm9ybS1pbnB1dF9fbGFiZWwpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlc2V0IGlTcGFjZSBjdXN0b20gZm9ybSBpbnB1dCBzdHlsZXMgdG8gYmUgYWJsZSB0byBkZXNpZ24gc3BlY2lhbCBpbnB1dHMgbW9yZSBlYXNpbHlcbiAqL1xuQG1peGluIHJlc2V0LWZvcm0taW5wdXQge1xuICAgICY6aGFzKDp3aGVyZShpbnB1dDpub3QoW3R5cGU9J2NoZWNrYm94J10sIFt0eXBlPSdyYWRpbyddKSwgdGV4dGFyZWEsIHNlbGVjdCkpIHtcbiAgICAgICAgei1pbmRleDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogaW5pdGlhbDtcblxuICAgICAgICA6d2hlcmUoLmZvcm0tZmllbGQtY29udGFpbmVyKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBpbml0aWFsO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgOndoZXJlKC5mb3JtLWZpZWxkID4gKikge1xuICAgICAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA6d2hlcmUoLmZvcm0tZmllbGRfX2lucHV0KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyguZXJyb3JzKSB7XG4gICAgICAgICAgICAtLWlucHV0LWJnOiBpbml0aWFsO1xuXG4gICAgICAgICAgICAuZm9ybS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICAuZm9ybS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyhbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICAuZm9ybS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA6d2hlcmUoLmZvcm0taW5wdXRfX2xhYmVsKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGluaXRpYWw7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpoYXMoLmZvcm0tZmllbGQtLXNtKSB7XG4gICAgICAgICAgICAuZm9ybS1pbnB1dF9fbGFiZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICA6d2hlcmUoLmZvcm0tZmllbGQtY29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDp3aGVyZSguZm9ybS1pbnB1dF9fbGFiZWwpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpub3QoOndoZXJlKDpmb2N1cy13aXRoaW4sIFtkaXNhYmxlZF0pKSB7XG4gICAgICAgICAgICAgICAgJjp3aGVyZSg6bm90KDpoYXMoLmVycm9ycykpKSB7XG4gICAgICAgICAgICAgICAgICAgIDp3aGVyZSguZm9ybS1maWVsZC1jb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIDp3aGVyZSguZm9ybS1pbnB1dF9fbGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpoYXMoLmVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICA6d2hlcmUoLmZvcm0tZmllbGQtY29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA6d2hlcmUoLmZvcm0taW5wdXRfX2xhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtbGFiZWwtc2VsZWN0b3JzIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBTdHlsZXMgdG8gaGlkZSB0aGUgc2Nyb2xsYmFyIGJ1dCBzdGlsbCBhbGxvdyBzY3JvbGxpbmdcbiAqL1xuQG1peGluIHNjcm9sbC13aXRob3V0LXNjcm9sbGJhciB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICBvdmVyZmxvdzogLW1vei1zY3JvbGxiYXJzLW5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBFZGdlICovXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG5cbiAgICAvKiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEgKi9cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKipcbiAqIFNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgY2FyZC1ib3goKSBsYXlvdXQgZm9yIHRoZSBCMkIgc2hvcFxuICovXG5AbWl4aW4gY2FyZC1ib3gtY2hlY2tvdXQge1xuICAgIEBpbmNsdWRlIGNhcmQtYm94O1xuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFyayk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG5cbiAgICAmOmhhcyhpbnB1dDpjaGVja2VkKSxcbiAgICAmLnNlbGVjdGVkLXBheW1lbnQtc2hpcHBpbmctbWV0aG9kIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZvcm0tYmxvY2stZGlzYWJsZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY2FyZC1ib3gtY2hlY2tvdXQtY29tcG9uZW50cygkaXMtbWluaW1hbDogZmFsc2UpIHtcbiAgICBAaWYgJGlzLW1pbmltYWwge1xuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJi1sYWJlbCxcbiAgICAgICAgJi1pbmZvLFxuICAgICAgICAmLXByaWNlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBpZiAkaXMtbWluaW1hbCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aGFzKDpjaGVja2VkKSxcbiAgICAgICAgJjpoYXMoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmFkaW8ge1xuICAgICAgICAgICAgJl9faW5wdXQge1xuICAgICAgICAgICAgICAgIHRvcDogLTE2cHg7IC8vIGNvbnNpZGVyIHRoZSAxNHB4IHBhZGRpbmcgKGV4dHJhIDJweCBmb3IgYm9yZGVyKVxuXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIEBpZiAkaXMtbWluaW1hbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xufVxuXG4vKipcbiAqIGNhcmQtYm94IGxpc3QgbGF5b3V0IGZvciB0aGUgQjJCIHNob3BcbiAqL1xuQG1peGluIGNhcmQtYm94LWxpc3QtY2hlY2tvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgZ2FwOiAwLjhyZW07XG4gICAgdHJhbnNpdGlvbjogZ2FwIDAuM3M7XG59XG5cbi8vIEFsdGVybmF0aXZlIGRpc2MtbGlrZSBzdHlsaW5nIGZvciByYWRpbyBhbmQgY2hlY2tib3ggaW5wdXRzXG5AbWl4aW4gaW5wdXQtZGlzYyB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDAgMTBweCAwIGF1dG87XG4gICAgbWFyZ2luLWJsb2NrOiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGZsZXg6IDAgMCAxNXB4OyAvLyBpbiBjYXNlIGl0J3MgcGFydCBvZiBhIGZsZXggbGF5b3V0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2IoMCwgMCwgMCwgMC4xKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8vIGNhcmQgYm94ZXMgYXJlIHR5cGljYWxseSB1c2VkIG9uIHByb2R1Y3QgZGV0YWlsIHNlcnZpY2VzLCBjaGVja291dCB0cmFuc3BvcnQvcGF5bWVudCBvcHRpb25zLFxuLy8gQU5EIHByZS1jaGVja291dCBwYWdlXG5AbWl4aW4gY2FyZC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgbGlnaHQpO1xuICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTkwMCcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCRpbnB1dCwgYm9yZGVyLWNvbG9yKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE0cHggMzBweCAxNHB4IDIwcHg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogLTFweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgICAgIEBpbmNsdWRlIGlucHV0LWRpc2M7XG4gICAgfVxuXG4gICAgJjpoYXMoOmNoZWNrZWQpLFxuICAgICZbY2xhc3MqPSdzZWxlY3RlZCddIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIFt0eXBlPSdjaGVja2JveCddOm5vdCguZml4LXNwZWNpZmljaXR5KSxcbiAgICAgICAgW3R5cGU9J3JhZGlvJ106bm90KC5maXgtc3BlY2lmaWNpdHkpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoOmhhcyhbZGlzYWJsZWRdKSksXG4gICAgJjpmb2N1cy13aXRoaW46bm90KDpoYXMoW2Rpc2FibGVkXSkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktNDAwKTtcblxuICAgICAgICBbdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpLFxuICAgICAgICBbdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcyhbZGlzYWJsZWRdKTpub3QoLmZpeC1zcGVjaWZpY2l0eSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpZ2h0KTtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI6cm9vdCxcbltkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0ge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9ycy5cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cyB7XG4gICAgLS0jeyRwcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2Ige1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dCB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICAtLSN7JHByZWZpeH13aGl0ZS1yZ2I6ICN7dG8tcmdiKCR3aGl0ZSl9O1xuICAtLSN7JHByZWZpeH1ibGFjay1yZ2I6ICN7dG8tcmdiKCRibGFjayl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktYmFzZSl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yKX07XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9keS12YXJpYWJsZXNcblxuICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1saW5rLWRlY29yYXRpb246ICN7JGxpbmstZGVjb3JhdGlvbn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvcil9O1xuXG4gIEBpZiAkbGluay1ob3Zlci1kZWNvcmF0aW9uICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItZGVjb3JhdGlvbjogI3skbGluay1ob3Zlci1kZWNvcmF0aW9ufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmd9O1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvcmRlci12YXJcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItc3R5bGU6ICN7JGJvcmRlci1zdHlsZX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnR9O1xuXG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtOiAjeyRib3JkZXItcmFkaXVzLXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZzogI3skYm9yZGVyLXJhZGl1cy1sZ307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGw6ICN7JGJvcmRlci1yYWRpdXMteGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bDogI3skYm9yZGVyLXJhZGl1cy14eGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLTJ4bDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsKTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjAgZm9yIGNvbnNpc3RlbmN5XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbDogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvcmRlci12YXJcblxuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbTogI3skYm94LXNoYWRvdy1zbX07XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGc6ICN7JGJveC1zaGFkb3ctbGd9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0OiAjeyRib3gtc2hhZG93LWluc2V0fTtcblxuICAvLyBGb2N1cyBzdHlsZXNcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9jdXMtdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGg6ICN7JGZvY3VzLXJpbmctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLW9wYWNpdHk6ICN7JGZvY3VzLXJpbmctb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3I6ICN7JGZvY3VzLXJpbmctY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9jdXMtdmFyaWFibGVzXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xuXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZy1kYXJrKX07XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3ItZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1jb250YWluZXItY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgbWl4aW5zXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkY29udGFpbmVyLXBhZGRpbmcteCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWVtcHR5LWxpbmUtYmVmb3JlXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RvdWJsZS1zbGFzaC1jb21tZW50LWVtcHR5LWxpbmUtYmVmb3JlXG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICcuLi8uLi9kZWZhdWx0L3Nhc3MvYXNnYXJkLXZhcmlhYmxlcycgYXMgYXNnYXJkLXZhcmlhYmxlcztcblxuLy8gYm9vdHN0cmFwIHZhcmlhYmxlc1xuLy8gbGF5b3V0XG4kZ3JpZC1icmVha3BvaW50czogbWFwLm1lcmdlKFxuICAgIGFzZ2FyZC12YXJpYWJsZXMuJGdyaWQtYnJlYWtwb2ludHMsXG4gICAgKFxuICAgICAgICBkZXNrdG9wOiAxNjUwcHgsXG4gICAgICAgIGZ1bGxoZDogMTkyMHB4LFxuICAgICAgICAyazogMjUwMHB4XG4gICAgKVxuKTtcblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiBtYXAubWVyZ2UoXG4gICAgYXNnYXJkLXZhcmlhYmxlcy4kY29udGFpbmVyLW1heC13aWR0aHMsXG4gICAgKFxuICAgICAgICBsZzogMTAyNHB4LFxuICAgICAgICB4bDogMTE0MHB4LFxuICAgICAgICB4eGw6IDE2ODVweFxuICAgIClcbik7XG5cbi8vIHNwYWNpbmdcbiRjb250YWluZXItcGFkZGluZy14OiAzcmVtO1xuJGNhbnZhcy1wYWRkaW5nLXk6IDRyZW07XG4kY2FudmFzLXBhZGRpbmcteS1tZDogNnJlbTtcbiRjYW52YXMtcGFkZGluZy15LXh4bDogN3JlbTtcblxuLy8gZm9udFxuJGZvbnQtc2l6ZS1yb290OiA2Mi41JTtcbiRmb250LXNpemUtYmFzZTogMS40cmVtO1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjtcbiRmb250LWZhbWlseS1iYXNlOiAnUGx1cyBKYWthcnRhIFNhbnMnLCAnUGx1cyBKYWthcnRhIFNhbnMtZmFsbGJhY2snLCAnQXJpYWwnLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2l6ZS1zbTogMS4ycmVtO1xuJGZvbnQtc2l6ZS1sZzogJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcbiRmb250LXNpemUtbGFyZ2VyOiAkZm9udC1zaXplLWJhc2UgKiAxLjU7IC8vICRoNC1mb250LXNpemU7XG4kZm9udC1zaXplLWxhcmdlc3Q6ICRmb250LXNpemUtYmFzZSAqIDI7IC8vICRoMi1mb250LXNpemU7XG5cbiRsZWdlbmQtZm9udC1zaXplOiAycmVtO1xuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAycmVtO1xuJGxlZ2VuZC1mb250LXdlaWdodDogNzAwO1xuXG4vLyB0eXBvXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogMWVtO1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiA3MDA7XG5cbi8vIGNvbG9yc1xuJHByaW1hcnk6ICMzMzMzNzI7XG4kcHJpbWFyeS1kYXJrOiAjMjMyMzUyO1xuJHByaW1hcnktbWlkOiAjZThlOGZkO1xuJHByaW1hcnktbGlnaHQ6ICNlYmViZjE7XG4kcHJpbWFyeS1ncmF5OiAjZjFmMWYxO1xuJHByaW1hcnktcmVkOiAjYWYzMjMyO1xuJHNlY29uZGFyeTogIzIzMjM1MjtcbiRsaWdodDogI2ZmZjtcbiRkYXJrOiAjMDAwO1xuJGJvZHktYmc6ICNmOGY5ZmM7XG5cbiRncmVlbjogIzA1ODgwMjtcbiRncmVlbi1kYXJrOiAjMTg4MDM4O1xuJGdyZWVuLXNwOiByZ2IoMywgMTgxLCAwKTtcbiRncmVlbi1kYXJrLXNlbWktdHJhbnNwOiByZ2IoMjQsIDEyOCwgNTYsIDAuMSk7XG5cbiR0aGVtZS1jb2xvcnM6IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiR0aGVtZS1jb2xvcnMsXG4gICAgKFxuICAgICAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICAgICAgcHJpbWFyeS1kYXJrOiAkcHJpbWFyeS1kYXJrLFxuICAgICAgICBwcmltYXJ5LW1pZDogJHByaW1hcnktbWlkLFxuICAgICAgICBwcmltYXJ5LWxpZ2h0OiAkcHJpbWFyeS1saWdodCxcbiAgICAgICAgcHJpbWFyeS1ncmF5OiAkcHJpbWFyeS1ncmF5LFxuICAgICAgICBwcmltYXJ5LXJlZDogJHByaW1hcnktcmVkLFxuICAgICAgICBwcmltYXJ5LWdyZWVuOiAkZ3JlZW4sXG4gICAgICAgIHNlY29uZGFyeTogJHNlY29uZGFyeSxcbiAgICAgICAgbGlnaHQ6ICRsaWdodCxcbiAgICAgICAgZGFyazogJGRhcmssXG4gICAgICAgIGRhcmstc2VtaS10cmFuc3A6IHJnYigwLCAwLCAwLCAwLjEpLFxuICAgICAgICBiYXNlLWJnOiAkbGlnaHQsXG4gICAgICAgIGJhc2UtdGV4dDogJGRhcmssXG4gICAgICAgIGxpbms6ICRwcmltYXJ5LFxuICAgICAgICBzdWNjZXNzOiAjOGVkNjA5LFxuICAgICAgICBzdWNjZXNzLWJnOiAjZThmMWQ5LFxuICAgICAgICBzdWNjZXNzLXRleHQ6ICRkYXJrLFxuICAgICAgICBpbmZvOiAjOWNiNWUxLFxuICAgICAgICBpbmZvLWJnOiAjZGRlZGYzLFxuICAgICAgICBpbmZvLXRleHQ6ICRkYXJrLFxuICAgICAgICB3YXJuaW5nOiAjMjM5YmM4LFxuICAgICAgICB3YXJuaW5nLWJnOiAjOWNiNWUxLFxuICAgICAgICB3YXJuaW5nLXRleHQ6ICRkYXJrLFxuICAgICAgICBkYW5nZXI6ICNlMjY5NjksXG4gICAgICAgIGRhbmdlci1iZzogI2Y2ZGZkZixcbiAgICAgICAgZGFuZ2VyLXRleHQ6ICRkYXJrLFxuICAgICAgICBzdGFyLXJhdGluZy1iZzogI2ZiMCxcbiAgICAgICAgaW4tc3RvY2s6ICRncmVlbixcbiAgICAgICAgb3V0LW9mLXN0b2NrOiAjZTI2OTY5LFxuICAgICAgICBwcmVvcmRlcjogI2VhYjAwMCxcbiAgICAgICAgLy8gMTAlIG9mIGluLXN0b2NrIGNvbG91clxuICAgICAgICBpbi1zdG9jay1iZzogcmdiKDUsIDEzNiwgMiwgMC4xKSxcbiAgICAgICAgZ3JheS0xMDA6ICNmM2YzZjMsXG4gICAgICAgIGdyYXktMjAwOiAjZGVkZWRlLFxuICAgICAgICBncmF5LTMwMDogI2QwZDBkMCxcbiAgICAgICAgZ3JheS00MDA6ICNiMWIxYjEsXG4gICAgICAgIGdyYXktNjAwOiAjNzQ3NDc0LFxuICAgICAgICBncmF5LTcwMDogIzRkNGQ0ZCxcbiAgICAgICAgZ3JheS04MDA6ICMzODM4MzgsXG4gICAgICAgIGdyYXktOTAwOiAjMjYyNjI2LFxuICAgICAgICBncmF5LXNlbWktdHJhbnNwOiByZ2IoMjAsIDkyLCAxMjgsIDAuMSksXG4gICAgICAgIHNhdmluZy1jb2xvcjogcmdiKDI0LCAxMjgsIDU2LCAxKSxcbiAgICAgICAgc2F2aW5nLWNvbG9yLWJnOiAkZ3JlZW4tZGFyay1zZW1pLXRyYW5zcCxcbiAgICAgICAgdm91Y2hlci1iZzogI2Q4ZWRmN1xuICAgIClcbik7XG4vLyBib290c3RyYXAgdmFyaWFibGVzIGVuZFxuXG4kdGhlbWUtZ3JhZGllbnRzOiAoXG4gICAgJ3ByaW1hcnktYmcnOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZGFyaycpLCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5JykpXG4pO1xuXG4kbGFiZWwtZ2lmdC1jb2xvcjogIzAwYWVhMztcbiRsYWJlbC11c2VkLXByb2R1Y3QtY29sb3I6ICNlYWIwMDA7XG4kbGFiZWwtZ2lmdC1iZy1jb2xvcjogI2U2ZmJmMztcblxuLy8gc2hvcGlvIHZhcmlhYmxlc1xuJGZvbnQtcGF0aDogJy9hc3NldHMvZXNob3Auc2V0b3MuY3ovZm9udCc7XG5cbiRoMS1mb250LXNpemU6IGNsYW1wKDNyZW0sIDZ2dywgNHJlbSk7IC8vICRmb250LXNpemUtYmFzZSAqIDIuNTtcbiRoMi1mb250LXNpemU6IDMuNnJlbTsgLy8gQ3VzdG9tIGZvbnQgc2l6ZSBieSBkZXNpZ25cbiRoMy1mb250LXNpemU6IDJyZW07IC8vICRmb250LXNpemUtYmFzZSAqIDEuNzU7XG4kaDQtZm9udC1zaXplOiAxLjhyZW07XG4kaDUtZm9udC1zaXplOiAxLjZyZW07XG4kaDYtZm9udC1zaXplOiAxLjZyZW07XG5cbiRidG46IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiRidG4sXG4gICAgKFxuICAgICAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpLFxuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKSxcbiAgICAgICAgaG92ZXItYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZGFyaycpLFxuICAgICAgICBob3Zlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKSxcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbVxuICAgIClcbik7XG5cbiRidG4tZGlzYWJsZWQ6IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiRidG4tZGlzYWJsZWQsXG4gICAgKFxuICAgICAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTIwMCksXG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdiYXNlLXRleHQnKSxcbiAgICAgICAgaG92ZXItYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApLFxuICAgICAgICBob3Zlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnYmFzZS10ZXh0JylcbiAgICApXG4pO1xuXG4kYnRuLWRhcms6IChcbiAgICBiZy1jb2xvcjogJGRhcmssXG4gICAgY29sb3I6ICNmZmYsXG4gICAgaG92ZXItYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS05MDApLFxuICAgIGhvdmVyLWNvbG9yOiAjZmZmXG4pO1xuXG4kaW5wdXQ6IG1hcC5tZXJnZShcbiAgICBhc2dhcmQtdmFyaWFibGVzLiRpbnB1dCxcbiAgICAoXG4gICAgICAgIGJnLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpLFxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyksXG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYXJrJyksXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBcbiAgICApXG4pO1xuXG4kY2hlY2tib3gtY2hlY2s6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXFxcbiAgICB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxcXG4gICAgZmlsbD1cIm5vbmVcIlxcXG4gICAgc3Ryb2tlPVwiI3tyZ2JhKCRsaWdodCwgMSl9XCJcXFxuICAgIHN0cm9rZS13aWR0aD1cIjNcIj5cXFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMCA2IDkgMTcgNCAxMlwiPjwvcG9seWxpbmU+XFxcbiAgICA8L3N2Zz4nKTtcblxuJHBhc3N3b3JkLXNob3c6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1NzYgNTEyXCI+XFxcbiAgICA8cGF0aCBkPVwiTTI4OCA4MGMtNjUuMiAwLTExOC44IDI5LjYtMTU5LjkgNjcuN0M4OS42IDE4My41IDYzIDIyNiA0OS40IDI1NiA2MyAyODYgODkuNiAzMjguNSAxMjggMzY0LjNjNDEuMiAzOC4xIDk0LjggNjcuNyAxNjAgNjcuN3MxMTguOC0yOS42IDE1OS45LTY3LjdDNDg2LjQgMzI4LjUgNTEzIDI4NiA1MjYuNiAyNTZjLTEzLjYtMzAtNDAuMi03Mi41LTc4LjYtMTA4LjNDNDA2LjggMTA5LjYgMzUzLjIgODAgMjg4IDgwek05NS40IDExMi42QzE0Mi41IDY4LjggMjA3LjIgMzIgMjg4IDMyczE0NS41IDM2LjggMTkyLjYgODAuNmM0Ni44IDQzLjUgNzguMSA5NS40IDkzIDEzMS4xIDMuMyA3LjkgMy4zIDE2LjcgMCAyNC42LTE0LjkgMzUuNy00Ni4yIDg3LjctOTMgMTMxLjFDNDMzLjUgNDQzLjIgMzY4LjggNDgwIDI4OCA0ODBzLTE0NS41LTM2LjgtMTkyLjYtODAuNkM0OC42IDM1NiAxNy4zIDMwNCAyLjUgMjY4LjNjLTMuMy03LjktMy4zLTE2LjcgMC0yNC42QzE3LjMgMjA4IDQ4LjYgMTU2IDk1LjQgMTEyLjZ6TTI4OCAzMzZjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBoLTJjMS4zIDUuMSAyIDEwLjUgMiAxNiAwIDM1LjMtMjguNyA2NC02NCA2NC01LjUgMC0xMC45LS43LTE2LTJ2MmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHptMC0yMDhhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2elwiLz5cXFxuICAgIDwvc3ZnPicpO1xuXG4kYW5nbGUtcmlnaHQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDMyMCA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XFxcbiAgICA8cGF0aCBmaWxsPVwiI3tyZ2JhKG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSksIDAuOTk5KX1cIlxcXG4gICAgZD1cIk0yNzguNiAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjEwLjcgMjU2IDczLjQgMTE4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MHpcIi8+XFxcbiAgICA8L3N2Zz4nKTtcblxuJGRpYWdvbmFsLWxpbmU6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj5cXFxuICAgIDxsaW5lIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2U9XCIje3JnYmEobWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTQwMCksIDAuOTk5KX1cIlxcXG4gICAgeDE9XCIwXCIgeTE9XCIwXCIgeDI9XCIxMDBcIiB5Mj1cIjEwMFwiIHZlY3Rvci1lZmZlY3Q9XCJub24tc2NhbGluZy1zdHJva2VcIi8+XFxcbiAgICA8L3N2Zz4nKTtcblxuJGJyZWFkY3J1bWJzOiBtYXAubWVyZ2UoXG4gICAgYXNnYXJkLXZhcmlhYmxlcy4kYnJlYWRjcnVtYnMsXG4gICAgKFxuICAgICAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0xMDAnKSxcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktODAwJyksXG4gICAgICAgIGFjdGl2ZS1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpXG4gICAgKVxuKTtcblxuLy8gaGVhZGVyXG4kaGVhZGVyLW5hdi1oZWlnaHQ6IDUuNXJlbTsgLy8gaGVpZ2h0IG9uIHNtYWxsIHNjcmVlbnNcbiRoZWFkZXItbmF2LWRlc2t0b3AtaGVpZ2h0OiAxNC41cmVtOyAvLyBoZWlnaHQgb24gYmlnZ2VyIHNjcmVlbnNcbiRoZWFkZXItdG9wLW5hdi1kZXNrdG9wLWhlaWdodDogMTQuNXJlbTsgLy8gaGVpZ2h0IG9uIGJpZ2dlciBzY3JlZW5zXG4kaGVhZGVyLW5hdi1icmVha3BvaW50OiAneGwnOyAvLyBicmVha3BvaW50IHdoZW4gbmF2IGNoYW5nZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcFxuJGhlYWRlci1zZWFyY2gtZGVza3RvcC1oZWlnaHQ6IDVyZW07XG4kaGVhZGVyLXNlYXJjaC1kZXNrdG9wLXdpZHRoOiAxMDAlO1xuXG4kc2Nyb2xsYmFyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG5cbi8vIG1lbnVcbiRtZW51LWl0ZW0tZGVza3RvcC1wYWRkaW5nOiAxcmVtO1xuJG1lbnUtc2Vjb25kYXJ5LWxpbmtzLWJnOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuJG1lbnUtc3VibWVudS1zaW5nbGUtY29sdW1uLW1pbjogOTtcblxuLy8gZm9vdGVyXG4kZm9vdGVyLWJsb2NrLWNvbGxhcHNlZC1oZWlnaHQ6IDYuNXJlbTtcblxuLy8gdm91Y2hlciBQREZcbi8vIE5PVEU6IGlmIHRoZSBmb250cyB1c2VkIGhlcmUgYXJlIG5vbi1zdGFuZGFyZCwgdGhlbiB0aGV5IG5lZWQgdG8gYmUgdXBsb2FkZWQgYW5kIHNwZWNpZmllZCBzZXBhcmF0ZWx5IGluIHRoZVxuLy8gbVBERiBpbml0aWFsaXphdGlvbiAoc2VlIHVzYWdlIGluIFNEIG9yIHNwZWFrIHdpdGggREIgOikpXG4kdm91Y2hlcjogbWFwLm1lcmdlKFxuICAgIGFzZ2FyZC12YXJpYWJsZXMuJHZvdWNoZXIsXG4gICAgKFxuICAgICAgICBwcmltYXJ5LWJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICAgIHByaW1hcnktY29sb3I6ICM0NDQsXG4gICAgICAgIHNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yOiAjZGRkLFxuICAgICAgICBzZWNvbmRhcnktY29sb3I6ICM0NDQsXG4gICAgICAgIGJsb2NrLWhpZ2hsaWdodC1iYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwLFxuICAgICAgICBibG9jay1oaWdobGlnaHQtY29sb3I6ICM0NDQsXG4gICAgICAgIGJhc2UtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UsXG4gICAgICAgIGJhc2UtbGluZS1oZWlnaHQ6IDEuNSxcbiAgICAgICAgaGVhZGluZy1mb250OiAkZm9udC1mYW1pbHktYmFzZSxcbiAgICAgICAgYm9keS1mb250OiAkZm9udC1mYW1pbHktYmFzZSxcbiAgICAgICAgbG9nby1tYXgtaGVpZ2h0OiAxMG1tXG4gICAgKVxuKTtcblxuLy8gRnVsbC13aWR0aCBzbGlkZXIgaW1hZ2UgZGltZW5zaW9ucyAoYXBwbGllcyB0byBkZXNrdG9wIG9ubHkpXG4vLyBpbWFnZS13aWR0aDogaW1hZ2Ugc2l6ZVxuLy8gaW1hZ2UtY29udGVudC1hcmVhLXdpZHRoOiB3aGVyZSB3ZSBjYW4gc2FmZWx5IGNyb3AgKGZyb20gdGhlIGZ1bGwgc2l6ZSBpbWFnZSlcbiRzbGlkZXItZGVza3RvcDogbWFwLm1lcmdlKFxuICAgIGFzZ2FyZC12YXJpYWJsZXMuJHNsaWRlci1kZXNrdG9wLFxuICAgIChcbiAgICAgICAgaW1hZ2Utd2lkdGg6IDE5MDBweCxcbiAgICAgICAgaW1hZ2UtY29udGVudC1hcmVhLXdpZHRoOiAxMjAwcHhcbiAgICApXG4pO1xuLy8gc2hvcGlvIHZhcmlhYmxlcyBlbmRcblxuLy8gQ1NTIHZhcmlhYmxlc1xuLy8gbW92ZSB0byBhcHAuc2Nzc1xuIiwiLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuOnJvb3Qge1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLSN7JHByZWZpeH1icmVha3BvaW50LSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1jc3NncmlkIHtcbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tI3skcHJlZml4fXJvd3MsIDEpLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1jb2x1bW5zLCAjeyRncmlkLWNvbHVtbnN9KSwgMWZyKTtcbiAgICBnYXA6IHZhcigtLSN7JHByZWZpeH1nYXAsICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG5cbiAgICBAaW5jbHVkZSBtYWtlLWNzc2dyaWQoKTtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICBib3gtc2l6aW5nOiBpZih2YXJpYWJsZS1leGlzdHMoaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZykgYW5kICRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nLCBib3JkZXItYm94LCBudWxsKTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBgLmNvbC1hdXRvYCwgYC5jb2xgICgmIHJlc3BvbnNpdmUgdmFyaWFudHMpIGZyb20gYnJlYWtpbmcgb3V0IHRoZSBncmlkXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZTogZmFsc2UsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkc2l6ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuXG4gIH0gQGVsc2Uge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXIgb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkY291bnQpKTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW4gaW52YWxpZCB2YWx1ZS5cbiAgICAgICAgLy8gRW5kcyB3aXRoIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZS5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgLmctc3RhcnQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6ICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVkdWNlIHRoZSBhbW91bnQgb2YgcmVuZGVyZWQgQ1NTLiBUaGlzIGlzIGEgY29weSBvZiB0aGUgZGVmYXVsdCBCb290c3RyYXAgNS4zIHV0aWxpdGllcyBmaWxlIHdpdGhcbi8vIHVubmVjZXNzYXJ5IHBhcnRzIGNvbW1lbnRlZCBvdXQgKHRvIGFsbG93IHlvdSB0byBlYXNpbHkgcmUtZW5hYmxlIHBhcnRzIHlvdSBtYXkgd2FudCkuXG5AdXNlICdzYXNzOm1hcCc7XG5cbiR1dGlsaXRpZXM6IG1hcC1nZXQtbXVsdGlwbGUoXG4gICAgJHV0aWxpdGllcyxcbiAgICAoXG4gICAgICAgICdkaXNwbGF5JyxcbiAgICAgICAgJ2p1c3RpZnktY29udGVudCcsXG4gICAgICAgICdhbGlnbi1pdGVtcycsXG4gICAgICAgICdtYXJnaW4nLFxuICAgICAgICAnbWFyZ2luLXgnLFxuICAgICAgICAnbWFyZ2luLXknLFxuICAgICAgICAnbWFyZ2luLXRvcCcsXG4gICAgICAgICdtYXJnaW4tYm90dG9tJyxcbiAgICAgICAgJ21hcmdpbi1zdGFydCcsXG4gICAgICAgICduZWdhdGl2ZS1tYXJnaW4nLFxuICAgICAgICAnbmVnYXRpdmUtbWFyZ2luLXgnLFxuICAgICAgICAnbmVnYXRpdmUtbWFyZ2luLXknLFxuICAgICAgICAnbmVnYXRpdmUtbWFyZ2luLXRvcCcsXG4gICAgICAgICduZWdhdGl2ZS1tYXJnaW4tYm90dG9tJyxcbiAgICAgICAgJ25lZ2F0aXZlLW1hcmdpbi1zdGFydCcsXG4gICAgICAgICdwYWRkaW5nJyxcbiAgICAgICAgJ3BhZGRpbmctdG9wJyxcbiAgICAgICAgJ3BhZGRpbmctYm90dG9tJyxcbiAgICAgICAgLy8gRElTQUJMRURcbiAgICAgICAgLy8gJ29yZGVyJyxcbiAgICAgICAgLy8gJ2ZsZXgnLFxuICAgICAgICAvLyAnZmxleC1kaXJlY3Rpb24nLFxuICAgICAgICAvLyAnZmxleC1ncm93JyxcbiAgICAgICAgLy8gJ2ZsZXgtc2hyaW5rJyxcbiAgICAgICAgLy8gJ2ZsZXgtd3JhcCcsXG4gICAgICAgIC8vICdhbGlnbi1jb250ZW50JyxcbiAgICAgICAgLy8gJ2FsaWduLXNlbGYnLFxuICAgICAgICAvLyAnbWFyZ2luLWVuZCcsXG4gICAgICAgIC8vICduZWdhdGl2ZS1tYXJnaW4tZW5kJyxcbiAgICAgICAgLy8gJ3BhZGRpbmcteCcsXG4gICAgICAgIC8vICdwYWRkaW5nLXknLFxuICAgICAgICAvLyAncGFkZGluZy1lbmQnLFxuICAgICAgICAgLy8gJ3BhZGRpbmctc3RhcnQnXG4gICAgKVxuKTtcblxuLy8gQlMgdXRpbGl0aWVzXG4udGV4dC1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1lbmQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53LTI1IHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTUwIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi53LTc1IHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTEwMCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmZsZXgtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlciB7XG4gICAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLTAge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRvcCB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10b3AtMCB7XG4gICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWVuZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWVuZC0wIHtcbiAgICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLWJvcmRlci13aWR0aCkgdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItYm90dG9tLTAge1xuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zdGFydCB7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc3RhcnQtMCB7XG4gICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cbiIsIi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeDogXCJcIiwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLWdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciB0eXBlLW9mKG50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IHppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLWdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwic3RyaW5nXCIge1xuICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpLCBudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBudWxsLCBcIlwiLCAkcHJvcGVydHktY2xhc3MpO1xuXG4gICAgLy8gVXNlIGN1c3RvbSBDU1MgdmFyaWFibGUgbmFtZSBpZiBwcmVzZW50LCBvdGhlcndpc2UgZGVmYXVsdCB0byBgY2xhc3NgXG4gICAgJGNzcy12YXJpYWJsZS1uYW1lOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSk7XG5cbiAgICAvLyBTdGF0ZSBwYXJhbXMgdG8gZ2VuZXJhdGUgcHNldWRvLWNsYXNzZXNcbiAgICAkc3RhdGU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBzdGF0ZSksIG1hcC1nZXQoJHV0aWxpdHksIHN0YXRlKSwgKCkpO1xuXG4gICAgJGluZml4OiBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgc3RyLXNsaWNlKCRpbmZpeCwgMSwgMSkgPT0gXCItXCIsIHN0ci1zbGljZSgkaW5maXgsIDIpLCAkaW5maXgpO1xuXG4gICAgLy8gRG9uJ3QgcHJlZml4IGlmIHZhbHVlIGtleSBpcyBudWxsIChlLmcuIHdpdGggc2hhZG93IGNsYXNzKVxuICAgICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcjogaWYoJGtleSwgaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kICRpbmZpeCA9PSBcIlwiLCBcIlwiLCBcIi1cIikgKyAka2V5LCBcIlwiKTtcblxuICAgIEBpZiBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIHtcbiAgICAgIC8vIEluc2lkZSB0aGUgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiAkaXMtcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZSk7XG5cbiAgICAgICAgLy8gRG8gbm90IHJlbmRlciBhbnl0aGluZyBpZiBmbHVpZCBhbmQgbm9uIGZsdWlkIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICAgICAgJHZhbHVlOiBpZigkdmFsID09IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpLCBudWxsLCAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWxvY2FsLXZhcnM6IG1hcC1nZXQoJHV0aWxpdHksIGxvY2FsLXZhcnMpO1xuICAgICRpcy1ydGw6IG1hcC1nZXQoJHV0aWxpdHksIHJ0bCk7XG5cbiAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6YmVnaW46cmVtb3ZlICovXG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtY3NzLXZhciB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDplbmQ6cmVtb3ZlICovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMb29wIG92ZXIgZWFjaCBicmVha3BvaW50XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuXG4gIC8vIEdlbmVyYXRlIG1lZGlhIHF1ZXJ5IGlmIG5lZWRlZFxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUkZTIHJlc2NhbGluZ1xuQG1lZGlhIChtaW4td2lkdGg6ICRyZnMtbXEtdmFsdWUpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIDwgJHJmcy1icmVha3BvaW50KSB7XG4gICAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHJmcykgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAvLyBUaGVuIGNoZWNrIGlmIHRoZSB1dGlsaXR5IG5lZWRzIHByaW50IHN0eWxlc1xuICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCBwcmludCkgPT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCBcIi1wcmludFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEN1c3RvbWl6ZWQgQm9vdHN0cmFwJ3MgUmVib290XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXgsIHNjc3MvYXQtaWYtbm8tbnVsbFxuXG5AdXNlICdzYXNzOm1hcCc7XG5cbi8vIERvY3VtZW50XG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qIHtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiAqL1xuYm9keSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxucCxcbnVsLFxub2wsXG5saSxcbmZpZ3VyZSxcbmZpZ2NhcHRpb24sXG5ibG9ja3F1b3RlLFxuZGwge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLy8gUm9vdFxuLy8gQWJpbGl0eSB0byB0aGUgdmFsdWUgb2YgdGhlIHJvb3QgZm9udCBzaXplcywgYWZmZWN0aW5nIHRoZSB2YWx1ZSBvZiBgcmVtYC5cbi8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuOnJvb3Qge1xuICAgIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemUpKTtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1zbW9vdGgtc2Nyb2xsIHtcbiAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQm9keVxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4vLyA0LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuYm9keSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSkpO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gICAgdGV4dC1hbGlnbjogdmFyKC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpOyAvLyAyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHZhbHVlLWtleXdvcmQtY2FzZVxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA0XG59XG5cbi8vIG1haW4gY29udGVudCBhcmVhIHNob3VsZCB1c2UgYSBsYXJnZXIgZm9udFxubWFpbiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbmhyIHtcbiAgICBtYXJnaW46ICRoci1tYXJnaW4teSAwO1xuICAgIGNvbG9yOiAkaHItY29sb3I7IC8vIDFcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xuICAgIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcblxuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxuXG5wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG5cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gICAgY3Vyc29yOiBoZWxwOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyAzXG59XG5cbi8vIEFkZHJlc3NcblxuYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIExpc3RzXG5cbm9sLFxudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG4vLyAxLiBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuXG5kZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyAvLyAxXG59XG5cbi8vIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuLy8gU3Ryb25nXG5cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG59XG5cbi8vIE1hcmtcblxubWFyayB7XG4gICAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbn1cblxuLy8gU3ViIGFuZCBTdXBcblxuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG5cbnN1YixcbnN1cCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRzdWItc3VwLWZvbnQtc2l6ZSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuLy8gTGlua3NcblxuYSB7XG4gICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcblxuICAgICY6d2hlcmUoOm5vdChbY2xhc3MqPSdfXyddKSkge1xuICAgICAgICAmOmxpbmssXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBsaW5rKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cblxuLy8gQ29kZVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktY29kZTtcbn1cblxuLy8gMS4gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4vLyAyLiBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuLy8gMy4gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG5cbnByZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICAgIG92ZXJmbG93OiBhdXRvOyAvLyAzXG4gICAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICAgIGNvZGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG5cbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IG5vcm1hbDtcbiAgICB9XG59XG5cbmNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jb2RlLWNvbG9yKTtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXG4gICAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gICAgYSA+ICYge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG5cbmtiZCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcblxuICAgIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICAgIGNvbG9yOiAka2JkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG5cbiAgICBrYmQge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTtcblxuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgfVxufVxuXG4vLyBGaWd1cmVzXG5cbi8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcblxuaW1nLFxuc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBUYWJsZXNcblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZy15O1xuICAgIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gICAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG59XG5cbi8vIEltYWdlc1xuXG5pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgc3Ryb2tlOiBjdXJyZW50Y29sb3I7XG59XG5cbi8vIEZvcm1zXG5cbi8vIDEuIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG5cbmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGJvcmRlcjogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbn1cblxuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwOyAvLyAxXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPSdidXR0b24nXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAgIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuICAgIG92ZXJmbG93LXdyYXA6IG5vcm1hbDtcblxuICAgIC8vIFVuZG8gdGhlIG9wYWNpdHkgY2hhbmdlIGZyb20gQ2hyb21lXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHN0eWxlcyBpbiBTYWZhcmkgYW5kIHJlcGxhY2Ugd2l0aCBzb21ldGhpbmcuLi4gYSBsaXR0bGUgbW9yZSB0eXBpY2FsXG4gICAgQHN1cHBvcnRzIChiYWNrZ3JvdW5kOiAtd2Via2l0LW5hbWVkLWltYWdlKGkpKSB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZGF0YS1jb250YWluZXItdHJhbnNmb3JtPSd0cmFuc2xhdGUoMyknIHZpZXdCb3g9JzAgMCAxNiAyMCclM0UlM0NwYXRoIGQ9J004IDAgMyA3aDEwTDggMHpNMyA5bDUgNyA1LTdIM3onLyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0IHRvcCA1MiUgcmlnaHQgNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiBmaWVsZHRleHQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vdC1ub3RhdGlvblxuW2xpc3RdOm5vdChbdHlwZT0nZGF0ZSddKTpub3QoW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10pOm5vdChbdHlwZT0nbW9udGgnXSk6bm90KFt0eXBlPSd3ZWVrJ10pOm5vdChbdHlwZT0ndGltZSddKSB7XG4gICAgJjo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm90LW5vdGF0aW9uXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDMuIE9waW5pb25hdGVkOiBhZGQgJ2hhbmQnIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuXG5idXR0b24sXG5bdHlwZT0nYnV0dG9uJ10sIC8vIDFcblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuXG4gICAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAgICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRm9jdXMgc3R5bGVzIGZvciB0ZXh0IGlucHV0cyBpbiBub24tdHlwaWNhbCBzdHJ1Y3R1cmVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cbmlucHV0OndoZXJlKDpub3QoW3R5cGU9J2J1dHRvbiddKTpub3QoW3R5cGU9J3N1Ym1pdCddKTpub3QoW3R5cGU9J3Jlc2V0J10pKSxcbnRleHRhcmVhIHtcbiAgICAqOm5vdCguZm9ybS1pbnB1dCkgPiAmIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vLyAxLiBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG5cbnRleHRhcmVhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG5cbi8vIDEuIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4vLyAgICB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbi8vICAgIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4vLyAgICBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4vLyAyLiBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cblxuZmllbGRzZXQge1xuICAgIG1pbi13aWR0aDogMDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAkbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBmbG9hdDogbGVmdDsgLy8gMVxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxlZ2VuZC1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICArICoge1xuICAgICAgICBjbGVhcjogbGVmdDsgLy8gMlxuICAgIH1cbn1cblxuLy8gYXV0b2ZpbGwgc3R5bGVcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzMHB4ICNmZmYgaW5zZXQgIWltcG9ydGFudDtcbn1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBJbm5lci1wYWRkaW5nIGlzc3VlcyBpbiBDaHJvbWUgT1NYLCBTYWZhcmkgNVxufVxuXG4vLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbi8vIDIuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuW3R5cGU9J3NlYXJjaCddIHtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMVxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAyXG59XG5cbi8vIDEuIEEgZmV3IGlucHV0IHR5cGVzIHNob3VsZCBzdGF5IExUUlxuLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcbi8vIDIuIFJUTCBvbmx5IG91dHB1dFxuLy8gU2VlIGh0dHBzOi8vcnRsY3NzLmNvbS9sZWFybi91c2FnZS1ndWlkZS9jb250cm9sLWRpcmVjdGl2ZXMvI3Jhd1xuXG4vKiBydGw6cmF3OlxuW3R5cGU9J3RlbCddLFxuW3R5cGU9J3VybCddLFxuW3R5cGU9J2VtYWlsJ10sXG5bdHlwZT0nbnVtYmVyJ10ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIFJlbW92ZSBwYWRkaW5nIGFyb3VuZCBjb2xvciBwaWNrZXJzIGluIHdlYmtpdCBicm93c2Vyc1xuXG46Oi13ZWJraXQtY29sb3Itc3dhdGNoLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8vIDEuIEluaGVyaXQgZm9udCBmYW1pbHkgYW5kIGxpbmUgaGVpZ2h0IGZvciBmaWxlIGlucHV0IGJ1dHRvbnNcbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmlmcmFtZSB7XG4gICAgLy8gUmVtb3ZlIGJvcmRlciBmcm9tIGlmcmFtZVxuICAgIGJvcmRlcjogMDtcblxuICAgIC8vIHdlIG5lZWQgdG8gYmUgc2xpZ2h0bHkgbW9yZSBzcGVjaWZpYyBzbyB0aGF0IHdlIGRvIG5vdCBicmVhayBIZXVyZWthLXR5cGUgd2lkZ2V0c1xuICAgIDp3aGVyZSguY29udGFpbmVyLCAubW9kYWwpICYge1xuICAgICAgICAvLyBrZWVwIHJlc3BvbnNpdmUgYnV0IGZvbGxvdyBhc3BlY3QgcmF0aW9cbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOiB2YXIoLS1pZnJhbWUtYXNwZWN0LXJhdGlvLCAxNiAvIDkpKSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLWlmcmFtZS1hc3BlY3QtcmF0aW8sIDE2IC8gOSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN1bW1hcnlcblxuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG5cbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUHJvZ3Jlc3NcblxuLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxucHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLy8gSGlkZGVuIGF0dHJpYnV0ZVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBSZXNldCBGaXJlZm94IGJlaGF2aW91ciB3aGVyZSBiciBjYW4gaGF2ZSBtYXJnaW5zXG5iciB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3ItdmFyaWFibGVzXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3ItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3JzLW1hcFxuJGdyYXlzOiAoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3JzLW1hcFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgXCJibGFja1wiOiAgICAgICRibGFjayxcbiAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3JzLW1hcFxuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMiBhcmUgMywgNC41IGFuZCA3LlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHLyNjb250cmFzdC1taW5pbXVtXG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6IHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICBzaGFkZS1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgIHNoYWRlLWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpczogICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6ICAgICAgICAgIHRpbnQtY29sb3IoJGluZm8sIDgwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGU6ICAgICAgICAgbWl4KCRncmF5LTEwMCwgJHdoaXRlKSAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZTogICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgIHRpbnQtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4kZW5hYmxlLWRhcmstbW9kZTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGNvbG9yLW1vZGUtdHlwZTogICAgICAgICAgICAgZGF0YSAhZGVmYXVsdDsgLy8gYGRhdGFgIG9yIGBtZWRpYS1xdWVyeWBcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib2R5LXRlcnRpYXJ5LWNvbG9yOiAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZyLXZhcmlhYmxlc1xuJHZyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZyLXZhcmlhYmxlc1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAkZm9jdXMtcmluZy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogJGZvY3VzLXJpbmctb3BhY2l0eSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgICRmb2N1cy1yaW5nLWJsdXIgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYjogICB0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRsaW5rLWNvbG9yKSwgJGxpbmstY29sb3IsIDE1JSkpICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9Jz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxuICBcInZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKSxcbiAgXCJpbnZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1kYW5nZXIpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1kYW5nZXItcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvciksXG4gIClcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LXN0YWNrXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhcy1iYWNrZHJvcDogICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXM6ICAgICAgICAgICAgICAgICAgMTA0NSAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDU1ICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwODAgIWRlZmF1bHQ7XG4kemluZGV4LXRvYXN0OiAgICAgICAgICAgICAgICAgICAgICAxMDkwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtc3RhY2tcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1sZXZlbHMtbWFwXG4kemluZGV4LWxldmVsczogKFxuICBuMTogLTEsXG4gIDA6IDAsXG4gIDE6IDEsXG4gIDI6IDIsXG4gIDM6IDNcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1sZXZlbHMtbWFwXG5cblxuLy8gTmF2c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXZhcmlhYmxlc1xuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstdHJhbnNpdGlvbjogICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtdW5kZXJsaW5lLWdhcDogICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2LXZhcmlhYmxlc1xuXG5cbi8vIE5hdmJhclxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLXZhcmlhYmxlc1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICAgICAgICAkYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICAgICAgICAgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuNjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjgpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWljb24tY29sb3I6ICAgICAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWljb24tY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4xNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay12YXJpYWJsZXNcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNTUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1pY29uLWNvbG9yOiAgICAgICAgICAgICRuYXZiYXItZGFyay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWljb24tY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tdmFyaWFibGVzXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgY2FsYygjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfSAtICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGRyb3Bkb3duLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkgJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4vLyBmdXN2LWVuYWJsZVxuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG4kZHJvcGRvd24tZGFyay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1iZzogICAgICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3I6ICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZzogICAgICAgICAgJGRyb3Bkb3duLWRpdmlkZXItYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3gtc2hhZG93OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1jb2xvcjogICAgICAgICAgJGRyb3Bkb3duLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yOiAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnOiAgICAgICByZ2JhKCR3aGl0ZSwgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yOiAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnOiAgICAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcjogICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcblxuXG4vLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0OiAgICAgICAgICAgY2FsYygtMSAqICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYmc6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0OyAvLyBUb2RvIGluIHY2OiByZW1vdmUgdGhpcz9cblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi12YXJpYWJsZXNcblxuXG4vLyBQbGFjZWhvbGRlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBsYWNlaG9sZGVyc1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWF4OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItb3BhY2l0eS1taW46ICAgICAgICAgICAuMiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcGxhY2Vob2xkZXJzXG5cbi8vIENhcmRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLXZhcmlhYmxlc1xuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1zcGFjZXIteTogICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtc3VidGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kY2FyZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteCAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggKiAuNSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZC12YXJpYWJsZXNcblxuLy8gQWNjb3JkaW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tdmFyaWFibGVzXG4kYWNjb3JkaW9uLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICBzdWJ0cmFjdCgkYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMsICRhY2NvcmRpb24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uLCBib3JkZXItcmFkaXVzIC4xNXMgZWFzZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS10ZXh0LWVtcGhhc2lzKSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuM1xuLy8gZnVzdi1lbmFibGVcbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRidG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgJHByaW1hcnktdGV4dC1lbXBoYXNpcyAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNmb3JtOiAgICAgICAgICAgICAgICByb3RhdGUoLTE4MGRlZykgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWljb246ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skYWNjb3JkaW9uLWljb24tY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi12YXJpYWJsZXNcblxuLy8gVG9vbHRpcHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtdmFyaWFibGVzXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdjZcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIGNhbGMoI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuXG4vLyBUb2FzdHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LXZhcmlhYmxlc1xuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICR0b2FzdC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvYXN0LXZhcmlhYmxlc1xuXG5cbi8vIEJhZGdlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2UtdmFyaWFibGVzXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjM1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtdmFyaWFibGVzXG5cblxuLy8gTW9kYWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC12YXJpYWJsZXNcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTogICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5OiAgMSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyOiAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAycmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNMTEuMzU0IDEuNjQ2YS41LjUgMCAwIDEgMCAuNzA4TDUuNzA3IDhsNS42NDcgNS42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOGwtNi02YS41LjUgMCAwIDEgMC0uNzA4bDYtNmEuNS41IDAgMCAxIC43MDggMCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy40XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuNFxuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjRcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLW9wYWNpdHk6ICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5OiAgICAuNzUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk6ICAgIDEgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHk6IC4yNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZmlsdGVyOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRidG4tY2xvc2Utd2hpdGUtZmlsdGVyOiAgICAgaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDAlKSBicmlnaHRuZXNzKDIwMCUpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuNFxuLy8gc2Nzcy1kb2NzLWVuZCBjbG9zZS12YXJpYWJsZXNcblxuXG4vLyBPZmZjYW52YXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG9mZmNhbnZhcy12YXJpYWJsZXNcbiRvZmZjYW52YXMtcGFkZGluZy15OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGg6ICAgICAgICA0MDBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0OiAgICAgICAgIDMwdmggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAuM3MgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJvcmRlci13aWR0aDogICAgICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJnLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYWNrZHJvcC1iZzogICAgICAgICAgICAgJG1vZGFsLWJhY2tkcm9wLWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy12YXJpYWJsZXNcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4xODc1cmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCByZW1vdmluZyBpbiB2NlxuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG5AaW1wb3J0IFwidmFyaWFibGVzLWRhcmtcIjsgLy8gVE9ETzogY2FuIGJlIHJlbW92ZWQgc2FmZWx5IGluIHY2LCBvbmx5IGhlcmUgdG8gYXZvaWQgYnJlYWtpbmcgY2hhbmdlcyBpbiB2NS4zXG4iLCIvLyBBZGRpdGlvbmFsIHJlc2V0cyBmb3IgaVNwYWNlXG5cbjp3aGVyZSguY29udGFpbmVyLCAubW9kYWwpIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgQHN1cHBvcnRzIChhc3BlY3QtcmF0aW86IDE2IC8gOSkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0taWZyYW1lLWFzcGVjdC1yYXRpbywgMTYgLyA5KTtcbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbmJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxubWFpbiB7XG4gICAgZmxleDogMTtcbn1cblxuYSxcbmJ1dHRvbiB7XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGF1dG8gbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnaW5mbycpO1xuICAgIH1cbn1cblxuYSB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xufVxuXG5zdmcge1xuICAgIEBpbmNsdWRlIHNxdWFyZSgyLjJyZW0pO1xuXG4gICAgJi5pY29uIHtcbiAgICAgICAgJl9fZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEuM3JlbSk7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgYm9yZGVyOiAwLjZyZW0gc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCBkYW5nZXIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS4ycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBkYW5nZXIpO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBzdHJva2Utd2lkdGg6IDAuNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYWluLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMTAwJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm90LW5vdGF0aW9uXG4uc3Itb25seTpub3QoOmZvY3VzKTpub3QoOmFjdGl2ZSkge1xuICAgIEBleHRlbmQgJXNyLW9ubHk7XG59XG5cbi5wcmludC12aXNpYmlsdHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAuZGVza3RvcC1uYXYtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgIC5tb2JpbGUtbmF2LW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubm8tanMtb25seSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuanMgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uanMtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5qcyAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uYm94ZXM6bm90KC5ib3hlcy1jZW50ZXIpIHtcbiAgICAmLFxuICAgIC5jb21tb24tY29udGVudCAmIHtcbiAgICAgICAgQGluY2x1ZGUgYm94ZXMoJHF1YW50aXR5OiBmYWxzZSk7XG5cbiAgICAgICAgPiAqOmhhcyg+IHBpY3R1cmU6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCksXG4gICAgICAgID4gKjpoYXMoPiBpbWc6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5bY2xhc3MqPSdib3hlcy0nXSB7XG4gICAgLy8gYm94ZXMgdmFyaWFibGVzIGFyZSBsb2NhbCAob3IgJ3ByaXZhdGUnLCBpZiB5b3UgcHJlZmVyIDotKSlcbiAgICAvLyBVc2VkIHRvIGdlbmVyYXRlIHRoZSBib3hlcy0gdXRpbGl0eSBjbGFzc2VzLiBJbiBvcmRlciB0byBvdmVycmlkZSwgeW91IG5lZWQgYm90aCB0aGUgbmV3IHZhcmlhYmxlIHZhbHVlcyBBTkQgdGhlIEBmb3IgbG9vcFxuICAgIC8vIFRoZXJlIGFyZSAzIGdhcCBvcHRpb25zOiAxcmVtLCAycmVtLCBhbmQgM3JlbSwgc3BlY2lmaWVkIGJ5IHRoZSBnYXAtMS8yLzMgY2xhc3MgKHRoZSBkZWZhdWx0IGlzIDFyZW0gaWYgeW91IG9taXQgdGhlIGdhcCBjbGFzcylcbiAgICAkYm94ZXM6IChcbiAgICAgICAgbWluOiAyLFxuICAgICAgICBtYXg6IDVcbiAgICApO1xuXG4gICAgLS1mbGV4LWdyb3c6IDA7XG4gICAgLS1mbGV4LXNocmluazogMTtcbiAgICAtLWZsZXgtYmFzaXM6IGF1dG87XG5cbiAgICAvLyBHZW5lcmF0ZSB0aGUgLmJveGVzIHJ1bGVzXG4gICAgQGF0LXJvb3Qge1xuICAgICAgICBAZm9yICRib3ggZnJvbSBtYXAuZ2V0KCRib3hlcywgbWluKSB0aHJvdWdoIG1hcC5nZXQoJGJveGVzLCBtYXgpIHtcbiAgICAgICAgICAgIC5ib3hlcy0jeyRib3h9IHtcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgIC5jb21tb24tY29udGVudCAmIHtcbiAgICAgICAgICAgICAgICAgICAgJjp3aGVyZSg6bm90KFtjbGFzcyo9J2dhcC0nXSkpLFxuICAgICAgICAgICAgICAgICAgICAmOndoZXJlKC5nYXAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94ZXMoJHF1YW50aXR5OiAkYm94LCAkZ2FwOiAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6d2hlcmUoLmdhcC0yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hlcygkcXVhbnRpdHk6ICRib3gsICRnYXA6IDIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjp3aGVyZSguZ2FwLTMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveGVzKCRxdWFudGl0eTogJGJveCwgJGdhcDogMyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3sgbWFwLmdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpIC0gMSB9KSB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vdC1ub3RhdGlvblxuICAgICAgICAmOndoZXJlKDpub3QoLmJveGVzLWNlbnRlcik6bm90KC5ib3hlcy0xKSkge1xuICAgICAgICAgICAgJjp3aGVyZSg6bm90KC5nYXAtMik6bm90KC5nYXAtMykpID4gKjpub3QoLnNwZWNpZmljaXR5LWZpeCkge1xuICAgICAgICAgICAgICAgIC0tZmxleC1iYXNpczogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOndoZXJlKC5nYXAtMikgPiAqOm5vdCguc3BlY2lmaWNpdHktZml4KSB7XG4gICAgICAgICAgICAgICAgLS1mbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDFyZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOndoZXJlKC5nYXAtMykgPiAqOm5vdCguc3BlY2lmaWNpdHktZml4KSB7XG4gICAgICAgICAgICAgICAgLS1mbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEuNXJlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgICAgPiAqOm5vdCguc3BlY2lmaWNpdHktZml4KSB7XG4gICAgICAgICAgICAtLWZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXg6IHZhcigtLWZsZXgtZ3JvdykgdmFyKC0tZmxleC1zaHJpbmspIHZhcigtLWZsZXgtYmFzaXMpO1xuXG4gICAgICAgICY6bm90KC5zcGVjaWZpY2l0eS1maXgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gKixcbiAgICAuYm94LXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC13cmFwOiBwcmV0dHk7XG4gICAgfVxuXG4gICAgPiAqOndoZXJlKGltZykge1xuICAgICAgICBoZWlnaHQ6IHJldmVydC1sYXllcjtcbiAgICAgICAgd2lkdGg6IHJldmVydC1sYXllcjtcbiAgICB9XG5cbiAgICAvLyBtYWtlIGlubmVyIHNwYWNpbmcgZm9sbG93IGdhcCB2YWx1ZSBVTkxFU1MgaXQncyBiaWdnZXIgdGhhbiAycmVtIChiZWNhdXNlIGl0IGdyb3dzIHRvbyBsYXJnZSBmb3IgYSBnZW5lcmFsIHV0aWxpdHkgY2xhc3MgdG8gc3BlY2lmeSEgOi0pKVxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vdC1ub3RhdGlvblxuICAgID4gKiA+ICo6bm90KGltZyk6bm90KHBpY3R1cmUpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICYuZ2FwLTEgPiAqID4gKjpub3QoaW1nKTpub3QocGljdHVyZSk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDFyZW0gMDtcbiAgICB9XG5cbiAgICAmLmdhcC0yID4gKiA+ICo6bm90KGltZyk6bm90KHBpY3R1cmUpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICYuZ2FwLTMgPiAqID4gKjpub3QoaW1nKTpub3QocGljdHVyZSk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDJyZW0gMDtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cbn1cblxuW2NsYXNzKj0nYm94ZXMtJ10udGV4dC1jZW50ZXIsXG5bY2xhc3MqPSdib3hlcy0nXSBbc3R5bGUqPSd0ZXh0LWFsaWduOmNlbnRlciddIHtcbiAgICBwaWN0dXJlLFxuICAgIGltZyB7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIH1cbn1cblxuLmJveGVzLWNlbnRlciB7XG4gICAgJixcbiAgICAuY29tbW9uLWNvbnRlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGJveGVzKCRxdWFudGl0eTogZmFsc2UsICRjZW50ZXItYmxvY2s6IHRydWUpO1xuICAgIH1cbn1cblxuLy8gYSBncmlkIHZlcnNpb24gb2YgQm9vdHN0cmFwJ3MgLnJvdyB3aGljaCBjYW4gd3JhcCBhdCBhIHNwZWNpZmllZCBtaW4td2lkdGggYW5kIHdpbGwgdXNlIGdhcCByYXRoZXIgdGhhbiBtYXJnaW5zXG4ucm93IHtcbiAgICAmLS1ncmlkIHtcbiAgICAgICAgJGJzLWd1dHRlci14OiAxLjVyZW07XG4gICAgICAgICRicy1ndXR0ZXIteTogMDtcbiAgICAgICAgJGdyaWQtY29sdW1uLW1pbmltdW06IDQyMHB4O1xuXG4gICAgICAgIC0tYnMtZ3V0dGVyLXg6ICN7JGJzLWd1dHRlci14fTtcbiAgICAgICAgLS1icy1ndXR0ZXIteTogI3skYnMtZ3V0dGVyLXl9O1xuICAgICAgICAtLWdyaWQtcm93LWdhcDogdmFyKC0tYnMtZ3V0dGVyLXgpO1xuICAgICAgICAtLWdyaWQtY29sdW1uLW1pbmltdW06ICN7JGdyaWQtY29sdW1uLW1pbmltdW19O1xuXG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1icy1ndXR0ZXIteSkpO1xuXG4gICAgICAgIC8vIGdyaWQgdmVyc2lvblxuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IHZhcigtLWdyaWQtcm93LWdhcCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKHZhcigtLWdyaWQtY29sdW1uLW1pbmltdW0pLCAxMDAlKSwgMWZyKSk7XG5cbiAgICAgICAgKyAucm93IHtcbiAgICAgICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWdyaWQtcm93LWdhcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sIHtcbiAgICAgICAgICAgICYtLW5ldy1yb3cge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3BlY2lmeSBmb3IgbGF5b3V0IHRoYXQgY2Fubm90IGhhdmUgYW4gZXh0cmEgaW5uZXIgd3JhcHBlclxuICAgICAgICAmLWZpZWxkc2V0IHtcbiAgICAgICAgICAgIC0tYnMtZ3V0dGVyLXg6ICN7JGJzLWd1dHRlci14fTtcbiAgICAgICAgICAgIC0tYnMtZ3V0dGVyLXk6ICN7JGJzLWd1dHRlci15fTtcbiAgICAgICAgICAgIC0tZ3JpZC1yb3ctZ2FwOiB2YXIoLS1icy1ndXR0ZXIteCk7XG4gICAgICAgICAgICAtLWdyaWQtY29sdW1uLW1pbmltdW06ICN7JGdyaWQtY29sdW1uLW1pbmltdW19O1xuXG4gICAgICAgICAgICBmaWVsZHNldDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgIGdhcDogdmFyKC0tZ3JpZC1yb3ctZ2FwKTtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbih2YXIoLS1ncmlkLWNvbHVtbi1taW5pbXVtKSwgMTAwJSksIDFmcikpO1xuXG4gICAgICAgICAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICArIC5mb3JtLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICsgLmZvcm0taW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aGFzKC5jaGVja2JveCwgLnN1Ym1pdCwgLmZvcm0tZmllbGQtLXRleHRhcmVhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGZvcm0gPiBmaWVsZHNldCBmaWVsZHNldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB9XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIDEuIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vLyAgICBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gICAgbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuXG4laGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkaW5ncy1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xufVxuXG5oMSB7XG4gICAgQGV4dGVuZCAlaGVhZGluZztcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG59XG5cbmgyIHtcbiAgICBAZXh0ZW5kICVoZWFkaW5nO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbn1cblxuaDMge1xuICAgIEBleHRlbmQgJWhlYWRpbmc7XG5cbiAgICBmb250LXNpemU6ICRoMy1mb250LXNpemU7XG59XG5cbmg0IHtcbiAgICBAZXh0ZW5kICVoZWFkaW5nO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbn1cblxuaDUge1xuICAgIEBleHRlbmQgJWhlYWRpbmc7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xufVxuXG5oNiB7XG4gICAgQGV4dGVuZCAlaGVhZGluZztcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG5cbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZm9udC1zaXplLXNtIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cbi5mb250LXNpemUtbGcge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbn1cblxuLmZvbnQtc2l6ZS1sYXJnZXIge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZXI7XG59XG5cbi5mb250LXNpemUtbGFyZ2VzdCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlc3Q7XG59XG5cbi50ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmdkcHItY29uc2VudCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgdGV4dC13cmFwOiBwcmV0dHk7XG59XG4iLCIvLyBTYWZhciBmaXggZm9yIHZhcmlhYmxlIGZvbnRcbmg2LFxuaDUsXG5oNCxcbmgzLFxuaDIsXG5oMSxcbmxlZ2VuZCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbn1cblxuaDEsXG5oMiB7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogMnJlbTtcbn1cblxuZHQge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyAjeyRkdC1mb250LXdlaWdodH07XG59XG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG59XG5cbi5jb29raWUtY29uc2VudC1tb2RhbCB7XG4gICAgLmNvb2tpZS1jb25zZW50LWhlYWRlci0yIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA2MDA7XG4gICAgfVxuXG4gICAgLmNvb2tpZS1mb3JtLXNlY3Rpb24ge1xuICAgICAgICAuY29va2llLWZvcm0tc2VjdGlvbi1wcmltYXJ5LWhlYWRpbmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNjAwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmQtcHJpY2Uge1xuICAgICZfX2Rpc2NvdW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgfVxuXG4gICAgJl9fZnVsbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgIH1cbn1cblxuLmRyb3Bkb3duLWxpc3Qge1xuICAgICZfX2xpbmsge1xuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb2x1bW4taXRlbXMge1xuICAgICYtZHluYW1pYyB7XG4gICAgICAgICYtLXRyaWdnZXIge1xuICAgICAgICAgICAgLmJ0bi0tbW9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmxvYXRpbmctc3Bpbm5lci1jb250YWluZXIge1xuICAgICYuc3Bpbm5lci1zaG93IHtcbiAgICAgICAgLm1zZy1vdmVybGF5IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tZmllbGQge1xuICAgICZfX2N1cnJlbmN5IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG4gICAgfVxuXG4gICAgJl9faW5wdXQsXG4gICAgKjp3aGVyZShbdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J3RlbCddLCB0ZXh0YXJlYSwgc2VsZWN0KSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgMzAwO1xuICAgIH1cblxuICAgICZfX3NlcGFyYXRvciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgIH1cbn1cblxuLmZvcm0taW5wdXQge1xuICAgIFtjbGFzcyo9Jy0taW5saW5lJ10gKyAqIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICAmOndoZXJlKDpub3QoLnRleHQtYm9sZCkpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgJl9faGVscC1ib3gge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNjAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgICAgICA+IC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgJi0tcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWVudS0tbWFpbiB7XG4gICAgICAgICAgICA+IC5tZW51IHtcbiAgICAgICAgICAgICAgICA+IC5tZW51X19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgPiAubWVudV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtcGFnZXMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNTAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2lkZWJhciB7XG4gICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtYXZhaWxhYmlsaXR5IHtcbiAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICB9XG59XG5cbi5zdWJtZW51IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAmX19idG4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGV4dC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xufVxuXG4uY29tcGFyaW5nIHtcbiAgICAmX190YWJsZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgICAgICAgdGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN1c3RvbWVyLWxpc3Qge1xuICAgICZfX3RhYmxlIHtcbiAgICAgICAgLm9yZGVyIHtcbiAgICAgICAgICAgICZfX3RhYmxlIHtcbiAgICAgICAgICAgICAgICAmLWl0ZW0tcHJpY2UtdG90YWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ob21lLWludHJvIHtcbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLmhlYWRlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcblxuICAgIC8vIGZpcnN0IGNvbHVtbiBpcyBsZWZ0ICdwYWRkaW5nJyBjYWxjdWxhdGVkIHVzaW5nIHRoZSAuY29udGFpbmVyIG1heC13aWR0aCB2YWx1ZVxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczpcbiAgICAgICAgbWlubWF4KDAsIGNhbGMoNTB2dyAtICN7bWFwLmdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIGxnKSAqIDAuNX0pKVxuICAgICAgICAxZnJcbiAgICAgICAgNjVweDtcblxuICAgIEBpZiAkaGVhZGVyLWZpeGVkIHtcbiAgICAgICAgLnN0aWNreS1zdGF0ZS10b2dnbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgYm9keSA+ICYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcsICN7bWFwLmdldCgkdGhlbWUtY29sb3JzLCBiYXNlLWJnKX0pO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE1O1xuXG4gICAgICAgICAgICAgICAgJjpoYXMoLmlzLXN0aWNreS1zdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAzcHggcmdiKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN0aWNreS1zdGF0ZS10b2dnbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgfVxuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW5hdi1oZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9fY29udHJvbHMge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdG9wLW5hdiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogbWluKDFyZW0sIDF2dyk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19taWQtcGFuZWwsXG4gICAgICAgICZfX2NvbnRhY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICBtaW4taGVpZ2h0OiAkaGVhZGVyLW5hdi1kZXNrdG9wLWhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICZfX25hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RvcC1uYXYge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcblxuICAgICAgICAgICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgICAgICAgICcuICAgICAuICAgICAgICAgIC4nICAgICAgICAgMC43NXJlbVxuICAgICAgICAgICAgICAgICdsb2dvICBwYWdlLW1lbnUgIGNvbnRhY3QnICAgbWF4LWNvbnRlbnRcbiAgICAgICAgICAgICAgICAnbG9nbyAgc2VhcmNoICAgICBiYXNrZXQnICAgIDFmclxuICAgICAgICAgICAgICAgICcgLiAgICAuICAgICAgICAgIC4nICAgICAgICAgMC4yNXJlbSAvIDJmciBtaW5tYXgobWF4LWNvbnRlbnQsIDVmcikgbWlubWF4KG1heC1jb250ZW50LCAyZnIpO1xuICAgICAgICAgICAgZ2FwOiAwLjJyZW0gMXJlbTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItdG9wLW5hdi1kZXNrdG9wLWhlaWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbG9nbyB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGxvZ287XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgW2lkPSduYXYtcGFnZXMtZGVza3RvcCddIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogcGFnZS1tZW51O1xuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBbaWQ9J3NlYXJjaC1kZXNrdG9wJ10ge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBzZWFyY2g7XG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRhY3Qge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBjb250YWN0O1xuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX29wZW5pbmctaG91cnMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktNjAwJyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250cm9scyB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGJhc2tldDtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICAgICAgZ2FwOiAwLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBkZXNrdG9wLW5hdmlnYXRpb24tbmFycm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmNvbG9yJztcblxuYm9keS5uYXYtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm5hdi1iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcms7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IGNhbGMoI3skaGVhZGVyLW5hdi1oZWlnaHR9ICsgdmFyKC0tcHJvbW8taGVpZ2h0LCAwcHgpKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgfVxuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxuICAgIC5oZWFkZXI6aGFzKC5pcy1zdGlja3ktc3RhdGUpIH4gJiB7XG4gICAgICAgIHRvcDogI3skaGVhZGVyLW5hdi1oZWlnaHR9O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAmOndoZXJlKDpub3QoLm5hdi10YWJzKSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTIwMCcpO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzZyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwIGNhbGMoJGhlYWRlci1uYXYtaGVpZ2h0ICogMS4yKTsgLy8gZXh0cmEgYm90dG9tIHBhZGRpbmcgZm9yIGRyb3Bkb3duc1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgcmlnaHQ6IDEwMHZ3O1xuICAgICAgICAgICAgdG9wOiBjYWxjKCN7JGhlYWRlci1uYXYtaGVpZ2h0fSArIHZhcigtLXByb21vLWhlaWdodCwgMHB4KSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhlYWRlcjpoYXMoLmlzLXN0aWNreS1zdGF0ZSkgJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAjeyRoZWFkZXItbmF2LWhlaWdodH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuXG4gICAgICAgICZfX2Zvb3RlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4uZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYXJrJyk7XG4gICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcblxuICAgID4gLmNvbnRhaW5lciA+ICo6bm90KC5mb290ZXJfX2Jsb2Nrcykge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTIwMCcpO1xuXG4gICAgICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItYmxvY2stY29udGVudCAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogM3JlbSBhdXRvIDA7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1ibG9jay1jb250ZW50ICZfX3NvY2lhbCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGNvbnRhaW5lci1wYWRkaW5nLXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gICAgfVxuXG4gICAgLmZvb3Rlci1ibG9jay1jb250ZW50ICZfX3NvY2lhbC1pdGVtIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWJsb2NrLWNvbnRlbnQgJl9fc29jaWFsLWxpbmsge1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcblxuICAgICAgICAuc3ZnLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDQuNHJlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWJsb2NrLWNvbnRlbnQgJl9fY29udGFjdCB7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuM2VtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgwLjllbSk7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWJsb2NrLWNvbnRlbnQge1xuICAgICAgICAuZm9vdGVyX19jb250YWN0ICsgLmZvb3Rlcl9fY29udGFjdCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTIwMCcpO1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyk7XG5cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgcGFkZGluZzogN3JlbSAwIDJyZW07XG5cbiAgICAgICAgJl9fYmxvY2tzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTkwMCcpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogY2FsYygkY29udGFpbmVyLXBhZGRpbmcteCAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYmxvY2sge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjUlIC0gI3tjYWxjKCRjb250YWluZXItcGFkZGluZy14IC8gNCl9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItYmxvY2stY29udGVudCAmX19sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItYmxvY2stY29udGVudCAmX19zb2NpYWwge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2JvdHRvbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbGcnKSB7XG4gICAgICAgID4gLmNvbnRhaW5lciA+ICo6Zmlyc3QtY2hpbGQ6d2hlcmUoOm5vdCguZm9vdGVyX19ibG9ja3MpKSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGModmFyKC0tYnMtZ3V0dGVyLXgpICogMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Jsb2NrIHtcbiAgICAgICAgICAgICYuaXMtY29sbGFwc2libGUgKyAuZm9vdGVyLWJsb2NrLWNvbnRlbnQ6bm90KC5pcy1jb2xsYXBzaWJsZSksXG4gICAgICAgICAgICAmOm5vdCguaXMtY29sbGFwc2libGUpOmlzKDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5oZWFkZXIge1xuICAgIC0taWNvbi1tYXJnaW46IDAgMC43NXJlbSAwIDA7XG4gICAgLS1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAxNXB4O1xuXG4gICAgLy8gUHJldmVudCAnZ3JpZCBibG93b3V0JyB3aGVuIHRoZSBwYWdlIG1lbnUgaXMgbG9uZ1xuICAgIC8vIChIZXJlLCB3ZSBhbGxvdyB0aGUgc2VhcmNoIGJhciB0byBzaHJpbmsgYXMgbXVjaCBhcyBwb3NzaWJsZSwgYmVsb3cgdGhlIGRlZmF1bHQgbWluLXdpZHRoOiBhdXRvIHZhbHVlLi4uXG4gICAgLy8gSXQgKmNvdWxkKiwgdGhlb3JldGljYWxseSwgaGl0IHplcm8gcHgsIGJ1dCBpdCBuZXZlciB3aWxsIGJlY2F1c2Ugd2Ugc3dpdGNoIHRvIHRoZSBtb2JpbGUgbGF5b3V0KVxuICAgIC0tZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXgtY29udGVudCBtYXgtY29udGVudCBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG87XG5cbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgYmFzZS1iZyk7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMjAwKTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA0LjVyZW0gMWZyIDAuMjVyZW07XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LWRhcmsnKSwgbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RvcC1uYXYge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICAgICAgICAncGFnZS1tZW51ICBwYWdlLW1lbnUgICBwYWdlLW1lbnUgIGNvbnRhY3QgIGNvbnRhY3QnXG4gICAgICAgICAgICAgICAgJ2xvZ28gICAgICAgY2F0ZWdvcmllcyAgc2VhcmNoICAgICBiYXNrZXQgICBiYXNrZXQnXG4gICAgICAgICAgICAgICAgJy4gICAgICAgICAgLiAgICAgICAgICAgLiAgICAgICAgICAuICAgICAgICAuICAgICAnIC8gdmFyKC0tZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMztcbiAgICAgICAgICAgIG1heC13aWR0aDogbWFwLmdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIHhsKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3h4bCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC5nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCB4eGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgW2lkPSdjYXRlZ29yaWVzLWRlc2t0b3AnXSB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogbWluKDIuNXZ3LCAycmVtKTtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogY2F0ZWdvcmllcztcblxuICAgICAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBbaWQ9J25hdi1wYWdlcy1kZXNrdG9wJ10sXG4gICAgICAgIFtpZD0nc2VhcmNoLWRlc2t0b3AnXSB7XG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIFtpZD0nc2VhcmNoLWRlc2t0b3AnXSB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogbWluKDIuNXZ3LCAycmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRyb2xzIHtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogbm9ybWFsO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGFjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fb3BlbmluZy1ob3VycyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDAgbWluKDV2dywgNHJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZWwge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgICAgICAvLyBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tbGluayB7XG4gICAgICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFtjbGFzcyo9J3VzZXItaXMtJ10ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogbWluKDJ2dywgMnJlbSkgYXV0bztcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWJ0biB7XG4gICAgICAgICAgICAgICAgICAgICZfX2NhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgYmFzZS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhlYWRlci1idG4ge1xuICAgICAgICAgICAgICAgICZfX2NhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1pY29uLW1hcmdpbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgW2lkPSdoZWFkZXJCYXNrZXQnXSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYXJrJyk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAuZ2V0KCRidG4sIGJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGJhc2UtdGV4dCk7XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGJhc2UtdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVhZGVyLWNhcnQge1xuICAgICAgICAgICAgICAgICZfX25hbWUge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWFyZWE6IDEgLyAzO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1pY29uLW1hcmdpbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVhZGVyLWJ0biB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2JhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiAxIC8gMTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWdnZXN0aW9uc19faW5uZXIsXG4gICAgICAgICYtZHJvcGRvd24ge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS1wcm9tby1oZWlnaHQsIDBweCkgLSA4cmVtIC0gI3skaGVhZGVyLXRvcC1uYXYtZGVza3RvcC1oZWlnaHR9KTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnN1Z2dlc3Rpb25zX19pbm5lcixcbiAgICAgICAgJi1kcm9wZG93biB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXByb21vLWhlaWdodCwgMHB4KSAtIDhyZW0gLSAjeyRoZWFkZXItbmF2LWhlaWdodH0pO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnRuIHtcbiAgICAgICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS45cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjlyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgJi0tY2FydCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMi4xcmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMi4xcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLjJyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcblxuICAgICAgICAgICAgICAgICYtLWNhcnQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fYmFkZ2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RvcC1uYXYge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNHJlbSBtaW5tYXgoN3JlbSwgMWZyKSByZXBlYXQoNCwgbWF4LWNvbnRlbnQpO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRoZWFkZXItbmF2LWhlaWdodH0gNC40cmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBub3JtYWw7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xuXG4gICAgICAgICAgICAuY2F0ZWdvcmllcy1tZW51IHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhhbWJ1cmdlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktbWlkJyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcblxuICAgICAgICAgICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgLmhhbWJ1cmdlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250cm9scyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcblxuICAgICAgICAgICAgJjpub3QoOmhhcyguaGVhZGVyX19mYXZvdXJpdGVzKSksXG4gICAgICAgICAgICAmOmhhcyguaGVhZGVyX19mYXZvdXJpdGVzW3N0eWxlKj0nbm9uZSddKSB7XG4gICAgICAgICAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICZfX2NvbXBhcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAtMztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbG9nbyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtc2VhcmNoIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEuN3JlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcblxuICAgICAgICAgICAgJl9fYnRuOm5vdCguZml4LXNwZWNpZmljaXR5KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlYXJjaCB7XG4gICAgICAgICAgICAgICAgJi1kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fZmllbGQsXG4gICAgICAgICAgICAgICAgJl9fYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMy4zcmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2ZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmLWNvbnRhaW5lcjpub3QoLmZpeC1zcGVjaWZpY2l0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3N1Ym1pdCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjJyZW0gMWZyO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS44cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuOHJlbTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhhcygud29ya2luZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYtLXNwaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6d2hlcmUoOm5vdCguc2VhcmNoX19pY29uLS1zcGlubmVyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2J0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2J0biB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMS4ycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICY6d2hlcmUoOm5vdCguc2VhcmNoX19pY29uLS1zcGlubmVyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb21wYXJlLFxuICAgICAgICAmX19mYXZvdXJpdGVzLFxuICAgICAgICBbY2xhc3MqPSd1c2VyLWlzJ10sXG4gICAgICAgIFtpZD0naGVhZGVyQmFza2V0J10ge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb21wYXJlIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogLTQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19mYXZvdXJpdGVzIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogLTM7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3MqPSd1c2VyLWlzJ10ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAtMjtcbiAgICAgICAgfVxuXG4gICAgICAgIFtpZD0naGVhZGVyQmFza2V0J10ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlYWwgd2l0aCB0ZXh0LXdyYXBwaW5nIGxpbmUgaGVpZ2h0XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIC5uYXYtcGFnZXMsXG4gICAgICAgICZfX2NvbnRhY3Qge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250YWN0IHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5mb290ZXIge1xuICAgIGJhY2tncm91bmQ6IG1hcC5nZXQoJHRoZW1lLWdyYWRpZW50cywgJ3ByaW1hcnktYmcnKTtcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiA1cmVtO1xuICAgIH1cblxuICAgICZfX2Jsb2NrcyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogbm9uZTtcbiAgICAgICAgICAgIGdhcDogMS41cmVtIGNsYW1wKDEuNXJlbSwgM3Z3LCA1cmVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Jsb2NrIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjElIC0gMC43NXJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMjAwKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogNHJlbTtcblxuICAgICAgICAgICAgICAgIC5wcm9tbyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCA1dncsIDNyZW0pO1xuXG4gICAgICAgICAgICAgICAgICAgICogKyAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZm9vdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtc29jaWFscyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi1jb250YWN0cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCA1dncsIDhyZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcyo9J2ljb24tJ10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfiAqIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyAzMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uLXNob3Atc2V0b3Mge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDE2LjlyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDQuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItYmxvY2stY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IDVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAqICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ2xnJykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDMuNnJlbTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBwIHtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3RlciA+IC5jb250YWluZXIgPiAqOm5vdCguZm9vdGVyX19ibG9ja3MpICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlcGFyYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgICAgICB+IC5jYW52YXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDQuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIH4gLmZvb3RlciB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDQuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uLy4uLy4uL2RlZmF1bHQvc2Fzcy9hcHAvbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9kZWZhdWx0L3Nhc3MvYXBwL2xheW91dC9uYXYnO1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vZGVmYXVsdC9zYXNzL2FwcC9sYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJ2hlYWRlcic7XG5AaW1wb3J0ICdmb290ZXInO1xuXG4uYWx0ZXJuYXRlLWJhY2tncm91bmQsXG4ubmF2LXRhYnMubmF2LXRhYnM6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUsIDApO1xufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4uYnRuLFxuLmJ0bjpsaW5rLFxuLmJ0bjp2aXNpdGVkLFxuLnN1Ym1pdC1idXR0b24tY29udGFpbmVyIFt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdmaWxlJ106OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBjb2xvcjogbWFwLmdldCgkYnRuLCAnY29sb3InKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRidG4sICdiZy1jb2xvcicpO1xufVxuXG4uYnRuLFxuLnN1Ym1pdC1idXR0b24tY29udGFpbmVyIFt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdmaWxlJ106OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IG1hcC5nZXQoJGJ0biwgYm9yZGVyLXJhZGl1cyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNTAwO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjRlbSAxLjZlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgY29sb3IgMC4xNXMgbGluZWFyLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3hsJykge1xuICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5idG4sXG4gICAgLnN1Ym1pdC1idXR0b24tY29udGFpbmVyIFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGJ0biwgJ2hvdmVyLWJnLWNvbG9yJyk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkYnRuLCAnaG92ZXItY29sb3InKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4uYnRuLS1tb3JlOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4gICAgfVxufVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pOmhvdmVyOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRidG4sICdob3Zlci1iZy1jb2xvcicpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJGJ0biwgJ2hvdmVyLWNvbG9yJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYtLXNtIHtcbiAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgIH1cblxuICAgICYtLW1vcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LW1pZCcpO1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bl9faWNvbiB7XG4gICAgICAgICAgICBzdHJva2Utd2lkdGg6IDE7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmxvYWRpbmcge1xuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJi0tbG9hZGluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyIDAuNzVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMS4yZW0pO1xuXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuXG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNHJlbTtcblxuICAgICAgICAgICAgJi5idG5fX2ljb24tLWxlZnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJ0bl9faWNvbi0tcmlnaHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpbmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIGluaGVyaXQ7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RyYW5zcGFyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLmdldCgkYnRuLCBib3JkZXItcmFkaXVzKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA1MDA7XG4gICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuNGVtIDEuNmVtO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgY29sb3IgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTYwMCcpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTYwMCcpO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYXJrJyk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rhcmsge1xuICAgICAgICAmLFxuICAgICAgICAmOmxpbmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkYnRuLWRhcmssIGJnLWNvbG9yKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRidG4tZGFyaywgY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRidG4tZGFyaywgaG92ZXItYmctY29sb3IpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJGJ0bi1kYXJrLCBob3Zlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb3JlLFxuICAgICYge1xuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRidG4tZGlzYWJsZWQsIGJnLWNvbG9yKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQtd2lkdGgge1xuICAgICAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuXG4gICAgICAgIC50ZXh0LWNlbnRlciA+ICYge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucHJvZHVjdC1jYXJkX19hZGQtbGluay0tZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRidG4tZGlzYWJsZWQsIGJnLWNvbG9yKTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIC5idG5fX2ljb24ge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3hsJykge1xuICAgICAgICAvLyBoZWlnaHQ6IDQuN3JlbTtcblxuICAgICAgICAmLS1zbSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idXR0b24tdGV4dCB7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xufVxuIiwiLmNhbnZhcyB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDVyZW0gMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5jb21tb24tY29udGVudCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICA6d2hlcmUoKikge1xuICAgICAgICArIDp3aGVyZSg6bm90KGxpKSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMS44cmVtLCAzdncsIDIuNHJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICArIDp3aGVyZShoMiwgaDMsIGg0LCBoNSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMy41cmVtLCA1dncsIDQuNXJlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwge1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwLFxuICAgIHVsOndoZXJlKDpub3QoW2NsYXNzXSkpLFxuICAgIG9sOndoZXJlKDpub3QoW2NsYXNzXSkpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xuICAgIH1cblxuICAgIHVsOndoZXJlKDpub3QoW2NsYXNzXSkpLFxuICAgIG9sOndoZXJlKDpub3QoW2NsYXNzXSkpIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1ub3Qtbm90YXRpb25cbiAgICB1bDp3aGVyZSg6bm90KFtjbGFzc10pOm5vdChbc3R5bGVdKSkge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAn4oCiJztcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb2w6d2hlcmUoOm5vdChbY2xhc3NdKSkge1xuICAgICAgICBjb3VudGVyLXJlc2V0OiBsaTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbGk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcihsaSknLic7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgd29yZC1icmVhazoga2VlcC1hbGw7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vdC1ub3RhdGlvblxuXG4gICAgdWwgb2wsXG4gICAgb2wgdWwsXG4gICAgb2wgb2wsXG4gICAgdWwgdWwge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IGNsYW1wKDAuOXJlbSwgMS41dncsIDEuMnJlbSk7XG4gICAgfVxuXG4gICAgLmYtcmlnaHQsXG4gICAgLmYtbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mLXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmYtbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBpY3R1cmUsXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbn1cbiIsIi5jb21tb24tY29udGVudCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vdC1ub3RhdGlvblxuICAgIHVsOndoZXJlKDpub3QoW2NsYXNzXSk6bm90KFtzdHlsZV0pKSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgLy8gYWRqdXN0IGZvciBmb250XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZXg7XG4gICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5mb290ZXItYmxvY2stY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGxpbmVhcjtcblxuICAgICogKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ3hsJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiBtaW4oY2FsYygxLjM2NXJlbSArIDEuMzh2dyksIDIuNHJlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbGcnKSB7XG4gICAgICAgIGgyOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWJsb2NrLWNvbGxhcHNlZC1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWNvbGxhcHNpYmxlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRmb290ZXItYmxvY2stY29sbGFwc2VkLWhlaWdodDtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC5zdmctaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUgaDIgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDdyZW07XG5cbiAgICAgICAgJi5pcy1jb2xsYXBzaWJsZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIC5zdmctaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgneGwnKSB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5mb290ZXItYmxvY2stY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdsZycpIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAzLjZyZW07XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogMy4ycmVtO1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS1zZW1pLXRyYW5zcCk7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvb3RlciB7XG4gICAgICAgICAgICAgICAgJi1zb2NpYWxzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgICAgICAgICAgICsgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1jb250YWN0cyB7XG4gICAgICAgICAgICAgICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAwIDEuMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tc2hvcC1zZXRvcyB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbGcnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAxLjVyZW07XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdmctaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA1MDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBQb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4UG9wb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAyNzZweDtcbiAgcGFkZGluZzogMXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBnaXZlbiBuZXcgaW5zZXJ0aW9uIG1ldGhvZFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3ZlckJhY2tncm91bmQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmc7XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtcblxuICAvLyBPdmVycmlkZXMgZm9yIHByb3BlciBpbnNlcnRpb25cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAvLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbiAgJi50b3AgICAgIHsgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgJi5yaWdodCAgIHsgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgJi5ib3R0b20gIHsgbWFyZ2luLXRvcDogMTBweDsgfVxuICAmLmxlZnQgICAgeyBtYXJnaW4tbGVmdDogLTEwcHg7IH1cbn1cblxuLnBvcG92ZXItdGl0bGUge1xuICBtYXJnaW46IDA7IC8vIHJlc2V0IGhlYWRpbmcgbWFyZ2luXG4gIHBhZGRpbmc6IDhweCAxNHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3ZlclRpdGxlQmFja2dyb3VuZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkcG9wb3ZlclRpdGxlQmFja2dyb3VuZCwgNSUpO1xuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiA5cHggMTRweDtcbn1cblxuLy8gQXJyb3dzXG4vL1xuLy8gLmFycm93IGlzIG91dGVyLCAuYXJyb3c6YWZ0ZXIgaXMgaW5uZXJcblxuLnBvcG92ZXIgLmFycm93LFxuLnBvcG92ZXIgLmFycm93OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi5wb3BvdmVyIC5hcnJvdyB7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG59XG4ucG9wb3ZlciAuYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6ICRwb3BvdmVyQXJyb3dXaWR0aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnBvcG92ZXIge1xuICAmLnRvcCAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyQXJyb3dPdXRlcldpZHRoO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXJBcnJvd091dGVyQ29sb3I7XG4gICAgYm90dG9tOiAtJHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXJBcnJvd1dpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyQXJyb3dDb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0kcG9wb3ZlckFycm93T3V0ZXJXaWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3ZlckFycm93T3V0ZXJDb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyQXJyb3dXaWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3ZlckFycm93Q29sb3I7XG4gICAgfVxuICB9XG4gICYuYm90dG9tIC5hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3ZlckFycm93T3V0ZXJDb2xvcjtcbiAgICB0b3A6IC0kcG9wb3ZlckFycm93T3V0ZXJXaWR0aDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3ZlckFycm93V2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXJBcnJvd0NvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAtJHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSRwb3BvdmVyQXJyb3dPdXRlcldpZHRoO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXJBcnJvd091dGVyQ29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyQXJyb3dDb2xvcjtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyQXJyb3dXaWR0aDtcbiAgICB9XG4gIH1cblxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2Fzczpjb2xvcic7XG5cbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0yMDAnKTtcbiRwb3BvdmVyLXRyaWdnZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktNjAwJyk7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm5cbi8vIEJvb3RzdHJhcCB2YXJpYWJsZXNcbiR6aW5kZXhQb3BvdmVyOiAxMDEwO1xuJHBvcG92ZXJCYWNrZ3JvdW5kOiAjZmZmO1xuJHBvcG92ZXJUaXRsZUJhY2tncm91bmQ6IGNvbG9yLmFkanVzdCgkcG9wb3ZlckJhY2tncm91bmQsICRsaWdodG5lc3M6IC0zJSk7XG4kcG9wb3ZlckFycm93V2lkdGg6IDEwcHg7XG4kcG9wb3ZlckFycm93T3V0ZXJXaWR0aDogJHBvcG92ZXJBcnJvd1dpZHRoICsgMTtcbiRwb3BvdmVyQXJyb3dDb2xvcjogI2ZmZjtcbiRwb3BvdmVyQXJyb3dPdXRlckNvbG9yOiBjb2xvci5hZGp1c3QoJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAkbGlnaHRuZXNzOiAyJSk7XG5cbkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3B1YmxpY19odG1sL3d3dy9jb21wYXNzX2V4dGVuc2lvbnMvc2hvcGlvX3RoZW1lL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9wb3BvdmVycyc7XG5cbi5wb3BvdmVyIHtcbiAgICAtLWJzLW1vZGFsLXppbmRleDogMTA1NTtcblxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJvcmRlci1jb2xvcjogJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNXB4IDEwcHggcmdiKDAsIDAsIDAsIDAuMikpO1xuXG4gICAgLy8gZnJvbSBCUyB0b29sdGlwIHN0eWxlc1xuICAgIHRyYW5zaXRpb246IDAuMnMgb3BhY2l0eSBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmluIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXI6d2hlcmUoOm5vdCgucG9wb3Zlcl9fY29udGFpbmVyLS1wbGFpbi10ZXh0KSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwLjI1ZW07XG4gICAgfVxuXG4gICAgLm1vZGFsIH4gJiB7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLWJzLW1vZGFsLXppbmRleCk7XG4gICAgfVxuXG4gICAgJi1tb2RhbCB7XG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAmLS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wb3BvdmVyX190cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnBvcG92ZXJfX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgJjp3aGVyZSg6bm90KC5wb3BvdmVyX190cmlnZ2VyLS1wbGFpbi10ZXh0KSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICAgICAgICBjb2xvcjogJHBvcG92ZXItdHJpZ2dlci1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMC4xMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRyaWdnZXIgaXMgc2V0IHRvICdob3ZlcicsIG5vdCAnY2xpY2snXG4gICAgICAgIC8vIC0gZG8gbm90IGRpc3BsYXkgaWNvbiBvbiBub24tdG91Y2ggZGV2aWNlc1xuICAgICAgICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgICAgICY6d2hlcmUoLnBvcG92ZXJfX3RyaWdnZXItLXBsYWluLXRleHQsIFtkYXRhLXRyaWdnZXI9J2hvdmVyJ10pIHtcbiAgICAgICAgICAgICAgICAucG9wb3Zlcl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIC8vIHRyaWdnZXIgaXMgYWN0aXZlIC0gYXBwbHkgY2hhbmdlIChvbmx5IGZvciAnY2xpY2snLWJhc2VkIHRyaWdnZXJzKVxuICAgICAgICAgICAgJjp3aGVyZSg6bm90KC5wb3BvdmVyX190cmlnZ2VyLS1wbGFpbi10ZXh0LCBbZGF0YS10cmlnZ2VyPSdob3ZlciddKSkge1xuICAgICAgICAgICAgICAgIC5wb3BvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLS1jbG9zZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIC4uLmJ1dCB3ZSBzdGlsbCBkaXNwbGF5IHRoZSBpY29uIG9uIHRvdWNoIGRldmljZXMsIHNvIHRoZSBiZWhhdmlvdXIgc2hvdWxkIGJlIGFzIHdpdGggJ2NsaWNrJyB0cmlnZ2Vyc1xuICAgICAgICAgICAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgICAgICAgICAgICAmOndoZXJlKC5wb3BvdmVyX190cmlnZ2VyLS1wbGFpbi10ZXh0LCBbZGF0YS10cmlnZ2VyPSdob3ZlciddKSB7XG4gICAgICAgICAgICAgICAgICAgIC5wb3BvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS1jbG9zZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJi0tY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpbHRlci1wb3BvdmVyLW1vZGlmaWVyIHtcbiAgICAmLnBvcG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICYudG9wIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucG9wb3ZlciB7XG4gICAgJl9fdHJpZ2dlcjp3aGVyZSg6bm90KC5wb3BvdmVyX190cmlnZ2VyLS1wbGFpbi10ZXh0KSkge1xuICAgICAgICBoZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHN0cm9rZS13aWR0aDogMC41cHg7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTcwMCcpO1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnVzZXItZm9ybS1leHRyYXMge1xuICAgIC5wb3BvdmVyLW1vZGFsX19jb250YWluZXItLXdyYXBwZXIgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLmljb24tbGluayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEuMjhlbSk7XG5cbiAgICAgICAgZmlsbDogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gICAgICAgIHN0cm9rZTogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6Y29sb3InO1xuXG4ucm93ICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMS40cmVtO1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gICAgJiArICY6d2hlcmUoOm5vdCguY29sKSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLnJvdy0tZ3JpZCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLS1tYXJnaW5lZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAmLS1zbSB7XG4gICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICB9XG5cbiAgICAmLS1lcnJvciB7XG4gICAgICAgIC5mb3JtLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhbmdlcicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgW2NsYXNzKj0nLS1pbmxpbmUnXSArICoge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG5cbiAgICAmOmhhcyguZXJyb3JzKSB7XG4gICAgICAgIC5mb3JtLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYW5nZXItYmcnKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFuZ2VyJykgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLmZvcm0tZmllbGQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2Rhbmdlci1iZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9ycyB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMC4ycmVtO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAxcHg7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYW5nZXInKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vdC1ub3RhdGlvblxuICAgICY6d2hlcmUoOm5vdChbcmVhZG9ubHldKTpub3QoOmhhcyhbZGlzYWJsZWRdKSkpIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgLmZvcm0taW5wdXRfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9ybS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjp3aGVyZSg6aGFzKFtkaXNhYmxlZF0pKSB7XG4gICAgICAgIC5mb3JtLWlucHV0X19sYWJlbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwLjJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6d2hlcmUoOm5vdCgudGV4dC1ib2xkKSkge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWlubGluZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgKyAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwIDAuMmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjp3aGVyZSg6aXMobGVnZW5kKSkge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jaGVja2JveDp3aGVyZSg6aGFzKDpub3QoW3JlYWRvbmx5XSksIDpub3QoW2Rpc2FibGVkXSkpKTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbXVsdGkge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWlubGluZSxcbiAgICAgICAgLm11bHRpLS1pbmxpbmUgJiB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgZ2FwOiAxcmVtIDIuNXJlbTtcblxuICAgICAgICAgICAgICAgIGxpLFxuICAgICAgICAgICAgICAgIGxpICsgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhpbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lcnJvciB7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYXJrJyk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNGVtO1xuXG4gICAgICAgICYudmlzaWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlbHAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgJl9faGVscCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIgLmZvcm0taW5wdXRfX2hlbHAtYm94IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMS40cmVtKTtcblxuICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnaW5mbycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVscC1ib3gge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnaW5mby1iZycpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnaW5mbycpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2luZm8tdGV4dCcpO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNnJlbSAxcmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMnJlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMzByZW07XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMnJlbSk7XG5cbiAgICAgICAgICAgICAgICBib3R0b206IC0xcmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2luZm8tYmcnKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdpbmZvJyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTM1ZGVnKSBza2V3KC0xMGRlZywgLTEwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaW50LFxuICAgICsgLmhpbnQsXG4gICAgJl9fbXVsdGkgLmhpbnQge1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDAuMnJlbTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS02MDApO1xuICAgIH1cbn1cblxuLmZvcm0tY2hlY2sgKyAuZm9ybS1pbnB1dF9fZXJyb3Ige1xuICAgIG1hcmdpbjogMCAwIDAuNGVtO1xufVxuXG4uaW5wdXQtYXBwZW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgW3R5cGU9J3RleHQnXSB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGlucHV0LCAnYmctY29sb3InKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJGlucHV0LCAnYm9yZGVyLWNvbG9yJyk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAuZ2V0KCRpbnB1dCwgJ2JvcmRlci1yYWRpdXMnKTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkaW5wdXQsICdjb2xvcicpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLmFkanVzdChtYXAuZ2V0KCRpbnB1dCwgJ2NvbG9yJyksICRhbHBoYTogLTAuNSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6Y29sb3InO1xuXG4vLyBBYnN0cmFjdHNcbkBpbXBvcnQgJy4uLy4uL2FwcC9hYnN0cmFjdHMvbWl4aW5zJztcblxuLmZvcm0taW5wdXQ6aGFzKDp3aGVyZShpbnB1dDpub3QoW3R5cGU9J2NoZWNrYm94J10sIFt0eXBlPSdyYWRpbyddKSwgdGV4dGFyZWEsIHNlbGVjdCkpIHtcbiAgICB6LWluZGV4OiBpbml0aWFsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBAaW5jbHVkZSBjdXN0b20tc2Nyb2xsYmFyLWNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAuZm9ybS1maWVsZC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIH1cblxuICAgIC5mb3JtLWZpZWxkID4gKiB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAxLjRyZW07XG5cbiAgICAgICAgJjp3aGVyZSg6bm90KC5zZWFyY2gtcXVlcnkpKTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpoYXMoLmVycm9ycykge1xuICAgICAgICAtLWlucHV0LWJnOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYW5nZXInKTtcblxuICAgICAgICAuZm9ybS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYW5nZXInKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgLmZvcm0tZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpoYXMoW2Rpc2FibGVkXSkge1xuICAgICAgICAuZm9ybS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTEwMCk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1pbnB1dF9fbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Itb25seTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIDp3aGVyZSguZm9ybS1pbnB1dF9fbGFiZWwpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDEuNHJlbSAxcmVtO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAxLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTcwMCk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgdHJhbnNmb3JtIDAuMnMgZWFzZSxcbiAgICAgICAgICAgIGZvbnQtc2l6ZSAwLjJzIGVhc2UsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDMwMDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcyguZm9ybS1maWVsZC0tc20pIHtcbiAgICAgICAgLmZvcm0taW5wdXRfX2xhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDAuOXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgLmZvcm0tZmllbGQtY29udGFpbmVyOndoZXJlKDpub3QoLnNlYXJjaF9fZmllbGQtY29udGFpbmVyKSkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktZGFyayk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0taW5wdXRfX2xhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjpub3QoOndoZXJlKDpmb2N1cy13aXRoaW4sIFtkaXNhYmxlZF0pKSB7XG4gICAgICAgICAgICAmOndoZXJlKDpub3QoOmhhcyguZXJyb3JzKSkpIHtcbiAgICAgICAgICAgICAgICAuZm9ybS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZvcm0taW5wdXRfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhhcyguZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgLmZvcm0tZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGRhbmdlcik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZvcm0taW5wdXRfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFuZ2VyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWxhYmVsLXNlbGVjdG9ycyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIuM3JlbSkgdHJhbnNsYXRlWCgtMC40cmVtKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmZmYwIGNhbGMoNTAlIC0gM3B4KSwgI2ZmZiBjYWxjKDUwJSAtIDAuM3JlbSkpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAqIDEuMjUpO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDAuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc21hbGwgbW9kaWZpY2F0aW9uIHRvIHRoZSBoaW50IHRleHRcbi5mb3JtLWlucHV0IHtcbiAgICAuaGludCxcbiAgICArIC5oaW50LFxuICAgICZfX211bHRpIC5oaW50IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwLjNyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cbn1cblxuLy8gZml4IEZveGVudHJ5IGljb24gb24gdG9wIG9mIGhlYWRlciAvIGZsb2F0aW5nIGJhc2tldCBzdW1tYXJ5XG4uZm94ZW50cnktaW5wdXQtaWNvbi5mb3hlbnRyeS1pbnB1dC1pY29uIHtcbiAgICB6LWluZGV4OiAyO1xufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2Fzczpjb2xvcic7XG5cbi5mb3JtLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkaW5wdXQsICdiZy1jb2xvcicpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJGlucHV0LCAnYm9yZGVyLWNvbG9yJyk7XG4gICAgYm9yZGVyLXJhZGl1czogbWFwLmdldCgkaW5wdXQsICdib3JkZXItcmFkaXVzJyk7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcblxuICAgICY6aGFzKFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBsaWdodCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAobWluLXdpZHRoOiAje21hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKX0pIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuXG4gICAgJi0taWNvbi1hZnRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gICAgfVxuXG4gICAgJi0taWNvbi1iZWZvcmUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgfVxuXG4gICAgJi0td2l0aC1wcmVmaXgge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICYtLWljb24tYWZ0ZXIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWljb24tYmVmb3JlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjRyZW07XG5cbiAgICAgICAgJi0td2l0aC1wcmVmaXgge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1maWVsZCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRpbnB1dCwgJ2JnLWNvbG9yJyk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAzLjhyZW07XG4gICAganVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6aGFzKFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmX19uYXJyb3cge1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIH1cblxuICAgICYtLXRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgICAgICY6aGFzKFtzdHlsZSo9J2hlaWdodCddKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10ZXh0YXJlYS1sYXJnZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG5cbiAgICAgICAgJjpoYXMoW3N0eWxlKj0naGVpZ2h0J10pIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N1cnJlbmN5IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42cmVtO1xuICAgIH1cblxuICAgICZfX3ByZWZpeCxcbiAgICAmX19zdWZmaXgge1xuICAgICAgICBjb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBub3JtYWw7XG4gICAgfVxuXG4gICAgJl9fcHJlZml4IHtcbiAgICAgICAgbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICAmX19zdWZmaXgge1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICB9XG5cbiAgICAmX19pbnB1dCxcbiAgICAqOndoZXJlKFt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0ndGVsJ10sIHRleHRhcmVhLCBzZWxlY3QpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJGlucHV0LCAnY29sb3InKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IuYWRqdXN0KG1hcC5nZXQoJGlucHV0LCAnY29sb3InKSwgJGFscGhhOiAtMC41KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmW25hbWVdOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkaW5wdXQsICdiZy1jb2xvcicpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmW25hbWVdOi13ZWJraXQtYXV0b2ZpbGwsXG4gICAgICAgICZbbmFtZV06LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgICAgICAgJltuYW1lXTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuICAgICAgICAmW25hbWVdOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDMwcHggbWFwLmdldCgkaW5wdXQsICdiZy1jb2xvcicpIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmW3JlYWRvbmx5XSB7XG4gICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTQwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICAvLyBQcmV2ZW50IHRleHQgYmVpbmcgcHVzaGVkIGFnYWluc3QgZHJvcGRvd24gJ2ljb24nIHdoZW4gbWF4LXdpZHRoIGlzIHVzZWRcbiAgICAgICAgLy8gVGhpcyBkb2VzIG5vdCBhZmZlY3Qgd2Via2l0IChTYWZhcmkpIHJlc3R5bGluZ1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgJi0taW5saW5lIHtcbiAgICAgICAgICAgIGZsZXg6IHVuc2V0O1xuICAgICAgICAgICAgd2lkdGg6IDEuN3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlcGFyYXRvciB7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdzZWNvbmRhcnknKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMC43cmVtO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMi40cmVtKTtcblxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgJi0tdG9wIHtcbiAgICAgICAgICAgIHRvcDogMS44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEuOHJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hZnRlciB7XG4gICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgJi0tYWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIG51bWJlciBhcnJvd3NcbiAgICAvLyBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAvLyBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLy8gICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gICAgLy8gICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvLyAgICAgbWFyZ2luOiAwO1xuICAgIC8vIH1cbiAgICAvLyAvKiBGaXJlZm94ICovXG4gICAgLy8gaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgIC8vICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuICAgIC8vICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAvLyB9XG5cbiAgICAmX19maWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkaW5wdXQsICdiZy1jb2xvcicpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCRpbnB1dCwgJ2JvcmRlci1jb2xvcicpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAuZ2V0KCRpbnB1dCwgJ2JvcmRlci1yYWRpdXMnKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyO1xuICAgIH1cblxuICAgIC5wYXNzd29yZC1zaG93IHtcbiAgICAgICAgJi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBbdHlwZT0ndGV4dCddICsgLnBhc3N3b3JkLXNob3ctdHJpZ2dlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkcGFzc3dvcmQtc2hvdy1hY3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRyaWdnZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRwYXNzd29yZC1zaG93O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuOHJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNnJlbSBhdXRvO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBoZWlnaHQ6IDQuNXJlbTtcblxuICAgICAgICAmLS1zbSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXRleHRhcmVhIHtcbiAgICAgICAgICAgIGhlaWdodDogMTEuNnJlbTtcblxuICAgICAgICAgICAgJjpoYXMoW3N0eWxlKj0naGVpZ2h0J10pIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcmVmaXgge1xuICAgICAgICAgICAgbGVmdDogMS4zcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5bY2xhc3MqPSdmb3JtLWZpZWxkJ11bdHlwZV0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbltpZD0ndHJvbG9sbyddIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBhdXRvZ3Jvd2luZyB0ZXh0YXJlYVxuLnRleHRhcmVhLWF1dG9ncm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICAvLyBzcGFjZSBwcmV2ZW50cyBzdHJhbmdlIGp1bXBpbmcgYmVoYXZpb3JcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXJlcGxpY2F0ZWRWYWx1ZSkgJyAnO1xuXG4gICAgICAgIC8vIGRlZmF1bHQgdGV4dGFyZWEgc3R5bGluZ1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5cbiAgICAgICAgLy8gaGlkZSB0aGUgJ292ZXJsYXknXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAvLyBtYXRjaCB0aGUgc3R5bGluZyBvZiB0aGUgdGV4dGFyZWFcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCgxMDAlIC0gM3B4ICogMikgKyAycHgpO1xuICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgID4gdGV4dGFyZWEge1xuICAgICAgICAvLyBwcmV2ZW50IHJlc2l6ZSBhcyBpdCBydWlucyB0aGUgc2l6aW5nXG4gICAgICAgIHJlc2l6ZTogbm9uZTtcblxuICAgICAgICAvLyBGaXJlZm94IHNob3dzIHNjcm9sbGJhciBvbiBncm93dGggLSBwcmV2ZW50IHRoYXRcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAvLyBzdHlsaW5nXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApO1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgfVxuXG4gICAgPiB0ZXh0YXJlYSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIC8vIFBsYWNlIG9uIHRvcCBvZiBlYWNoIG90aGVyXG4gICAgICAgIGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gMjtcbiAgICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RvbGxhci12YXJpYWJsZS1lbXB0eS1saW5lLWJlZm9yZVxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kb3VibGUtc2xhc2gtY29tbWVudC1lbXB0eS1saW5lLWJlZm9yZVxuQHVzZSAnc2FzczptYXAnO1xuXG4vLyBib290c3RyYXAgdmFyaWFibGVzXG4vLyBPcHRpb25zXG4kZW5hYmxlLWRhcmstbW9kZTogZmFsc2U7XG4kZW5hYmxlLXJvdW5kZWQ6IGZhbHNlO1xuJGVuYWJsZS10cmFuc2l0aW9uczogZmFsc2U7XG4vLyAkZW5hYmxlLWdyaWQtY2xhc3NlczogZmFsc2U7XG4vLyAkZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiBmYWxzZTtcbiRlbmFibGUtYnV0dG9uLXBvaW50ZXJzOiBmYWxzZTtcbi8vICRlbmFibGUtcmZzOiBmYWxzZTtcbi8vICRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogZmFsc2U7XG4vLyAkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6IGZhbHNlO1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiB0cnVlO1xuXG4vLyBsYXlvdXRcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsXG4gICAgbXM6IDM2MHB4LFxuICAgIHM6IDQ4MHB4LFxuICAgIHNtOiA1NzZweCxcbiAgICBtZDogNzY4cHgsXG4gICAgbGc6IDk5MnB4LFxuICAgIHhsOiAxMjAwcHgsXG4gICAgeHhsOiAxMzY2cHhcbikgIWRlZmF1bHQ7XG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIGxnOiA5NjBweCxcbiAgICB4bDogMTE0MHB4LFxuICAgIHh4bDogMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLyBzcGFjaW5nXG4kY29udGFpbmVyLXBhZGRpbmcteDogM3JlbSAhZGVmYXVsdDtcbiRjYW52YXMtcGFkZGluZy15OiA0cmVtICFkZWZhdWx0O1xuJGNhbnZhcy1wYWRkaW5nLXktbWQ6IDZyZW0gIWRlZmF1bHQ7XG4kY2FudmFzLXBhZGRpbmcteS14eGw6IDdyZW0gIWRlZmF1bHQ7XG5cbi8vIGZvbnRcbiRmb250LXNpemUtcm9vdDogNjIuNSUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6IDEuNHJlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogJ0JlIFZpZXRuYW0gUHJvJywgJ0JlIFZpZXRuYW0gUHJvIEZhbGxiYWNrJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LXNpemUtc206IDEuMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlcjogJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0OyAvLyAkaDQtZm9udC1zaXplO1xuJGZvbnQtc2l6ZS1sYXJnZXN0OiAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0OyAvLyAkaDItZm9udC1zaXplO1xuXG4kbGVnZW5kLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtbWFyZ2luLWJvdHRvbTogMnJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcblxuLy8gdHlwb1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206IDFlbSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4vLyBjb2xvcnNcbiRwcmltYXJ5OiAjOGVkNjA5ICFkZWZhdWx0O1xuJHByaW1hcnktZGFyazogIzgxYzcwMCAhZGVmYXVsdDtcbiRwcmltYXJ5LWxpZ2h0OiAjZWVmYmQ3ICFkZWZhdWx0O1xuJHNlY29uZGFyeTogIzAwNmFhZiAhZGVmYXVsdDtcbiRsaWdodDogI2ZmZiAhZGVmYXVsdDtcbiRkYXJrOiAjMDAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoXG4gICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgcHJpbWFyeS1kYXJrOiAkcHJpbWFyeS1kYXJrLFxuICAgIHByaW1hcnktbGlnaHQ6ICRwcmltYXJ5LWxpZ2h0LFxuICAgIHNlY29uZGFyeTogJHNlY29uZGFyeSxcbiAgICBsaWdodDogJGxpZ2h0LFxuICAgIGRhcms6ICRkYXJrLFxuICAgIGJhc2UtYmc6ICRsaWdodCxcbiAgICBiYXNlLXRleHQ6ICRkYXJrLFxuICAgIGxpbms6ICRzZWNvbmRhcnksXG4gICAgc3VjY2VzczogIzhlZDYwOSxcbiAgICBzdWNjZXNzLWJnOiAjZThmMWQ5LFxuICAgIHN1Y2Nlc3MtdGV4dDogJGRhcmssXG4gICAgaW5mbzogIzljYjVlMSxcbiAgICBpbmZvLWJnOiAjZGRlZGYzLFxuICAgIGluZm8tdGV4dDogJGRhcmssXG4gICAgd2FybmluZzogIzIzOWJjOCxcbiAgICB3YXJuaW5nLWJnOiAjOWNiNWUxLFxuICAgIHdhcm5pbmctdGV4dDogJGRhcmssXG4gICAgZGFuZ2VyOiAjZTI2OTY5LFxuICAgIGRhbmdlci1iZzogI2Y2ZGZkZixcbiAgICBkYW5nZXItdGV4dDogJGRhcmssXG4gICAgZGFuZ2VyLWRhcmtlcjogI2RmMTYwNyxcbiAgICBzdGFyLXJhdGluZy1iZzogI2ZiMCxcbiAgICBpbi1zdG9jazogIzUxODMwMixcbiAgICBncmF5LTEwMDogI2YzZjNmMyxcbiAgICBncmF5LTIwMDogI2RlZGVkZSxcbiAgICBncmF5LTQwMDogI2IxYjFiMSxcbiAgICBncmF5LTYwMDogIzZlNmU2ZSxcbiAgICBncmF5LTkwMDogIzI2MjYyNlxuKSAhZGVmYXVsdDtcbi8vIGJvb3RzdHJhcCB2YXJpYWJsZXMgZW5kXG5cbi8vIHNob3BpbyB2YXJpYWJsZXNcbiRmb250LXBhdGg6ICcvZm9udCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC1hdmFpbGFiaWxpdHk6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS02MDApO1xuXG4kaDEtZm9udC1zaXplOiBjbGFtcCgzcmVtLCA2dncsIDRyZW0pICFkZWZhdWx0OyAvLyAkZm9udC1zaXplLWJhc2UgKiAyLjU7XG4kaDItZm9udC1zaXplOiAyLjRyZW0gIWRlZmF1bHQ7IC8vICRmb250LXNpemUtYmFzZSAqIDI7XG4kaDMtZm9udC1zaXplOiAycmVtICFkZWZhdWx0OyAvLyAkZm9udC1zaXplLWJhc2UgKiAxLjc1O1xuJGg0LWZvbnQtc2l6ZTogMS44cmVtICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuXG4kYnRuOiAoXG4gICAgYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKSxcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnYmFzZS10ZXh0JyksXG4gICAgaG92ZXItYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZGFyaycpLFxuICAgIGhvdmVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdiYXNlLXRleHQnKSxcbiAgICBib3JkZXItcmFkaXVzOiAwXG4pICFkZWZhdWx0O1xuXG4kYnRuLWRpc2FibGVkOiAoXG4gICAgYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS0yMDApLFxuICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdiYXNlLXRleHQnKSxcbiAgICBob3Zlci1iZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTIwMCksXG4gICAgaG92ZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2Jhc2UtdGV4dCcpXG4pICFkZWZhdWx0O1xuXG4kaW5wdXQ6IChcbiAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0xMDAnKSxcbiAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyksXG4gICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKSxcbiAgICBib3JkZXItcmFkaXVzOiAwXG4pICFkZWZhdWx0O1xuXG4kY2hlY2tib3gtY2hlY2s6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXFxcbiAgICB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxcXG4gICAgZmlsbD1cIm5vbmVcIlxcXG4gICAgc3Ryb2tlPVwiI3tyZ2JhKCRsaWdodCwgMSl9XCJcXFxuICAgIHN0cm9rZS13aWR0aD1cIjNcIj5cXFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMCA2IDkgMTcgNCAxMlwiPjwvcG9seWxpbmU+XFxcbiAgICA8L3N2Zz4nKTtcblxuJHBhc3N3b3JkLXNob3c6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLFxcXG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxcXG4gICAgPHBhdGggZD1cIk0xIDEyczQtOCAxMS04IDExIDggMTEgOC00IDgtMTEgOC0xMS04LTExLTh6XCI+PC9wYXRoPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiM1wiPjwvY2lyY2xlPlxcXG4gICAgPC9zdmc+Jyk7XG5cbiRwYXNzd29yZC1zaG93LWFjdGl2ZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsXFxcbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XFxcbiAgICA8cGF0aCBkPVwiTTE3Ljk0IDE3Ljk0QTEwLjA3IDEwLjA3IDAgMCAxIDEyIDIwYy03IDAtMTEtOC0xMS04YTE4LjQ1IDE4LjQ1IDAgMCAxIDUuMDYtNS45NE05LjkgNC4yNEE5LjEyIDkuMTIgMCAwIDEgMTIgNGM3IDAgMTEgOCAxMSA4YTE4LjUgMTguNSAwIDAgMS0yLjE2IDMuMTltLTYuNzItMS4wN2EzIDMgMCAxIDEtNC4yNC00LjI0XCI+PC9wYXRoPjxsaW5lIHgxPVwiMVwiIHkxPVwiMVwiIHgyPVwiMjNcIiB5Mj1cIjIzXCI+PC9saW5lPlxcXG4gICAgPC9zdmc+Jyk7XG5cbiRhbmdsZS1yaWdodDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsXFxcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMzIwIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cXFxuICAgIDxwYXRoIGZpbGw9XCIje3JnYmEobWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KSwgMC45OTkpfVwiXFxcbiAgICBkPVwiTTI3OC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyMTAuNyAyNTYgNzMuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwelwiLz5cXFxuICAgIDwvc3ZnPicpO1xuXG4kZGlhZ29uYWwtbGluZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsXFxcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPlxcXG4gICAgPGxpbmUgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZT1cIiN7cmdiYShtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktNDAwKSwgMC45OTkpfVwiXFxcbiAgICB4MT1cIjBcIiB5MT1cIjBcIiB4Mj1cIjEwMFwiIHkyPVwiMTAwXCIgdmVjdG9yLWVmZmVjdD1cIm5vbi1zY2FsaW5nLXN0cm9rZVwiLz5cXFxuICAgIDwvc3ZnPicpO1xuXG4kYnJlYWRjcnVtYnM6IChcbiAgICBiZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0xMDAnKSxcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpLFxuICAgIGFjdGl2ZS1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS02MDAnKSxcbiAgICBicmVha3BvaW50LWRvd246IG1hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsICdsZycpXG4pICFkZWZhdWx0O1xuXG4vLyBoZWFkZXJcbiRoZWFkZXItZml4ZWQ6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZGVyLW5hdi1oZWlnaHQ6IDUuNXJlbSAhZGVmYXVsdDsgLy8gaGVpZ2h0IG9uIHNtYWxsIHNjcmVlbnNcbiRoZWFkZXItbmF2LWRlc2t0b3AtaGVpZ2h0OiAxNi44cmVtICFkZWZhdWx0OyAvLyBoZWlnaHQgb24gYmlnZ2VyIHNjcmVlbnNcbiRoZWFkZXItdG9wLW5hdi1kZXNrdG9wLWhlaWdodDogMTAuOHJlbSAhZGVmYXVsdDsgLy8gaGVpZ2h0IG9uIGJpZ2dlciBzY3JlZW5zXG4kaGVhZGVyLW5hdi1icmVha3BvaW50OiAneGwnICFkZWZhdWx0OyAvLyBicmVha3BvaW50IHdoZW4gbmF2IGNoYW5nZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcFxuJGhlYWRlci1maXhlZC1hZGRpdGlvbmFsOiAoXG4gICAgbW9iaWxlLWJyZWFrcG9pbnQtdXA6IG1hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRoZWFkZXItbmF2LWJyZWFrcG9pbnQpLFxuICAgIGhlYWRlci1tb2JpbGU6IHRydWUsXG4gICAgaGVhZGVyLWRlc2t0b3A6IGZhbHNlLFxuICAgIHRvcC1iYW5uZXItbW9iaWxlOiBmYWxzZSxcbiAgICB0b3AtYmFubmVyLWRlc2t0b3A6IGZhbHNlXG4pICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2gtZGVza3RvcC1oZWlnaHQ6IDUuNHJlbSAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoLWRlc2t0b3Atd2lkdGg6IDQycmVtICFkZWZhdWx0O1xuXG4kc2Nyb2xsYmFyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5JykgIWRlZmF1bHQ7XG5cbi8vIG1lbnVcbiRtZW51LWl0ZW0tZGVza3RvcC1wYWRkaW5nOiAxcmVtO1xuJG1lbnUtc2Vjb25kYXJ5LWxpbmtzLWJnOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LWRhcmsnKSAhZGVmYXVsdDtcbiRtZW51LXN1Ym1lbnUtc2luZ2xlLWNvbHVtbi1taW46IDkgIWRlZmF1bHQ7XG5cbi8vIGZvb3RlclxuJGZvb3Rlci1ibG9jay1jb2xsYXBzZWQtaGVpZ2h0OiA2LjVyZW0gIWRlZmF1bHQ7XG5cbi8vIHZvdWNoZXIgUERGXG4vLyBOT1RFOiBpZiB0aGUgZm9udHMgdXNlZCBoZXJlIGFyZSBub24tc3RhbmRhcmQsIHRoZW4gdGhleSBuZWVkIHRvIGJlIHVwbG9hZGVkIGFuZCBzcGVjaWZpZWQgc2VwYXJhdGVseSBpbiB0aGVcbi8vIG1QREYgaW5pdGlhbGl6YXRpb24gKHNlZSB1c2FnZSBpbiBTRCBvciBzcGVhayB3aXRoIERCIDopKVxuJHZvdWNoZXI6IChcbiAgICBwcmltYXJ5LWJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgcHJpbWFyeS1jb2xvcjogIzQ0NCxcbiAgICBzZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvcjogI2RkZCxcbiAgICBzZWNvbmRhcnktY29sb3I6ICM0NDQsXG4gICAgYmxvY2staGlnaGxpZ2h0LWJhY2tncm91bmQtY29sb3I6ICNmMGYwZjAsXG4gICAgYmxvY2staGlnaGxpZ2h0LWNvbG9yOiAjNDQ0LFxuICAgIGJhc2UtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UsXG4gICAgYmFzZS1saW5lLWhlaWdodDogMS41LFxuICAgIGhlYWRpbmctZm9udDogJGZvbnQtZmFtaWx5LWJhc2UsXG4gICAgYm9keS1mb250OiAkZm9udC1mYW1pbHktYmFzZSxcbiAgICBsb2dvLW1heC1oZWlnaHQ6IDEwbW1cbikgIWRlZmF1bHQ7XG5cbi8vIEZ1bGwtd2lkdGggc2xpZGVyIGltYWdlIGRpbWVuc2lvbnMgKGFwcGxpZXMgdG8gZGVza3RvcCBvbmx5KVxuLy8gaW1hZ2Utd2lkdGg6IGltYWdlIHNpemVcbi8vIGltYWdlLWNvbnRlbnQtYXJlYS13aWR0aDogd2hlcmUgd2UgY2FuIHNhZmVseSBjcm9wIChmcm9tIHRoZSBmdWxsIHNpemUgaW1hZ2UpXG4kc2xpZGVyLWRlc2t0b3A6IChcbiAgICBpbWFnZS13aWR0aDogMTkwMHB4LFxuICAgIGltYWdlLWNvbnRlbnQtYXJlYS13aWR0aDogMTIwMHB4XG4pO1xuLy8gc2hvcGlvIHZhcmlhYmxlcyBlbmRcblxuLy8gQ1NTIHZhcmlhYmxlcyAtIG5vdyBhZGRlZCBpbiBhcHAuc2Nzc1xuIiwiLmZvcm0tZmllbGQge1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICYtLXRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgJjpoYXMoW3N0eWxlKj0naGVpZ2h0J10pIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXRleHRhcmVhLWxhcmdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMjByZW07XG5cbiAgICAgICAgJjpoYXMoW3N0eWxlKj0naGVpZ2h0J10pIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICAmLS1zbSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXRleHRhcmVhIHtcbiAgICAgICAgICAgIGhlaWdodDogMTEuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0taW5wdXQ6aGFzKC5lcnJvcnMpIC5mb3JtLWZpZWxkLWNvbnRhaW5lciAuZm9ybS1maWVsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi8vIHRvZ2dsZS1zd2ljaCBmb3IgY2hlY2tib3hlc1xuLnRvZ2dsZS1zd2l0Y2gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0OHB4O1xuXG4gICAgLnRvZ2dsZS1zd2l0Y2gtc2xpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgQGV4dGVuZCAlc3Itb25seTtcblxuICAgICAgICAmOmNoZWNrZWQgKyAudG9nZ2xlLXN3aXRjaC1zbGlkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjRweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2tpcCB7XG4gICAgJl9fbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTEwMDAwcHg7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaGVhZGVyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX2ltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5oZWFkZXItYnRuIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAkaGVhZGVyLW5hdi1oZWlnaHQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiA3cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG4gICAgfVxuXG4gICAgJl9fc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeS1yZWQnKTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEuOXJlbSk7XG5cbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdmFsdWUta2V5d29yZC1jYXNlXG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgICAgICB6LWluZGV4OiAxNDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDAuNXJlbTtcblxuICAgICAgICAmLS1jYXJ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgyLjZyZW0pO1xuXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMi4xcmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEuOHJlbSk7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpbmspO1xuXG4gICAgICAgICAgICAmLS1jYXJ0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHZhcigtLWljb24tbWFyZ2luKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXNlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZ3JheScpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLmdldCgkYnRuLCAnYm9yZGVyLXJhZGl1cycpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuXG4gICAgICAgICAgICAuaGVhZGVyLWJ0bl9faWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhcHRpb24ge1xuICAgICAgICBib3R0b206IDAuNnJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgYm90dG9tOiAwLjNyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMC4ycmVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcblxuICAgICAgICAgICAgJi0tY2FydCB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JlZ2lzdHJhdGlvbiB7XG4gICAgICAgIC5oZWFkZXItYnRuX19pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC5nZXQoJGJ0biwgJ2JvcmRlci1yYWRpdXMnKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAmLmhlYWRlci1idG46aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXItYnRuX19pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHZhcigtLWljb24tbWFyZ2luKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEuN2VtKTtcblxuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMC4ycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRvcDogMS4xcmVtO1xuICAgICAgICB6LWluZGV4OiAxNTA7XG5cbiAgICAgICAgJi0tbGlnaHQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kYXJrIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMS4yZW0pO1xuXG4gICAgICAgIHN0cm9rZS13aWR0aDogMztcblxuICAgICAgICAmLS1jaGVjayB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4wNWVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3NtJykge1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSg1cmVtKTtcblxuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEzNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5oZWFkZXItc2VhcmNoIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5oZWFkZXItZHJvcGRvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggM3B4IHJnYigwLCAwLCAwLCAwLjA1KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgbGluZWFyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEzMDtcblxuICAgIEBpZiAkaGVhZGVyLWZpeGVkIHtcbiAgICAgICAgdG9wOiAjeyRoZWFkZXItbmF2LWhlaWdodH07XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHRvcDogY2FsYygjeyRoZWFkZXItbmF2LWhlaWdodH0gKyB2YXIoLS1wcm9tby1oZWlnaHQsIDBweCkpO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnc20nKSB7XG4gICAgICAgICY6d2hlcmUoOm5vdCguc2VhcmNoLWRyb3Bkb3duKSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA4MHZ3O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDNweCByZ2IoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoJGNvbnRhaW5lci1wYWRkaW5nLXggLyAyKTtcbiAgICAgICAgdG9wOiA4LjlyZW07XG4gICAgfVxuXG4gICAgJl9fdXNlciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDEuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDJyZW0gLSAwLjhlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMC41cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDAuNGVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxpbmssXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaGVhZGVyLWRyb3Bkb3duIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1kcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICB0b3A6IGNhbGMoNTAlICsgNXJlbSk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cbiIsIi5oZWFkZXItY2FydCB7XG4gICAgJi5oZWFkZXItY2FydCB7XG4gICAgICAgICYtLWwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzci1vbmx5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1jYXJ0IHtcbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgICZfX3JlbW92ZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5oZWFkZXItc2VsZWN0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgIH1cbn1cblxuLmhlYWRlci1zZWxlY3Qge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkaW5wdXQsICdiZy1jb2xvcicpO1xuICAgIGNvbG9yOiBtYXAuZ2V0KCRpbnB1dCwgJ2NvbG9yJyk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDIuMWVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuOGVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDAuOHJlbSk7XG5cbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktNjAwJyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGlucHV0LCAnYmctY29sb3InKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIGxpbmVhcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDIuMWVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuOGVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi5oZWFkZXItYmxvY2sge1xuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cblxuLy8gU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXBhZGRpbmcteDogMC41cmVtO1xuJGhhbWJ1cmdlci1wYWRkaW5nLXk6IDAuNXJlbTtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGg6IDIuMnJlbTtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0OiAwLjJyZW07XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc6IDAuNnJlbTtcbiRoYW1idXJnZXItbGF5ZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eTogMTtcbiRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyOiBmYWxzZTtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyOiBvcGFjaXR5KDUwJSk7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4gICAgM2R4LFxuICAgIDNkeC1yLFxuICAgIDNkeSxcbiAgICAzZHktcixcbiAgICAzZHh5LFxuICAgIDNkeHktcixcbiAgICBhcnJvdyxcbiAgICBhcnJvdy1yLFxuICAgIGFycm93YWx0LFxuICAgIGFycm93YWx0LXIsXG4gICAgYXJyb3d0dXJuLFxuICAgIGFycm93dHVybi1yLFxuICAgIGJvcmluZyxcbiAgICBjb2xsYXBzZSxcbiAgICBjb2xsYXBzZS1yLFxuICAgIGVsYXN0aWMsXG4gICAgZWxhc3RpYy1yLFxuICAgIGVtcGhhdGljLFxuICAgIGVtcGhhdGljLXIsXG4gICAgbWludXMsXG4gICAgc2xpZGVyLFxuICAgIHNsaWRlci1yLFxuICAgIHNwaW4sXG4gICAgc3Bpbi1yLFxuICAgIHNwcmluZyxcbiAgICBzcHJpbmctcixcbiAgICBzdGFuZCxcbiAgICBzdGFuZC1yLFxuICAgIHNxdWVlemUsXG4gICAgdm9ydGV4LFxuICAgIHZvcnRleC1yXG4pO1xuXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2Jhc2UnO1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9zcXVlZXplJztcblxuLy8gQ3VzdG9tIHN0eWxlc1xuLmhhbWJ1cmdlciB7XG4gICAgQGluY2x1ZGUgc3F1YXJlKCRoZWFkZXItbmF2LWhlaWdodCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vLyBIYW1idXJnZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogJGhhbWJ1cmdlci1wYWRkaW5nLXkgJGhhbWJ1cmdlci1wYWRkaW5nLXg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cbiAgLy8gTm9ybWFsaXplICg8YnV0dG9uPilcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICY6aG92ZXIge1xuICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgICY6aG92ZXIge1xuICAgICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lcixcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAzICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IG1hdGguZGl2KCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAtMik7XG5cbiAgJixcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcXVlZXplKSB7XG4gIC8qXG4gICAqIFNxdWVlemVcbiAgICovXG4gIC5oYW1idXJnZXItLXNxdWVlemUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4wNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gU2ltdWxhdGUgYW4gaW50ZXJhY3RpdmUgbGFiZWw6IG5hbWVseSwgYSBsYWJlbCB3aXRoIGxpbmtzIGFuZC9vciBvdGhlciBpbnRlcmFjdGl2ZSBmZWF0dXJlc1xuLy8gTk9URTogZGVwZW5kaW5nIHVwb24gY29udGV4dCwgdGhlcmUgbWF5IGJlIHNvbWUgY3VzdG9tIGFkanVzdG1lbnRzIHJlcXVpcmVkXG5cbi5sYWJlbC1pbnRlcmFjdGl2ZSB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgJi0tZGVmYXVsdCB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJlcGxhY2VtZW50IHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiB2YXIoLS1sYWJlbC1yZXBsYWNlbWVudC10b3AsIDApO1xuICAgICAgICAgICAgbGVmdDogdmFyKC0tbGFiZWwtcmVwbGFjZW1lbnQtbGVmdCwgMCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWxhYmVsLXJlcGxhY2VtZW50LWZvbnQtc2l6ZSwgaW5oZXJpdCk7XG5cbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5zZWFyY2gtZHJvcGRvd24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42cmVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0cmVtO1xuICAgIH1cblxuICAgICZfX3N1Ym1pdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmhhcygud29ya2luZykge1xuICAgICAgICAgICAgLnNlYXJjaF9fYnRuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWFyY2hfX2ljb24tLXNwaW5uZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLS1zcGlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxLjhyZW0pO1xuXG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMC43NXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwLjAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAmX19zdWJtaXQ6aG92ZXIgJl9faWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgd2lkdGg6ICRoZWFkZXItc2VhcmNoLWRlc2t0b3Atd2lkdGg7XG5cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZpZWxkIHtcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtZGVza3RvcC1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3N1Ym1pdCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkaW5wdXQsICdiZy1jb2xvcicpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1kZXNrdG9wLWhlaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICY6d2hlcmUoOm5vdCguc2VhcmNoX19pY29uLS1zcGlubmVyKSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxLjZyZW0pO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYud29ya2luZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICsgLnNlYXJjaF9faWNvbi0tc3Bpbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIHNjcm9sbC1wYWRkaW5nLXRvcCBpcyBzZXQgb24gcm9vdCBlbGVtZW50IHRvIHByZXZlbnQgdGhlIGhlYWRlciBmcm9tIGNvdmVyaW5nIHRoZSBjb250ZW50XG4vLyBidXQgbmVlZHMgdG8gYmUgcmVtb3ZlZCB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaW4gdGhlIGhlYWRlciBpcyBmb2N1c2VkXG46cm9vdDpoYXMoLnNlYXJjaCBpbnB1dDpmb2N1cykge1xuICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogMDtcbn1cblxuLnNlYXJjaCB7XG4gICAgJl9faW5wdXQge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1mb3JtLWlucHV0O1xuXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnN1Z2dlc3Rpb25zIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCAmOmZvY3VzLXdpdGhpbiAmX19zdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBsaWdodCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMTVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcblxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2lucHV0IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgLnNlYXJjaF9fZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZpZWxkLWNvbnRhaW5lcixcbiAgICAgICAgJl9fZmllbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IG1hcC5nZXQoJGJ0biwgJ2JvcmRlci1yYWRpdXMnKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IG1hcC5nZXQoJGJ0biwgJ2JvcmRlci1yYWRpdXMnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJtaXQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogbWFwLmdldCgkYnRuLCAnYm9yZGVyLXJhZGl1cycpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IG1hcC5nZXQoJGJ0biwgJ2JvcmRlci1yYWRpdXMnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAmOmhhcygud29ya2luZykge1xuICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtcXVlcnksXG4gICAgICAgICZfX2ZpZWxkLFxuICAgICAgICAmX19zdWJtaXQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICAmOm5vdCguc2VhcmNoX19pY29uLS1zcGlubmVyKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Y29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5uYXYtcGFnZXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyk7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgZ2FwOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwLjRlbSAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuXG4gICAgICAgICYtLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICZfX2xpbms6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbWluLWhlaWdodDogNHJlbTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDIuOHJlbSAwO1xuXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAxcmVtO1xuXG4gICAgICAgICAgICAmLS1pY29uIHtcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0byBjYWxjKDIwcHggLSAxcmVtKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1taWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgICYtLW5lc3RlZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwOyAvLyBbMDFdIHJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcyB0aGlzIGNhbiBjYXVzZSBhICd0d2l0Y2gnIGluIHJlbmRlcmluZ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgZ2FwOiAwIDFyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWJzLWd1dHRlci14KSk7XG5cbiAgICAgICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtcGFnZXMge1xuICAgICAgICAgICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMC40cmVtKTsgLy8gWzAxXSBhZGQgdGhlIGJsb2NrIG1hcmdpbiBoZXJlXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0wLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAzcHggcmdiKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE1MDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyBsaW5lYXIgMHM7IC8vIGFkZCBzbGlnaHQgZGVsYXlcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQycmVtOyAvLyBvdGhlciBoZWFkZXIgZHJvcGRvd25zXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIC5uYXYtcGFnZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgIC5uYXYtcGFnZXMge1xuICAgICAgICAgICAgICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyIDAuM3M7IC8vIGFkZCBzbGlnaHQgZGVsYXlcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhhcygubmF2LXBhZ2VzX19saXN0KSB7XG4gICAgICAgICAgICAgICAgPiAubmF2LXBhZ2VzIHtcbiAgICAgICAgICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyBsaW5lYXIgMHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAzcHggcmdiKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE1NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0wLjg1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgICAgID4gLm5hdi1wYWdlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxNjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwcyBsaW5lYXIgMC4zcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xNXMgbGluZWFyIDAuM3M7IC8vIGFkZCBzbGlnaHQgZGVsYXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC4yZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOmNvbG9yJztcbkB1c2UgJ3Nhc3M6bWFwJztcblxuLmNhdGVnb3JpZXMtbWVudSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLmdldCgkYnRuLCAnYm9yZGVyLXJhZGl1cycpO1xuXG4gICAgICAgICAgICAmLWJveCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RyaWdnZXIge1xuICAgICAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubmF2IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyIDBmcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAuZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgeHhsKTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5hdiB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1jYXRlZ29yaWVzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2IoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1kcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICAgICAgICAgIC0tbGVmdC1tZW51LXdpZHRoOiAyMjRweDtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1taWQpIDAgY2FsYyh2YXIoLS1sZWZ0LW1lbnUtd2lkdGgpICsgMjBweCksICNmZmYgY2FsYyh2YXIoLS1sZWZ0LW1lbnUtd2lkdGgpICsgMjBweCkpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjBweCB2YXIoLS1sZWZ0LW1lbnUtd2lkdGgpIDFmcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aGFzKC5zdWJtZW51LS1tYWluOmhvdmVyKSA+IC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2xpbmstaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMi41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS1wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtIDAgMCAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgYmFzZS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAwIDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9fbGluay1pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9fbGluay1pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS1wcmltYXJ5OmhhcygrIC5vcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2xpbmstaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOm5vdCgubWVudV9faXRlbS0tbmVzdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fbGluay10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDBmcjtcblxuICAgICAgICAgICAgICAgIC5uYXYtY2F0ZWdvcmllcy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAtLWNhdGVnb3JpZXMtbmF2LWhlaWdodDogY2FsYyg5OHZoIC0gI3skaGVhZGVyLW5hdi1kZXNrdG9wLWhlaWdodH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLWNhdGVnb3JpZXMtbmF2LWhlaWdodCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgJl9fbW9yZS1saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgbGluayk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS1mb3J3YXJkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAxLjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLXNob3ctbW9yZSArIC5zdWJtZW51IHtcbiAgICAgICAgICAgICZfX21vcmUtbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktbGlnaHQpO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLnByb2R1Y3QtY2FyZC1zYW1wbGUtY29udGFpbmVyOm5vdCgucHJvZHVjdC1jYXJkLXNsaWRlcikge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQxMnB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnc20nKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MHB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgY29udGFpbmVyLW5hbWU6IHByb2R1Y3QtY2FyZDtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBAY29udGFpbmVyIHByb2R1Y3RzLXNlY3Rpb24gKHdpZHRoIDwgMzc0cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwNXB4IDFmcjtcbiAgICAgICAgICAgIGdyaWQtYXV0by1yb3dzOiBhdXRvO1xuICAgICAgICAgICAgZ2FwOiAwIDFyZW07XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWNhcmQge1xuICAgICAgICAgICAgICAgICZfX3ByaW1hcnksXG4gICAgICAgICAgICAgICAgJl9fc2Vjb25kYXJ5LFxuICAgICAgICAgICAgICAgICZfX3NlY29uZGFyeS1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5zcGVjaWZpY2l0eS1maXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3ByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIC5jYXJkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBnYXA6IDVweCAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmX19mdWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJl9fZGlzY291bnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICZfX3NhdmluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDUwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBzYXZpbmctY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgc2F2aW5nLWNvbG9yLWJnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fZmxhZ3Mge1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlLXNlbGY6IGJhc2VsaW5lIGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpoYXMoPiAqKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktc2VtaS10cmFuc3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZmxhZ3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2F2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiA0O1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA2MDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fdmFyaWFudHMge1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogNTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fYWRkIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDY7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3BlcmV4LFxuICAgICAgICAgICAgICAgICZfX3BhcmFtZXRlcnMge1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogNjtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fcGVyZXgge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIC5lbWJsYSAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfiAucHJvZHVjdC1jYXJkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICZfX3BhcmFtZXRlcnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH4gLnByb2R1Y3QtY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2FkZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogNztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3ByaW1hcnk6aGFzKC5mbGFnc19faXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1jYXJkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICZfX2F2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAtMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGNvbnRhaW5lciBwcm9kdWN0LWNhcmQgKHdpZHRoIDwgMjgwcHgpIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWNhcmQge1xuICAgICAgICAgICAgICAgICZfX3BlcmV4IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAY29udGFpbmVyIHByb2R1Y3QtY2FyZCAod2lkdGggPCAzMDVweCkge1xuICAgICAgICAgICAgLmVtYmxhICYgLnByb2R1Y3QtY2FyZCB7XG4gICAgICAgICAgICAgICAgJl9fcGVyZXgge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaW1hcnkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKG1pbi13aWR0aDogbWFwLmdldCgkZ3JpZC1icmVha3BvaW50cywgJ2xnJykpIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgJjpoYXMoLmNhcmQtcHJpY2VfX2Rpc2NvdW50KSxcbiAgICAgICAgICAgICY6aGFzKC5wcm9kdWN0LWNhcmRfX2F2YWlsYWJpbGl0eSkge1xuICAgICAgICAgICAgICAgICsgLnByb2R1Y3QtY2FyZF9fc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY29uZGFyeSB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAobWluLXdpZHRoOiBtYXAuZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAnbGcnKSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0xcmVtO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChtaW4td2lkdGg6IG1hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsICdsZycpKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAobWluLXdpZHRoOiBtYXAuZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAnbGcnKSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KC5wcm9kdWN0LWNhcmRfX2FkZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAucHJvZHVjdC1jYXJkIHtcbiAgICAgICAgICAgICZfX3NlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICBvcmRlcjogMTA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICB0ZXh0LXdyYXA6IGluaXRpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXG4gICAgICAgICYtbGluayB7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgLS10aHVtYm5haWwtcGFkZGluZzogY2xhbXAoMXJlbSwgM3Z3LCAycmVtKTtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGdyaWQtYXJlYTogMSAvIDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXRodW1ibmFpbC1wYWRkaW5nKTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMjNyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYyh2YXIoLS10aHVtYm5haWwtcGFkZGluZykgKiAwLjUpO1xuICAgICAgICAgICAgbGVmdDogY2FsYyh2YXIoLS10aHVtYm5haWwtcGFkZGluZykgKiAwLjUpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS10aHVtYm5haWwtcGFkZGluZykpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXRodW1ibmFpbC1wYWRkaW5nKSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXRodW1ibmFpbC1wYWRkaW5nKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mbGFncyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBjYWxjKHZhcigtLXRodW1ibmFpbC1wYWRkaW5nKSAtIDEwcHgpO1xuICAgICAgICBsZWZ0OiB2YXIoLS10aHVtYm5haWwtcGFkZGluZyk7XG4gICAgfVxuXG4gICAgJl9fYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICAmX192YXJpYW50cyB7XG4gICAgICAgIGdyaWQtYXJlYTogMSAvIDE7XG4gICAgICAgIHBsYWNlLXNlbGY6IHN0YXJ0O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBhdXRvO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKG1pbi13aWR0aDogbWFwLmdldCgkZ3JpZC1icmVha3BvaW50cywgJ2xnJykpIHtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMC45bGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wZXJleCB7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTcwMCcpO1xuICAgIH1cblxuICAgICZfX3BlcmV4LFxuICAgICZfX3BhcmFtZXRlcnMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0ZXh0LXdyYXA6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgJl9fcGFyYW1ldGVycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIGluaGVyaXQ7XG5cbiAgICAgICAgICAgIH4gZHQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJywgJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwLjNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogMC41cmVtO1xuICAgICAgICBnYXA6IDFyZW07XG5cbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAgICAgICAgZ2FwOiAwIDAuNTVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAxcmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGlnaHQnKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtMC4yZW0gMCAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMi42cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNvbXBhcmluZyBidXR0b24gc2hvdWxkIGJlIG9ubHkgc2hvd24gaW4gdGhlIG1haW4gcHJvZHVjdCBsaXN0aW5nIChjYXRlZ29yaWVzLCBzZWFyY2ggcmVzdWx0cylcbiAgICAmX19jb21wYXJlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICA6d2hlcmUoW2lkPSdzZWN0LWNhdGFsb2cnXSkgJl9fY29tcGFyZSB7XG4gICAgICAgICY6aXMoOmxpbmssIDp2aXNpdGVkKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwLjRlbTtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyLjZyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgJjppcyg6bGluaywgOnZpc2l0ZWQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgLy8gYWxsb3cgdXMgdG8gdXNlIHRoZSB0cmFuc3BhcmVudCBjb2xvdXIgYnV0IHN0aWxsIGhpZGUgdGhlIGltYWdlIGJlaGluZCBpdFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktbWlkJykgMCUsIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktbWlkJykgMTAwJSksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYgMCUsICNmZmYgMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5maXgtc3BlY2lmaWNpdHkpOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAobWluLXdpZHRoOiBtYXAuZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAnbGcnKSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGFkZCBzdHlsaW5nIGZvciBwcm9kdWN0IGNhcmQgYWRkLXRvLWNvbXBhcmUgbW9kYWxcbltpZD0nYWRkVG9Db21wYXJlTW9kYWwnXSAucHJvZHVjdC1kZXRhaWxfX2FjdGlvbnMtaWNvbiB7XG4gICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgc3Ryb2tlLXdpZHRoOiAwLjM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0wLjNlbTtcbiAgICB0b3A6IC0ycHg7XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5jYXJkLXByaWNlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ibG9jazogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMCAwLjNyZW07XG5cbiAgICAmX19mdWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcbiAgICAgICAgdGV4dC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGlzY291bnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktNzAwJyk7XG4gICAgfVxuXG4gICAgJl9fc2F2aW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdpbi1zdG9jaycpO1xuICAgIH1cblxuICAgICZfX3ZvdWNoZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCB2b3VjaGVyLWJnKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBjb250YWluZXIgcHJvZHVjdHMtc2VjdGlvbiAod2lkdGggPCAzNzRweCkge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucHJvZHVjdC1jYXJkIHtcbiAgICAmX19zcGVjaWFsIHtcbiAgICAgICAgJi0taW5uZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMS41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogY2xhbXAoMnJlbSwgNXZ3LCA0cmVtKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oZWFkaW5nLFxuICAgICAgICAmLS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhlYWRpbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDE1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbiRmbGFnczogKFxuICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5Jylcbik7XG4kZmxhZ3MtdGV4dC1jb2xvdXJzOiAoXG4gICAgMTAwOiAkbGFiZWwtdXNlZC1wcm9kdWN0LWNvbG9yLFxuICAgIDEwMTogJGxhYmVsLWdpZnQtY29sb3Jcbik7XG5cbi5mbGFncyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBsYWNlLXNlbGY6IGVuZDtcbiAgICBnYXA6IDAuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZsYWctYmFja2dyb3VuZCwgI2ZmZik7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRmbGFncywgJ2NvbG9yJyk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMi4ycmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjNlbSAwLjZlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG5cbiAgICAgICAgQGVhY2ggJGZsYWctbGFiZWwtaWQsICRmbGFnLXRleHQtY29sb3IgaW4gJGZsYWdzLXRleHQtY29sb3VycyB7XG4gICAgICAgICAgICAmW2RhdGEtbGFiZWwtaWQ9JyN7JGZsYWctbGFiZWwtaWR9J10ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZmxhZy10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5sYWJlbC1naWZ0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGFiZWwtZ2lmdC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA2MDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5uYXYtY2F0ZWdvcmllcy1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4ubWVudS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1lbnUge1xuICAgICZfX2xpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRoZWFkZXItbmF2LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA1cHg7XG5cbiAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICA+IC5tZW51IHtcbiAgICAgICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgPiAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2xpbmstdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMGZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMHB4IDFmciA0MHB4O1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICBnYXA6IDAgMXJlbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogOHB4O1xuXG4gICAgICAgICAgICA+IC5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcblxuICAgICAgICAgICAgICAgID4gLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLW5lc3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWxpZ2h0KTtcblxuICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgJl9fbGluay10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCg6aGFzKD4gLm1lbnVfX2xpbmsgLm1lbnVfX2xpbmstaW1nKSkge1xuICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgJl9fbGluay10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgICAgICB3aWR0aDogMS40cmVtO1xuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMuNDRyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IC03cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBpbmhlcml0O1xuICAgICAgICAgICAgZ2FwOiBpbmhlcml0O1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuXG4gICAgICAgICAgICAmOmlzKGEpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmRlc2t0b3AtbmF2LW9ubHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6d2hlcmUoOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDAuNzVyZW07IC8vIDAuNSBvZiBub3JtYWwgcGFkZGluZ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXByaW1hcnkge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA2MDA7XG5cbiAgICAgICAgICAgICAgICAubmF2LXBhZ2VzICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5lc3RlZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIGNhbGMoJGNvbnRhaW5lci1wYWRkaW5nLXggLyAyKTtcblxuICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICYtLW5lc3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2Nyb2xsLXdpdGhvdXQtc2Nyb2xsYmFyO1xuXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVyLW5hdi1kZXNrdG9wLWhlaWdodCAtICRoZWFkZXItdG9wLW5hdi1kZXNrdG9wLWhlaWdodCk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW46IDAgY2FsYygkbWVudS1pdGVtLWRlc2t0b3AtcGFkZGluZyAqIC0xKTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnktZGFyaycpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVyLW5hdi1kZXNrdG9wLWhlaWdodCAtICRoZWFkZXItdG9wLW5hdi1kZXNrdG9wLWhlaWdodCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogJGhlYWRlci10b3AtbmF2LWRlc2t0b3AtaGVpZ2h0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXN0ZWQge1xuICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICZfX2xpbms6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0sXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyID4gLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkbWVudS1pdGVtLWRlc2t0b3AtcGFkZGluZztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDExMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJi0tcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1zZWNvbmRhcnktbGlua3MtYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9fbGluay10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmstdGV4dCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmstaW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSg0cmVtKTtcblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIHBpY3R1cmUsXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgICAgICA+IC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgPiAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMXJlbSAyMiU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbmVzdGVkIHtcbiAgICAgICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjRlbSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW1vZGFsLXppbmRleDogI3skemluZGV4LW1vZGFsfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLW1kfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZzogI3skbW9kYWwtaW5uZXItcGFkZGluZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYmc6ICN7JG1vZGFsLWNvbnRlbnQtYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmc6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nfTsgLy8gVG9kbyBpbiB2NjogU3BsaXQgdGhpcyBwYWRkaW5nIGludG8geCBhbmQgeVxuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRtb2RhbC10aXRsZS1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXA6ICN7JG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2Vlbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZzogI3skbW9kYWwtZm9vdGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGh9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3cpKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleDogI3skemluZGV4LW1vZGFsLWJhY2tkcm9wfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmc6ICN7JG1vZGFsLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skbW9kYWwtYmFja2Ryb3Atb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcblxuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXgpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmcpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eSkpO1xufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIC8vIFNwbGl0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW52YWxpZCBjYWxjKCkgZnVuY3Rpb24gaWYgdmFsdWUgaXMgMFxuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZyk7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpOyAvLyBUb2RvIGluIHY2OiByZXBsYWNlIHdpdGggZ2FwIG9uIHBhcmVudCBjbGFzc1xuICB9XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAubW9kYWwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwfTtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXB9O1xuICB9XG5cbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC13aWR0aCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLXNtIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtc219O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1sZ307XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC14bH07XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRwb3N0Zml4OiBpZigkaW5maXggIT0gXCJcIiwgJGluZml4ICsgXCItZG93blwiLCBcIlwiKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAubW9kYWwtZnVsbHNjcmVlbiN7JHBvc3RmaXh9IHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWhlYWRlcixcbiAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuIiwiLy8gU2hhcmVkIGJldHdlZW4gbW9kYWxzIGFuZCBvZmZjYW52YXNlc1xuQG1peGluIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleCwgJGJhY2tkcm9wLWJnLCAkYmFja2Ryb3Atb3BhY2l0eSkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21vZGFsJztcblxuLm1vZGFsIHtcbiAgICBAaW5jbHVkZSBtb2RhbC12YXJpYWJsZXM7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcblxuICAgIC5tb2RhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1vZGFsLWluLW1vZGFsLWJhY2tkcm9wLWNvbG9yKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcblxuICAgICAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5oaWRlOm5vdCguaW4pIHtcbiAgICAgICAgei1pbmRleDogLTEwMDA7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICYtZGlhbG9nIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYyh2YXIoLS1icy1tb2RhbC1tYXgtaGVpZ2h0KSAtICh2YXIoLS1icy1tb2RhbC1tYXJnaW4pICsgdmFyKC0tYnMtbW9kYWwtbWFyZ2luKSkpO1xuICAgICAgICBtYXgtd2lkdGg6IDk4dnc7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1icy1tb2RhbC13aWR0aC1kZWZhdWx0KTtcbiAgICAgICAgaW5zZXQ6IGF1dG87XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICB9XG5cbiAgICAmLndpZGUge1xuICAgICAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1icy1tb2RhbC13aWR0aC13aWRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubmFycm93IHtcbiAgICAgICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tYnMtbW9kYWwtd2lkdGgtbmFycm93KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZnVsbC1wYWdlLW1vZGFsIHtcbiAgICAgICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMXB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAtbW96LWF2YWlsYWJsZTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZS4uLlxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDEwcHgpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgICAgICAgICAgICAgID4gaWZyYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaWZyYW1lIGhhcyBjb250ZW50IHRoYXQgc2l0cyB1bmRlciB0aGUgY2xvc2UgYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICYtLWZ1bGwtaGVpZ2h0LWlmcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1tb2RhbC1wYWRkaW5nLWJsb2NrKSAqIDMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5mYWRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6bm90KC5pbikge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5tb2RhbC1kaWFsb2cge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pbiB7XG4gICAgICAgICAgICA+IC5tb2RhbC1kaWFsb2cge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICAubW9kYWwtY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWJhY2tkcm9wIHtcbiAgICAgICAgJi5mYWRlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAgICAgJi5pbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IGNhbGModmFyKC0tbW9kYWwtcGFkZGluZy1pbmxpbmUpIC0gOHB4KTtcbiAgICAgICAgdG9wOiB2YXIoLS1tb2RhbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgICAgICBjb2xvcjogcmdiKDAsIDAsIDAsIDAuNyk7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2IoMCwgMCwgMCwgMC45KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMXB4ICNmZmYpO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxvYXRpbmctc3Bpbm5lci1jb250YWluZXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBvcGFjaXR5IGVhc2UtaW4gMC4ycyxcbiAgICAgICAgICAgICAgICB6LWluZGV4IDAuMnMgMC4wMXM7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNwaW5uZXItc2hvdyB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXNwaW5uZXIge1xuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbW9kYWwtc3Bpbm5lciAwLjc1cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1icy1tb2RhbC1wYWRkaW5nKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1tb2RhbC1wYWRkaW5nLWlubGluZSkgKyAzMHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcblxuICAgICAgICAmOmhhcygubW9kYWwtc3ViaGVhZGVyKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXN1YmhlYWRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIH1cblxuICAgICYtZm9vdGVyLFxuICAgICYtY29udGVudC1mb290ZXIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1icy1tb2RhbC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAmLWNvbnRlbnQtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgJi5jZW50ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1tb2RhbC1wYWRkaW5nLWJsb2NrKSAqIDIgKyAyNHB4KTsgLy8gYXZvaWQgc3RyYW5nZSwgbWlzYWxpZ25lZCBjbG9zZSBidXR0b24gb24gbG9hZFxuICAgIH1cblxuICAgICYtaGVhZGVyLFxuICAgIC5tb2RhbC1ib2R5IGgxLFxuICAgIC5jb29raWUtY29uc2VudC1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWJzLW1vZGFsLWhlYWRlci1mb250LXNpemUpO1xuICAgIH1cblxuICAgIC8vIHJlc2V0cyBmb3IgZXh0ZXJuYWwgcGFnZXNcbiAgICBbaWQ9J2FqYXhjb250ZW50J10ge1xuICAgICAgICAuYWRtaW4tZWRpdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVmYXVsdC1wYWdlLFxuICAgICAgICAuYWRtaW4tZWRpdCArICoge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZWZhdWx0LXBhZ2Uge1xuICAgICAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggdmFyKC0tbW9kYWwtcGFkZGluZy1ibG9jaykgMDtcblxuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmLWhhcy1zY3JvbGwge1xuICAgICAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IDJyZW07XG4gICAgICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBwcmV2ZW50IG11bHRpcGxlIHVzZXIgc3VibWl0cyB3aGVuIG1vZGFsIGlzIGxvYWRpbmcuLi5cbi5tb2RhbC1sb2FkaW5nIHtcbiAgICBbdHlwZT0nc3VibWl0J10ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbW9kYWwtc3Bpbm5lciB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB9XG59XG4iLCIubW9kYWwge1xuICAgIC8vIC0tYnMtbW9kYWwtbWFyZ2luIGlzIHVzZWQgZm9yIG1heC1oZWlnaHQgY2FsY3VsYXRpb25cbiAgICAvLyBidXQgaXMgc2V0IHRvIDAgKHdpdGhvdXQgdW5pdCkgd2hpY2ggaXMgbm90IGEgdmFsaWQgdmFsdWUgYW5kIHRoZSBjYWxjIGZ1bmN0aW9uIGlzIG5vdCB3b3JraW5nXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXQgKi9cbiAgICAtLWJzLW1vZGFsLW1hcmdpbjogMHB4O1xuXG4gICAgJi1kaWFsb2csXG4gICAgJi1jb250ZW50LFxuICAgIC5tb2RhbCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgfVxuXG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBAaW5jbHVkZSBjdXN0b20tc2Nyb2xsYmFyLWNvbnRhaW5lcjtcblxuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgICB9XG5cbiAgICAubW9kYWwtY2xvc2Uge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjAwMDA7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxcmVtO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICAgICAgd2lkdGg6IDQuN3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogNC43cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyLjdyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLnN1Ym1lbnUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idG4ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS44cmVtIDFmcjtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjRlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgJi0tYmFjayB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXNtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMS44cmVtKTtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMTVyZW07XG5cbiAgICAgICAgICAgICYtLWJhY2sge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1haW4ge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCRjb250YWluZXItbWF4LXdpZHRoIC0gJG1lbnUtaXRlbS1kZXNrdG9wLXBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgIEBpbmNsdWRlIGN1c3RvbS1zY3JvbGxiYXItY29udGFpbmVyO1xuXG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzY3JvbGxiYXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzaG93IG9uIHRhYmxldHNcbiAgICAgICAgQG1lZGlhIChob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zdWJtZW51LS1tYWluIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogLTIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIDUwO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgIC8vIEZpeCBmb3IgYmx1cnJlZCB0ZXh0OiBkbyBub3QgdHJhbnNpdGlvbiB0aGUgY29udGVudCwgdHJhbnNpdGlvbiBhbiBvdmVybGF5XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldDogMCAwIDAgY2FsYyh2YXIoLS1sZWZ0LW1lbnUtd2lkdGgpICsgMzBweCk7IC8vIHNsaWdodGx5IGxvd2VyIHZhbHVlLCBlbnN1cmUgd2UgY292ZXIgdGhlIHNoYWRvd3NcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAgICAgICAgIC8vIGZpeCAndHdpdGNoaW5nJyB0ZXh0IHByb2JsZW0gd2l0aCB0b3AgbGV2ZWwgY2F0ZWdvcnkgdGV4dCB3aGVuIGNoYW5naW5nIGNhdGVnb3J5IG9uIFNhZmFyaVxuICAgICAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTEwO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICZfX2xpbmstaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAtLUVORCBGaXggZm9yIGJsdXJyZWQgdGV4dFxuXG4gICAgICAgICAgICA+IC5tZW51IHtcbiAgICAgICAgICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgobWluKDM1MHB4LCAxMDAlKSwgMWZyKSk7XG4gICAgICAgICAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG5cbiAgICAgICAgICAgICAgICA+IC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzbWFsbC1ibG9jay1jb21wb25lbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgOC41cmVtKSAxZnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBnYXA6IDAgMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpoYXMoLm1lbnVfX2xpbmstaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4LjVyZW0gMWZyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtYXV0by1yb3dzOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLWltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNy41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDcuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBkYXJrZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5tZW51IHtcbiAgICAgICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAmLS1uZXN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub3BlbiAubWVudSB7XG4gICAgICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgJi0tbmVzdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJl9fbGluay1pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXN0ZWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG5cbiAgICAgICAgICAgID4gLm1lbnUge1xuICAgICAgICAgICAgICAgICYtLW5lc3RlZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpbmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICYtLW5lc3RlZCB7XG4gICAgICAgICAgICAgICAgICAgID4gLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcsXFwwMGEwJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IC0wLjNlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICY6d2hlcmUoOm5vdCgubW9iaWxlLW5hdi1vbmx5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpbmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhpZGluZyBkZWVwZXIgc3RydWN0dXJlIG9mIHN1Ym1lbnVzXG4gICAgICAgIC5zdWJtZW51IC5zdWJtZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5jYXRlZ29yaWVzLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgJi0tYiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICB9XG5cbiAgICAmLS1iICZfX2xpc3QsXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI1cmVtLCAxZnIpKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgICAgICBnYXA6IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTUuNXJlbSwgMWZyKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbiRjYXRlZ29yeS1pdGVtOiAoXG4gICAgYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0JyksXG4gICAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2IoMCwgMCwgMCwgMC4wNSksXG4gICAgYnRuLWJnLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5JyksXG4gICAgYnRuLWljb24tY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0JyksXG4gICAgYnRuLWhvdmVyLWJnLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYXJrJyksXG4gICAgaG92ZXItY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ3ByaW1hcnknKVxuKTtcblxuLmNhdGVnb3J5LWl0ZW0ge1xuICAgIEBpbmNsdWRlIHNtYWxsLWJsb2NrLWNvbXBvbmVudCgkcmFkaXVzOiA4cHgsICRiYWNrZ3JvdW5kLXN0YXJ0OiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpZ2h0KSwgJGJhY2tncm91bmQtZW5kOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpZ2h0KSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1taWQpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGxpbmVhciAwLjE1cztcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeS1taWQpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuNHJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA2MDA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNtICZfX2ltZyB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgzZW0pO1xuICAgIH1cblxuICAgICYtLXNtICZfX25hbWUge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDYwMDtcbiAgICB9XG5cbiAgICAmLS1zbSAmX19saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJGNhdGVnb3J5LWl0ZW0sICdob3Zlci1jb2xvcicpO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS40cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdtZCcpIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSg0ZW0pO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luOiAtMC43cmVtIDAgLTAuN3JlbSAtMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDg1JTtcbiAgICAgICAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2F0ZWdvcmllcy1zZWN0aW9uICYge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogNC40cmVtO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6Y29sb3InO1xuQHVzZSAnc2FzczptYXAnO1xuXG4ubmF2LXRhYnMubmF2LXRhYnMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnktbGlnaHQpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgZmxleDogMCAxIDIwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA3cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5hZGp1c3QobWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LW1pZCksICRhbHBoYTogLTEpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICY6bGluayxcbiAgICAgICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LW1pZCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5LW1pZCcpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFicyB7XG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgICYtaGVhZGluZyB7XG4gICAgICAgICAgICAmLS1pbmRpY2F0b3ItaWNvbiB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgJi5maWxlcyB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMC40O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5uZXItY29udGVudDpub3QoLnNwZWNpZmljaXR5LWZpeCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLmFkbWluLWVkaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IG1pbigzMHJlbSwgMjB2aCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVZKGNhbGMoNTAlICsgMC40cmVtKSk7IC8vIGJsb2NrLXBhZGRpbmdcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGJ0biwgJ2JnLWNvbG9yJyk7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRidG4sICdjb2xvcicpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogMC4yZW0gMC42ZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGNvbG9yIDAuMTVzIGxpbmVhcixcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGJ0biwgJ2hvdmVyLWJnLWNvbG9yJyk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkYnRuLCAnaG92ZXItY29sb3InKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuJG1vcmU6IChcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnbGluaycpLFxuICAgIGFycm93LWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5JylcbikgIWRlZmF1bHQ7XG5cbi5tb3JlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgwLjhyZW0pO1xuXG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRtb3JlLCAnYXJyb3ctY29sb3InKTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAzO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC40cmVtKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAmOmhvdmVyICZfX2ljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuOHJlbSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubW9yZSB7XG4gICAgJi5idG4ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vcmUge1xuICAgICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9kdWN0cy1zZWN0aW9uIHtcbiAgICAtLW1pbmltdW0tY2FyZC13aWR0aDogMTkwcHg7XG4gICAgLS1nYXAtc2l6ZTogI3tjYWxjKCRjb250YWluZXItcGFkZGluZy14IC8gMyl9O1xuXG4gICAgY29udGFpbmVyLW5hbWU6IHByb2R1Y3RzLXNlY3Rpb247XG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnc20nKSB7XG4gICAgICAgIC0tbWluaW11bS1jYXJkLXdpZHRoOiAyODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgLS1nYXAtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgIC0tZ2FwLXNpemU6IDRyZW07XG4gICAgfVxuXG4gICAgJl9fdHlwbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IHZhcigtLWdhcC1zaXplKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgobWluKHZhcigtLW1pbmltdW0tY2FyZC13aWR0aCksIDEwMCUpLCAxZnIpKTtcblxuICAgICAgICAmLS1wbHVzLWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnc20nKSB7XG4gICAgICAgICAgICAgICAgLS1taW5pbXVtLWNhcmQtd2lkdGg6IGNsYW1wKDE2OHB4LCAxNnZ3LCAzMTdweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3h4bCcpIHtcbiAgICAgICAgICAgICAgICAtLW1pbmltdW0tY2FyZC13aWR0aDogY2xhbXAoMTY4cHgsIDE5dncsIDMxN3B4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdsZycpIHtcbiAgICAgICAgICAgICAgICAtLWdhcC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1nYXAtc2l6ZSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIHZhcigtLW1pbmltdW0tY2FyZC13aWR0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAY29udGFpbmVyIHByb2R1Y3RzLXNlY3Rpb24gKHdpZHRoIDwgMzc0cHgpIHtcbiAgICAgICAgICAgIC0tZ2FwLXNpemU6IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5wcm9kdWNlcnMtc2VjdGlvbiB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgIH1cblxuICAgICZfX3NsaWRlciB7XG4gICAgICAgIC5lbWJsYSB7XG4gICAgICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgY2FsYyhjbGFtcCgxLjVyZW0sIDN2dywgNC45NXJlbSkgKyAxMDBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2J1dHRvbnMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhhcyguZW1ibGFfX2J1dHRvbi0tcHJldjpkaXNhYmxlZCk6aGFzKC5lbWJsYV9fYnV0dG9uLS1uZXh0OmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdtZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggMCByZ2IoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjZXItaXRlbSB7XG4gICAgaGVpZ2h0OiA2cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdtZCcpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLW91dCAwLjE1cztcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAgICAgJjpsaW5rLFxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjZXItaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICZfX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2Utb3V0IDAuMTVzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y2VyLWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICZfX25hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucG9zdHMtc2VjdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3h4bCcpIHtcbiAgICAgICAgJl9fdHlwbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tb3JlIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLm1vcmUge1xuICAgICAgICAgICAgJi5idG4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNC4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3RzLXNsaWRlciAuZW1ibGEge1xuICAgICAgICAmX192aWV3cG9ydCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLnBvc3QtaXRlbSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC13aWR0aDogNDByZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcmRlcjogLTI7XG5cbiAgICAgICAgJi0taGFzLWltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNTAwO1xuICAgICAgICBtYXJnaW46IDEuNnJlbSAwIDEuNHJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fZGF0ZSB7XG4gICAgICAgIC5wb3N0LWl0ZW0gJiB7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICBtYXJnaW46IDEuNnJlbSAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BlcmV4IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC44ZW07XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDY7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcblxuICAgICAgICAqICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjZlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXItLWhhcy1pbWcgfiAucG9zdC1pdGVtX19wZXJleCB7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC44cyBlYXNlO1xuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3hsJykge1xuICAgICAgICAmX19oZWFkZXItLWhhcy1pbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3h4bCcpIHtcbiAgICAgICAgJl9faGVhZGVyLS1oYXMtaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMjdyZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyAmX19oZWFkbGluZSB7XG4gICAgICAgIC8vICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAvLyB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4uYmVuZWZpdHMtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZGFyaycpO1xuICAgIHBhZGRpbmctYmxvY2s6IDJyZW0gNnJlbTtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigyMDBweCwgMTAwJSksIDFmcikpO1xuICAgICAgICBnYXA6IGNsYW1wKDNyZW0sIDV2dywgNnJlbSk7XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4uYmVuZWZpdC1pdGVtIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBnYXA6IGNsYW1wKDAuNXJlbSwgMnZ3LCAycmVtKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDA7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNzAwO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcblxuICAgICAgICArIHAge1xuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDUuNXJlbSk7XG5cbiAgICAgICAgc3Ryb2tlOiBub25lO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLmJyZWFkY3J1bWJzIHtcbiAgICAtLW92ZXJmbG93LWJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1LCAxKTtcblxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMC43Mjg2cmVtICsgMC41NjU0dncsIDEuNHJlbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBoaWRlIHRoZSBzY3JvbGxiYXIgZm9yIEZpcmVmb3hcbiAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWlubGluZTogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAtMC41KTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tYnMtZ3V0dGVyLXgpKTtcbiAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAqIDAuNSk7XG4gICAgZGlyZWN0aW9uOiBydGw7XG5cbiAgICAvLyBoaWRlIHRoZSBzY3JvbGxiYXIgZm9yIHdlYmtpdC9ibGluayBicm93c2Vyc1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAmLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwLjllbSAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgneHhsJykge1xuICAgICAgICAgICAgcGFkZGluZzogMS4zZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNoYWRvd1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYigyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2IoMjU1LCAyNTUsIDI1NSwgMCkgMjhweCwgcmdiKDI1NSwgMjU1LCAyNTUsIDApIGNhbGMoMTAwJSAtIDI4cHgpLCByZ2IoMjU1LCAyNTUsIDI1NSwgMSkgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYigyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2IoMjU1LCAyNTUsIDI1NSwgMCkgMThweCwgcmdiKDI1NSwgMjU1LCAyNTUsIDApIGNhbGMoMTAwJSAtIDE4cHgpLCByZ2IoMjU1LCAyNTUsIDI1NSwgMSkgMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgb3JkZXI6IGNhbGModmFyKC0tb3JkZXIpICogLTEpO1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkYnJlYWRjcnVtYnMsICdjb2xvcicpO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRicmVhZGNydW1icywgJ2FjdGl2ZS1jb2xvcicpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayxcbiAgICAmX19pdGVtID4gc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDAgMC43NXJlbTtcbiAgICB9XG5cbiAgICAmX19pdGVtID4gc3BhbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIC5kLW1kLW5vbmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ob3VzZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkYnJlYWRjcnVtYnMsICdjb2xvcicpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMS40cmVtO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdtZCcpIHtcbiAgICAgICAgICAgICY6bm90KC5zcGVjaWZpY2l0eS1maXgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1iYWNrIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICAuZC1tZC1ub25lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIH1cblxuICAgICAgICAmOndoZXJlKDpub3QoOmhhcyguYnJlYWRjcnVtYi1wcm9kdWN0KSkpIHtcbiAgICAgICAgICAgIC5icmVhZGNydW1ic19faXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6d2hlcmUoOmhhcyguYnJlYWRjcnVtYi1wcm9kdWN0KSkge1xuICAgICAgICAgICAgLmJyZWFkY3J1bWJzX19pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpLCAobWF4LXdpZHRoOiAje21hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKX0pIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjp3aGVyZSg6bm90KDpoYXMoLmJyZWFkY3J1bWItcHJvZHVjdCkpKSAuYnJlYWRjcnVtYnNfX2l0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9tbyB7XG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLmRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZHJvcGRvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2xpZ2h0Jyk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyBsaW5lYXI7XG4gICAgei1pbmRleDogMTMwO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAzcHggcmdiKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICB9XG59XG4iLCIuZHJvcGRvd24tYnRuIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDAuNWVtIDA7XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDAuOWVtKTtcblxuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIHN0cm9rZS13aWR0aDogMTtcbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5zb3J0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJl9fcm93IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAzZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgJi0tZm91bmQtcHJvZHVjdHMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktNjAwJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgICAmX19yb3cgKyAmX19yb3cge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMjAwJyk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3JvdyB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb2wgKyAmX19jb2wge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTIwMCcpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBvdmVycmlkZXMgZnJvbSBkZWZhdWx0LiBJZiB0aGVyZSBhcmUgbW9yZSBtb2RpZmljYXRpb25zLCBtb3ZlIHRoZSBkZWZhdWx0IHJ1bGVzIG92ZXIgaGVyZSFcbi5zb3J0IHtcbiAgICAmX19yb3cge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJ2xnJykge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucHJvZHVjdC1hdmFpbGFiaWxpdHkge1xuICAgIGNvbG9yOiAkcHJvZHVjdC1hdmFpbGFiaWxpdHk7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA1MDA7XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG59XG5cbi5zdG9jayB7XG4gICAgJi0tYXZhaWxhYmxlIHtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgaW4tc3RvY2spO1xuXG4gICAgICAgICYtZXh0cmEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMC41Y2g7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuanMtYnJhbmNoZXMtYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLTAuNXJlbTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5LWRhcmspO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdW5hdmFpbGFibGUge1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBvdXQtb2Ytc3RvY2spO1xuICAgIH1cblxuICAgICYtLXByZW9yZGVyIHtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgcHJlb3JkZXIpO1xuICAgIH1cbn1cblxuLmRlbGl2ZXJ5LWRhdGUge1xuICAgICZfX3JlYWR5LWZvci1waWNrdXAge1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBpbi1zdG9jayk7XG4gICAgfVxuXG4gICAgJl9fdW5hdmFpbGFibGUsXG4gICAgJl9fdW5rbm93biB7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIG91dC1vZi1zdG9jayk7XG4gICAgfVxufVxuXG4ubW9kYWwucHJvZHVjdC1kZWxpdmVyeS1kYXRlcy1tb2RhbCB7XG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGRsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMwMDhkZDIgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgIGR0IHtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDUwMDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBkbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLnJlc3VsdHMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogM3JlbSAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdsZycpIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIGdhcDogMnJlbSAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ3h4bCcpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAobWluLXdpZHRoOiBtYXAuZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAnbGcnKSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtY291bnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG5cbiAgICAgICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWNvdW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWNlbGwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1taWQge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyA0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHJlbTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1jZWxsLS1yaWdodCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICAgICAgICAmLWNlbGwtLW1pZCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuJHBhZ2luYXRpb246IChcbiAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAncHJpbWFyeScpLFxuICAgIGFjdGl2ZS1iZy1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0xMDAnKSxcbiAgICBhY3RpdmUtY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2RhcmsnKSxcbiAgICBuYXYtYmctY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktMTAwJyksXG4gICAgbmF2LWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdwcmltYXJ5JyksXG4gICAgbmF2LWRpc2FibGVkLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTYwMCcpXG4pO1xuXG4ucGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgICsgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5mbyB7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLmdldCgkdGhlbWUtY29sb3JzLCAnZ3JheS0yMDAnKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcblxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmVycm9yIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdkYW5nZXInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNC40cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQuNnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3Rpb24ge1xuICAgICAgICAgICAgJjppcyg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICZfX25hdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmlzKDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAmX19uYXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgICZfX25hdjppcyhhKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGJ0biwgJ2JnLWNvbG9yJyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRidG4sICdjb2xvcicpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGJ0biwgJ2hvdmVyLWJnLWNvbG9yJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19uYXY6aXMoc3Bhbikge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTEsIDUxLCAxMTQsIDAuMyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdsaWdodCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJHBhZ2luYXRpb24sICduYXYtYmctY29sb3InKTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJHBhZ2luYXRpb24sICduYXYtY29sb3InKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDMuMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHN0cm9rZS13aWR0aDogMDtcblxuICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmRyb3Bkb3duLWxpc3Qge1xuICAgICZfX2l0ZW0ge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC4zZW0gMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY29tbWEtbGlzdCB7XG4gICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnLCAnO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuM2VtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4ucGlwZS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAgMC40cmVtO1xuXG4gICAgPiAqIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwIDAuNHJlbTtcblxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm90LW5vdGF0aW9uXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS00MDApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2Fzczpjb2xvcic7XG5cbi5jaGVja2JveCB7XG4gICAgJGRpbWVuc2lvbnM6IDE4cHg7XG5cbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMCAwLjc1ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogJGRpbWVuc2lvbnMgMWZyO1xuXG4gICAgJi0taW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcblxuICAgICAgICArICoge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm90LW5vdGF0aW9uXG4gICAgICAgIC5jaGVja2JveF9faW5wdXQ6d2hlcmUoOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkpLFxuICAgICAgICAucmFkaW9fX2lucHV0OndoZXJlKDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm90LW5vdGF0aW9uXG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAmX19pbnB1dCxcbiAgICAgICAgLnJhZGlvX19pbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQsXG4gICAgLnJhZGlvX19pbnB1dCB7XG4gICAgICAgIC0taW5wdXQtYmctY29sb3I6IHZhcigtLWlucHV0LWNvbG9yLCAjeyRsaWdodH0pO1xuICAgICAgICAtLWlucHV0LWJvcmRlci1jb2xvcjogdmFyKC0taW5wdXQtY29sb3IsIGNvbG9yLW1peChpbiBzcmdiLCAjeyRwcmltYXJ5fSAzMCUsICNmZmYpKTtcblxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogJGRpbWVuc2lvbnM7XG4gICAgICAgIHdpZHRoOiAkZGltZW5zaW9ucztcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW5wdXQtYmctY29sb3IpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgfiAqIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTEwMCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmU6d2hlcmUoOm5vdCg6ZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgJjp3aGVyZSg6bm90KDpkaXNhYmxlZCkpIHtcbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICB+IC5jaGVja2JveF9fdGV4dCB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjp3aGVyZSg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICB+IC5jaGVja2JveF9fdGV4dCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICAmOmNoZWNrZWQ6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWNoZWNrYm94LWNoZWNrKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOTUlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICsgLmNoZWNrYm94X190ZXh0Om5vdCgudXNlci1mb3JtLWV4dHJhcyAuY2hlY2tib3hfX3RleHQpIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgODAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcblxuICAgICAgICAgICAgICAgIC5jaGVja2JveF9fdGV4dC0tY291bnQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmFkaW8ge1xuICAgICAgICAmX19pbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGltZW5zaW9ucyAqIDAuNTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICgkZGltZW5zaW9ucyAtIDhweCkgKiAwLjU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGRpbWVuc2lvbnMgLSAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZGltZW5zaW9ucyAtIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA1MDA7XG5cbiAgICAgICAgJi0tY291bnQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS00MDApO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMC41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICArIC5oaW50IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKDFweCArIDI0cHggKyAwLjc1ZW0pO1xuICAgIH1cblxuICAgIH4gLmVycm9ycyB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMXB4ICsgMjRweCArIDAuNzVlbSk7XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4uY29sdW1uLWl0ZW1zIHtcbiAgICAmLWR5bmFtaWMge1xuICAgICAgICAtLWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgLS1jb2x1bW4td2lkdGg6IDIwMHB4O1xuXG4gICAgICAgIGNvbHVtbi1nYXA6IDMwcHg7XG4gICAgICAgIGNvbHVtbnM6IHZhcigtLWNvbHVtbi1jb3VudCkgdmFyKC0tY29sdW1uLXdpZHRoKTtcblxuICAgICAgICAmLS10cmlnZ2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIC5idG4tLW1vcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGxpbmspO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgLmJ0bl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAzO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZVkoMC40cmVtKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIC5idG5fX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVZKDAuOHJlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyB3ZSBkb24ndCB3YW50IGEgc2luZ2xlIGhvcml6b250YWwgbGluZSBvZiBpdGVtcywgc28gaWYgdGhlcmUgYXJlIGZld2VyIHRoYW4gNS4uLlxuICAgICAgICAuY29sdW1uLWl0ZW1zIHtcbiAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgIH4gKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4tc3BhbjogYWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLnNob3ctYWxsLWl0ZW1zKSB7XG4gICAgICAgICAgICAuY29sdW1uLWl0ZW1zX19pdGVtLS1oaWRlIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVzci1vbmx5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBmYWxsYmFjayBpbiBjYXNlIEpTIGlzIG5vdCB3b3JraW5nXG4gICAgICAgICAgICAmOm5vdCguY29sdW1uLWl0ZW1zLWR5bmFtaWMtYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgLmNvbHVtbi1pdGVtc19faXRlbS0taGlkZSB7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogc2hvdy1hbGwtaXRlbXMgMHMgbGluZWFyIDVzIG5vcm1hbCBmb3J3YXJkcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW4taXRlbXMtZHluYW1pYy0tdHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3ttYXAuZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBzKX0pIGFuZCAobWF4LXdpZHRoOiAje21hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSAtIDF9KSB7XG4gICAgICAgICAgICAtLWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzaG93LWFsbC1pdGVtcyB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby1kZXByZWNhdGVkXG4gICAgICAgIGNsaXA6IHJldmVydDtcbiAgICAgICAgY2xpcC1wYXRoOiByZXZlcnQ7XG4gICAgICAgIGhlaWdodDogcmV2ZXJ0O1xuICAgICAgICB3aWR0aDogcmV2ZXJ0O1xuICAgICAgICBvdmVyZmxvdzogcmV2ZXJ0O1xuICAgICAgICBwb3NpdGlvbjogcmV2ZXJ0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogcmV2ZXJ0O1xuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLm1lc3NhZ2Uge1xuICAgIC0tYmFja2dyb3VuZC1jb2xvcjogI3ttYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMTAwKX07XG4gICAgLS10ZXh0LWNvbG9yOiAje21hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFyayl9O1xuICAgIC0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yOiAje21hcC5nZXQoJHRoZW1lLWNvbG9ycywgZ3JheS02MDApfTtcbiAgICAtLWljb246IHVybCgnJyk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgcGFkZGluZzogMnJlbSAyLjZyZW0gMnJlbSBjYWxjKDMuNnJlbSArIDI0cHgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMCAxcmVtO1xuXG4gICAgJi5lcnJvcixcbiAgICAmLmZvcm0tZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIC0tYmFja2dyb3VuZC1jb2xvcjogI3ttYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGRhbmdlci1iZyl9O1xuICAgICAgICAtLWljb24tYmFja2dyb3VuZC1jb2xvcjogI3ttYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGRhbmdlcil9O1xuXG4gICAgICAgIC8vICNpY29uLWVycm9yXG4gICAgICAgIC0taWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBmaWxsPSclMjNmZmYnIGQ9J204IDkuNDE0LTQuMjkzIDQuMjkzLTEuNDE0LTEuNDE0TDYuNTg2IDggMi4yOTMgMy43MDdsMS40MTQtMS40MTRMOCA2LjU4Nmw0LjI5My00LjI5MyAxLjQxNCAxLjQxNEw5LjQxNCA4bDQuMjkzIDQuMjkzLTEuNDE0IDEuNDE0TDggOS40MTR6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgICYubm90aWNlIHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiAje21hcC5nZXQoJHRoZW1lLWNvbG9ycywgaW5mby1iZyl9O1xuICAgICAgICAtLWljb24tYmFja2dyb3VuZC1jb2xvcjogI3ttYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHdhcm5pbmcpfTtcbiAgICAgICAgLS1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNMTIgMTBhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAyIDB2LTZhMSAxIDAgMCAwLTEtMVptMC00YTEuMjUgMS4yNSAwIDEgMCAxLjI1IDEuMjVBMS4yNSAxLjI1IDAgMCAwIDEyIDZaJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgICYub2sge1xuICAgICAgICAtLWJhY2tncm91bmQtY29sb3I6ICN7bWFwLmdldCgkdGhlbWUtY29sb3JzLCBzdWNjZXNzLWJnKX07XG4gICAgICAgIC0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yOiAje21hcC5nZXQoJHRoZW1lLWNvbG9ycywgc3VjY2Vzcyl9O1xuICAgICAgICAtLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2Utd2lkdGg9JzMnIHZpZXdCb3g9Jy02IC02IDI0IDI0JyUzRSUzQ3BhdGggZD0nTTIwIDYgOSAxN2wtNS01Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXG4gICAgICAgIC5mYTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgIGxlZnQ6IDJyZW07XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taWNvbikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJixcbiAgICAubWVzc2FnZS1pbm5lcixcbiAgICAubXNnLWlubmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIC5hbGVydC1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGdhcDogMCAxcmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAubWVzc2FnZSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5cbi5mbG9hdGluZy1zcGlubmVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmZsb2F0aW5nLXNwaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgICYuc3Bpbm5lci1zaG93IHtcbiAgICAgICAgLm1zZy1vdmVybGF5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDkwcHg7IC8vIHNwaW5uZXIgdG9wICsgaGVpZ2h0ICsgJ3NwYWNpbmcnXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgJ2dyYXktNjAwJyk7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYsXG4gICAgJi0tcGFnZSB7XG4gICAgICAgIC5mbG9hdGluZy1zcGlubmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbiAwLjE1cztcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcblxuICAgICAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICBmaWxsOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsICdncmF5LTQwMCcpO1xuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3Bpbm5lci1zaG93IHtcbiAgICAgICAgICAgIC5mbG9hdGluZy1zcGlubmVyIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXItYW5pbWF0aW9uIDAuNzVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIG9wYWNpdHkgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgei1pbmRleCAwcyBsaW5lYXIgMC4xNXM7XG5cbiAgICAgICAgLmZsb2F0aW5nLXNwaW5uZXIge1xuICAgICAgICAgICAgcGxhY2Utc2VsZjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3Bpbm5lci1zaG93IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMTVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICB6LWluZGV4IDAuMTVzIGxpbmVhciAwcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzcGlubmVyLWFuaW1hdGlvbiB7XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuXG4uc2VsZWN0MiB7XG4gICAgJi1zZWxlY3Rpb24sXG4gICAgJi1jb250YWluZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAuZ2V0KCRpbnB1dCwgJ2JvcmRlci1yYWRpdXMnKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtc2VsZWN0aW9uIHtcbiAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiA0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMy44cmVtIC0gMnB4KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICAmLS1zaW5nbGUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMy44cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAmX19yZW5kZXJlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICYtLW9wZW4ge1xuICAgICAgICAgICAgLnNlbGVjdDItZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcblxuLmhvbWUtc2hvcHMge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIuMDZmciAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCd4eGwnKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNzVmciByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWFycm93LXJpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZ2FwOiAwIDAuNXJlbTtcblxuICAgICAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogNTA7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMC44ZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1ibG9jayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIGdyYXktMTAwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCdtZCcpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA3MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAgKyBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvcHMtbWFwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2OCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigyMDBweCwgMTAwJSksIDFmcikpO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgICAgIGdhcDogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgneHhsJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICA+ICosXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2IoMCwgMCwgMCwgMCkgMCUsIHJnYigwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogMCAtMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmFzc29jaWF0aW9ucyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBncmF5LTEwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiBjbGFtcCgycmVtLCAzdncsIDZyZW0pIGNsYW1wKDFyZW0sIDJ2dywgM3JlbSkgY2xhbXAoMnJlbSwgM3Z3LCA2cmVtKSBjbGFtcCgycmVtLCAzdncsIDZyZW0pO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogY2xhbXAoMXJlbSwgMnZ3LCAycmVtKTtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZGVmYXVsdC1wYWdlIHtcbiAgICAmX19oZWFkZXIge1xuICAgICAgICBib2R5ICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuXG4gICAgICAgICAgICAmOmhhcygrIC5jYW52YXMpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJkZXRhaWxzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmctYmxvY2s6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgJjo6ZGV0YWlscy1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBjb250ZW50cztcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTZweCAhaW1wb3J0YW50OyAvLyBmcm9tIGlubGluZSBzdHlsZXMgaGVyZTogL3N0cmFua3kvamFrLXNlLXByaWhsYXNpdC9cblxuICAgICAgICA+IDp3aGVyZShoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIG9sLCB1bCwgZGwpICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNsYW1wKDFyZW0sIDIuODJ2aSArIC0wLjE3cmVtLCAycmVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN1bW1hcnksXG4gICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNsYW1wKDVweCwgMnZ3LCAxNXB4KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZbb3Blbl0ge1xuICAgICAgICAmOjpkZXRhaWxzLWNvbnRlbnQge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICBkaXYge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLW91dDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGdyaWQ7IC8vIGhpZGVzIHRoZSBzdW1tYXJ5J3MgOjptYXJrZXIgcHNldWRvLWVsZW1lbnRcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAgY2xhbXAoMS41cmVtLCA0dncsIDNyZW0pO1xuXG4gICAgLy8gZnJvbSBpbmxpbmUgc3R5bGVzIGhlcmU6IC9zdHJhbmt5L2phay1zZS1wcmlobGFzaXQvXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLWJsb2NrOiA4cHg7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogY2xhbXAoNXB4LCAydncsIDE1cHgpIGNsYW1wKC0xNXB4LCAtMnZ3LCAtNXB4KTtcbiAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIC8vIHJlbW92ZSBzb21lIGV4Y2VzcyBwYWRkaW5nLi4uXG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogLTNweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLSc7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgW29wZW5dICYge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mYXEge1xuICAgIHBhZGRpbmctYmxvY2s6IGNsYW1wKDZyZW0sIDExLjN2aSArIDEuMzJyZW0sIDEwcmVtKTtcblxuICAgIGRldGFpbHMge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJHRoZW1lLWNvbG9ycywgZGFyay1zZW1pLXRyYW5zcCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IC0xcHg7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1mYXEtdGhlbWUsICN7bWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KX0pO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJltvcGVuXTo6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICsgZGV0YWlscyB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN1bW1hcnkge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDNyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAwLjU2dmkgKyAxLjM3cmVtLCAxLjhyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkdGhlbWUtY29sb3JzLCBkYXJrKTtcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogM3JlbTtcblxuICAgICAgICAvLyBib3R0b20gcGFkZGluZyBoYWNrLi4uXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRldGFpbHNbb3Blbl0ge1xuICAgICAgICBzdW1tYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1mYXEtdGhlbWUsICN7bWFwLmdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2OjphZnRlciB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnN1Z2dlc3Rpb25zIHtcbiAgICBtYXgtd2lkdGg6IG1hcC5nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGRlc2t0b3ApO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cbiAgICAmLnN1Z2dlc3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkaGVhZGVyLW5hdi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG5cbiAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGhlYWRlci1uYXYtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgLnN1Z2dlc3Rpb25zIHtcbiAgICAgICAgICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAqIDAuNSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLnN1Z2dlc3Qtc2VjdGlvbi5zdWdnZXN0LXByb2R1Y3RzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWdnZXN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWdnZXN0LXRodW1iIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWdnZXN0aW9ucyB7XG4gICAgICAgICZfX2Nsb3NlIHtcbiAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwLjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5lcnJvci1wYWdlIHtcbiAgICAucHJvZHVjdHMtc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogJHNwYWNlciAqIDY7XG5cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdzbScpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIG5leHQgc21hbGxlciBicmVha3BvaW50IGZyb20gdGhlIGdpdmVuIGJyZWFrcG9pbnQuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gVGhlIGJyZWFrcG9pbnQgZm9yIHdoaWNoIHRvIGZpbmQgdGhlIG5leHQgc21hbGxlciBicmVha3BvaW50LlxuICogQHJldHVybiB7U3RyaW5nfG51bGx9IC0gVGhlIG5leHQgc21hbGxlciBicmVha3BvaW50LCBvciBudWxsIGlmIG5vIHNtYWxsZXIgYnJlYWtwb2ludCBpcyBhdmFpbGFibGUuXG4gKi9cbi8qKlxuICogUmV0cmlldmVzIHRoZSBuZXh0IGxhcmdlciBicmVha3BvaW50IGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcC5cbiAqXG4gKiBAZnVuY3Rpb24gZ2V0LWJpZ2dlci1icmVha3BvaW50XG4gKiBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBUaGUgY3VycmVudCBicmVha3BvaW50IHRvIGZpbmQgdGhlIG5leHQgbGFyZ2VyIG9uZSBmb3IuXG4gKiBAcmV0dXJuIHtTdHJpbmcgfCBudWxsfSAtIFRoZSBuZXh0IGxhcmdlciBicmVha3BvaW50IG9yIG51bGwgaWYgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyB0aGUgbGFyZ2VzdCBvciBub3QgZm91bmQuXG4gKi9cbi8qKlxuICogUmVzZXQgaVNwYWNlIGN1c3RvbSBmb3JtIGlucHV0IHN0eWxlcyB0byBiZSBhYmxlIHRvIGRlc2lnbiBzcGVjaWFsIGlucHV0cyBtb3JlIGVhc2lseVxuICovXG4vKipcbiAqIFN0eWxlcyB0byBoaWRlIHRoZSBzY3JvbGxiYXIgYnV0IHN0aWxsIGFsbG93IHNjcm9sbGluZ1xuICovXG4vKipcbiAqIFNwZWNpYWwgdmVyc2lvbiBvZiB0aGUgY2FyZC1ib3goKSBsYXlvdXQgZm9yIHRoZSBCMkIgc2hvcFxuICovXG4vKipcbiAqIGNhcmQtYm94IGxpc3QgbGF5b3V0IGZvciB0aGUgQjJCIHNob3BcbiAqL1xuLmVycm9yLXBhZ2UgLnByb2R1Y3RzLXNlY3Rpb24ge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDZyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmVycm9yLXBhZ2UgLnByb2R1Y3RzLXNlY3Rpb25fX2xpc3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIH1cbn0iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9*/